Вход Регистрация
Файл: system/classes/wall.php
Строк: 512
<?php
/* 
    Appointment: Класс для стены
    File: wall.php 
    Author: f0rt1 
    Engine: Vii Engine
    Copyright: NiceWeb Group (с) 2011
    e-mail: niceweb@i.ua
    URL: http://www.niceweb.in.ua/
    ICQ: 427-825-959
    Данный код защищен авторскими правами
*/

class wall {

    var 
$query false;
    var 
$template false;
    var 
$compile false;
    var 
$comm_query false;
    var 
$comm_template false;
    var 
$comm_compile false;
    
    function 
query($query){
        global 
$db;
        
        
$this->query $db->super_query($query1);
    }

    function 
template($template){
        global 
$tpl;
        
$this->template $tpl->load_template($template);
    }
    
    function 
compile($compile){
        
$this->compile $compile;
    }
    
    function 
select(){
        global 
$tpl$db$config$user_id$id$for_user_id$lang$user_privacy$check_friend$server_time$user_info;

        
$this->template;
        foreach(
$this->query as $row_wall){
            
$tpl->set('{rec-id}'$row_wall['id']);
            
            
//КНопка Показать полностью..
            
$expBR explode('<br />'$row_wall['text']);
            
$textLength count($expBR);
            
$strTXT strlen($row_wall['text']);
            if(
$textLength OR $strTXT 600)
                
$row_wall['text'] = '<div class="wall_strlen" id="hide_wall_rec'.$row_wall['id'].'">'.$row_wall['text'].'</div><div class="wall_strlen_full" onMouseDown="wall.FullText('.$row_wall['id'].', this.id)" id="hide_wall_rec_lnk'.$row_wall['id'].'">Показать полностью..</div>';
            
            
//Прикрипленные файлы
            
if($row_wall['attach']){
                
$attach_arr explode('||'$row_wall['attach']);
                
$cnt_attach 1;
                
$cnt_attach_link 1;
                
$jid 0;
                
$attach_result '';
                
$attach_result .= '<div class="clear"></div>';
                foreach(
$attach_arr as $attach_file){
                    
$attach_type explode('|'$attach_file);

                    
//Фото со стены сообщества
                    
if($attach_type[0] == 'photo' AND file_exists(ROOT_DIR."/uploads/groups/{$row_wall['tell_uid']}/photos/c_{$attach_type[1]}")){
                        if(
$cnt_attach 2)
                            
$attach_result .= "<div class="profile_wall_attach_photo cursor_pointer page_num{$row_wall['id']}" onClick="groups.wall_photo_view('{$row_wall['id']}''{$row_wall['tell_uid']}''{$attach_type[1]}''{$cnt_attach}')"><img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/groups/{$row_wall['tell_uid']}/photos/{$attach_type[1]}" align="left" /></div>";
                        else
                            
$attach_result .= "<img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/groups/{$row_wall['tell_uid']}/photos/c_{$attach_type[1]}" style="margin-top:3px;margin-right:3px" align="left" onClick="groups.wall_photo_view('{$row_wall['id']}''{$row_wall['tell_uid']}''{$attach_type[1]}''{$cnt_attach}')" class="cursor_pointer page_num{$row_wall['id']}" />";
                        
                        
$cnt_attach++;
                        
                        
$resLinkTitle '';
    
                    
//Фото со стены юзера
                    
} elseif($attach_type[0] == 'photo_u'){
                        if(
$row_wall['tell_uid']) $attauthor_user_id $row_wall['tell_uid'];
                        else 
$attauthor_user_id $row_wall['author_user_id'];

                        if(
$attach_type[1] == 'attach' AND file_exists(ROOT_DIR."/uploads/attach/{$attauthor_user_id}/c_{$attach_type[2]}")){

                            if(
$cnt_attach == 1)
                            
                                
$attach_result .= "<div class="profile_wall_attach_photo cursor_pointer page_num{$row_wall['id']}" onClick="groups.wall_photo_view('{$row_wall['id']}''{$attauthor_user_id}''{$attach_type[1]}''{$cnt_attach}''photo_u')"><img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/attach/{$attauthor_user_id}/{$attach_type[2]}" align="left" /></div>";

                            else
                                
                                
$attach_result .= "<img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/attach/{$attauthor_user_id}/c_{$attach_type[2]}" style="margin-top:3px;margin-right:3px" align="left" onClick="groups.wall_photo_view('{$row_wall['id']}''''{$attach_type[1]}''{$cnt_attach}')" class="cursor_pointer page_num{$row_wall['id']}" height="{$rodImHeigh}" />";
                                
                            
                            
$cnt_attach++;

                            
                        } elseif(
file_exists(ROOT_DIR."/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/c_{$attach_type[1]}")){
                        
                            if(
$cnt_attach 2)
                                
$attach_result .= "<div class="profile_wall_attach_photo cursor_pointer page_num{$row_wall['id']}" onClick="groups.wall_photo_view('{$row_wall['id']}''{$attauthor_user_id}''{$attach_type[1]}''{$cnt_attach}''photo_u')"><img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/{$attach_type[1]}" align="left" /></div>";
                            else
                                
$attach_result .= "<img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/c_{$attach_type[1]}" style="margin-top:3px;margin-right:3px" align="left" onClick="groups.wall_photo_view('{$row_wall['id']}''{$row_wall['tell_uid']}''{$attach_type[1]}''{$cnt_attach}')" class="cursor_pointer page_num{$row_wall['id']}" />";
                                
                            
$cnt_attach++;
                        }
                        
                        
$resLinkTitle '';

                    
//Видео
                    
} elseif($attach_type[0] == 'video' AND file_exists(ROOT_DIR."/uploads/videos/{$attach_type[3]}/{$attach_type[1]}")){
                    
                        
$for_cnt_attach_video explode('video|'$row_wall['attach']);
                        
$cnt_attach_video count($for_cnt_attach_video)-1;
                
                        if(
$cnt_attach_video == AND preg_match('/(photo|photo_u)/i'$row_wall['attach']) == false){
                            
                            
$video_id intval($attach_type[2]);
                            
                            
$row_video $db->super_query("SELECT video, title FROM `".PREFIX."_videos` WHERE id = '{$video_id}'"false"wall/video{$video_id}");
                            
$row_video['title'] = stripslashes($row_video['title']);
                            
$row_video['video'] = stripslashes($row_video['video']);
                            
$row_video['video'] = strtr($row_video['video'], array('width="770"' => 'width="390"''height="420"' => 'height="310"'));
                            
                            
$attach_result .= "<div class="cursor_pointer clear" id="no_video_frame{$video_id}" onClick="$('#'+this.id).hide();$('#video_frame{$video_id}').show();">
                            <div class="
video_inline_icon"></div><img src="/uploads/videos/{$attach_type[3]}/{$attach_type[1]}" style="margin-top:3px" width="390" height="310" /></div><div id="video_frame{$video_id}" class="no_display" style="padding-top:3px">{$row_video['video']}</div><div class="video_inline_vititle"></div><a href="/video{$attach_type[3]}_{$attach_type[2]}" onClick="videos.show({$attach_type[2]}, this.hreflocation.href); return false"><b>{$row_video['title']}</b></a>";
                        
                        } else {
                            
                            
$attach_result .= "<div class="fl_l"><a href="/video{$attach_type[3]}_{$attach_type[2]}" onClick="videos.show({$attach_type[2]}, this.hreflocation.href); return false"><div class="video_inline_icon video_inline_icon2"></div><img src="/uploads/videos/{$attach_type[3]}/{$attach_type[1]}" style="margin-top:3px;margin-right:3px" align="left" /></a></div>";
                            
                        }

                        
$resLinkTitle '';
                        
                    
//Музыка
                    
} elseif($attach_type[0] == 'audio'){
                        
$audioId intval($attach_type[1]);
                        
$audioInfo $db->super_query("SELECT artist, name, url FROM `".PREFIX."_audio` WHERE aid = '".$audioId."'");
                        if(
$audioInfo){
                            if(
$_GET['uid']) $appClassWidth 'player_mini_mbar_wall_all';
                            
$jid++;
                            
$attach_result .= '<div class="audioForSize'.$row_wall['id'].' '.$appClassWidth.'" id="audioForSize"><div class="audio_onetrack audio_wall_onemus"><div class="audio_playic cursor_pointer fl_l" onClick="music.newStartPlay(''.$jid.'', '.$row_wall['id'].')" id="icPlay_'.$row_wall['id'].$jid.'"></div><div id="music_'.$row_wall['id'].$jid.'" data="'.$audioInfo['url'].'" class="fl_l" style="margin-top:-1px"><a href="/?go=search&type=5&query='.$audioInfo['artist'].'&n=1" onClick="Page.Go(this.href); return false"><b>'.stripslashes($audioInfo['artist']).'</b></a> &ndash; '.stripslashes($audioInfo['name']).'</div><div id="play_time'.$row_wall['id'].$jid.'" class="color777 fl_r no_display" style="margin-top:2px;margin-right:5px">00:00</div><div class="player_mini_mbar fl_l no_display player_mini_mbar_wall '.$appClassWidth.'" id="ppbarPro'.$row_wall['id'].$jid.'"></div></div></div>';
                        }
                        
                        
$resLinkTitle '';
                    
//Смайлик
                    
} elseif($attach_type[0] == 'smile' AND file_exists(ROOT_DIR."/uploads/smiles/{$attach_type[1]}")){
                        
$attach_result .= '<img src="/uploads/smiles/'.$attach_type[1].'" style="margin-right:5px" />';

                        
$resLinkTitle '';
                        
                    
//Если ссылка
                    
} elseif($attach_type[0] == 'link' AND preg_match('/http://(.*?)+$/i'$attach_type[1]) AND $cnt_attach_link == AND stripos(str_replace('http://www.''http://'$attach_type[1]), $config['home_url']) === false){
                        
$count_num count($attach_type);
                        
$domain_url_name explode('/'$attach_type[1]);
                        
$rdomain_url_name str_replace('http://'''$domain_url_name[2]);
                        
                        
$attach_type[3] = stripslashes($attach_type[3]);
                        
$attach_type[3] = iconv_substr($attach_type[3], 0200'utf-8');
                            
                        
$attach_type[2] = stripslashes($attach_type[2]);
                        
$str_title iconv_substr($attach_type[2], 055'utf-8');
                        
                        if(
stripos($attach_type[4], '/uploads/attach/') === false){
                            
$attach_type[4] = '{theme}/images/no_ava_groups_100.gif';
                            
$no_img false;
                        } else
                            
$no_img true;
                        
                        if(!
$attach_type[3]) $attach_type[3] = '';
                            
                        if(
$no_img AND $attach_type[2]){
                            if(
$row_wall['tell_comm']) $no_border_link 'border:0px';
                            
                            
$attach_result .= '<div style="margin-top:2px" class="clear"><div class="attach_link_block_ic fl_l" style="margin-top:4px;margin-left:0px"></div><div class="attach_link_block_te"><div class="fl_l">Ссылка: <a href="/away.php?url='.$attach_type[1].'" target="_blank">'.$rdomain_url_name.'</a></div></div><div class="clear"></div><div class="wall_show_block_link" style="'.$no_border_link.'"><a href="/away.php?url='.$attach_type[1].'" target="_blank"><div style="width:108px;height:80px;float:left;text-align:center"><img src="'.$attach_type[4].'" /></div></a><div class="attatch_link_title"><a href="/away.php?url='.$attach_type[1].'" target="_blank">'.$str_title.'</a></div><div style="max-height:50px;overflow:hidden">'.$attach_type[3].'</div></div></div>';

                            
$resLinkTitle $attach_type[2];
                            
$resLinkUrl $attach_type[1];
                        } else if(
$attach_type[1] AND $attach_type[2]){
                            
$attach_result .= '<div style="margin-top:2px" class="clear"><div class="attach_link_block_ic fl_l" style="margin-top:4px;margin-left:0px"></div><div class="attach_link_block_te"><div class="fl_l">Ссылка: <a href="/away.php?url='.$attach_type[1].'" target="_blank">'.$rdomain_url_name.'</a></div></div></div><div class="clear"></div>';
                            
                            
$resLinkTitle $attach_type[2];
                            
$resLinkUrl $attach_type[1];
                        }
                        
                        
$cnt_attach_link++;
                        
                    
//Если документ
                    
} elseif($attach_type[0] == 'doc'){
                    
                        
$doc_id intval($attach_type[1]);
                        
                        
$row_doc $db->super_query("SELECT dname, dsize FROM `".PREFIX."_doc` WHERE did = '{$doc_id}'"false"wall/doc{$doc_id}");
                        
                        if(
$row_doc){
                            
                            
$attach_result .= '<div style="margin-top:5px;margin-bottom:5px" class="clear"><div class="doc_attach_ic fl_l" style="margin-top:4px;margin-left:0px"></div><div class="attach_link_block_te"><div class="fl_l">Файл <a href="/index.php?go=doc&act=download&did='.$doc_id.'" target="_blank" onMouseOver="myhtml.title(''.$doc_id.$cnt_attach.$row_wall['id'].'', '<b>Размер файла'.$row_doc['dsize'].'</b>', 'doc_')" id="doc_'.$doc_id.$cnt_attach.$row_wall['id'].'">'.$row_doc['dname'].'</a></div></div></div><div class="clear"></div>';
                                
                            
$cnt_attach++;
                        }
                        
                    
//Если опрос
                    
} elseif($attach_type[0] == 'vote'){
                    
                        
$vote_id intval($attach_type[1]);
                        
                        
$row_vote $db->super_query("SELECT title, answers, answer_num FROM `".PREFIX."_votes` WHERE id = '{$vote_id}'"false"votes/vote_{$vote_id}");
                        
                        if(
$vote_id){

                            
$checkMyVote $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_votes_result` WHERE user_id = '{$user_id}' AND vote_id = '{$vote_id}'"false"votes/check{$user_id}_{$vote_id}");
                            
                            
$row_vote['title'] = stripslashes($row_vote['title']);
                            
                            if(!
$row_wall['text'])
                                
$row_wall['text'] = $row_vote['title'];

                            
$arr_answe_list explode('|'stripslashes($row_vote['answers']));
                            
$max $row_vote['answer_num'];
                            
                            
$sql_answer $db->super_query("SELECT answer, COUNT(*) AS cnt FROM `".PREFIX."_votes_result` WHERE vote_id = '{$vote_id}' GROUP BY answer"1"votes/vote_answer_cnt_{$vote_id}");
                            
$answer = array();
                            foreach(
$sql_answer as $row_answer){
                            
                                
$answer[$row_answer['answer']]['cnt'] = $row_answer['cnt'];
                                
                            }
                            
                            
$attach_result .= "<div class="clear" style="height:10px"></div><div id="result_vote_block{$vote_id}"><div class="wall_vote_title">{$row_vote['title']}</div>";
                            
                            for(
$ai 0$ai sizeof($arr_answe_list); $ai++){

                                if(!
$checkMyVote['cnt']){
                                
                                    
$attach_result .= "<div class="wall_vote_oneanswe" onClick="Votes.Send({$ai}, {$vote_id})" id="wall_vote_oneanswe{$ai}"><input type="radio" name="answer" /><span id="answer_load{$ai}">{$arr_answe_list[$ai]}</span></div>";
                                
                                } else {

                                    
$num $answer[$ai]['cnt'];

                                    if(!
$num $num 0;
                                    if(
$max != 0$proc = (100 $num) / $max;
                                    else 
$proc 0;
                                    
$proc round($proc2);
                                    
                                    
$attach_result .= "<div class="wall_vote_oneanswe cursor_default">
                                    
{$arr_answe_list[$ai]}<br />
                                    <div class="
wall_vote_proc fl_l"><div class="wall_vote_proc_bg" style="width:".intval($proc)."%"></div><div style="margin-top:-16px">{$num}</div></div>
                                    <div class="
fl_l" style="margin-top:-1px"><b>{$proc}%</b></div>
                                    </div><div class="
clear"></div>";
            
                                }
                            
                            }
                            
                            if(
$row_vote['answer_num']) $answer_num_text gram_record($row_vote['answer_num'], 'fave');
                            else 
$answer_num_text 'человек';
                            
                            if(
$row_vote['answer_num'] <= 1$answer_text2 'Проголосовал';
                            else 
$answer_text2 'Проголосовало';
                                
                            
$attach_result .= "{$answer_text2} <b>{$row_vote['answer_num']}</b> {$answer_num_text}.<div class="clear" style="margin-top:10px"></div></div>";
                            
                        }
                        
                    } else
                    
                        
$attach_result .= '';
                        
                }

                if(
$resLinkTitle AND $row_wall['text'] == $resLinkUrl OR !$row_wall['text'])
                    
$row_wall['text'] = $resLinkTitle.$attach_result;
                else if(
$attach_result)
                    
$row_wall['text'] = preg_replace('`(http(?:s)?://w+[^s[]<]+)`i''<a href="/away.php?url=$1" target="_blank">$1</a>'$row_wall['text']).$attach_result;
                else
                    
$row_wall['text'] = preg_replace('`(http(?:s)?://w+[^s[]<]+)`i''<a href="/away.php?url=$1" target="_blank">$1</a>'$row_wall['text']);
            } else
                
$row_wall['text'] = preg_replace('`(http(?:s)?://w+[^s[]<]+)`i''<a href="/away.php?url=$1" target="_blank">$1</a>'$row_wall['text']);
                
            
$resLinkTitle '';

            
//Если это запись с "рассказать друзьям"
            
if($row_wall['tell_uid']){
                if(
$row_wall['public'])
                    
$rowUserTell $db->super_query("SELECT title, photo FROM `".PREFIX."_communities` WHERE id = '{$row_wall['tell_uid']}'"false"wall/group{$row_wall['tell_uid']}");
                else
                    
$rowUserTell $db->super_query("SELECT user_search_pref, user_photo FROM `".PREFIX."_users` WHERE user_id = '{$row_wall['tell_uid']}'");

                if(
date('Y-m-d'$row_wall['tell_date']) == date('Y-m-d'$server_time))
                    
$dateTell langdate('сегодня в H:i'$row_wall['tell_date']);
                elseif(
date('Y-m-d'$row_wall['tell_date']) == date('Y-m-d', ($server_time-84600)))
                    
$dateTell langdate('вчера в H:i'$row_wall['tell_date']);
                else
                    
$dateTell langdate('j F Y в H:i'$row_wall['tell_date']);
                
                if(
$row_wall['public']){
                    
$rowUserTell['user_search_pref'] = stripslashes($rowUserTell['title']);
                    
$tell_link 'public';
                    if(
$rowUserTell['photo'])
                        
$avaTell '/uploads/groups/'.$row_wall['tell_uid'].'/50_'.$rowUserTell['photo'];
                    else
                        
$avaTell '{theme}/images/no_ava_50.png';
                } else {
                    
$tell_link 'u';
                    if(
$rowUserTell['user_photo'])
                        
$avaTell '/uploads/users/'.$row_wall['tell_uid'].'/50_'.$rowUserTell['user_photo'];
                    else
                        
$avaTell '{theme}/images/no_ava_50.png';
                }

                if(
$row_wall['tell_comm']) $border_tell_class 'wall_repost_border'; else $border_tell_class 'wall_repost_border2';

                
$row_wall['text'] = <<<HTML
{
$row_wall['tell_comm']}
<div class="
{$border_tell_class}">
<div class="wall_tell_info"><div class="wall_tell_ava"><a href="/
{$tell_link}{$row_wall['tell_uid']}" onClick="Page.Go(this.href); return false"><img src="{$avaTell}" width="30" /></a></div><div class="wall_tell_name"><a href="/{$tell_link}{$row_wall['tell_uid']}" onClick="Page.Go(this.href); return false"><b>{$rowUserTell['user_search_pref']}</b></a></div><div class="wall_tell_date">{$dateTell}</div></div>{$row_wall['text']}
<div class="clear"></div>
</div>
HTML;
            }
            
            
$tpl->set('{text}'stripslashes($row_wall['text']));
            
            
$tpl->set('{name}'$row_wall['user_search_pref']);
            
$tpl->set('{user-id}'$row_wall['author_user_id']);
            
OnlineTpl($row_wall['user_last_visit'], $row_wall['user_logged_mobile']);
            
megaDate($row_wall['add_date']);
            
            if(
$row_wall['user_photo'])
                
$tpl->set('{ava}''/uploads/users/'.$row_wall['author_user_id'].'/50_'.$row_wall['user_photo']);
            else
                
$tpl->set('{ava}''{theme}/images/no_ava_50.png');
            
            
//Мне нравится
            
if(stripos($row_wall['likes_users'], "u{$user_id}|") !== false){
                
$tpl->set('{yes-like}''public_wall_like_yes');
                
$tpl->set('{yes-like-color}''public_wall_like_yes_color');
                
$tpl->set('{like-js-function}''groups.wall_remove_like('.$row_wall['id'].', '.$user_id.', 'uPages')');
            } else {
                
$tpl->set('{yes-like}''');
                
$tpl->set('{yes-like-color}''');
                
$tpl->set('{like-js-function}''groups.wall_add_like('.$row_wall['id'].', '.$user_id.', 'uPages')');
            }

            if(
$row_wall['likes_num']){
                
$tpl->set('{likes}'$row_wall['likes_num']);
                
$tpl->set('{likes-text}''<span id="like_text_num'.$row_wall['id'].'">'.$row_wall['likes_num'].'</span> '.gram_record($row_wall['likes_num'], 'like'));
            } else {
                
$tpl->set('{likes}''');
                
$tpl->set('{likes-text}''<span id="like_text_num'.$row_wall['id'].'">0</span> человеку');
            }
                        
            
//Выводим информцию о том кто смотрит страницу для себя
            
$tpl->set('{viewer-id}'$user_id);
            if(
$user_info['user_photo'])
                
$tpl->set('{viewer-ava}''/uploads/users/'.$user_id.'/50_'.$user_info['user_photo']);
            else
                
$tpl->set('{viewer-ava}''{theme}/images/no_ava_50.png');
            
            if(
$row_wall['type'])
                
$tpl->set('{type}'$row_wall['type']);
            else
                
$tpl->set('{type}''');

            if(!
$id)
                
$id $for_user_id;
            
            
//Тег Owner означает показ записей только для владельца страницы или для того кто оставил запись
            
if($user_id == $row_wall['author_user_id'] OR $user_id == $id){
                
$tpl->set('[owner]''');
                
$tpl->set('[/owner]''');
            } else
                
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");

            
//Показа кнопки "Рассказать др" только если это записи владельца стр.
            
if($row_wall['author_user_id'] == $id AND $user_id != $id){
                
$tpl->set('[owner-record]''');
                
$tpl->set('[/owner-record]''');
            } else
                
$tpl->set_block("'\[owner-record\](.*?)\[/owner-record\]'si","");
            
            
//Если есть комменты к записи, то выполняем след. действия / Приватность
            
if($row_wall['fasts_num']){
                
$tpl->set('[if-comments]''');
                
$tpl->set('[/if-comments]''');
                
$tpl->set_block("'\[comments-link\](.*?)\[/comments-link\]'si","");
            } else {
                
$tpl->set('[comments-link]''');
                
$tpl->set('[/comments-link]''');
                
$tpl->set_block("'\[if-comments\](.*?)\[/if-comments\]'si","");
            }

            
//Приватность комментирования записей
            
if($user_privacy['val_wall3'] == OR $user_privacy['val_wall3'] == AND $check_friend OR $user_id == $id){
                
$tpl->set('[privacy-comment]''');
                
$tpl->set('[/privacy-comment]''');
            } else
                
$tpl->set_block("'\[privacy-comment\](.*?)\[/privacy-comment\]'si","");
                
            
$tpl->set('[record]''');
            
$tpl->set('[/record]''');
            
$tpl->set('{author-id}'$id);
            
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
            
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
            
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
            
$tpl->compile($this->compile);

            
//Помещаем все комменты в id wall_fast_block_{id} это для JS
            
$tpl->result[$this->compile] .= '<div id="wall_fast_block_'.$row_wall['id'].'">';
                
            
//Если есть комменты к записи, то открываем форму ответа уже в развернутом виде и выводим комменты к записи
            
if($user_privacy['val_wall3'] == OR $user_privacy['val_wall3'] == AND $check_friend OR $user_id == $id){
                if(
$row_wall['fasts_num']){
                    
                    if(
$row_wall['fasts_num'] > 3)
                        
$comments_limit $row_wall['fasts_num']-3;
                    else
                        
$comments_limit 0;
                    
                    
$sql_comments $db->super_query("SELECT tb1.id, author_user_id, text, add_date, tb2.user_photo, user_search_pref FROM `".PREFIX."_wall` tb1, `".PREFIX."_users` tb2 WHERE tb1.author_user_id = tb2.user_id AND tb1.fast_comm_id = '{$row_wall['id']}' ORDER by `add_date` ASC LIMIT {$comments_limit}, 3"1);

                    
//Загружаем кнопку "Показать N запсии"
                    
$tpl->set('{gram-record-all-comm}'gram_record(($row_wall['fasts_num']-3), 'prev').' '.($row_wall['fasts_num']-3).' '.gram_record(($row_wall['fasts_num']-3), 'comments'));
                    if(
$row_wall['fasts_num'] < 4)
                        
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                    else {
                        
$tpl->set('{rec-id}'$row_wall['id']);
                        
$tpl->set('[all-comm]''');
                        
$tpl->set('[/all-comm]''');
                    }
                    
$tpl->set('{author-id}'$id);
                    
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                    
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
                    
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
                    
$tpl->compile($this->compile);
                
                    
//Сообственно выводим комменты
                    
foreach($sql_comments as $row_comments){
                        
$tpl->set('{name}'$row_comments['user_search_pref']);
                        if(
$row_comments['user_photo'])
                            
$tpl->set('{ava}''/uploads/users/'.$row_comments['author_user_id'].'/50_'.$row_comments['user_photo']);
                        else
                            
$tpl->set('{ava}''{theme}/images/no_ava_50.png');
            
                        
$tpl->set('{rec-id}'$row_wall['id']);
                        
$tpl->set('{comm-id}'$row_comments['id']);
                        
$tpl->set('{user-id}'$row_comments['author_user_id']);
                        
                        
$expBR2 explode('<br />'$row_comments['text']);
                        
$textLength2 count($expBR2);
                        
$strTXT2 strlen($row_comments['text']);
                        if(
$textLength2 OR $strTXT2 470)
                            
$row_comments['text'] = '<div class="wall_strlen" id="hide_wall_rec'.$row_comments['id'].'" style="max-height:102px"">'.$row_comments['text'].'</div><div class="wall_strlen_full" onMouseDown="wall.FullText('.$row_comments['id'].', this.id)" id="hide_wall_rec_lnk'.$row_comments['id'].'">Показать полностью..</div>';
                    
                        
//Обрабатываем ссылки
                        
$row_comments['text'] = preg_replace('`(http(?:s)?://w+[^s[]<]+)`i''<a href="/away.php?url=$1" target="_blank">$1</a>'$row_comments['text']);

                        
$tpl->set('{text}'stripslashes($row_comments['text']));
                        
megaDate($row_comments['add_date']);
                        if(
$user_id == $row_comments['author_user_id'] || $user_id == $id){
                            
$tpl->set('[owner]''');
                            
$tpl->set('[/owner]''');
                        } else
                            
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    
                        if(
$user_id == $row_comments['author_user_id'])
                        
                            
$tpl->set_block("'\[not-owner\](.*?)\[/not-owner\]'si","");
                            
                        else {

                            
$tpl->set('[not-owner]''');
                            
$tpl->set('[/not-owner]''');
                            
                        }
                
                        
$tpl->set('[comment]''');
                        
$tpl->set('[/comment]''');
                        
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                        
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
                        
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                        
$tpl->compile($this->compile);
                    }

                    
//Загружаем форму ответа
                    
$tpl->set('{rec-id}'$row_wall['id']);
                    
$tpl->set('{author-id}'$id);
                    
$tpl->set('[comment-form]''');
                    
$tpl->set('[/comment-form]''');
                    
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                    
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
                    
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                    
$tpl->compile($this->compile);
                }
            }
            
            
//Закрываем блок для JS
            
$tpl->result[$this->compile] .= '</div>';

        }

    }
    
    function 
comm_query($query){
        global 
$db;
        
        
$this->comm_query $db->super_query($query1);
    }
    
    function 
comm_template($template){
        global 
$tpl;
        
$this->comm_template $tpl->load_template($template);
    }
    
    function 
comm_compile($compile){
        
$this->comm_compile $compile;
    }
    
    function 
comm_select(){
        global 
$tpl$db$config$user_id$id$for_user_id$fast_comm_id$record_fasts_num;
        
        if(
$this->comm_query){
            
$this->comm_template;
            
            
//Помещаем все комменты в id wall_fast_block_{id} это для JS
            
$tpl->result[$this->compile] .= '<div id="wall_fast_block_'.$fast_comm_id.'">';
            
            
//Загружаем кнопку "Показать N запсии" если их больше 3
            
if($record_fasts_num 3){
                
$tpl->set('{gram-record-all-comm}'gram_record(($record_fasts_num-3), 'prev').' '.($record_fasts_num-3).' '.gram_record(($record_fasts_num-3), 'comments'));
                
$tpl->set('[all-comm]''');
                
$tpl->set('[/all-comm]''');
                
$tpl->set('{rec-id}'$fast_comm_id);
                
$tpl->set('{author-id}'$for_user_id);
                
$tpl->set('[wall-func]''');
                
$tpl->set('[/wall-func]''');
                
$tpl->set_block("'\[groups\](.*?)\[/groups\]'si","");
                
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
                
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
                
$tpl->compile($this->comm_compile);
            } else
                
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");

            
//Сообственно выводим комменты
            
foreach($this->comm_query as $row_comments){
                
$tpl->set('{name}'$row_comments['user_search_pref']);
                if(
$row_comments['user_photo'])
                    
$tpl->set('{ava}''/uploads/users/'.$row_comments['author_user_id'].'/50_'.$row_comments['user_photo']);
                else
                    
$tpl->set('{ava}''{theme}/images/no_ava_50.png');

                
$tpl->set('{rec-id}'$fast_comm_id);
                
$tpl->set('{comm-id}'$row_comments['id']);
                
$tpl->set('{user-id}'$row_comments['author_user_id']);
                
                
$expBR2 explode('<br />'$row_comments['text']);
                
$textLength2 count($expBR2);
                
$strTXT2 strlen($row_comments['text']);
                if(
$textLength2 OR $strTXT2 470)
                    
$row_comments['text'] = '<div class="wall_strlen" id="hide_wall_rec'.$row_comments['id'].'" style="max-height:102px"">'.$row_comments['text'].'</div><div class="wall_strlen_full" onMouseDown="wall.FullText('.$row_comments['id'].', this.id)" id="hide_wall_rec_lnk'.$row_comments['id'].'">Показать полностью..</div>';
                        
                
//Обрабатываем ссылки
                
$row_comments['text'] = preg_replace('`(http(?:s)?://w+[^s[]<]+)`i''<a href="/away.php?url=$1" target="_blank">$1</a>'$row_comments['text']);
    
                
$tpl->set('{text}'stripslashes($row_comments['text']));
                
                
megaDate($row_comments['add_date']);
                
                if(!
$id)
                    
$id $for_user_id;
                    
                if(
$user_id == $row_comments['author_user_id'] || $user_id == $id){
                    
$tpl->set('[owner]''');
                    
$tpl->set('[/owner]''');
                } else
                    
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
                    
                if(
$user_id == $row_comments['author_user_id'])
                
                    
$tpl->set_block("'\[not-owner\](.*?)\[/not-owner\]'si","");
                    
                else {

                    
$tpl->set('[not-owner]''');
                    
$tpl->set('[/not-owner]''');
                    
                }
                
                
$tpl->set('[comment]''');
                
$tpl->set('[/comment]''');
                
$tpl->set('[wall-func]''');
                
$tpl->set('[/wall-func]''');
                
$tpl->set_block("'\[groups\](.*?)\[/groups\]'si","");
                
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
                
$tpl->set_block("'\[comment-form\](.*?)\[/comment-form\]'si","");
                
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
                
$tpl->compile($this->comm_compile);
            }
            
            
//Закрываем блок для JS
            
$tpl->result[$this->compile] .= '</div>';
            
            
//Загружаем форму ответа
            
$tpl->set('{rec-id}'$fast_comm_id);
            
$tpl->set('{author-id}'$for_user_id);
            
$tpl->set('[comment-form]''');
            
$tpl->set('[/comment-form]''');
            
$tpl->set('[wall-func]''');
            
$tpl->set('[/wall-func]''');
            
$tpl->set_block("'\[groups\](.*?)\[/groups\]'si","");
            
$tpl->set_block("'\[record\](.*?)\[/record\]'si","");
            
$tpl->set_block("'\[comment\](.*?)\[/comment\]'si","");
            
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
            
$tpl->compile($this->comm_compile);
        }
    }
}
?>
Онлайн: 1
Реклама