توضیح مختصر: توسط این هک می توانید 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;
}
.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;
}
.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 در متن پنهان قرار دهید",
'spoiler' => "یک spoiler در متن پنهان قرار دهید",
فایل website.lng زبان خود را باز کنید و بدنبال کد زیر بگردید:
'charset' => "windows-1251",
در زیر آن کد های زیر را قرار دهید:
'spoiler_title' => "نمایش / پنهان متن",
'spoiler' => "یک spoiler در متن پنهان قرار دهید",
'spoiler' => "یک spoiler در متن پنهان قرار دهید",
فایل modules\bbcode.php را باز کنید و بدنبال کد زیر بگردید:
<div class="editor_button" onclick="pagelink()"><img title="$lang[bb_t_p]" src="/templates/dle/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/dle/bbcodes/spoiler.gif" width="23" height="25" border="0"></div>
در همان فایل بدنبال کد زیر بگردید:
<div class="editor_button" onclick="translit()"><img title="$lang[bb_t_translit]" src="/templates/dle/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/dle/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 :
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');
}
});
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]');
}
});
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}
');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]');
}
});
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 :
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}
');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]');
}
});
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 );
$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 );
$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;" , "&" , $title );
$title = preg_replace( "/javascript:/i", "javascript: ", $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-->";
}
}
{
global $lang;
$text = trim($text);
$title = trim($title);
$title = stripslashes($title);
$title = str_replace( "&amp;" , "&" , $title );
$title = preg_replace( "/javascript:/i", "javascript: ", $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/dle/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/dle/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/dle/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/dle/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>
فایل ajax\editnews.php را باز کنید و بدنبال کد زیر بگردید:
// Theme options
theme_advanced_buttons1 :
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}
');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]');
}
});
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