Вход Регистрация
Файл: plugins/cnews/install.php
Строк: 180
<?php

$plugin 
PEEP::getPluginManager()->getPlugin('cnews');

$dbPrefix PEEP_DB_PREFIX;

$sql[] ="
CREATE TABLE IF NOT EXISTS `
{$dbPrefix}cnews_action` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `entityId` VARCHAR(100) NOT NULL,
  `entityType` varchar(100) NOT NULL,
  `pluginKey` varchar(100) NOT NULL,
  `data` longtext NOT NULL,
  `format` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `entity` (`entityType`,`entityId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;"
;

$sql[] ="
CREATE TABLE `
{$dbPrefix}cnews_action_feed` (
  `id` int(11) NOT NULL auto_increment,
  `feedType` varchar(100) NOT NULL,
  `feedId` int(11) NOT NULL,
  `activityId` int(11) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `feedId` (`feedType`,`feedId`,`activityId`),
  KEY `actionId` (`activityId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;"
;

$sql[] ="
CREATE TABLE `
{$dbPrefix}cnews_activity` (
  `id` int(11) NOT NULL auto_increment,
  `activityType` varchar(100) NOT NULL,
  `activityId` int(11) NOT NULL,
  `userId` int(11) NOT NULL,
  `data` text NOT NULL,
  `actionId` int(11) NOT NULL,
  `timeStamp` int(11) NOT NULL,
  `privacy` varchar(100) NOT NULL,
  `visibility` int(11) NOT NULL,
  `status` varchar(100) NOT NULL default 'active',
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `activityId` (`activityId`,`activityType`,`actionId`),
  KEY `actionId` (`actionId`),
  KEY `userId` (`userId`),
  KEY `activityType` ( `activityType`),
  KEY `timeStamp` (`timeStamp`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;"
;

$sql[] ="
CREATE TABLE IF NOT EXISTS `
{$dbPrefix}cnews_follow` (
  `id` int(11) NOT NULL,
  `feedId` int(11) NOT NULL,
  `feedType` varchar(60) NOT NULL,
  `userId` int(11) NOT NULL,
  `permission` varchar(60) NOT NULL DEFAULT 'everybody',
  `followTime` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"
;

$sql[] ="ALTER TABLE `{$dbPrefix}cnews_follow` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `feedId` (`feedId`,`userId`,`feedType`,`permission`), ADD KEY `userId` (`userId`);";
$sql[] ="ALTER TABLE `{$dbPrefix}cnews_follow` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;";

$sql[] ="
CREATE TABLE IF NOT EXISTS `
{$dbPrefix}cnews_cron_command` (
  `id` int(11) NOT NULL auto_increment,
  `command` varchar(100) NOT NULL,
  `data` text NOT NULL,
  `processData` text NOT NULL,
  `timeStamp` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;"
;

$sql[] ="
CREATE TABLE IF NOT EXISTS `
{$dbPrefix}cnews_like` (
  `id` int(11) NOT NULL auto_increment,
  `entityType` varchar(100) NOT NULL,
  `entityId` int(11) NOT NULL,
  `userId` int(11) NOT NULL,
  `timeStamp` int(11) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `entityType` (`entityType`,`entityId`,`userId`),
  KEY `userId` (`userId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;"
;

$sql[] ="
CREATE TABLE IF NOT EXISTS `
{$dbPrefix}cnews_status` (
  `id` int(11) NOT NULL auto_increment,
  `feedType` varchar(100) NOT NULL,
  `feedId` int(11) NOT NULL,
  `timeStamp` int(11) NOT NULL,
  `status` text NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `feedType` (`feedType`,`feedId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;"
;

$sql[] ="
CREATE TABLE IF NOT EXISTS `
{$dbPrefix}cnews_action_set` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `actionId` int(11) NOT NULL,
  `userId` int(11) NOT NULL,
  `timestamp` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `actionId` (`actionId`,`userId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;"
;

foreach ( 
$sql as $query )
{
    
PEEP::getDbo()->query($query);
}

BOL_LanguageService::getInstance()->importPrefixFromZip($plugin->getRootDir() . 'langs.zip''cnews');

PEEP::getConfig()->addConfig('cnews''allow_likes'1'Allow Likes');
PEEP::getConfig()->addConfig('cnews''allow_comments'1'Allow Comments');

PEEP::getConfig()->addConfig('cnews''comments_count'3'Count of comments');
PEEP::getConfig()->addConfig('cnews''index_status_enabled'1'Index status is enabled');
PEEP::getConfig()->addConfig('cnews''features_expanded'1'Comments and likes box is expanded');
PEEP::getConfig()->addConfig('cnews''disabled_action_types''');

PEEP::getPluginManager()->addPluginSettingsRouteName('cnews''cnews_admin_settings');

$authorization PEEP::getAuthorization();
$groupName 'cnews';
$authorization->addGroup($groupName);
$authorization->addAction($groupName'add_comment');
$authorization->addAction($groupName'allow_status_update');

$event = new BASE_CLASS_EventCollector('feed.collect_follow');
PEEP::getEventManager()->trigger($event);

foreach ( 
$event->getData() as $follow )
{
    
$dbTbl PEEP_DB_PREFIX 'cnews_follow';
    
$follow['permission'] = empty($follow['permission']) ? 'everybody' $follow['permission'];

    
$query "REPLACE INTO $dbTbl SET feedType=:ft, feedId=:f, userId=:u, followTime=:t, permission=:p";
    
PEEP::getDbo()->query($query, array(
        
'ft' => trim($follow['feedType']),
        
'u' => (int) $follow['feedId'],
        
'f' => (int) $follow['userId'],
        
'p' => $follow['permission'],
        
't' => time()
    ));
}

$preference BOL_PreferenceService::getInstance()->findPreference('cnews_generate_action_set_timestamp');

if ( empty(
$preference) )
{
    
$preference = new BOL_Preference();
}

$preference->key 'cnews_generate_action_set_timestamp';
$preference->sectionName 'general';
$preference->defaultValue 0;
$preference->sortOrder 10000;

BOL_PreferenceService::getInstance()->savePreference($preference);
Онлайн: 1
Реклама