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

smartphone ها از نسخه 7.5 برای نسخه 7.2

تاریخ انتشار: 27 دی 1387
ارسال کننده: FantasticShadow
smartphone ها از نسخه 7.5 برای نسخه 7.2


توضیح مختصر: همانطور که می دانید و در مطلبی که توسط خودم برای توضیح مشخصات نسخه 7.5 دیتالایف انجین خواندید، نسخه 7.5 دیتالایف انجین که حدوداً 2 روز پیش به وب عرضه شد، دارای یک امکان بسیار قدرتمند و بسیار پرکاربرد به نام smartphones یا همان تلفن های همراه می باشد.
توسط این امکان می توانید سایت خود را توسط تلفن همراه مشاهده و یا مدیریت کنید. حتی توانایی فعال/غیرفعال و تنظیم کردن آن هم دارید.

امتحان شده بر روی: نسخه 7.2
نویسنده هک: Dr. Soft Soft

smartphone ها از نسخه 7.5 برای نسخه 7.2


توجه: این هک بر روی نسخه 7.2 هنوز باگ هایش تعمیر نشده، اما جای هیچگونه نگرانی نیست. بالاخره یک ریسک هست.

مرحله اول: دانلود فایل ضمیمه

مرحله دوم: نصب هک با اطمینان خاطر کامل و دقتی بالا

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


در زیر آن کدهای زیر را قرار دهید:
'opt_smartphone'        =>    "تنظیم کردن پشتیبان و کار کردن با تلفن های همراه",
'opt_sys_smart'            =>    "فعال سازی خودکار پشتیبان برای تلفن های همراه",
'opt_sys_smartd'        =>    "اگر شما این پشتیبان را فعال کنید برای نمایش سایتتان به کاربران، سیسم تلفن همراه استفاده خواهد کرد از یک قالب سبکتر برای سایت. قبل از انجام این انتخاب, مطمئن شوید که فولدر templates / templates / یک فولدر با نام قالب است <b>تلفن همراه</b>.",
'opt_sys_sm_im'            =>    "یک عکس هنگام نمایش در مطالب با تلفن همراه قرار دهید",
'opt_sys_sm_imd'        =>    "اگر 'بله' باشد, مطالب بدون تغییر نمایش داده خواهند شد, اگر 'خیر' باشد, سیستم تلفن همراه تمام تصاویر مطالب را حذف خواهد کرد.",


فایل inc\options.php را باز کنید و بدنبال متن زیر بگردید:
document.getElementById('rss').style.display = "none";


در زیر آن کد زیر را قرار دهید:
document.getElementById('smartphone').style.display = "none";


در همان فایل بدنبال متن زیر بگردید:
if(selectedOption == 'imagesconf') {document.getElementById('imagesconf').style.display = "";}


در زیر آن کد زیر را قرار دهید:
if(selectedOption == 'smartphone') {document.getElementById('smartphone').style.display = "";}


مجدد در همان فایل بدنبال کد زیر بگردید:
<td class=tableborder><a href="javascript:ChangeOption('imagesconf');"><img title="$lang[opt_imagesys]" src="engine/skins/images/conf_images.png" border="0"></a>


کد زیر را در زیر آن اضافه کنید:
<td class=tableborder><a href="javascript:ChangeOption('smartphone');"><img title="$lang[opt_smartphone]" src="engine/skins/images/smartphone.jpg" border="0"></a>


مجدد در همان فایل بدنبال متن زیر بگردید:
echo <<<HTML
<tr style='display:none' id="rss"><td>


در بالای آن کد زیر را قرار دهید:
echo <<<HTML
<tr style='display:none' id="smartphone"><td>
<table width="100%">
    <tr>
        <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$lang['opt_smartphone']}</div></td>
    </tr>
</table>
<div class="unterline"></div><table width="100%">
HTML;
    
    showRow( $lang['opt_sys_smart'], $lang['opt_sys_smartd'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[allow_smartphone]", "{$config['allow_smartphone']}" ) );
    showRow( $lang['opt_sys_sm_im'], $lang['opt_sys_sm_imd'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[allow_smart_images]", "{$config['allow_smart_images']}" ) );
    
    echo "</table></td></tr>";


فایل inc\templates.php را باز کنید و بدنبال کد زیر بگردید:
if(strtolower($do_template) == "default" OR strtolower($do_template) == ''){ msg("Error", $lang['opt_error'], $lang['opt_error_4'], "$PHP_SELF?mod=templates&user_hash={$dle_login_hash}");


متن زیر را با کد بالا جایگزین کنید:
if( strtolower( $do_template ) == "default" OR strtolower( $do_template ) == "smartphone" OR strtolower( $do_template ) == '' ) {
        msg( "Error", $lang['opt_error'], $lang['opt_error_4'], "$PHP_SELF?mod=templates&user_hash={$dle_login_hash}" );


در همان فایل بدنبال کد زیر بگردید:
if(strtolower($do_template) == "default"){ msg("Error", $lang['opt_error'], $lang['opt_error_4'], "$PHP_SELF?mod=templates&user_hash={$dle_login_hash}");


با زیر را با کد بالا جایگزین کنید:
if( strtolower( $do_template ) == "default" OR strtolower( $do_template ) == "smartphone" ) {
        msg( "Error", $lang['opt_error'], $lang['opt_error_4'], "$PHP_SELF?mod=templates&user_hash={$dle_login_hash}" );


مجدد در همان فایل بدنبال کد زیر بگردید:
if($do_template == '' or !$do_template){
        $do_template = $config['skin'];
        $show_delete_link = '';
    }elseif($do_template != $config['skin']){
        $show_delete_link = "[<a class=\"maintitle\" href=\"$PHP_SELF?mod=templates&subaction=delete&user_hash={$dle_login_hash}&do_template=$do_template\">$lang[opt_dellink]</a>]";
    }


کدهای زیر را با کد بالا جایگزین کنید:
$show_delete_link = '';

if( $do_template == '' or ! $do_template ) {
    $do_template = $config['skin'];
} elseif( $do_template != $config['skin'] AND $do_template != "smartphone" ) {
    $show_delete_link = "[<a class=\"maintitle\" href=\"$PHP_SELF?mod=templates&subaction=delete&user_hash={$dle_login_hash}&do_template=$do_template\">$lang[opt_dellink]</a>]";
}


فایل engine\init.php را باز کنید و بدنبال کد زیر بگردید:
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];


کد زیر را در زیر کد بالا قرار دهید:
$smartphone_detected = false;

if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "mobiledisable" ) $_SESSION['mobile_disable'] = "1";

if ( $config['allow_smartphone'] AND !$_SESSION['mobile_disable'] ) {

    if ( check_smartphone() ) {

        if ( @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) {

            $config['skin'] = "smartphone";
            $smartphone_detected = true;
            $config['ajax'] = false;
            $config['allow_comments_wysiwyg'] = "no";

        }

    }

}


مجدد در همان فایل بدنبال کد زیر بگردید:
if ($member_id['pm_unread'] > intval($_COOKIE['dle_newpm'])) {


کد زیر را با کد بالا جایگزین کنید:
if ($member_id['pm_unread'] > intval ( $_COOKIE['dle_newpm'] ) AND !$smartphone_detected) {


فایل modules\fullsearsh.php را باز کنید و بدنبال کد زیر بگردید:
$searchtable .= <<<HTML
<input type="hidden" name="result_from" id="result_from" value="$result_from">


کد زیر را در بالای آن اضافه کنید:
if ( $smartphone_detected ) {

        $link_full_search = "";

    } else {

        $link_full_search = "<input type=\"button\" class=\"bbcodes\" style=\"width:150px\" name=\"dofullsearch\" id=\"dofullsearch\" value=\"{$lang['s_ffullstart']}\" onClick=\"javascript:full_submit(1); return false;\" />";

    }


مجدد در همان فایل بدنبال کد زیر بگردید:
<input type="button" class="bbcodes" style="width:150px" name="dofullsearch" id="dofullsearch" value="{$lang['s_ffullstart']}" onClick="javascript:full_submit(1); return false;" />


کد زیر را جایگزین کد بالایی کنید:
{$link_full_search}


در همان فایل بدنبال کد زیر بگردید:
$tpl->set('{result-text}', "<div id='news-id-".$row['id']."'>".$row['story']."</div>");


در بالای آن کد زیر را قرار دهید:
if ($smartphone_detected AND !$config['allow_smart_images']) {
                
        $row['story'] = preg_replace( "#<!--TBegin-->(.+?)<!--TEnd-->#is", "", $row['story'] );
        $row['story'] = preg_replace( "#<img(.+?)>#is", "", $row['story'] );
                
            }


فایل modules\functions.php را باز کنید و بدنبال کد زیر بگردید:
if(@is_dir("./templates/$file") and ($file != "." and $file!="..")){


کد زیر را با کد بالا جایگزین کنید:
if( @is_dir( "./templates/$file" ) and ($file != "." AND $file != ".." AND $file != "smartphone") ) {


مجدد در همان فایل بدنبال کد زیر بگردید:
closedir($handle);


در زیر آن اضافه کنید:
sort($templates_list);


در همان فایل بدنبال کد زیر بگردید:
global $db, $is_logged, $member_id, $xf_inited, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $smartphone_detected;


در آخر قبل از ?> کد زیر را اضافه کنید:
function check_smartphone() {

    $phone_array = array('iphone', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser');
    $agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );

    foreach ($phone_array as $value) {

        if ( strpos($agent, $value) !== false ) return true;

    }

    return false;

}


فایل modules\searsh.php را باز کنید و بدنبال کد زیر بگردید:
$searchtable .= <<<HTML
<input type="hidden" name="result_from" id="result_from" value="$result_from">


در بالای آن اضافه کنید:
if ( $smartphone_detected ) {

        $link_full_search = "";

    } else {

        $link_full_search = "<input type=\"button\" class=\"bbcodes\" style=\"width:150px\" name=\"dofullsearch\" id=\"dofullsearch\" value=\"{$lang['s_ffullstart']}\" onClick=\"javascript:full_submit(1); return false;\" />";

    }


مجدد در همان فایل بدنبال کد زیر بگردید:
<input type="button" class="bbcodes" style="width:150px" name="dofullsearch" id="dofullsearch" value="{$lang['s_ffullstart']}" onClick="javascript:full_submit(1); return false;" />


بعد از کد زیر را قرار دهید:
{$link_full_search}


مجدد در همان فایل بدنبال کد زیر بگردید:
$tpl->set('{result-text}', "<div id='news-id-".$row['id']."'>".$row['story']."</div>");


کد زیر را در بالای آن قرار دهید: (دقت داشته باشید که از کد بالا دو تا وجود داره و شما باید کد زیر را بالای کد اولی قرار دهید)
if ($smartphone_detected AND !$config['allow_smart_images']) {
                
            $row['story'] = preg_replace( "#<!--TBegin-->(.+?)<!--TEnd-->#is", "", $row['story'] );
            $row['story'] = preg_replace( "#<img(.+?)>#is", "", $row['story'] );
                
        }


فایل modules\show.custom.php را باز کنید و بدنبال کد زیر بگردید:
$tpl->set('{short-story}', stripslashes($row['short_story']));


در بالای آن کد زیر را قرار دهید:
if ($smartphone_detected AND !$config['allow_smart_images']) {

    $row['short_story'] = preg_replace( "#<!--TBegin-->(.+?)<!--TEnd-->#is", "", $row['short_story'] );
    $row['short_story'] = preg_replace( "#<img(.+?)>#is", "", $row['short_story'] );

}


فایل modules\show.full.php را باز کنید و بدنبال کد زیر بگردید:
$tpl->set('{title}', $metatags['title']);


در زیر آن کد زیر را قرار دهید:
if ($smartphone_detected AND !$config['allow_smart_images']) {

            $row['short_story'] = preg_replace( "#<!--TBegin-->(.+?)<!--TEnd-->#is", "", $row['short_story'] );
            $row['short_story'] = preg_replace( "#<img(.+?)>#is", "", $row['short_story'] );
            $row['full_story'] = preg_replace( "#<!--TBegin-->(.+?)<!--TEnd-->#is", "", $row['full_story'] );
            $row['full_story'] = preg_replace( "#<img(.+?)>#is", "", $row['full_story'] );

        }


فایل modules\show.short.php را باز کنید و بدنبال کد زیر بگردید:
            if( $config['rss_format'] == 2 ) {
                
                $row['full_story'] = htmlspecialchars( strip_tags( stripslashes( $row['full_story'] ) ) );
                
                if( $row['full_story'] == "" ) $row['full_story'] = $row['short_story'];
                
                $tpl->set( '{full-story}', $row['full_story'] );
            
            }
        
        } else {


کد زیر را بعد از آن قرار دهید:
if ($smartphone_detected AND !$config['allow_smart_images']) {

                $row['short_story'] = preg_replace( "#<!--TBegin-->(.+?)<!--TEnd-->#is", "", $row['short_story'] );
                $row['short_story'] = preg_replace( "#<img(.+?)>#is", "", $row['short_story'] );

            }


نکته: دقت کنید که کد بالا نه بالاییش در آخر دارای { و } است. شما باید کد بالا رو در بین این دو قرار بدید!

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

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


تنها در صورت برخورد با مشکل نظر ارسال کنید. تشکر
    12 نفر (12 کاربر و 0 میهمان) از این مطلب تشکر کرده اند.
    تشکر
    مدیر بازنشسته
    27 دی 1387 - 01:24
    ممنون , عالیه flower
    عضو سایت
    27 دی 1387 - 08:31
    ممنون خسته نباشی flower
    عضو سایت
    27 دی 1387 - 10:24
    ممنون
    خیلی عالی و مفید بود. flower
    عضو سایت
    27 دی 1387 - 11:15
    Arash.N,
    emuhammad,
    omrdabakhte,
    خواهش می کنم دوستان love
    عضو سایت
    27 دی 1387 - 11:43
    ممنون
    عضو سایت
    27 دی 1387 - 19:57
    دستت درد نکنه
    این دیتالایف انجین چی میشه
    عضو سایت
    27 دی 1387 - 23:26
    وا crying2

    مرسی
    جهت ارسال نظر، فرم زیر را تکمیل نمائید:
    نام:*
    ایمیل:*
    متن نظر:

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