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

سیستم امتیاز نسخه 1.5

تاریخ انتشار: 17 مرداد 1388
ارسال کننده: Arash.N
سيستم امتياز نسخه 1.5 . نسخه 1.0 اين ماژول توسط محمد يكتا عزيز ساخته شده و با كمى تغييرات در حال حاضر در اختيار شما قرار گرفته است.

سيستم امتياز نسخه 1.5


امكانات اضافه شده:
- اضافه شدن بخش خريد بليط (بخت آزمايى ، Lottery)
- اضافه شدن بخش قرار دادن لينك در لينكستان (در اين بخش بايد خودتون لينك رو بزاريد ، ببينيد متوجه ميشيد)
- اضافه شدن بخش قرار دادن بنر در بالا و منوهاى كنارى‌ سايت (در اين بخش بايد خودتون بنر رو بزاريد ، ببينيد متوجه ميشيد)
- امكان ويرايش امتيازات و خريدهاى كاربر از مديريت
- رفع مشكلات اخير

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

آدرس زير رو اجرا کنين تا جدول ها به ديتابيس اضافه شود:


فايل admin.php رو باز کنين و به دنبال کد زير بگرديد:
'addnews',

پس از آن، کد زير رو قرار دهيد:
'points',



فايل Engine/Engine.php رو باز کنين و به دنبال کد زير بگرديد:
    case "stats" :
        include ENGINE_DIR.'/modules/stats.php';
        break;

پس از آن، کد زير رو قرار دهيد:
    case "points" :
        include ENGINE_DIR.'/modules/points.php';
        break;


فايل engine/modules/profile.php رو باز کنيد و به دنبال کد زير بگريد:
$tpl->set('{foto}', "http://datalifeengine.ir/templates/main/images/noavatar.png");

پس از آن، کد زير رو قرار دهيد:
$points_sql = $db->query("SELECT * FROM " . PREFIX . "_points_gifts where name = '$user' order by date ASC");

while($rowpoint = $db->get_row($points_sql)){

$gifts .= "<img src=\"/uploads/gifts/".$rowpoint['image']."\" title=\"".$rowpoint['tavasot'].": ".$rowpoint['description']."\" border=\"0\" />&nbsp;";

}

در همين فايل به دنبال کد زير بگرديد:
$tpl->set('{fullname}', stripslashes($row['fullname']));

پس از آن، کد زير رو قرار دهيد:
$tpl->set('{points}', $row['points']);
$tpl->set('{gifts}', $gifts);


فايلengine/modules/show.full.php رو باز کنين و به دنبال کد زير بگرديد:
comments.user_id, date, autor

آن کد رو به کد زير تغيير دهيد:
comments.user_id, points, date, autor

در همين فايل به دنبال کد زير بگرديد:
$go_page = "onclick=\"return dropdownmenu(this, event, UserMenu('".htmlspecialchars($go_page)."', '".$row['user_id']."', '".$member_id['user_group']."'), '170px')\" onmouseout=\"delayhidemenu()\"";

پس از آن، کدهاي زير رو قرار دهيد:
$db->query("SELECT * FROM " . PREFIX . "_users where user_id = $row[user_id]");

while($rows = $db->get_row()) {

$myname = $rows['name'];


if ($rows['b'] == '1') {
$myname = "<b>$myname </B>";
}

if ($rows['i'] == '1') {
$myname = "<i>$myname</i>";
}

if ($rows['u']  == '1') {
$myname = "<u>$myname</u>";
}

if ($rows['color']  == '1') {
$myname = "<font color=#{$rows['colorcode']}>$myname</font>";
}
}

به دنبال کد زير بگرديد:
if ($config['allow_alt_url'] == "yes")
$tpl->set('{author}', "<a {$go_page} href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">".$row['name']."</a>");
else
$tpl->set('{author}', "<a {$go_page} href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\">".$row['name']."</a>");

کد پيدا شده را حذف کنين و بجاش کدهاي زير رو قرار دهيد:
if ($config['allow_alt_url'] == "yes")
$tpl->set('{author}', "<a {$go_page} href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">{$myname}</a>");
else
$tpl->set('{author}', "<a {$go_page} href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\">{$myname}</a>");

به دنبال کد زير بگرديد:
$tpl->set('{comm-num}', intval($row['comm_num']));

پس از آن کد زير رو قرار دهيد:
$tpl->set('{points}', intval($row['points']));


فايل engine/modules/addcomments.php رو باز کنين و به دنبال کد زير بگرديد:
$db->query("UPDATE " . USERPREFIX . "_users set comm_num=comm_num+1 where user_id ='$member_id[user_id]'");

آن کد رو حذف کنين و کد زير رو بجاش قرار بدين:
$db->query("UPDATE " . USERPREFIX . "_users set comm_num=comm_num+1 , points=points+20 where user_id ='$member_id[user_id]'");


فايل engine/modules/comments.php رو باز کنين و به دنبال کد زير بگرديد:
$db->query("UPDATE " . USERPREFIX . "_users set comm_num=comm_num-1 where name ='$author'");

آن کد رو حذف کنين و کد زير رو بجاش قرار بدين:
$db->query("UPDATE " . USERPREFIX . "_users set comm_num=comm_num-1 , points=points-20 where name ='$author'");


فايل engine/modules/addnews.php رو باز کنين و به دنبال کد زير بگرديد:
$db->query("UPDATE " . USERPREFIX . "_users set news_num=news_num+1 where user_id='$member_id[user_id]'");

آن کد رو حذف کنين و کد زير رو بجاش قرار بدين:
$db->query("UPDATE " . USERPREFIX . "_users set news_num=news_num+1 , points=points+80 where user_id='$member_id[user_id]'");


فايل engine/inc/addnews.php رو باز کنين و به دنبال کد زير بگرديد:
$db->query("UPDATE " . USERPREFIX . "_users set news_num=news_num+1 where user_id='$member_db[10]'");

آن کد رو حذف کنين و کد زير رو بجاش قرار بدين:
$db->query("UPDATE " . USERPREFIX . "_users set news_num=news_num+1 , points=points+80 where user_id='$member_db[10]'");


فايل engine/inc/editnews.php رو باز کنيد و به دنبال کد زير بگرديد:
$db->query("UPDATE " . USERPREFIX . "_users set news_num=news_num-1 where name='$item_db[1]'");

آن کد رو حذف کنين و کد زير رو بجاش قرار بدين:
$db->query("UPDATE " . USERPREFIX . "_users set news_num=news_num-1 , points=points-80 where name='$item_db[1]'");


فايل engine/inc/editusers.php رو باز كنيد و كد زير رو پيدا كنيد:
    <tr>
        <td style="padding:4px;">{$lang['opt_land']}</td>
        <td colspan="2"><input size="20" name="editland" value="{$row['land']}" class="edit"></td>
    </tr>

بعد از كد بالا ، كدهاي زير رو قرار بديد:
    <tr>
        <td colspan="3"><div class="hr_line"></div></td>
    </tr>

    <tr>
        <td style="padding:4px;">امتياز:</td>
        <td colspan="2"><input size="20" name="editpoints" value="{$row['points']}"

class="edit"></td>
    </tr>
    <tr>
        <td style="padding:4px;">پررنگ بودن نام کاربري:</td>
        <td colspan="2"><input size="1" name="editbold" value="{$row['b']}"

class="edit"></td>
    </tr>
    <tr>
        <td style="padding:4px;">کج بودن نام کاربري:</td>
        <td colspan="2"><input size="1" name="edititalic" value="{$row['i']}"

class="edit"></td>
    </tr>
    <tr>
        <td style="padding:4px;">خط دار بودن نام کاربري:</td>
        <td colspan="2"><input size="1" name="editunderline" value="{$row['u']}"

class="edit"></td>
    </tr>
    <tr>
        <td style="padding:4px;">رنگي بودن نام کاربري:</td>
        <td colspan="2"><input size="1" name="editcolor" value="{$row['color']}"

class="edit"> <input size="6" name="editcolorcode" value="{$row['colorcode']}"

class="edit"></td>
    </tr>
    <tr>
        <td style="padding:4px;">درخشان بودن نام کاربري:</td>
        <td colspan="2"><input size="1" name="editglow" value="{$row['glow']}" class="edit">

<input size="6" name="editglowcode" value="{$row['glowcode']}" class="edit"></td>
    </tr>
    <tr>
        <td style="padding:4px;">انعکاس آواتار:</td>
        <td colspan="2"><input size="1" name="editreflection" value="{$row['reflection']}"

class="edit"></td>
    </tr>


در همان فايل به دنبال كد زير بگرديد:
if ($_POST['editicq']) $editicq = intval( $_POST['editicq'] ); else $editicq = "";

زير آن كد زير رو اضافه كنيد:
$editpoints = $db->safesql($parse->process($_POST['editpoints']));
$editbold = $db->safesql($parse->process($_POST['editbold']));
$edititalic = $db->safesql($parse->process($_POST['edititalic']));
$editunderline = $db->safesql($parse->process($_POST['editunderline']));
$editcolor = $db->safesql($parse->process($_POST['editcolor']));
$editcolorcode = $db->safesql($parse->process($_POST['editcolorcode']));
$editglow = $db->safesql($parse->process($_POST['editglow']));
$editglowcode = $db->safesql($parse->process($_POST['editglowcode']));
$editinvisible = $db->safesql($parse->process($_POST['editinvisible']));


در همان فايل كد زير رو پيدا كنيد:
$sql_update = "UPDATE " . USERPREFIX . "_users set user_group='$editlevel', banned='$banned', icq='$editicq', land='$editland', info='$editinfo', signature='$editsignature', email='$editmail', fullname='$editfullname', time_limit='$time_limit', xfields='$filecontents'";

به جاي كدهاي بالا ، كدهاي زير رو قرار بديد:
$sql_update = "UPDATE " . USERPREFIX . "_users set user_group='$editlevel', banned='$banned', icq='$editicq', land='$editland', points='$editpoints' , b='$editbold' , i='$edititalic' , u='$editunderline' , color='$editcolor' , colorcode='$editcolorcode' , glow='$editglow' , glowcode='$editglowcode' , invisible='$editinvisible' , reflection='$editreflection' , info='$editinfo', signature='$editsignature', email='$editmail', fullname='$editfullname', time_limit='$time_limit', xfields='$filecontents'";


در همان فايل به دنبال كدهاي زير بگرديد:
            $row = $db->super_query( "SELECT name FROM " . USERPREFIX . "_users WHERE user_id='$id'" );
            $db->query( "UPDATE " . PREFIX . "_post SET autor='$editlogin' WHERE autor='{$row['name']}'" );
            $db->query( "UPDATE " . PREFIX . "_comments SET autor='$editlogin' WHERE autor='{$row['name']}' AND is_register='1'" );
            $db->query( "UPDATE " . USERPREFIX . "_pm SET user_from='$editlogin' WHERE user_from='{$row['name']}'" );
            $db->query( "UPDATE " . PREFIX . "_vote_result SET name='$editlogin' WHERE name='{$row['name']}'" );
            $db->query( "UPDATE " . PREFIX . "_images SET author='$editlogin' WHERE author='{$row['name']}'" );

به جاي كدهاي بالا ، كدهاي زير رو بزاريد:
        $db->query( "UPDATE " . PREFIX . "_vote_result SET name='$editlogin' WHERE name='{$row['name']}'" );
        $db->query( "UPDATE " . PREFIX . "_images SET author='$editlogin' WHERE author='{$row['name']}'" );
        $row = $db->super_query("SELECT name FROM " . USERPREFIX . "_users WHERE user_id='$id'");
        $db->query("UPDATE " . PREFIX . "_post SET autor='$editlogin' WHERE autor='{$row['name']}'");
        $db->query("UPDATE " . PREFIX . "_comments SET autor='$editlogin' WHERE autor='{$row['name']}' AND is_register='1'");
        $db->query("UPDATE " . USERPREFIX . "_pm SET user_from='$editlogin' WHERE user_from='{$row['name']}'");
        $db->query("UPDATE " . PREFIX . "_points_gifts SET name='$editlogin' WHERE name='{$row['name']}'");


فايل engine/inc/options.php رو باز کنيد و به دنبال کد زير بگرديد:
$options['others'] = array(

پس از آن، کدهاي زير رو قرار دهيد:
array(
'name' => 'سيستم امتياز',
'url' => "$PHP_SELF?mod=points",
'descr' => 'مديريت سيستم امتياز',
'image' => "points.png",
'access' => "all",
),


فايل قالب Comments.tpl رو باز کنين و کد زير رو در جاي مناسب قرار دهيد: (براي نمايش امتياز)
امتياز: {points}


فايل قالب Userinfo.tpl رو باز کنين و کد زير رو در جاي مناسب قرار دهيد:
<br />فهرست هدايا: {gifts}
<br />امتياز: {points}


اميدوارم مشكلى نباشه cheshmak
مشكلات رو در نظرات بيان كنيد.

گروه ديتالايف انجين فارسى bully
موفق باشيد flower
    24 نفر (24 کاربر و 0 میهمان) از این مطلب تشکر کرده اند.
    تشکر
    عضو سایت
    17 مرداد 1388 - 02:59
    ممنون و چند تا سوال ...
    میشه چند تا بخت آزمایی با هم داشت؟
    زمان بخت آزمایی رو چطور تنظیم کنم؛ منظورم ماهانه، هفتگی و یا روزانه هست؟
    میشه برای گروه های کاربری تفاوتهایی قائل شد، مثلا تخفیف!!!
    عضو سایت
    17 مرداد 1388 - 04:19
    خیلی عالی بود ... اگه یه كسی بتونه افزونه Mydlinker وردپرس رو ترجمه كنه برای دیتالایف انجین ، خیلی عالی میشه ...
    عضو سایت
    17 مرداد 1388 - 09:11
    ممنون
    بسیار به موقع بود


    عضو سایت
    17 مرداد 1388 - 09:49
    ایول دایی آرش

    --------------------
    عضو سایت
    17 مرداد 1388 - 10:08
    ممنون ارش جان.
    این که مثل قبلیه مشکل نداره؟
    عضو سایت
    17 مرداد 1388 - 10:43
    ایول داداش آرش love request love
    عضو سایت
    17 مرداد 1388 - 11:12
    love donoghted
    بابا!!!!!! آپگرید
    عضو سایت
    17 مرداد 1388 - 12:00
    من نصب کردم روی دیتالایف انجین 8
    فعلا مشکل خاصی ندیدم برای نصب یه نکته ی کوچولو رو Arash.N عزیز جا انداختند که من اینجا برای کارکرد بهتر ماژول قرار میدم:

    در لحظه ی ارسال نظر تگ {p-oints} ناشناخته هستش، برای حل این مشکل:

    - وارد engine\ajax\addcomments.php شده و
    کد زیر را پیدا کنید(حدودای خط 88):

    USERPREFIX . "_users.email, news_num, comm_num,

    عبارت points, را اضافه کنید

    سپس کد
    $tpl->load_template( 'comments.tpl' );
    را پیدا کنید( زیر کد بالایی خواهد بود)
    در زیر این کد اضافه کنید:

    $tpl->set('{points}', intval($row['points']));

    موفق باشید.
    عضو سایت
    17 مرداد 1388 - 12:59
    مرسی دستت طلا آقاآرش

    --------------------
    عضو سایت
    17 مرداد 1388 - 13:13
    ممنون ارش جون 8.2 کو :D

    --------------------
    عضو سایت
    17 مرداد 1388 - 13:56
    متاسفانه نمیشه از امتیازهای کسب شده( پررنگ کردن نام کاربری، خط دار کردن، رنگی کردن و ... ) استفاده کرد!
    مدیر بازنشسته
    17 مرداد 1388 - 14:06
    ramin006,
    درست نصب كردید ؟ روى 2 تا هاست و لوكال تست شده flower

    AHMAD-SE,
    تا 1 ساعت دیگه donoghted
    عضو سایت
    17 مرداد 1388 - 14:26
    آقا آرش خود سایتم این مشکل رو داره من کلی امتیاز هامو از دست دادم

    امکان انعکاس و درخشان فعال نیست recourse

    --------------------
    مدیر بازنشسته
    17 مرداد 1388 - 14:44
    unique2world,
    عزیز الان دوباره امتحان كردم. سالم بود donoghted
    انعكاس آواتار تو كدوم بخش كار نمیكنه ؟
    عضو سایت
    17 مرداد 1388 - 15:13
    دمتون گرم
    عضو سایت
    17 مرداد 1388 - 16:13
    نقل قول: Arash.N
    درست نصب كردید ؟ روى 2 تا هاست و لوكال تست شده


    حالت های خریداری شده فقط در بخش آمار و فروشگاه امتیاز اعمال میشه به غیر از فروشگاه امتیاز در بخش های دیگه نام کاربری به حالت عادی نمایش داده میشه!
    عضو سایت
    17 مرداد 1388 - 18:20
    Arash.N,
    مرسی از لطفتون،
    مثلاً آواتار من الان تو این نظراتی که دادم باید انعکاس داشته باشه که نداره !

    --------------------
    عضو سایت
    17 مرداد 1388 - 21:18
    یه مشکل پیش اومده
    لطفا راهنمایی کنید:

    با امتیاز دادن به مطلب( از 1 تا 5 ) همون امتیاز به نویسنده ی مطلب اضافه بشه
    عضو سایت
    17 مرداد 1388 - 22:56
    ممنون آرش جان flower
    عضو سایت
    18 مرداد 1388 - 00:48
    یه توضبح بدید چجوری کار میکنه
    هیج کدوم ازکارهارو نمیکنه که
    عضو سایت
    18 مرداد 1388 - 20:14
    من یکبار تصمیم گرفتم ورژن قبلی اینو نصب کنم ولی نمی دونم از این بود یا چیز دیگه که کد امنیتی سایتم خراب شد
    الان کد امنیتی من کار نمی کنه یعنی عکسش نمی اد
    عضو سایت
    19 مرداد 1388 - 21:51
    باید یه طوری باشه که امکاناتش رو زیاد کرد.
    عضو سایت
    20 مرداد 1388 - 14:37
    من روی وب سایت خودم نصب کردم
    ایراداشم برطرف کردم
    omrdabakhte,
    چه امکانات زیادی داشته باشد؟
    عضو سایت
    24 مرداد 1388 - 00:01
    کسی مشکل ما رو حل نکرد.

    http://forum.datalifeengine.ir//topic_652


    ________

    ramin006,مثلا بشه بعضی مطالب و سطح دسترسی ها رو برای امتیاز مشخصی ازاد کنیم.
    این یکیش بود.
    عضو سایت
    06 شهریور 1388 - 12:41
    ایووولا
    عضو سایت
    09 شهریور 1388 - 15:04
    salam bbakhshed agha arash nasb ien moudels vase man ye eror mide.
    eroresh iene

    п»ї MySQL Error!
    ------------------------

    The Error returned was:
    Duplicate column name 'points'

    Error Number:
    1060

    ALTER TABLE dle_users ADD `points` int( 6 ) DEFAULT '0' NOT NULL
    عضو سایت
    28 شهریور 1388 - 01:23
    مرسی عالیه ولی خیلی طولانیه
    عضو سایت
    30 شهریور 1388 - 18:46
    مرسی ولی خیلی طولانی بود
    عضو سایت
    30 فروردین 1389 - 17:27
    ممنون به نظرم دموی اون همونیه که تو همین سایته آره ؟؟؟
    عضو سایت
    13 مرداد 1389 - 01:25
    چرا همیشه ورژن های مختلف دیتالایف انجین کد هاش فرق دارن؟؟؟؟؟خیلی مسخرست.تا وسطای کار رفتم گیر کردم.
    هیچ کدوم کد هایی که باید پیدا میکردیم درست نبود.یه اسپیس میسپیس جا میموند.
    الان من کد زیر رو پیدا نمیکنم.اصلا تو اون فایل وجود نداره.
    $tpl->set('{comm-num}', intval($row['comm_num']));
    nist
    الان کله اون فایلو میتونم براتون حفظی بگم کدوم خطش چی نوشته.ولی این کد نیست.......... sad

    بفرما.اصلا" سایت رو داغون کرد.
    MySQL Error!
    ------------------------

    The Error returned was:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    Error Number:
    1064

    SELECT * FROM dle_users where user_id =

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

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