Вход Регистрация
Файл: components/users/messages.php
Строк: 104
<?php
if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
/******************************************************************************/
//                                                                            //
//                             InstantCMS v1.10                               //
//                        http://www.instantcms.ru/                           //
//                                                                            //
//                   written by InstantCMS Team, 2007-2012                    //
//                produced by InstantSoft, (www.instantsoft.ru)               //
//                                                                            //
//                        LICENSED BY GNU/GPL v2                              //
//                                                                            //
/******************************************************************************/
$opt      = cmsCore::request('opt', 'str', 'in');
$whith_id = cmsCore::request('with_id', 'int', 0);
$perpage = 15;
$show_notice = false;

$new_msg = cmsUser::getNewMessages($inUser->id);

$friends = cmsUser::getFriends($inUser->id);
$interlocutors = cmsCore::getListItems("cms_users u INNER JOIN cms_user_msg m ON m.from_id = u.id AND m.to_id = '{$id}'",
                 
$whith_id, 'm.from_id', 'ASC', "m.from_del = 0 AND m.to_del = 0 GROUP BY m.from_id", 'from_id', 'nickname');

switch (
$opt){

    case 
'in':

        
$page_title = $_LANG['INBOX'];

        
$inDB->addJoin("INNER JOIN cms_user_msg m ON m.from_id = u.id AND m.to_id = '$id' AND m.to_del = 0");

        
$msg_count = $model->getMessagesCount();

        
$pagebar = cmsPage::getPagebar($msg_count, $page, $perpage, 'javascript:centerLink('/users/'.$id.'/messages%page%.html')');

        break;

    case 
'out':

        
$page_title = $_LANG['SENT'];

        
$inDB->addJoin("INNER JOIN cms_user_msg m ON m.to_id = u.id AND m.from_id = '$id' AND m.from_del = 0");

        
$msg_count = $model->getMessagesCount();

        
$pagebar = cmsPage::getPagebar($msg_count, $page, $perpage, 'javascript:centerLink('/users/'.$id.'/messages-sent%page%.html')');

        break;

    case 
'notices':

        
$page_title = $_LANG['NOTICES'];

        
$show_notice = true;

        
$inDB->where("m.to_id = '$id'");

        
$msg_count = $model->getMessagesCount($show_notice);

        
$pagebar = cmsPage::getPagebar($msg_count, $page, $perpage, 'javascript:centerLink('/users/'.$id.'/messages-notices%page%.html')');

        break;

    case 
'history':

        if(
$whith_id){

            
$with_usr = cmsUser::getShortUserData($whith_id);
            if (!
$with_usr) { cmsCore::error404(); }

            
$page_title = $_LANG['MESSEN_WITH'].' '.$with_usr['nickname'];

            
$inDB->addJoin("INNER JOIN cms_user_msg m ON m.from_id = u.id AND
                            m.from_id IN (
{$id}, {$with_usr['id']}) AND
                            m.to_id IN (
{$id}, {$with_usr['id']}) AND
                            m.from_del = 0 AND m.to_del = 0"
);

            
$msg_count = $model->getMessagesCount();

            
$pagebar = cmsPage::getPagebar($msg_count, $page, $perpage, 'javascript:centerLink('/users/'.$id.'/messages-history'.$with_usr['id'].'-%page%.html')');

        } else {

            
$page_title = $_LANG['DIALOGS'];
            
$msg_count = 0;

        }

        break;

    default: return;

}

$inDB->orderBy('m.id', 'DESC');
$inDB->limitPage($page, $perpage);

$records = $msg_count ?
                    
$model->getMessages($show_notice) :
                    array(); 
$inDB->resetConditions();

if(
$new_msg['messages'] && $opt == 'in'){
    
$model->markAsReadMessage($id, $perpage);
}
if(
$new_msg['notices'] && $opt == 'notices'){
    
$model->markAsReadMessage($id, $perpage, false);
}

$inPage->addPathway($page_title);

$smarty = $inCore->initSmarty('components', 'com_users_messages.tpl');
$smarty->assign('opt', $opt);
$smarty->assign('id', $id);
$smarty->assign('is_admin', $inUser->is_admin);
$smarty->assign('page_title', $page_title);
$smarty->assign('with_usr', isset($with_usr) ? $with_usr : array());
$smarty->assign('msg_count', $msg_count);
$smarty->assign('pagebar', $pagebar);
$smarty->assign('new_messages', $new_msg);
$smarty->assign('friends', isset($friends) ? $friends : array());
$smarty->assign('interlocutors', isset($interlocutors) ? $interlocutors : array());
$smarty->assign('records', $records);
$smarty->display('com_users_messages.tpl');

if (
cmsCore::inRequest('of_ajax')) { cmsCore::halt(ob_get_clean()); }

?>
Онлайн: 0
Реклама