Вход Регистрация
Файл: InstantSocial/uploud/components/photoblog/frontend.php
Строк: 275
<?php
/******************************************************************************/
//                                                                            //
//                             InstantCMS v1.8                                //
//                        http://www.instantcms.ru/                           //
//                                                                            //
//                   written by InstantCMS Team, 2007-2010                    //
//                produced by InstantSoft, (www.instantsoft.ru)               //
//                                                                            //
//                        LICENSED BY GNU/GPL v2                              //
//                                                                            //
/******************************************************************************/
if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }

function 
photoblog(){

    
$inCore     cmsCore::getInstance();
    
$inDB       cmsDatabase::getInstance();
    
$inPage     cmsPage::getInstance();
    
$inUser     cmsUser::getInstance();

  
$inCore->loadModel('photoblog');
    
$model = new cms_model_photoblog();

    
$cfg        $inCore->loadComponentConfig('photoblog');

    
// Проверяем включен ли компонент
    
if(!$cfg['component_enabled']) { cmsCore::error404(); }

   
$premod $cfg['premod'];
   
$perpage $cfg['perpage'];
   
   
$do $inCore->request('do''str''list'); 

 if (
$do== 'list') {

    
$inPage->setTitle('Фотоблоги');
 
$inPage->addPathway('Фотоблоги''/photoblog/');
  
$inPage->addPathway('Фотоблоги''/photoblog');

 
 if (!
$_SESSION['ph_orderby']) {$_SESSION['ph_orderby'] = 'pubdate'; } 
 if (!
$_SESSION['ph_orderto']) {$_SESSION['ph_orderto'] = 'DESC'; } 
  
$ph_orderby $_SESSION['ph_orderby'];
  
$ph_orderto $_SESSION['ph_orderto'];
  
$page $inCore->request('cpage''int'1);
  
  
$pages_url '/photoblog/page-%page%';

  
$sql "SELECT *, a.id AS bid, a.hits AS hits, a.pubdate AS pubdate FROM cms_phlog_item a 
LEFT JOIN
                cms_users c ON a.user_id = c.id
        ORDER BY 
$ph_orderby $ph_orderto LIMIT ".(($page-1)*$perpage).", $perpage";
     
$result $inDB->query($sql);

$phlogs=array();
 if (
$inDB->num_rows($result)){ 
        while(
$item $inDB->fetch_assoc($result)){
    
$item[votes] = $model->getVotingBlock($item[bid]);
    
$item[comments]  = $inCore->getCommentsCount('photoblog'$item[bid]);    
    
$item[photos] = $inDB->get_table('cms_phlog_photos'"phlog_id=$item[bid] LIMIT 6",'image');
    
$item[c_photo] = $inDB->rows_count('cms_phlog_photos'"phlog_id=$item[bid]");
    
$pubdate $model->getPhlogDate($item[pubdate]);
    
$item[day] = $pubdate[day];
    
$item[month] = $pubdate[month];
    
$item[year] = $pubdate[year];
    if (
$item['editdate']<> '0000-00-00 00:00:00') {
       
$item['eddate']    = '(Редактировалось: '.$inCore->dateFormat($item['editdate']).')';}
    if (
$item[photos]) {  
    
$phlogs[]=$item;  $count++;}
        }   }
 
$count $inDB->rows_count('cms_phlog_item',"published = 1");   

 
$pages ceil($count $perpage);
 
  
$pagebar $inPage->getPagebar($count$page$perpage,  $pages_url);

  
$smarty $inCore->initSmarty('components''com_phlog_list.tpl');
     
$smarty->assign('phlogs',  $phlogs); 
     
$smarty->assign('count',  $count); 
     
$smarty->assign('pagebar',  $pagebar);    
 
$smarty->display('com_phlog_list.tpl');


///////////////////////////////////// VIEW ////////////////////////////////////////////////////////////////////////////////

 
if ($do== 'view') {

 
$seolink $inCore->request('seolink''str'); 

  if (
$seolink) {
 
  
$inDB->query("UPDATE cms_phlog_item SET hits = hits + 1 WHERE seolink='{$seolink}'");
 
 
 
$sql "SELECT *, a.id AS bid FROM cms_phlog_item a 
LEFT JOIN
                cms_users c ON a.user_id = c.id WHERE a.seolink='
{$seolink}' AND a.published = 1 LIMIT 1";
     
$result $inDB->query($sql);

 if (
$inDB->num_rows($result)){ 
        
$phlog $inDB->fetch_assoc($result);  
   
$phlog[content] = $inCore->parseSmiles($phlog[content], true);
   
$phlog[photos] = $inDB->get_table('cms_phlog_photos'"phlog_id=$phlog[bid] ORDER BY id DESC",'image');
   
$phlog[c_photo] = $inDB->rows_count('cms_phlog_photos'"phlog_id=$phlog[bid]");
    
$phlog[votes] = $model->getVotingBlock($phlog[bid]);
    
$phlog[comments]  = $inCore->getCommentsCount('photoblog'$phlog[bid]);
    
$phlog[is_my] = ($phlog[user_id]<>&& $phlog[user_id] == $inUser->id);
    
$pubdate $model->getPhlogDate($phlog[pubdate]);
    
$phlog[day] = $pubdate[day];
    
$phlog[month] = $pubdate[month];
    
$phlog[year] = $pubdate[year];
    if (
$phlog['editdate']<> '0000-00-00 00:00:00') {
       
$phlog['eddate']    = '(Редактировалось: '.$inCore->dateFormat($phlog['editdate']).')';}
     }  }

if (!
$phlog) { cmsCore::error404(); }
   
  
$inPage->setTitle($phlog[title]);
  
$inPage->setDescription('Фотоблоги - '.$phlog['title']);   
  if (
$phlog['metakeys']) { $inPage->setKeywords($phlog['metakeys']); }    
  
$inPage->addPathway('Фотоблоги''/photoblog');
  
$inPage->addPathway($phlog['title'], '/photobsdlog/'.$phlog['seolink'].'.html');
    
$inPage->addPathway();

    
$smarty $inCore->initSmarty('components''com_phlog_view.tpl');
    
$smarty->assign('is_admin',  $inUser->is_admin); 
      
$smarty->assign('phlog',  $phlog); 
 
$smarty->display('com_phlog_view.tpl');

  
//show user comments
    
if($inCore->isComponentInstalled('comments') && $phlog[comm]=='1'){
        
$inCore->includeComments();
        
comments('photoblog'$phlog[bid]);
    }
}
 
///////////////////////////////////// ADD ////////////////////////////////////////////////////////////////////////////////
if ($do=='add' || $do=='edit') {
    
$user_id $inUser->id;
    
$ph_id $inCore->request('ph_id''int');  
 
  if (!
$user_id) { 
  
$msg '<p>Только зарегистрированные пользователи могут создавать фотоблоги!</p>
  <p><a href="/login">Пройдите авторизацию</a> или <a href="/registration">зарегистрируйтесь</a>'
;} else {
  
   if (
$do=='edit' &&  $ph_id) {
  
$phlog $inDB->get_fields('cms_phlog_item',"id={$ph_id}",'*');
  
$phlog[photos] = $inDB->get_table('cms_phlog_photos'"phlog_id={$ph_id} ORDER BY id DESC",'id,image');
  
$inPage->setTitle($phlog[title].' - Редактировать');
  
$inPage->addPathway('Фотоблоги','/photoblog/');
  
$inPage->addPathway('Редактировать''../'.$phlog['id'].'/edit.html'); 
    
$inPage->addPathway();
  }  else { 
$inPage->setTitle('Новая запись - Фотоблог');
  
$inPage->addPathway('Фотоблоги''/photoblog/');
  
$inPage->addPathway('Новая запись''/photoblog/add.html');     $inPage->addPathway('Новая запись''add.html'); 
    
$inPage->addPathway();
}
   }
     
$bb_toolbar $inPage->getBBCodeToolbar('description');
     
$bb_smiles $inPage->getSmilesPanel('description');
 
   
 
$smarty $inCore->initSmarty('components''com_phlog_add.tpl');
   
$smarty->assign('msg',  $msg);
    
$smarty->assign('bb_toolbar',  $bb_toolbar); 
    
$smarty->assign('bb_smiles',  $bb_smiles);  
   
$smarty->assign('phlog',  $phlog);
 
$smarty->display('com_phlog_add.tpl');      

  if (
$inCore->inRequest('confirm')){ 
     
$ph_id $inCore->request('ph_id''int'); 
     
$title $inCore->request('title''str'); 
     
$description $inCore->request('description''html''');
     
$description $inCore->badTagClear($description);
     
$description $inDB->escape_string($description);
     
     
$metakeys $inCore->request('metakeys''str');
     
$comm $inCore->request('comm''int'); 
    if (!
$premod && $do=='add') {$published 1;} 
  if (
$title !='' && $description !='') { 
    
$seolink =  $model->getPhlogSeoLink(array('id'=>$f_id'title'=>$title));
    
$title $inDB->escape_string($title); 
    
$title  htmlspecialchars($title);
    
$metakeys  $inDB->escape_string($metakeys); 

     if (
$inCore->inRequest('update') && $ph_id) {  
   
$sql "UPDATE cms_phlog_item SET title = '$title', editdate= NOW(),
   content = '
$description', seolink='$seolink', metakeys='$metakeys', comm=$comm WHERE id = '$ph_id'";
   
$inDB->query($sql) or die("Ошибка при создании записи!");
  
     
$comments_sql "UPDATE cms_comments 
                             SET target_link = '/photoblog/
{$seolink}.html',
               target_title = '
{$title}'
                             WHERE target = 'photoblog' AND target_id = 
{$ph_id}";
    
             
$inDB->query($comments_sql); 
     if (
$inCore->inRequest('phototodel')){      
      
$list $inCore->request('phototodel''str'); 
      
$photos explode("-"$list); 
      foreach (
$photos as $item) { 
      
$filename $inDB->get_field('cms_phlog_photos',"id=$item",'image'); 
      
$inDB->query("DELETE FROM cms_phlog_photos WHERE phlog_id = $ph_id AND id = $item"); 
      
unlink(PATH.'/images/photoblog/small/'.$filename);
      
unlink(PATH.'/images/photoblog/medium/'.$filename);
      }
    }    
   
$inCore->redirect("/photoblog/".$seolink.".html");       
 
  } else {   
     
   
$sql "INSERT cms_phlog_item (user_id, pubdate, title, content, seolink, metakeys, hits,comm, published )
            VALUES (
$user_id, NOW(), '$title','$description','$seolink','$metakeys',0,$comm, '$published')";
   
$inDB->query($sql) or die("Ошибка при создании записи!");
   
$ph_id $inDB->get_field('cms_phlog_item',"seolink='$seolink'",'id');
   
$a_id $inDB->get_field('cms_actions',"name='add_photoblog'",'id');
   
 if (!
$premod) { $a_sql="INSERT INTO cms_actions_log VALUES ('','{$a_id}',NOW(),'{$user_id}','фотоблог','/photoblog/{$seolink}.html','{$ph_id}','фотоблог','/photoblog/{$seolink}.html','0','{$title}','0','0')";   
  
$a_result $inDB->query($a_sql);  } 
   
$inCore->redirect("/photoblog/".$ph_id."/upload.html");   
 }
 
  }    
   
}  

}
 
///////////////////////////////////// DEL ////////////////////////////////////////////////////////////////////////////////
if ($do=='del') {
    
$user_id $inUser->id;
    
$ph_id $inCore->request('ph_id''int');
    if (
$ph_id && $user_id) {  
  
$delele $model->deletePhlog($ph_id);
  
$inCore->redirect("/photoblog/");   
  }
   else { 
$inCore->redirectBack();}
}
///////////////////////////////////// UPLOAD ////////////////////////////////////////////////////////////////////////////////
if ($do=='upload') {
   if (!
$inUser->id) { cmsUser::goToLogin(); }
    
$inPage->backButton(false);
    
$ph_id $inCore->request('ph_id''int');      
   
$seolink $inDB->get_field('cms_phlog_item',"id=$ph_id",'seolink'); 
    
$maxup $cfg['maxup'];
 
$smarty $inCore->initSmarty('components''com_phlog_upload.tpl');
   
$smarty->assign('sess_id'session_id());
   
$smarty->assign('ph_id',  $ph_id);
    
$smarty->assign('maxup',  $maxup);    
   
$smarty->assign('seolink',  $seolink); 
 
$smarty->display('com_phlog_upload.tpl'); 
 
       

///////////////////////////////////// GO_UPLOAD ////////////////////////////////////////////////////////////////////////////////
 
if ($do=='go_upload'){
   
    if (
$inCore->inRequest("PHPSESSID")) {
        
$sess_id $inCore->request("PHPSESSID"'str');
        if (
$sess_id != session_id()) { session_destroy(); }
        
session_id($sess_id);
        
session_start();
    }
     
$user_id $_SESSION['user']['id'];
     
$ph_id $inCore->request('ph_id''int');
    

 if (!
$user_id) { header("HTTP/1.1 500 Internal Server Error"); exit(0); }

//if(!$model->checkAccess($ph_id, $user_id)) { header("HTTP/1.1 500 Internal Server Error"); exit(0); }
  
  
   
$file $model->uploadPhoto($ph_id);
   
  if (
$file) {    $inCore->redirect('/photos/'.$album['id']);} 
 
}
///////////////////////////////////// SET SORT ////////////////////////////////////////////////////////////////////////////////
 
if ($do=='set_sort'){

        
$ph_orderby $inCore->request('orderby''str''ordering');
        
$ph_orderto $inCore->request('orderto''str''asc');

        
$_SESSION['ph_orderby'] = $ph_orderby;
        
$_SESSION['ph_orderto'] = $ph_orderto;

        
$inCore->redirectBack();

    }

//======================================================================================================//
//function
?>
Онлайн: 2
Реклама