Вход Регистрация
Файл: InstantSocial/uploud/plugins/p_like/plugin.php
Строк: 107
<?php
class p_like extends cmsPlugin {
// ==================================================================== //

    
public function __construct(){

        
parent::__construct();
        require_once 
'like.class.php';

        
$this->info['plugin']           = 'p_like';
        
$this->info['title']            = 'Мне нравится';
        
$this->info['description']      = 'Позволяет пользователям отмечать интересные материалы';
        
$this->info['author']           = 'CHV-VV';
        
$this->info['version']          = '1.1';
        
$this->info['tab']              = 'Мне понравилось';
        
$this->events[]                 = 'GET_ARTICLE';
        
$this->events[]                 = 'GET_POST';
        
$this->events[]                 = 'GET_WALL_POSTS';
        
$this->events[]                 = 'GET_PHOTO';
        
$this->events[]                 = 'USER_PROFILE';
    }
// ==================================================================== //


    
public function install(){


        
$sql="CREATE TABLE `cms_like_item` (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `item_id` int(11) NOT NULL,
              `target_id` varchar(20) NOT NULL,
              `user_id` int(11) NOT NULL,
              `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
              `title` varchar(255) NOT NULL,
              `href` varchar(255) NOT NULL,
               PRIMARY KEY (`id`)
               ) ENGINE=MyISAM AUTO_INCREMENT=59 DEFAULT CHARSET=cp1251" 
;
        if(
$this->inDB->isTableExists('cms_like_item')){
           
$this->inDB->query("DROP TABLE cms_like_item");
           
$this->inDB->query($sql);
        }else{
           
$this->inDB->query($sql);
        }

       return 
parent::install();
    }

// ==================================================================== //

    
public function upgrade(){

        return 
parent::upgrade();

    }

// ==================================================================== //

    
public function execute($event$item){

        
parent::execute();
        
$this->addHeads($event);
        switch (
$event){
            case 
'GET_ARTICLE':
            
$item['content'].=$this->printLike($item['id'],'article',$item['title'],$item['seolink'].'.html');
            break;

            case 
'GET_POST':
            
$item['content_html'].=$this->printLike($item['id'],'blogpost',$item['title'],$item['seolink'],$item['blog_id']);
            break;

            case 
'GET_WALL_POSTS':
            
$records=array();
            foreach(
$item as $rec){              $key=sizeof($records);
             
$records[$key]=$rec;
             
$records[$key]['content'].=$this->printLike($records[$key]['id'],'wallrecord',$records[$key]['user_id'],$records[$key]['id'],$records[$key]['usertype']);
            }
            
$item=$records;
            unset(
$records);
            break;

            case 
'GET_PHOTO':
            
$item['description'].=$this->printLike($item['id'],'photo',$item['title'],'photos/photo'.$item['id'].'.html');
            break;

            case 
'USER_PROFILE':
            require_once 
'tpl.class.php';
            
$tpl= new TPL();
            
$smarty=$tpl->init();
            
$uid=$item['id'];
            
$inUser=cmsUser::getInstance();
            if(
$inUser->id==$uid){$isEdit=true;}else{$isEdit=false;};
            
$records=Like::getUserlike($uid,1);
            
$count=Like::getUserLikeCount($uid);
            
ob_start();
            
$smarty->assign('is_edit',$isEdit);
            
$smarty->assign('pageselect',cmsPage::getPagebar($count,1,15,"javascript:selectpage('$uid','%page%')"));
            
$smarty->assign('records',$records);
            
$smarty->display('user_like_view.tpl');
            
$html=ob_get_clean();

            return 
$html;
            break;

        }

        return 
$item;

    }

// ==================================================================== //
   
private function addHeads($event){        if($event!='USER_PROFILE'){          echo '<link href="/plugins/p_like/css/style.css" rel="stylesheet" type="text/css" />';          echo '<script type="text/javascript" src="/plugins/p_like/js/jquery.qtip.js"></script>';
         echo 
'<script type="text/javascript" src="/plugins/p_like/js/jquery.simplemodal.js"></script>';
         echo 
'<script type="text/javascript" src="/plugins/p_like/js/p_like.js"></script>';
       }else{          echo 
'<script type="text/javascript" src="/plugins/p_like/js/user_like.js"></script>';        }    }

   private function 
printLike($item_id,$target_id,$title,$href,$dep=''){       $count=Like::getLikeCount($item_id,$target_id);
      if(
$count=='nan'){$count='';}
      
$inUser=cmsUser::getInstance();
      
$button="<div class='like_button'><span id='item_$item_id'>$count</span><div class='like_href'><a count='$count' item='$item_id' target_id='$target_id' href="javascript:addlike('$item_id','$target_id','$title','$href','$dep')">Мне нравится</a></div></div>";
      return 
$button;    }




// ==================================================================== //

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