دیتالایف انجین فارسی

اضافه کردن spoiler در نسخه 7.2 و به قبل

تاریخ انتشار: 25 دی 1387
ارسال کننده: FantasticShadow
اضافه کردن spoiler در نسخه 7.2 و به قبل


توضیح مختصر: توسط این هک می توانید spoiler ای که در نسخه 7.3 می باشد را به نسخه ی 7.2 و 7.0 یا نسخه های پایین تر اضافه کنید.

گرد آورنده: Dr. Soft
ویرایشگر: Alex Michael

مرحله اول: فایل ضمیمه شده را دانلود کنید و محتوای آن را همانطور که مشخص شده در سرور خودتان آپلود کنید.

مرحله دوم: با دقت مراحل زیر را انجام دهید.

توجه: اگر فایل کد نشده bbcodes.js را دارید بهتر است همان را ویرایش کنید در غیر اینصورت از bbcodes.js که در فایل ضمیمه است استفاده کنید که نیازی به ویرایش نیست!

در فایل bbcodes.js بدنبال متن زیر بگردید: (اگر از فایلی بغیر از فایل ضمیمه شده استفاده می کنید، این مرحله را انجام دهید!)
var color_open = 0;


در زیر آن متن زیر را قرار دهید:
var spoiler_open = 0;


فایل preview.css را از قالب خودتون انتخاب کنید و آن را فراخوانید و کد زیر را در آخر آن اضافه کنید:
/* ==================== SPOILER */

.title_spoiler {
    color: #636363;
    background-color: #f2f2f2;
    border: 1px dotted #bebebe;
    font-weight: bold;
    padding: 5px;
}
.text_spoiler {
    color: #757575;
    background-color: #f2f2f2;
    border: 1px dotted #bebebe;
    border-top: 0;
    text-align: justify;
    padding: 5px;
}


فایل engine.css را از قالب خودتون انتخاب کنید و آن را فراخوانید و کد زیر را در آخر آن اضافه کنید:
/* ==================== SPOILER */

.title_spoiler {
    color: #636363;
    background-color: #f2f2f2;
    border: 1px dotted #bebebe;
    font-weight: bold;
    padding: 5px;
}
.text_spoiler {
    color: #757575;
    background-color: #f2f2f2;
    border: 1px dotted #bebebe;
    border-top: 0;
    text-align: justify;
    padding: 5px;
}


فایل adminpanel.lng زبان خود را باز کنید و بدنبال متن زیر بگردید:
'charset'                =>    "windows-1251",


در زیر آن کد های زیر را قرار دهید:
'spoiler_title'            =>    "نمایش / پنهان متن",
'spoiler'        =>    "یک spoiler در متن پنهان قرار دهید",


فایل website.lng زبان خود را باز کنید و بدنبال کد زیر بگردید:
'charset'                =>    "windows-1251",


در زیر آن کد های زیر را قرار دهید:
'spoiler_title'            =>    "نمایش / پنهان متن",
'spoiler'        =>    "یک spoiler در متن پنهان قرار دهید",


فایل modules\bbcode.php را باز کنید و بدنبال کد زیر بگردید:
<div class="editor_button" onclick="pagelink()"><img title="$lang[bb_t_p]" src="/templates/Default/bbcodes/page.gif" width="23" height="25" border="0"></div>


در زیر آن کد زیر را قرار دهید:
<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[spoiler]" src="/templates/Default/bbcodes/spoiler.gif" width="23" height="25" border="0"></div>


در همان فایل بدنبال کد زیر بگردید:
<div class="editor_button" onclick="translit()"><img title="$lang[bb_t_translit]" src="/templates/Default/bbcodes/translit.gif" width="23" height="25" border="0"></div>


در زیر آن کد زیر را قرار دهید:
<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[spoiler]" src="/templates/Default/bbcodes/spoiler.gif" width="23" height="25" border="0"></div>


فایل inc\inserttag.php را باز کنید و بدنبال متن زیر بگردید:
var color_open = 0;


در زیر آن کد زیر را قرار دهید:
var spoiler_open = 0;


در همان فایل بدنبال کد زیر بگردید:
<div id="b_color" class="editor_button" onclick="ins_color();"><img src="engine/skins/bbcodes/images/color.gif" width="23" height="25" border="0"></div>


در زیر آن کد زیر را قرار دهید:
<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[spoiler]" src="engine/skins/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>


فایل editor\shortnews.php را باز کنید و بدنبال متن زیر بگردید:
// Theme options
theme_advanced_buttons1 :


در همان قسمت به دنبال کد زیر بگردید:
emotions,


حالا کد زیر را در جلوی آن قرار دهید:
,dle_spoiler,


توجه: کد باید به شکل زیر شود.
emotions,dle_spoiler,


در همان فایل بدنبال متن زیر بگردید:
ed.addButton('dle_upload', {
            title : 'آپلود',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_upload.gif',
            onclick : function() {

                window.open('?mod=files&action=quick&area=short_story&wysiwyg=yes&author={$row['autor']}&news_id={$row['id']}', '_Addimage', 'toolbar=0,location=0,status=0, left=0, top=0, menubar=0,scrollbars=yes,resizable=0,width=640,height=550');
            }
               });


در زیر آن کدهای زیر را قرار دهید:
ed.addButton('dle_spoiler', {
            title : '',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_spoiler.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.execCommand('mceReplaceContent',false,'[spoiler]{\$selection}[/spoiler]');
            }
               });


فایل editor\shortsite.php را باز کنید و بدنبال کد زیر بگردید:
theme_advanced_buttons3 :


مانند مرحله قبلی در زیر آن در بخش کدهایش بدنبال کد زیر بگردید:
numlist,


حالا کد زیر را در جلوی آن قرار دهید:
,dle_spoiler,


توجه: کد باید به شکل زیر شود.
numlist,dle_spoiler,


در همان فایل به دنبال کد زیر بگردید:
ed.addButton('dle_code', {
            title : '{$lang['bb_t_code']}',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_code.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.execCommand('mceReplaceContent',false,'[code]{\$selection}
');
}
});[/code]

در زیر آن کد زیر را قرار دهید:
ed.addButton('dle_spoiler', {
            title : '',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_spoiler.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.execCommand('mceReplaceContent',false,'[spoiler]{\$selection}[/spoiler]');
            }
               });


فایل editor\static.php را باز کنید و بدنبال کد زیر بگردید:
// Theme options
theme_advanced_buttons1 :


مانند نمونه های قبلی در کدهایش بدنبال کد زیر بگردید:
emotions,


در جلوی آن کد زیر را قرار دهید:
,dle_spoiler,


توجه: کد باید به شکل زیر شود.
emotions,dle_spoiler,


در همان فایل بدنبال کد زیر بگردید:
ed.addButton('dle_code', {
            title : '{$lang['bb_t_code']}',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_code.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.execCommand('mceReplaceContent',false,'[code]{\$selection}
');
}
});[/code]

در زیر آن کد زیر را قرار دهید:
ed.addButton('dle_spoiler', {
            title : '',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_spoiler.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.execCommand('mceReplaceContent',false,'[spoiler]{\$selection}[/spoiler]');
            }
               });


فایل classes\parse.class.php را باز کنید و بدنبال کد زیر بگردید:
$source = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $source );


در زیر آن کد زیر را قرار دهید:
$source = preg_replace( "#\[spoiler\](.+?)\[/spoiler\]#ie", "\$this->build_spoiler('\\1')", $source );
$source = preg_replace( "#\[spoiler=(.+?)\](.+?)\[/spoiler\]#ie", "\$this->build_spoiler('\\2', '\\1')", $source );


در همان فایل بدنبال کد زیر بگردید:
$txt = preg_replace( "#<!--dle_audio_begin:(.+?)-->(.+?)<!--dle_audio_end-->#is", '[audio=\\1]', $txt );


در زیر آن کد زیر را قرار دهید:
$txt = preg_replace( "#<!--dle_spoiler-->(.+?)<!--spoiler_title-->(.+?)<!--spoiler_title_end-->(.+?)<!--spoiler_text-->#is", '[spoiler=\\2]', $txt );
$txt = str_replace( "<!--spoiler_text_end--></div><!--/dle_spoiler-->", '[/spoiler]', $txt );


مجدد در همان فایل به دنبال کد زیر بگردید:
function clear_url ($url) {


در زیر آن کد زیر را قرار دهید:
function build_spoiler($text="", $title="")
    {    
        global $lang;
    
        $text   = trim($text);
        $title   = trim($title);

        $title = stripslashes($title);
        $title = str_replace( "&amp;amp;" , "&amp;" , $title );
        $title = preg_replace( "/javascript:/i", "javascript&#58; ", $title );

        $id_spoiler = md5(microtime());


        if (!$title) {

            return "<!--dle_spoiler--><div class=\"title_spoiler\"><a href=\"javascript:ShowOrHide('".$id_spoiler."')\"><!--spoiler_title-->".$lang['spoiler_title']."<!--spoiler_title_end--></a></div><div id=\"".$id_spoiler."\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->".$text."<!--spoiler_text_end--></div><!--/dle_spoiler-->";

        } else {

            return "<!--dle_spoiler--><div class=\"title_spoiler\"><a href=\"javascript:ShowOrHide('".$id_spoiler."')\"><!--spoiler_title-->".$title."<!--spoiler_title_end--></a></div><div id=\"".$id_spoiler."\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->".$text."<!--spoiler_text_end--></div><!--/dle_spoiler-->";

        }

    }


فایل ajax\bbcode.php را باز کنید و بدنبال کد زیر بگردید:
<div id="b_color" class="editor_button" onclick="ins_color();"><img src="/templates/Default/bbcodes/images/color.gif" width="23" height="25" border="0"></div>


در زیر آن کد زیر را اضافه کنید:
<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[spoiler]" src="/templates/Default/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>


در همان فایل بدنبال کد زیر بگردید:
<div class="editor_button" onclick="translit()"><img title="$lang[bb_t_translit]" src="/templates/Default/bbcodes/images/translit.gif" width="23" height="25" border="0"></div>


در زیر آن کد زیر را اضافه کنید:
<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[spoiler]" src="/templates/Default/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>


فایل ajax\editnews.php را باز کنید و بدنبال کد زیر بگردید:
// Theme options
theme_advanced_buttons1 :


در زیر آن کد کدهایش را مشاهده می کنید. کد زیر را در بین آن کد ها جستجو کنید:
dle_code,


و حالا کد زیر را در جلوی آن اضافه کنید:
,dle_spoiler,


توجه: کد باید به شکل زیر شود.
dle_code,dle_spoiler,


در همان فایل بدنبال کد زیر بگردید:
ed.addButton('dle_code', {
            title : '{$lang['bb_t_code']}',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_code.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.execCommand('mceReplaceContent',false,'[code]{\$selection}
');
}
});[/code]

کد زیر را بعد از آن اضافه کنید:
ed.addButton('dle_spoiler', {
            title : '',
            image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/themes/advanced/img/dle_spoiler.gif',
            onclick : function() {
                // Add you own code to execute something on click
                ed.execCommand('mceReplaceContent',false,'[spoiler]{\$selection}[/spoiler]');
            }
               });


دانلود فایل ضمیمه:
جهت دانلود این فایل، وارد سایت شوید. در صورتی که حساب کاربری ندارید، از طریق صفحه ثبت نام عضو شوید.

موفق باشید | Good luck
    5 نفر (5 کاربر و 0 میهمان) از این مطلب تشکر کرده اند.
    تشکر
    مدیر بازنشسته
    25 دی 1387 - 17:51
    ممنون , عالیه ! love flower
    عضو سایت
    25 دی 1387 - 18:02
    ممنون ...
    عضو سایت
    25 دی 1387 - 18:26
    Arash.N,
    Alico,
    خواهش می کنم love
    عضو سایت
    25 دی 1387 - 19:22
    ایولا
    عضو سایت
    25 دی 1387 - 19:31
    alifx4,
    خواهشلا wink
    عضو سایت
    25 دی 1387 - 20:15
    این اسپویلر چی هست؟
    عضو سایت
    25 دی 1387 - 22:21
    ممنونات
    حالا چی هست؟
    عضو سایت
    26 دی 1387 - 06:23
    این یک تگی هست که در نسخه 7.3 نصب هست.
    متنی را که بین این دو تگ قرار می دهید بعد از یک کلیک، ضاهر یا پنهان میشه.
    یعنی هرچی بین این دو تگ بنویسی، ضاهر تمیشه بجاش یک جمله می آید :"برای ظاهر یا پنهان شدن متن کلیک کنید" اگر کلیک کردید ظاهر می شود
    عضو سایت
    26 دی 1387 - 12:04
    nima.a,
    بابت پاسخی که بجای من دادی تشکر می کنم دوست عزیز love
    عضو سایت
    27 دی 1387 - 17:05
    دستت درد نکنه عالی هستش . fellow فقط حیف که خیلی طولانیه laughing
    عضو سایت
    09 فروردین 1388 - 17:05
    خیلی وحشتناکه!!!!(منظورم روش کارشه!)
    عضو سایت
    26 آذر 1390 - 15:47
    ЗАЙЦЕВ НЕТ RecentGaming газета твой день
    جهت ارسال نظر، فرم زیر را تکمیل نمائید:
    نام:*
    ایمیل:*
    متن نظر:

     
    پررنگکج خط دارخط دار در وسط|سمت چپوسط سمت راست|قرار دادن شکلکانتخاب رنگ|پنهان کردن متنقراردادن نقل قولتبدیل نوشته ها به زبان روسیقراردادن Spoiler
    کد امنیتی: *