<?php
/******************************************************************************/
// //
// InstantCMS v1.8 //
//
instantcms.ru/ //
// //
// written by InstantCMS Team, 2007-2010 //
// produced by InstantSoft, (www.instantsoft.ru) //
// //
// LICENSED BY GNU/GPL v2 //
// //
/******************************************************************************/
class p_vk_like extends cmsPlugin {
// ==================================================================== //
public function __construct(){
parent::__construct();
// Информация о плагине
$this->info['plugin'] = 'p_vk_like';
$this->info['title'] = 'Кнопка vk "Мне нравится"';
$this->info['description'] = 'Плагин добавляет кнопку от вконтакта "Мне нравится" в статьи и в блоги ';
$this->info['author'] = 'MaiX icq 488074747';
$this->info['version'] = '1.0';
// Настройки по-умолчанию
$this->config['apiId'] = '123345(это вам знать не нужно :D)';
// События, которые будут отлавливаться плагином
$this->events[] = 'GET_ARTICLE';
$this->events[] = 'GET_POST';
}
// ==================================================================== //
/**
* Процедура установки плагина
* @return bool
*/
public function install(){
return parent::install();
}
// ==================================================================== //
/**
* Процедура обновления плагина
* @return bool
*/
public function upgrade(){
return parent::upgrade();
}
// ==================================================================== //
/**
* Обработка событий
* @param string $event
* @param mixed $item
* @return mixed
*/
public function execute($event, $item){
parent::execute();
switch ($event){
case 'GET_ARTICLE': $item = $this->eventGetArticle($item); break;
case 'GET_POST': $item = $this->eventGetBlogPost($item); break;
}
return $item;
}
// ==================================================================== //
private function eventGetArticle($item) {
echo '<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?29"></script>';
echo '<script type="text/javascript">VK.init({apiId: '.$this->config['apiId'].', onlyWidgets: true});
</script>';
echo '<style type="text/css">
.like {
padding-top: 10px;
padding-bottom: 10px;
}
</style>';
echo '<div class="like" id="vk_like"></div><script type="text/javascript">VK.Widgets.Like("vk_like", {type: "button"});
</script>';
$this->saveConfig();
return $item;
}
private function eventGetBlogPost($item) {
echo '<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?29"></script>';
echo '<script type="text/javascript">VK.init({apiId: '.$this->config['apiId'].', onlyWidgets: true});
</script>';
echo '<style type="text/css">
.like {
padding-top: 10px;
padding-bottom: 10px;
}
</style>';
echo '<div class="like" id="vk_like"></div><script type="text/javascript">VK.Widgets.Like("vk_like", {type: "button"});
</script>';
$this->saveConfig();
return $item;
}
// ==================================================================== //
}
?>