مهمان عزیز خوش آمدید. ورود ثبت نام



صفحه‌ها (3):
امتیاز موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
۱ نسخه‌ی افزونه‌های سازی سازگار آموزش ۶ با ۸

آموزش سازگار سازی افزونه‌های نسخه‌ی ۱.۶ با ۱.۸
بسم الله الرحمن الرحیم
این آموزش به صورت تقریبا کامل یک پلاگین رو با نسخه‌ی ۱.۸ مای بی‌بی سازگار می‌سازد.
نویسنده: AliReza_Tofighi
اگر در پنل مدیریت پس از غیرفعال کردن پلاگین نمی‌توانید آن را فعال کنید و با خطای این پلاگین با ۱.۸.۰ ناسازگار است مواجه می‌شوید:
فایل پلاگین را در inc/plugins ویرایش کنید. به طور مثال نام پلاگین pluginname.php است.
به دنبال کد
کد:
function pluginname_info()
برگردید و آن را پیدا کنید.
پس از آن کدی شبیه به کد زیر را می‌بینید:
کد پی‌اچ‌پی:
"compatibility" => "16*" 
مقدار پس از => را به "*" تبدیل کنید به طور مثال کد بالا باید به کد
کد پی‌اچ‌پی:
"compatibility" => "*" 
تبدیل نمائید.
همچنین بررسی کنید که اگر کد زیر در پلاگین مورد نظر شما وجود داشت:
کد پی‌اچ‌پی:
rebuildsettings() 
آن را به
کد پی‌اچ‌پی:
rebuild_settings() 
تغییر دهید.

پلاگین سازگار شده‌است ولی دارای خاصیت‌ آجاکس و جاوااسکریپت بوده که هم‌اکنون کار نمی‌کند.
به احتمال زیاد فایلی به نام pluginname.js در مسیر jscripts وجود دارد.
شما باید این فایل را تغییر دهید.
برای تغییر این فایل کدهایی شبیه به کدهای زیر می‌بیند که معادل هریک را برای شما در ادامه می‌گوییم:
کد پی‌اچ‌پی:
$('element'
باید به کد
کد پی‌اچ‌پی:
$('#element'
تبدیل شود و کد
کد پی‌اچ‌پی:
$$('element'
باید به
کد پی‌اچ‌پی:
$('element'
تبدیل شود.
کد پی‌اچ‌پی:
$('element').attribute 
باید به
کد پی‌اچ‌پی:
$('element').attr('attribute'
و یا کد زیر:
کد پی‌اچ‌پی:
$('element')[0].attribute 
تبدیل نمائید.
کدهای ایجاد spinner و حذف آن در نسخه‌ی ۱.۸ وجود ندارند پس کدهایی همچون:
کد پی‌اچ‌پی:
this.spinner = new ActivityIndicator("body", {imageimagepath "/spinner_big.gif"}); 
و
کد پی‌اچ‌پی:
this.spinner.destroy(); 
باید حذف شوند.
کدهای مانند کد زیر:
کد پی‌اچ‌پی:
Form.serialize('myform'
باید به کد
کد پی‌اچ‌پی:
$('#myform').serialize() 
تبدیل شود.
برای سازگار سازی آجاکس کدهایی مانند کد زیر:
کد پی‌اچ‌پی:
new Ajax.Request('myurl', {
method'post',
postBodypost_body,
onComplete: function(request) {
alert(request.responseText);
}
}); 
باید به
کد پی‌اچ‌پی:
$.ajax('myurl', {
type'post',
datapost_body,
complete: function(requeststatus) {
alert(request.responseText);
}
}); 
تبدیل شود.
همچنین ممکن است برخی از پلاگین‌ها از قبل با jQuery نوشته شده باشند برای سازگار سازی پلاگین‌هایی مانند اون‌ها باید کد
کد پی‌اچ‌پی:
jQuery.noConflict(); 
رو از فایل پلاگین حذف کنید و کد فراخواندن jquery نیز حذف شود زیرا در ۱.۸ به صورت پیش‌فرض jQuery مورد استفاده قرار گرفته است.
پس کدی مانند کد زیر:
کد پی‌اچ‌پی:
<script src="***/jquery.min.js"></script> 
نیز باید حذف شود.
در کل بسیاری از پلاگین‌ها نسخه‌ی سازگار با ۱.۸ شان منتشر شده اند، سعی کنید حتما آن پلاگین‌ها را بروز کنید.


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
پاسخ
پلاگین های Changestats(اگه اشتب تایپ نکرده باشم)با پلاگین Inferno shoutbox(اینم احتمال میدم درست باشه)چرا تو قالب 1.8 جواب نمیدن ولی تو قالب 1.6 جواب میدن؟
فایل جاوا اسکریپتم نداره!
این نشون میده که از جی کوئری پشتیبانی نمیکنن؟؟ Undecided
چجوری سازگارشون کنم؟ Confused Huh


Anim-Star
محلی برای بحث و گفت و گو در مورد انیمه ها (کارتون های ژاپنی) و مانگا و اینجور چیزا
دانلود,نقد و بررسی,زیرنویس فارسی و... معروف ترین و محبوب ترین و بهترین انیمه ها و مانگاها را،میتوانید به رایگان در انیم استار بیابید
توجه:
فاینال فانتزی :نجات کودکان،اهریمن خاموش(اهریمن درون)،فوتبالیست ها،سونیک،بنر،ناروتو،بلیچ،وان پیس،شهر اشباح،خانواده ی دکتر ارنست،مهاجران و کارتون های امثال این ها انیمه هستند!
پس سریع تر به خانواده ی انیم استار بپیوندید
انیم استار | انیمه استار
پاسخ
(۲۹ شهریور ۱۳۹۳، ۰۴:۵۱ ب.ظ)mersadnouri نوشته:  پلاگین های Changestats(اگه اشتب تایپ نکرده باشم)با پلاگین Inferno shoutbox(اینم احتمال میدم درست باشه)چرا تو قالب 1.8 جواب نمیدن ولی تو قالب 1.6 جواب میدن؟
فایل جاوا اسکریپتم نداره!
این نشون میده که از جی کوئری پشتیبانی نمیکنن؟؟ Undecided
چجوری سازگارشون کنم؟ Confused Huh

توی خود فایل پلاگین کدهای جاوااسکریپتش هست باید اونا رو اوکی کنی.


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
پاسخ
فایل js پلاگین inferno تو یکی از فایلا پیدا کردم، اون چیزی که شما میگین دقیقا توش نیست ولی یه چیزایی تو همون مایه ها هستش مثلا به جای OnComplete نوشته OnSuccess و alert نداره و OnFailed داره و چند چیز دیگه
این محتویاتشه سر جمع
کد پی‌اچ‌پی:
<?php

header
('Content-Type: text/javascript');
define('IN_MYBB'true);
require_once 
'../../../global.php';
require_once 
MYBB_ROOT 'inc/plugins/inferno/class_core.php';
$inferno inferno_shoutbox::get_instance();
$userinfo $inferno->userinfo;

?>

/**
 *
 * Inferno Shoutbox Lite JavaScript File
 *
 * Inferno Shoutbox created by Mattbox Solutions
 * ectomatt @ mybb.com
 * u mirin?
 *
 */
inferno = function()
{
    this.url = 'infernoshout.php';
    this.refresh_rate = <?php echo intval($settings['inferno_js_refresh'] * 1000); ?>;
    this.shout_max_chars = <?php echo $settings['inferno_shout_max_chars']; ?>;
    this.shout_entry = null;
    this.interval = null;
    this.shoutbox_content = null;
    this.active_user_number = null;
    this.alert_div = false;
    this.smiley_div = false;
    this.styles = {
        'bold': <?php echo ($userinfo['bold']) ? 'true' 'false'?>,
        'italic': <?php echo ($userinfo['italic']) ? 'true' 'false'?>,
        'underline': <?php echo ($userinfo['underline']) ? 'true' 'false'?>,
        'color': '<?php echo ($userinfo['color']); ?>',
        'font': '<?php echo ($userinfo['font']); ?>'
    }
    this.style_update = false;
    this.linkbar = false;
    this.private_chats = new Array();
    this.tab = null;
    this.editdiv = null;
    this.editdivtext = null;
    this.editshoutid = null;
    this.editshout = null;
    this.shoutwait = <?php echo $settings['inferno_shoutbox_flood']; ?>;
    this.lastshout = null;
    this.idlesetting = <?php echo $settings['inferno_idle_timeout'] * 60?>;
    this.idletimeout = time() + this.idlesetting;
    this.idlealert = false;
    this.idleinterval = null;

    this.anus = <?php echo $settings['inferno_shoutbox_anus'] ? 'true' 'false'?>;
    this.last_anus = time();
    this.anus_time = null;

    this.manage_anus = function()
    {
        // peek inside the anus and save its contents
        this.open_anus();

        if (this.anus_time > this.last_anus)
        {
            return true;
        }
        return false;
    }

    this.open_anus = function()
    {
        new Ajax.Request(this.url + '?action=openanus' + inferno.screw_ie(), {
            method:'get',
            onSuccess: function(transport) {
                inferno.anus_time = transport.responseText;
            },
            onFailure: function() { inferno.alert('در باز کردن anus مشکلی به وجود آمد...'); }
        });
    }

    this.close_anus = function()
    {
        this.last_anus = time();
    }

    this.is_idle = function()
    {
        return (time() > this.idletimeout) ? true : false;
    }

    this.clear_idle = function()
    {
        this.clear_alert();
        this.update_idle_time();

        if (this.tab > 0) {
            this.load_private_shouts(this.tab);
        } else {
            this.load_shouts();
        }
    }

    this.update_idle_time = function()
    {
        this.idlealert = false;
        this.idletimeout = time() + this.idlesetting;
        return true;
    }

    // fix for IE's stupid ass caching ajax requests
    this.screw_ie = function()
    {
        return '&t=' + new Date().getTime();
    }

    this.init = function()
    {
        if (this.interval !== null)
        {
            clearInterval(this.interval);
        }

        this.idleinterval = setInterval(function() {
            if (inferno.is_idle())
            {
                if (!inferno.idlealert)
                    inferno.alert('شما در حالت IDLE هستید. برای خروج از این حالت، <a href="#" onclick="javascript: inferno.clear_idle(); return false;">اینجا</a> را کلیک کنید.', false);
            }
        }, 1000);

        this.shout_entry = document.getElementById('inferno_shout_entry');
        this.shoutbox_content = document.getElementById('inferno_content');
        this.active_user_number = document.getElementById('inferno_active_users');
        this.alert_div = document.getElementById('inferno_alert');
        this.smiley_div = document.getElementById('inferno_smilies');
        this.linkbar = document.getElementById('inferno_links');
        this.editdiv = document.getElementById('inferno_edit_shout');
        this.editdivtext = document.getElementById('inferno_update_shout');

        if (this.tab != -1)
        {
            this.tab = -1;
            this.shoutbox_content.innerHTML = 'Loading...';
            this.load_shouts();
        }

        if (this.tab == -1)
        {
            this.interval = setInterval(function() {
                if (inferno.tab == -1)
                {
                    if (inferno.is_idle() == false)
                    {
                        if (inferno.anus)
                        {
                            if (inferno.manage_anus())
                            {
                                inferno.load_shouts();
                                inferno.close_anus();
                            }
                        }
                        else
                        {
                            inferno.load_shouts();
                        }
                    }
                }
            }, this.refresh_rate);
            inferno.update_idle_time();
        }
    }

    this.edit_shout = function(id)
    {
        this.editshoutid = id;
        this.get_shout(id);
    }

    this.get_shout = function(id)
    {
        new Ajax.Request(this.url + '?action=getshout&id=' + id + inferno.screw_ie(), {
            method:'get',
            onSuccess: function(transport) {
                if (transport.responseText != '')
                {
                    inferno.editshout = JSON.parse(transport.responseText);
                    inferno.display_update();
                    inferno.update_idle_time();
                }
            },
            onFailure: function() { inferno.alert('مشکلی به وجود آمد...'); }
        });
    }

    this.display_update = function()
    {
        obj = this.editshout;
        editdiv = this.editdiv;
        editdivtext = this.editdivtext;
        editdiv.style.display = 'block';
        editdivtext.value = this.trim(obj.shout); //.trim();
    }

    this.update_shout = function()
    {
        sid = this.editshoutid;
        editdivtext = this.editdivtext;
        shout = this.trim(editdivtext.value); //.trim();
        condition = this.is_valid_shout(shout);

        if (condition == true)
        {
            var options = {
                method: 'post',
                parameters: {sid: sid, shout: shout},
                onSuccess: function() {
                    inferno.cancel();
                    if (inferno.tab > 0) {
                        inferno.load_private_shouts(inferno.tab);
                    } else {
                        inferno.load_shouts();
                    }
                    inferno.update_idle_time();
                }
            };
            new Ajax.Request(this.url + '?action=updateshout', options);
        }
        else
        {
            this.alert(condition);
        }
    }

    this.delete_shout = function()
    {
        sid = this.editshoutid;
        var options = {
            method: 'post',
            parameters: {sid: sid},
            onSuccess: function() {
                inferno.alert('پیام با موفقیّت حذف شد.');
                inferno.cancel();
                if (inferno.tab > 0) {
                    inferno.load_private_shouts(inferno.tab);
                } else {
                    inferno.load_shouts();
                }
            }
        };
        new Ajax.Request(this.url + '?action=deleteshout', options);
    }

    this.cancel = function()
    {
        this.editshout = null;
        this.editdiv.style.display = 'none';
    }

    this.update_style = function(style, obj)
    {
        if (style == 'bold' || style == 'italic' || style == 'underline') {
            vals = {
                bold: 'B',
                italic: 'I',
                underline: 'U'
            }
            if (obj.value.indexOf('*') == -1) {
                obj.value += '*';
                this.styles[style] = true;
                this.update_entry_style(style, true);
            } else {
                obj.value = vals[style];
                this.styles[style] = false;
                this.update_entry_style(style, false);
            }
        } else {
            this.styles[style] = obj.value;
            this.update_entry_style(style, obj.value);
        }
        this.alert('تنظیمات ظاهری متن پیام‌های شما، پس از این‌که پیام بعدی را ارسال کنید، به‌روز خواهد شد.');
        this.style_update = true;
    }

    this.update_entry_style = function(style, value)
    {
        entry = this.shout_entry;

        switch (style)
        {
            case 'bold':
                entry.style.fontWeight = (value) ? 'bold' : '';
                break;
            case 'italic':
                entry.style.fontStyle = (value) ? 'italic' : '';
                break;
            case 'underline':
                entry.style.textDecoration = (value) ? 'underline' : '';
                break;
            case 'font':
                entry.style.fontFamily = (value == 'Default') ? '' : value;
                break;
            case 'color':
                entry.style.color = (value == 'Default') ? '' : value;
        }
    }

    this.add_private_chat = function(uid, name)
    {
        if (!in_array(uid, this.private_chats))
        {
            this.private_chats.push(uid);
            this.linkbar.innerHTML += '<div id="inferno_pm_chat_' + uid + '"><a href="#" onclick="javascript: inferno.open_chat(' + uid + '); return false;">'
            + name +
            '</a> [<a href="#" onclick="javascript: inferno.close_chat(' + uid + '); return false;">X</a>]</div>';
        }
        this.open_chat(uid);
    }

    this.open_chat = function(uid)
    {
        if (this.tab == uid)
        {
            return false;
        }
        this.load_private_shouts(uid);
    }

    this.close_chat = function(uid)
    {
        tempdiv = document.getElementById('inferno_pm_chat_' + uid);
        tempdiv.parentNode.removeChild(tempdiv);
        remove_array_piece(uid, this.private_chats);
        this.init();
    }

    this.submit_styles = function()
    {
        if (this.style_update)
        {
            s = this.styles;
            s = Object.toJSON(s);

            var options = {
                method: 'post',
                postBody: 'styles=' + s
            };

            new Ajax.Request(this.url + '?action=updatestyles', options);
            this.style_update = false;
            this.alert('تنظیمات ظاهری متن پیام‌های شما، به‌روزرسانی شدند.');
        }
    }

    this.trim = function(string)
    {
        return string.replace(/^\s+|\s+$/g, '');
    }

    this.submit_shout = function()
    {

        lastshout = this.lastshout;
        now = time();
        wait = lastshout + (this.shoutwait);

        shout = this.trim(this.shout_entry.value); // .trim();
        condition = this.is_valid_shout(shout);

        if (this.tab == -1 || this.tab == 0) {
            params = {shout: shout};
        } else {
            params = {shout: shout, pmid: this.tab};
        }

        if (condition == true)
        {
            if (!lastshout) {
                this.lastshout = now;
            } else {
                if (now < wait) {
                    this.alert('شما باید ' + (wait - now) + ' ثانیه‌ی دیگر' + ((wait - now == 1) ? '' : 's') + ' برای ارسال پیام صبر کنید.');
                    return false;
                } else {
                    this.lastshout = null;
                }
            }

            var options = {
                method: 'post',
                parameters: params,
                onSuccess: function() {
                    inferno.submit_styles();
                    if (inferno.tab > 0) {
                        inferno.load_private_shouts(inferno.tab);
                    } else {
                        inferno.load_shouts();
                    }
                    inferno.update_idle_time();
                }
            };
            new Ajax.Request(inferno.url + '?action=newshout', options);
            inferno.clear_shout();
            console.log(inferno.url + '?action=newshout');
        }
        else
        {
            this.alert(condition);
        }
    }

    this.toggle_smilies = function()
    {
        smileydiv = this.smiley_div;

        if (smileydiv.innerHTML == '')
        {
            new Ajax.Request(this.url + '?action=getsmilies', {
                method:'get',
                onSuccess: function(transport) {
                    response = transport.responseText;
                    if (response == '') {
                        inferno.alert('شکلکی برای نمایش وجود ندارد.');
                    } else {
                        smileydiv.innerHTML = response;
                    }
                },
                onFailure: function() { inferno.alert('مشکلی به وجود آمد...'); }
            });
        }
        else
        {
            smileydiv.innerHTML = '';
        }
    }

    this.append = function(text)
    {
        entry = this.shout_entry;
        entry.value += ' ' + text;
        entry.value = this.trim(entry.value); //.trim();
    }

    this.alert = function(message, timeout)
    {
        timeout = (typeof timeout === "undefined") ? true : timeout;
        alertdiv = this.alert_div;
        alertdiv.className = 'inferno_alert_div';
        alertdiv.innerHTML = '<b class="inferno_alert">اطلاع‌رسان جعبه پیام:</b> ' + message;

        if (timeout)
        {
            clearTimeout(this.timeout);
            this.timeout = setTimeout(function(){
                inferno.clear_alert();
            }, 4000);
        }
    }

    this.clear_alert = function()
    {
        alertdiv.innerHTML = '';
        alertdiv.className = '';
    }

    this.is_valid_shout = function(shout)
    {
        if (shout.length > this.shout_max_chars)
        {
            return 'You have used ' + shout.length + '/' + this.shout_max_chars + ' characters. Please shorten your shout.';
        }
        if (shout.length == 0)
        {
            return 'Please enter a message first.';
        }
        return true;
    }

    this.load_active_user_number = function(text)
    {
        spanid = this.active_user_number;
        spanid.innerHTML = text;
    }

    this.load_private_shouts = function (uid)
    {
        contentdiv = this.shoutbox_content;
        
        if (this.tab != uid)
        {
            clearInterval(this.interval);

            this.interval = setInterval(function() {
                if (inferno.is_idle() == false)
                {
                    if (inferno.anus)
                    {
                        if (inferno.manage_anus())
                        {
                            inferno.load_private_shouts(uid);
                            inferno.close_anus();
                        }
                    }
                    else
                    {
                        inferno.load_private_shouts(uid);
                    }
                }
            }, this.refresh_rate);

            contentdiv.innerHTML = 'Loading...';
            this.tab = uid;
        }

        new Ajax.Request(this.url + '?action=getshouts&id=' + uid + inferno.screw_ie(), {
            method:'get',
            onSuccess: function(transport) {
                response = transport.responseText;

                if (response.indexOf('<<~!PARSE_SHOUT!~>>') != -1) {
                    active_users = response.substring(0, response.indexOf('<<~!PARSE_SHOUT!~>>'));
                    inferno.load_active_user_number(active_users);
                    contentdiv.innerHTML = response.substring(response.indexOf('<<~!PARSE_SHOUT!~>>') + '<<~!PARSE_SHOUT!~>>'.length, response.length);
                }
                inferno.update_idle_time();
            },
            onFailure: function() { inferno.alert('مشکلی به وجود آمد...'); }
        });
    }

    this.load_shouts = function()
    {
        contentdiv = this.shoutbox_content;

        if (this.tab != -1)
        {
            contentdiv.innerHTML = 'Loading...';
        }

        new Ajax.Request(this.url + '?action=getshouts' + inferno.screw_ie(), {
            method:'get',
            onSuccess: function(transport) {
                response = transport.responseText;

                if (response.indexOf('<<~!PARSE_SHOUT!~>>') != -1) {
                    active_users = response.substring(0, response.indexOf('<<~!PARSE_SHOUT!~>>'));
                    inferno.load_active_user_number(active_users);
                    contentdiv.innerHTML = response.substring(response.indexOf('<<~!PARSE_SHOUT!~>>') + '<<~!PARSE_SHOUT!~>>'.length, response.length);
                }
            },
            onFailure: function() { inferno.alert('مشکلی به وجود آمد...'); }
        });
    }

    this.load_active_users = function()
    {
        if (this.tab != 0)
        {
            this.tab = 0;
            clearInterval(this.interval);
            contentdiv = this.shoutbox_content;
            contentdiv.innerHTML = 'Loading...';

            new Ajax.Request(this.url + '?action=getactiveusers' + inferno.screw_ie(), {
                method:'get',
                onSuccess: function(transport) {
                    contentdiv.innerHTML = transport.responseText;
                    inferno.update_idle_time();
                },
                onFailure: function() { alert('Something went wrong...'); }
            });
        }
    }

    this.clear_shout = function()
    {
        this.shout_entry.value = '';
        this.shout_entry.select();
    }
}

function in_array(needle, haystack)
{
    for (j = 0; j < haystack.length; j++)
    {
        if (needle === haystack[j])
        {
            return true;
        }
    }
    return false;
}

function remove_array_piece(needle, haystack)
{
    for (k = 0; k < haystack.length; k++)
    {
        if (needle === haystack[k])
        {
            haystack.splice(k, 1);
        }
    }
}

function time()
{
    return Math.round(new Date().getTime() / 1000);
}

window.onload = function() {
    inferno = new inferno();
    inferno.init();

تو فایل پلاگینم چیزی برای جی کوئری پیدا نکردم! Angry
changestat هم که اون کارا رو انجام دادم بازم کار نکرد!اینام کد پلاگینش Dodgy Angry
کد پی‌اچ‌پی:
<?php
if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

function 
changstats_info()
{
    return array(
        
"name"            => "آمار پیشرفته",
        
"description"    => "نمایش آخرین ارسال ها و برترین ها (آژاکس)، فارسی سازی توسط MybbIran.com",
        
"website"        => "http://mybbvn.com",
        
"author"        => "ChangUonDyU",
        
"authorsite"    => "http://mybbvn.com",
        
"version"        => "1.0",
    );
}

$plugins->add_hook("global_end""changstats_maindisplay");
$plugins->add_hook("xmlhttp""changstats_getdata");


function 
changstats_activate()
{
    global 
$db;
    
///// Insert Setting Group //////
    
$group = array(
        
"name" =>            "chang_stats",
        
"title" =>            "آمار پیشرفته",
        
"description" =>    "نمایش آخرین ارسال ها و برترین ها (آژاکس)، فارسی سازی توسط MybbIran.com",
    );
    
$db->insert_query("settinggroups"$group);
    
$gid $db->insert_id();
    
    
// Insert Settings
    
$s[] = array(
        
"name"            => "changstats_turn",
        
"title"            => "پلاگین روشن باشد؟",
        
"optionscode"    => "yesno",
        
"value"            => 1,
        
"disporder"        => 10,
        
"gid"            => intval($gid)
    );
    
$s[] = array(
        
"name"             => "changstats_result",
        
"title"         => "تعداد نتایج (با کاما از یکدیگر جدا کنید)",
        
"description"    => "اولین عنصر (عدد) به صورت پیش فرض هنگام بارگزاری صفحه قرار می گیرد.",
        
"optionscode"     => "text",
        
"value"         => "10,20,30,40,50",
        
"disporder"     => 20,
        
"gid"             => intval($gid),
        );
    
    
$s[] = array(
        
"name"             => "changstats_refreshtime",
        
"title"         => "زمان تازه سازی خودکار (به ثانیه)",
        
"description"    => "برای خاموش بودن 0 را وارد کنید.",
        
"optionscode"     => "text",
        
"value"         => 20,
        
"disporder"     => 30,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_disforguest",
        
"title"         => "تازه سازی خودکار برای مهمان خاموش باشد؟",
        
"optionscode"     => "yesno",
        
"value"         => 1,
        
"disporder"     => 35,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_disbutton",
        
"title"         => "نمایش دکمه تازه سازی؟",
        
"optionscode"     => "yesno",
        
"value"         => 1,
        
"disporder"     => 36,
        
"gid"             => intval($gid),
        );
    
//// LATESTPOST SETTINGS /////
    
$s[] = array(
        
"name"             => "changstats_customtab",
        
"title"         => "<u><b>آخرین ارسال ها برای یک انجمن خاص</b></u>",
        
"description"    => $db->escape_string("هر قسمت را با خط جدید از هم جدا کنید. هر عنوان را با نماد <font color='red'>|</font>جدا کنید. آی دی ها را با کاما از یکدیگر جدا کنید.<div><i>نمونه:</i></div><b><font color='green'>Oder1 title<font color='red'>|</font>1,2,5<br>Oder2 title<font color='red'>|</font>21,15,7<br>Oder3 title<font color='red'>|</font>14</font></b>"),
        
"optionscode"     => "textarea",
        
"value"         => "Oder1 title|1,2,5
Oder2 title|21,15,7
Oder3 title|14"
,
        
"disporder"     => 40,
        
"gid"             => intval($gid),
        );
        
    
$s[] = array(
        
"name"             => "changstats_exclforum",
        
"title"         => "انجمن های حذف شده از آمار",
        
"description"    => "لیست آی دی ها ، آن ها را با کاما از هم جدا کنید.",
        
"optionscode"     => "text",
        
"value"         => "",
        
"disporder"     => 45,
        
"gid"             => intval($gid),
        );
    
/*
    $s[] = array(
        "name"             => "changstats_showdate",
        "title"         => "Show DateTime ?",
        "optionscode"     => "yesno",
        "value"         => 1,
        "disporder"     => 50,
        "gid"             => intval($gid),
        );
    $s[] = array(
        "name"             => "changstats_showlastposter",
        "title"         => "Show LastPoster ?",
        "optionscode"     => "yesno",
        "value"         => 1,
        "disporder"     => 60,
        "gid"             => intval($gid),
        );
    $s[] = array(
        "name"             => "changstats_showreply",
        "title"         => "Show Replies ?",
        "optionscode"     => "yesno",
        "value"         => 1,
        "disporder"     => 70,
        "gid"             => intval($gid),
        );
    $s[] = array(
        "name"             => "changstats_showview",
        "title"         => "Show Views ?",
        "optionscode"     => "yesno",
        "value"         => 1,
        "disporder"     => 80,
        "gid"             => intval($gid),
        );
    $s[] = array(
        "name"             => "changstats_showforum",
        "title"         => "Show Forum ?",
        "optionscode"     => "yesno",
        "value"         => 1,
        "disporder"     => 90,
        "gid"             => intval($gid),
        );
    */
    
$s[] = array(
        
"name"             => "changstats_dateformat",
        
"title"         => "فرمت زمان و تاریخ آخرین ارسال ها",
        
"optionscode"     => "text",
        
"value"         => "m-d, h:i A",
        
"disporder"     => 100,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_trim_threadtitle",
        
"title"         => "وضع نام موضوع (0 برای خاموش بودن)",
        
"optionscode"     => "text",
        
"value"         => '35',
        
"disporder"     => 110,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_trim_forumtitle",
        
"title"         => "وضع نام انجمن (0 برای خاموش بودن)",
        
"optionscode"     => "text",
        
"value"         => "21",
        
"disporder"     => 120,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_trim_username",
        
"title"         => "وضع نام کاربری (0 برای خاموش بودن)",
        
"optionscode"     => "text",
        
"value"         => "14",
        
"disporder"     => 130,
        
"gid"             => intval($gid),
        );
    
    
///// TOP SETTINGS /////
    
$s[] = array(
        
"name"             => "changstats_topcol_width",
        
"title"         => "عرض ستون TopX (به پیکسل)",
        
"description"    => $db->escape_string("<i>نمونه: <b>200</b></i>"),
        
"optionscode"     => "text",
        
"value"         => "150",
        
"disporder"     => 200,
        
"gid"             => intval($gid),
        );

    
$s[] = array(
        
"name"             => "changstats_top_trim_threadtitle",
        
"title"         => "بالا - وضع نام موضوع (0 برای خاموش بودن)",
        
"optionscode"     => "text",
        
"value"         => '21',
        
"disporder"     => 210,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_top_trim_forumtitle",
        
"title"         => "بالا - وضع نام انجمن (0 برای خاموش وبدن)",
        
"optionscode"     => "text",
        
"value"         => "21",
        
"disporder"     => 220,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_top_trim_username",
        
"title"         => "بالا - وضع نام کاربری (0 برای خاموش بودن)",
        
"optionscode"     => "text",
        
"value"         => "21",
        
"disporder"     => 230,
        
"gid"             => intval($gid),
        );
    
$s[] = array(
        
"name"             => "changstats_joindate",
        
"title"         => "فرمت تاریخ عضویت",
        
"optionscode"     => "text",
        
"value"         => "m-d",
        
"disporder"     => 240,
        
"gid"             => intval($gid),
        );
        
        
    foreach (
$s as $ones)
    {
        
$db->insert_query("settings"$ones);
    }
    
rebuild_settings();
    
    
// Create template
    
$templates['changuondyu_stats_main'] = <<<EOT
    <form action="" name="getmenu">
<table class="tborder" cellpadding="
$theme[tablespace]" cellspacing="$theme[borderwidth]" border="0" width="100%">
<tr>
<td class="thead" colspan="
$ordert3">
<span style="float: left;">
{$lang->changstats_result}
<select name="choosekq" onchange='changstats_post();changstats_top_user();changstats_top_forum();'>
  
$choosekq
</select>
$refreshbutton
</span>

<b>
{$lang->changstats_stats} {$mybb->settings['bbname']}</b>
<span id="cprogress_post" style="display: none;" class="smalltext"> 
{$lang->changstats_loadpost}</span>
<span id="cprogress_top" style="display: none;" class="smalltext"> 
{$lang->changstats_loadtop}</span>

</td>
</tr>

<tr align="center">
<td class="tcat" id="ct0" nowrap="nowrap" style="padding: 3px; cursor: pointer;" onclick="cswitch(0);"><a href="javascript:cswitch(0);">
{$lang->changstats_allforum}</a></td>
$chooselatestposts
<td class="tcat" nowrap="nowrap" width="
{$mybb->settings['changstats_topcol_width']}" align="left">
    <select name="choosetop_user" onchange='changstats_top_user();'>
        
$choosetop_user
    </select>
</td>
<td class="tcat" nowrap="nowrap" width="
{$mybb->settings['changstats_topcol_width']}" align="left">
    <select name="choosetop_forum" onchange='changstats_top_forum();'>
        
$choosetop_forum
    </select>
</td>
</tr>

<tr>
<td class="trow1" colspan="
$ordert2" valign="top">
<div id="chang_latestposts"></div>
</td>
<td class="trow1" valign="top">
    <div id="chang_top_user"></div>
</td>
<td class="trow1" valign="top">
    <div id="chang_top_forum"></div>
</td>
</tr>

</table>
</form>
{$changstats_script}
EOT;

    
$templates['changuondyu_stats_script'] = <<<EOT
    <script language="JavaScript" type="text/javascript">
        var fcmenu;
var listtab = new Array();
listtab[0] = "allforum";
$listtab

function cswitch(taborder)
{
fcmenu = listtab[taborder];
document.getElementById('ct'+taborder).className = 'thead';
for (i = 0; i <= 
$ordert; i++)
{
 if (i != taborder)
   {
    document.getElementById('ct'+i).className = 'tcat';
   }
}
changstats_post();
}

function hshowpost(request)
{
  if (request.readyState == 4 && request.status == 200)
    {
    document.getElementById('chang_latestposts').innerHTML = request.responseText;
    document.getElementById('cprogress_post').style.display="none";
    }
}
function hshowtop_user(request)
{
  if (request.readyState == 4 && request.status == 200)
    {
    document.getElementById('chang_top_user').innerHTML = request.responseText;
    document.getElementById('cprogress_top').style.display="none";
    }
}
function hshowtop_forum(request)
{
  if (request.readyState == 4 && request.status == 200)
    {
    document.getElementById('chang_top_forum').innerHTML = request.responseText;
    document.getElementById('cprogress_top').style.display="none";
    }
}


function changstats_post()
{
    document.getElementById('cprogress_post').style.display="inline";
    fcresult = document.getmenu.choosekq.value;
    new Ajax.Request('xmlhttp.php?do='+fcmenu+'&result='+fcresult, {method: 'GET', postBody: null, onComplete: function(request) { hshowpost(request); }});
}
function changstats_top_user()
{
    document.getElementById('cprogress_top').style.display="inline";
    fcmenu_top_user = document.getmenu.choosetop_user.value;
    fcresult = document.getmenu.choosekq.value;
    new Ajax.Request('xmlhttp.php?do='+fcmenu_top_user+'&result='+fcresult, {method: 'GET', postBody: null, onComplete: function(request) { hshowtop_user(request); }});
}
function changstats_top_forum()
{
    document.getElementById('cprogress_top').style.display="inline";
    fcmenu_top_forum = document.getmenu.choosetop_forum.value;
    fcresult = document.getmenu.choosekq.value;
    new Ajax.Request('xmlhttp.php?do='+fcmenu_top_forum+'&result='+fcresult, {method: 'GET', postBody: null, onComplete: function(request) { hshowtop_forum(request); }});
}

cswitch(0);
changstats_top_user();
changstats_top_forum();

$autorefresh
</script>
EOT;
    
    $templates
['changuondyu_stats_refreshbutton'] = <<<EOT
    <input type="button" class="button" value="{$lang->changstats_refresh}" onclick="changstats_post();" />
EOT;

    $templates['changuondyu_stats_topuser'] = <<<EOT
    $topposter
    
$newmember
    
$topthank
EOT;

    $templates['changuondyu_stats_topforum'] = <<<EOT
    $mostviewthread
    
$hotthread
    
$mostpopularforum
EOT;
    
    $templates
['changuondyu_latestpost'] = <<<EOT
    <table cellpadding="1" cellspacing="0" border="0" width="100%">
<tr>
<td class="smalltext" nowrap="nowrap">
{$lang->changstats_thread}</td>
<td class="smalltext" nowrap="nowrap">
{$lang->changstats_date}{$lang->changstats_time} </td>
<td class="smalltext" nowrap="nowrap">
{$lang->changstats_postby} </td>
<td class="smalltext" nowrap="nowrap">
{$lang->changstats_reply} </td>
<td class="smalltext" nowrap="nowrap">
{$lang->changstats_views} </td>
<td class="smalltext" nowrap="nowrap">
{$lang->changstats_forum}</td>
</tr>
$changtop_lastpost_bit
</table>
EOT;

    $templates['changuondyu_latestpost_bit'] = <<<EOT
<tr>
<td width="100%" nowrap="nowrap"><span class="smalltext"><a href="showthread.php?tid=
$latestpost[tid]&action=lastpost" title="$latestpost[fulltitle]">$latestpost[subject]</span></td>
<td nowrap="nowrap"><span class="smalltext"><if condition="
$pstatus=='old'"><font color="#C0C0C0"></if>$latestpost[lastpost] <if condition="$pstatus=='old'"></font></if> </span></td>
<td  nowrap="nowrap" title="
$latestpost[fulllastposter]"><span class="smalltext"><a href="member.php?action=profile&uid=$latestpost[lastposteruid]">$latestpost[lastposter]</a> </span></td>
<td nowrap="nowrap" align="right"><span class="smalltext">
$latestpost[replies] </span></td>
<td nowrap="nowrap" align="right"><span class="smalltext">
$latestpost[views] </span></td>
<td nowrap="nowrap" title="
$latestpost[forumnamefull]"><span class="smalltext"><a href="forumdisplay.php?fid=$latestpost[fid]">$latestpost[forumname]</a></span></td>
</tr>
EOT;

    $templates['changuondyu_top_bit'] = <<<EOT
    <tr>
<td nowrap="nowrap" title="
$title"><span class="smalltext">$colum1</span></td>
<td nowrap="nowrap" align="left"><span class="smalltext">
$colum2</span></td>
</tr>
EOT;

    $templates['changuondyu_top_head'] = <<<EOT
    <table cellpadding="1" cellspacing="0" border="0" width="100%">
    <tr><td class="smalltext" align="right">
$h1</td><td class="smalltext" align="left">$h2</td></tr>
            
$chang_top_element
        </table>
EOT;

    $templates['changuondyu_chooselatestposts'] = <<<EOT
    <td class="thead" nowrap="nowrap" id="ct{$ordert}" style="padding: 3px; cursor: pointer;" onclick="cswitch($ordert);">
    <a href="javascript:cswitch(
$ordert);">$menuname</a>
    </td>
EOT;
    
    
    foreach
($templates as $title => $template)
    {
        $insert_template = array(
            'title'        => $title,
            'template'    => $db->escape_string($template),
            'sid'        => '-1',
        );
        $db->insert_query("templates"$insert_template);
    }
}


function 
changstats_deactivate()
{
    global $db;
    
    $setting_groupname 
'chang_stats';
    
    
// Delete settings
    $query $db->query("SELECT gid FROM ".TABLE_PREFIX."settinggroups WHERE name='$setting_groupname' LIMIT 1");
    $qinfo $db->fetch_array($query);
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE gid='$qinfo[gid]'");
    // Delete settings group
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='$setting_groupname'");
    
    
// Delete templates
    $deletetemplates = array('changuondyu_stats_main',
                             'changuondyu_stats_refreshbutton',
                            'changuondyu_stats_topuser',
                            'changuondyu_stats_topforum',
                            'changuondyu_stats_script',
                            'changuondyu_latestpost',
                            'changuondyu_latestpost_bit',
                            'changuondyu_chooselatestposts',
                            'changuondyu_top_bit',
                            'changuondyu_top_head'
                            );
    foreach($deletetemplates as $title)
    {
        $db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='".$title."'");
    }
}

function 
changstats_getdata()
{
    global $db,$mybb,$templates,$theme,$cache,$lang;
    $lang->load('changstats');
    
    if 
($mybb->settings['changstats_turn'])
    {
    
        $hiddenforum 
'0';
        $forumpermissions forum_permissions();
        foreach($forumpermissions as $forumid => $permiss)
        {
            if($permiss['canview'] != 1)
                {
                    $hiddenforum .= ','.$forumid;
                }
        }
        
        if 
($mybb->settings['changstats_exclforum'])
        {
            $hiddenforum .= ",".$mybb->settings['changstats_exclforum'];
        }
    
        
// get result value
        $cresult $_REQUEST['result'];
            
        
// AJAX GET NEW POST
        $listr2 explode("," $mybb->settings['changstats_result']);
        if ($cresult <= $listr2[sizeof($listr2)-1])
        {
            // tat ca cac bai viet moi
            if ($_REQUEST['do'] == 'allforum' || $_REQUEST['do'] == 'inforum')
            {
                $threadclimit $mybb->settings['changstats_trim_threadtitle']; // thread title trim
                $forumclimit $mybb->settings['changstats_trim_forumtitle']; // forum title trim
                $userclimit $mybb->settings['changstats_trim_username']; // username trim

                $queryfield "tid,fid,subject,dateline,lastpost,replies,views,lastposter,lastposteruid";

                if ($_REQUEST['do'] == 'allforum')
                {
                    $latestpostq $db->query("SELECT $queryfield FROM "TABLE_PREFIX ."threads WHERE fid NOT IN ($hiddenforum) AND visible = 1 ORDER BY lastpost DESC LIMIT $cresult");
                }
                else
                
{
                    $foruminid $_REQUEST['listforumid'];
                    $latestpostq $db->query("SELECT $queryfield FROM "TABLE_PREFIX ."threads WHERE fid IN ($foruminid) AND fid NOT IN ($hiddenforum) AND visible = 1 ORDER BY lastpost DESC LIMIT $cresult");
                }
                
                while 
($latestpost $db->fetch_array($latestpostq))
                {
                    $latestpost[fulltitle] = $latestpost[subject];
                    $latestpost[fullposter] = $latestpost[lastposter];
                    $clastpost $latestpost[lastpost];
                    $latestpost[lastpost] = my_date($mybb->settings['changstats_dateformat'], $latestpost[lastpost]);

                    // trim thread title
                    if ($threadclimit && my_strlen($latestpost[subject]) > $threadclimit)
                    {
                        $latestpost[subject] = my_substr($latestpost[subject], 0$threadclimit).'...';
                    }

                    // get forum title store thread and trim
                    $query $db->query("SELECT name FROM "TABLE_PREFIX ."forums WHERE fid = '$latestpost[fid]' LIMIT 1");
                    $qinfo $db->fetch_array($query);
                    $latestpost[forumname] = $qinfo[name];
                    $latestpost[forumname] = strip_tags($latestpost[forumname]);
                    $latestpost[forumnamefull] = $latestpost[forumname];
                    if ($forumclimit && my_strlen($latestpost[forumname]) > $forumclimit)
                    {
                        $latestpost[forumname] = my_substr($latestpost[forumname], 0$forumclimit).'...';
                    }

                    // lastposter markup and trim
                    $latestpost[fulllastposter] = $latestpost[lastposter];
                    if ($userclimit && my_strlen($latestpost[lastposter]) > $userclimit)
                    {
                        $latestpost[lastposter] = my_substr($latestpost[lastposter], 0$userclimit).'...';
                    }

                    $query $db->query("SELECT usergroup,displaygroup FROM "TABLE_PREFIX ."users WHERE uid = '$latestpost[lastposteruid]' LIMIT 1");
                    $qinfo $db->fetch_array($query);
                    $latestpost[lastposter] = format_name($latestpost[lastposter], $qinfo['usergroup'], $qinfo['displaygroup']);

                    $vuserid $mybb->user['uid'];
                    $query $db->query("SELECT lastvisit FROM "TABLE_PREFIX ."users WHERE uid = '$vuserid' LIMIT 1");
                    $qinfo $db->fetch_array($query);
                    $vlastvisit $qinfo['lastvisit'];
                    $pstatus '';
                    if ($vlastvisit $clastpost)
                    {
                        $pstatus 'old';
                    }
                    else
                    
{
                        $pstatus 'new';
                    }

                    eval("$changtop_lastpost_bit .= \"".$templates->get("changuondyu_latestpost_bit")."\";");
                }

                eval("$changuondyu_latestpost = \"".$templates->get("changuondyu_latestpost")."\";");
                echo $changuondyu_latestpost;
            }



/////////////////////////////////////////////////// top ///////////////////////////////////////////////////
            // Trim Value
            $topuserclimit $mybb->settings['changstats_top_trim_username'];
            $topthreadclimit $mybb->settings['changstats_top_trim_threadtitle'];
            $topforumclimit $mybb->settings['changstats_top_trim_forumtitle'];


            /////////////// Newest Member /////////////////
            if ($_REQUEST['do'] == 'newmember')
            {
                $top_query $db->query("SELECT uid,username,regdate,usergroup,displaygroup FROM "TABLE_PREFIX ."users ORDER BY regdate DESC LIMIT $cresult");
                while ($top $db->fetch_array($top_query))
                {
                    $title $top[username];
                    if ($topuserclimit && my_strlen($top[username]) > $topuserclimit)
                    {
                        $top[username] = my_substr($top[username], 0$topuserclimit).'...';
                    }
                    $top[username] = format_name($top[username], $top[usergroup], $top[displaygroup]);
 
                    $colum1 
"<a href='member.php?action=profile&uid=".$top[uid]."'>".$top[username]."</a>";
                    $colum2 my_date($mybb->settings['changstats_joindate'], $top[regdate]);
 
                    eval
("$chang_top_element .= \"".$templates->get("changuondyu_top_bit")."\";");
                }
                $h1 $lang->changstats_username;
                $h2 $lang->changstats_date;
                eval("$changuondyu_topoutput = \"".$templates->get("changuondyu_top_head")."\";");
                echo $changuondyu_topoutput;
            }
 
 
            
/////////////// Top Poster //////////////////
            if ($_REQUEST['do'] == 'topposter')
            {
                $top_query $db->query("SELECT uid,username,postnum,usergroup,displaygroup FROM "TABLE_PREFIX ."users ORDER BY postnum DESC LIMIT $cresult");
                while ($top $db->fetch_array($top_query))
                {
                    $title $top[username];
                    if ($topuserclimit && my_strlen($top[username]) > $topuserclimit)
                    {
                        $top[username] = my_substr($top[username], 0$topuserclimit).'...';
                    }
                    $top[username] = format_name($top[username], $top[usergroup], $top[displaygroup]);
 
                    $colum1 
"<a href='member.php?action=profile&uid=".$top[uid]."'>".$top[username]."</a>";
                    $colum2 $top[postnum];
 
                    eval
("$chang_top_element .= \"".$templates->get("changuondyu_top_bit")."\";");
                }
                $h1 $lang->changstats_username;
                $h2 $lang->changstats_posts;
                eval("$changuondyu_topoutput = \"".$templates->get("changuondyu_top_head")."\";");
                echo $changuondyu_topoutput;
            }
            
            
/////////////// Top Thanked //////////////////
            if ($_REQUEST['do'] == 'topthank' && $db->field_exists("thxcount","users"))
            {
                $top_query $db->query("SELECT uid,username,thxcount,usergroup,displaygroup FROM "TABLE_PREFIX ."users ORDER BY thxcount DESC LIMIT $cresult");
                while ($top $db->fetch_array($top_query))
                {
                    $title $top[username];
                    if ($topuserclimit && my_strlen($top[username]) > $topuserclimit)
                    {
                        $top[username] = my_substr($top[username], 0$topuserclimit).'...';
                    }
                    $top[username] = format_name($top[username], $top[usergroup], $top[displaygroup]);
 
                    $colum1 
"<a href='member.php?action=profile&uid=".$top[uid]."'>".$top[username]."</a>";
                    $colum2 $top[thxcount];
 
                    eval
("$chang_top_element .= \"".$templates->get("changuondyu_top_bit")."\";");
                }
                $h1 $lang->changstats_username;
                $h2 '';
                eval("$changuondyu_topoutput = \"".$templates->get("changuondyu_top_head")."\";");
                echo $changuondyu_topoutput;
            }
 
            
///////////// Most view thread ///////////////////
            if ($_REQUEST['do'] == 'mostview')
            {
                $top_query $db->query("SELECT tid,subject,views FROM "TABLE_PREFIX ."threads ORDER BY views DESC LIMIT $cresult");
                while ($top $db->fetch_array($top_query))
                {
                    $title $top[subject];
                    if ($topthreadclimit && my_strlen($top[subject]) > $topthreadclimit)
                    {
                        $top[subject] = my_substr($top[subject], 0$topthreadclimit).'...';
                    }
 
                    $colum1 
"<a href='showthread.php?tid=".$top[tid]."'>".$top[subject]."</a>";
                    $colum2 $top[views];
 
                    eval
("$chang_top_element .= \"".$templates->get("changuondyu_top_bit")."\";");
                }
                $h1 $lang->changstats_thread;
                $h2 $lang->changstats_views;
                eval("$changuondyu_topoutput = \"".$templates->get("changuondyu_top_head")."\";");
                echo $changuondyu_topoutput;
            }

            ///////////// hot thread ///////////////////
            if ($_REQUEST['do'] == 'hotthread')
            {
                $top_query $db->query("SELECT tid,subject,replies FROM "TABLE_PREFIX ."threads ORDER BY replies DESC LIMIT $cresult");
                while ($top $db->fetch_array($top_query))
                {
                    $title $top[subject];
                    if ($topthreadclimit && my_strlen($top[subject]) > $topthreadclimit)
                    {
                        $top[subject] = my_substr($top[subject], 0$topthreadclimit).'...';
                    }
 
                    $colum1 
"<a href='showthread.php?tid=".$top[tid]."'>".$top[subject]."</a>";
                    $colum2 $top[replies];
 
                    eval
("$chang_top_element .= \"".$templates->get("changuondyu_top_bit")."\";");
                }
                $h1 $lang->changstats_thread;
                $h2 $lang->changstats_reply;
                eval("$changuondyu_topoutput = \"".$templates->get("changuondyu_top_head")."\";");
                echo $changuondyu_topoutput;
            }

            ///////////// most popular forum ///////////////////
            if ($_REQUEST['do'] == 'mostpopular')
            {
                $top_query $db->query("SELECT fid,name,posts FROM "TABLE_PREFIX ."forums ORDER BY posts DESC LIMIT $cresult");
                while ($top $db->fetch_array($top_query))
                {
                    $title $top[name];
                    if ($topforumclimit && my_strlen($top[name]) > $topforumclimit)
                    {
                        $top[name] = my_substr($top[name], 0$topforumclimit).'...';
                    }
 
                    $colum1 
"<a href='forumdisplay.php?fid=".$top[fid]."'>".$top[name]."</a>";
                    $colum2 $top[posts];
 
                    eval
("$chang_top_element .= \"".$templates->get("changuondyu_top_bit")."\";");
                }
                $h1 $lang->changstats_forum;
                $h2 $lang->changstats_posts;
                eval("$changuondyu_topoutput = \"".$templates->get("changuondyu_top_head")."\";");
                echo $changuondyu_topoutput;
            }
        // check result
    // changstats turn
}

function 
changstats_maindisplay()
{
    global $mybb,$templates,$theme,$lang,$changstats;
    $lang->load('changstats');
    
    if 
($mybb->settings['changstats_turn'])
    {
        // Create List of result
        $listresult explode(","$mybb->settings['changstats_result']);
        foreach ($listresult as $result)
        {
            $choosekq .= "<option value='$result'>$result</option>";
        }
        
        
// Gen Sp Tab
        $listorder preg_replace("#(\r\n|\r|\n)#s","+#+",$mybb->settings['changstats_customtab']);
        $listorder explode("+#+"$listorder);
        $ordert 0;
        foreach ($listorder as $listmenu)
        {
            if ($listmenu)
            {
            $ordert++;
            $tg explode("|"$listmenu);
            $menuname=$tg[0];
            $listforumid=$tg[1];
            $listtab .= "listtab[$ordert] = \"inforum&listforumid=$listforumid\";\n";
            eval("$chooselatestposts .= \"".$templates->get("changuondyu_chooselatestposts")."\";");
            }
        }
        $ordert2 $ordert 1;
        $ordert3 $ordert 3;
    
        
// Refresh button
        if ($mybb->settings['changstats_disbutton'])
        {
            eval("$refreshbutton = \"".$templates->get("changuondyu_stats_refreshbutton")."\";");
        }
    
        
// Gen element of top
        $topposter "<option value='topposter'>$lang->changstats_topposter</option>";
        $newmember "<option value='newmember'>$lang->changstats_newmember</option>";
        $topthank "<option value='topthank'>$lang->changstats_topthank</option>";
    
        $mostviewthread 
"<option value='mostview'>$lang->changstats_mostviewthread</option>";
        $hotthread "<option value='hotthread'>$lang->changstats_hotthread</option>";
        $mostpopularforum "<option value='mostpopular'>$lang->changstats_mostpopularforum</option>";
    
        eval
("$choosetop_user .= \"".$templates->get("changuondyu_stats_topuser")."\";");
        eval("$choosetop_forum .= \"".$templates->get("changuondyu_stats_topforum")."\";");
    
        
// AUTO REFRESH
        if ($mybb->user['uid'] == 0)
        {
            if (!$mybb->settings['changstats_disforguest'] && $mybb->settings['changstats_refreshtime'] > 0)
            {
                $autorefresh "setInterval('changstats_post()', 1000*{$mybb->settings['changstats_refreshtime']});";
            }
        }
        else
        
{
            if ($mybb->settings['changstats_refreshtime'] > 0)
            {
                $autorefresh "setInterval('changstats_post()', 1000*{$mybb->settings['changstats_refreshtime']});";
            }
        }
        // MAIN SHOW
        eval("$changstats_script = \"".$templates->get("changuondyu_stats_script")."\";");
        eval("$changstats = \"".$templates->get("changuondyu_stats_main")."\";");
    // changstats turn
}
?>


Anim-Star
محلی برای بحث و گفت و گو در مورد انیمه ها (کارتون های ژاپنی) و مانگا و اینجور چیزا
دانلود,نقد و بررسی,زیرنویس فارسی و... معروف ترین و محبوب ترین و بهترین انیمه ها و مانگاها را،میتوانید به رایگان در انیم استار بیابید
توجه:
فاینال فانتزی :نجات کودکان،اهریمن خاموش(اهریمن درون)،فوتبالیست ها،سونیک،بنر،ناروتو،بلیچ،وان پیس،شهر اشباح،خانواده ی دکتر ارنست،مهاجران و کارتون های امثال این ها انیمه هستند!
پس سریع تر به خانواده ی انیم استار بپیوندید
انیم استار | انیمه استار
پاسخ
درسته سازگار نمیشه! روی چندتا پلاگین امتحان کردم
مثلا این شکلی بود:
کد پی‌اچ‌پی:
if(spinner){return false;}
this.spinner = new ActivityIndicator("body", {image"images/spinner_big.gif"});
new 
Ajax.Request(\'http://forum.foryoucenter.com/xmlhttp.php?action=stats_reload&my_post_key=\'+my_post_key, {method: \'post\',postBody:"", onComplete:stats_done});
return false; 
شد این شکلی:
کد پی‌اچ‌پی:
$.ajax({
url:\'http://forum.foryoucenter.com/xmlhttp.php?action=stats_reload&my_post_key=\'+my_post_key,
type: \'post\',
data:\'\',
complete:stats_done
}); 
این شکلی هم کار نکرد:
کد پی‌اچ‌پی:
    $.ajax(\'http://forum.foryoucenter.com/xmlhttp.php?action=stats_reload&my_post_key=\'+my_post_key, {
type: \'post\',
data:\'\', 
complete:stats_done
}); 
با اینکه ساختارش زیاد متفاوت نیست و باید کار کنه! کار نمیکنه!!!


پاسخ
قضیه این http://docs.my-bb.ir/1.8/development/plugins/ajax/ چیه؟!
باید با json راش انداخت؟!
پلاگین‌ها اکثرا با Xml این بخششون نوشته شده! مشکلی نیست؟


پاسخ
(۰۹ مهر ۱۳۹۳، ۰۲:۲۳ ب.ظ)wildbuzz نوشته:  قضیه این http://docs.my-bb.ir/1.8/development/plugins/ajax/ چیه؟!
باید با json راش انداخت؟!
پلاگین‌ها اکثرا با Xml این بخششون نوشته شده! مشکلی نیست؟

الآن خود مای بی‌بی به صورت پیش‌فرض با JSON اومده Ajaxهاش رو اوکی کرده ولی فرقی نمیکنه.


شما توی تابع stats_done مشکل وجود داره.
کدهای اون رو باید ویرایش کنی


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
پاسخ
سلام
داداش توفیقی این پلاگینو می تونی با 1.8 سازگار کنی برای دانلود بزاری ! من نمی تونم سازگار کنم !!!
http://my-bb.ir/Thread-%D9%BE%D9%84%D8%A...8%A8%DB%8C
پاسخ
سلام
داداش توفیقی این پلاگینو می تونی با 1.8 سازگار کنی برای دانلود بزاری ! من نمی تونم سازگار کنم !!!
http://my-bb.ir/Thread-%D9%BE%D9%84%D8%A...8%A8%DB%8C
پاسخ
لطفا این پلاگین را سازگار کنید
Force Verify (1.0)


پاسخ
صفحه‌ها (3):


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش ثابت نگه داشتن یک نوشته در پلاگین آمار ProStats Tofighi 10 1,044 ۲۸ بهمن ۱۳۹۴، ۰۶:۴۶ ب.ظ
آخرین ارسال: آشپزخانم

پرش به انجمن:


کاربران در حال بازدید این موضوع:

1 مهمان


درباره‌ی ما

گروه پشتیبانی فارسی مای بی بی My-BB.Ir در واپسین روزهای پاییز 1391 کار خود را در زمینه مای بی بی آغاز کرد. این گروه با توکل بر خدای منان و دانش فنی خود در تلاش است فعالیتی هرچند ناچیز در زمینه ارتقا و پشتیبانی مای بی بی انجام دهد.
تمامی حقوق برای وب‌سایت پشتیبانی فارسی مای بی‌بی (My-BB.Ir) محفوظ می‌باشد و هرگونه کپی‌برداری از آن شرعا حرام و قانونا غیرمجاز می‌باشد.
قدرت گرفته از مای بی‌بی - فارسی‌ساز: My-BB.Ir و IORA.Ir