예제 #1
0
 /**
  * Prepare DB for application settings
  * @return mixed
  */
 public function prepare()
 {
     db()->execute("\n                CREATE TABLE IF NOT EXISTS `email_distribution` (\n                  `distribution_id` int(11) NOT NULL AUTO_INCREMENT,\n                  `template_id` int(11) NOT NULL,\n                  `status` int(11) DEFAULT '0',\n                  `recipient_count` int(11) DEFAULT '0',\n                  `bounce_count` int(11) DEFAULT '0',\n                  `open_count` int(11) DEFAULT '0',\n                  `click_count` int(11) DEFAULT '0',\n                  `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n                  `finished` datetime NOT NULL,\n                  `active` int(11) NOT NULL DEFAULT '0',\n                  PRIMARY KEY (`distribution_id`)\n                ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;\n            ");
     db()->execute("\n                CREATE TABLE IF NOT EXISTS `email_letter` (\n                  `letter_id` int(11) NOT NULL AUTO_INCREMENT,\n                  `distribution_id` int(11) NOT NULL,\n                  `template_id` int(11) NOT NULL,\n                  `recipient` varchar(50) NOT NULL,\n                  `status` int(11) DEFAULT '0',\n                  `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n                  PRIMARY KEY (`letter_id`)\n                ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;\n            ");
     db()->execute("\n                CREATE TABLE IF NOT EXISTS `email_template` (\n                  `template_id` int(11) NOT NULL AUTO_INCREMENT,\n                  `content` text NOT NULL,\n                  `locale` varchar(5) NOT NULL DEFAULT 'en',\n                  `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n                  PRIMARY KEY (`template_id`)\n                ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;\n            ");
     return parent::prepare();
 }
예제 #2
0
 /**
  * User entity delete controller action
  * @param int $identifier Entity identifier
  * @return array Asynchronous response array
  */
 public function __async_remove2($identifier)
 {
     if (!dbQuery('material')->cond('UserID', $identifier)->cond('Active', 1)->first()) {
         return parent::__async_remove2($identifier);
     } else {
         return array('status' => 1, 'error_message' => t('Пока у этого пользователя есть материалы, его удаление невозможно.', true));
     }
 }
예제 #3
0
 /**
  * Initialize module
  * @param array $params Collection of parameters
  * @return bool True if success
  */
 public function init(array $params = array())
 {
     // TODO: Should be change to DI in future
     // Set pointer to file service
     $this->fs = $this->system->module('fs');
     // Subscribe to material form created event for custom tab rendering
     Event::subscribe('samsoncms.material.form.created', array($this, 'tabBuilder'));
     // Subscribe to event - add gallery field additional field type
     Event::subscribe('cms_field.select_create', array($this, 'fieldSelectCreate'));
     return parent::init($params);
 }
예제 #4
0
 public function prepare()
 {
     $social = $this->system->module('social');
     //db()->createField($this, $social->dbTable, 'dbGroupIdField', 'INT(11)');
     $adminUser = '******';
     // Try to find generic user
     $admin = $this->query->entity($social->dbTable)->where($social->dbEmailField, $adminUser)->first();
     // Add admin group id value
     if (isset($admin) && $admin[$this->dbGroupIdField] != 1) {
         $admin[$this->dbGroupIdField] = 1;
         $admin->save();
     }
     return parent::prepare();
 }
예제 #5
0
 /**
  * Controller to rendering specific collection
  *
  * @param string $navigationId Navigation filter
  * @param string $search Search filter
  * @param int $page Current page
  */
 public function __collection($navigationId = '0', $search = '', $page = 1)
 {
     // Pass all parameters to parent handler with default values
     parent::__handler($navigationId, $search, $page);
 }
예제 #6
0
파일: Application.php 프로젝트: onysko/cms
 /**
  * @deprecated All application should draw menu block via events
  */
 public function oldMenuRenderer(&$html, &$subMenu)
 {
     // Iterate loaded samson\cms\application
     foreach (\samsoncms\Application::loaded() as $app) {
         // Show only visible apps
         if ($app->hide == false) {
             // Render application menu item
             $html .= m('template')->view('menu/item')->active(url()->module == $app->id() ? 'active' : '')->app($app)->icon($app->icon)->name(isset($app->name[0]) ? $app->name : '')->output();
         }
     }
     $subMenu = '';
     // Find current SamsonCMS application
     if (\samsoncms\Application::find(url()->module, $app)) {
         // If module has sub_menu view - render it
         if ($app->findView('sub_menu')) {
             $subMenu .= $app->view('sub_menu')->set(t($app->name, true), 'appName')->output();
         }
     }
 }
예제 #7
0
 /**
  * @deprecated All application should draw menu block via events
  */
 public function oldMenuRenderer(&$html, &$subMenu)
 {
     // Iterate loaded samson\cms\application
     foreach (\samsoncms\Application::loaded() as $app) {
         // Show only visible apps
         if ($app->hide == false) {
             // Render application menu item
             $html .= m('template')->view('menu/item')->active(url()->module == $app->id() ? 'active' : '')->app($app)->icon($app->icon)->name(isset($app->name[0]) ? $app->name : '')->output();
         }
     }
     $subMenu = '';
     // Find current SamsonCMS application
     if (\samsoncms\Application::find(url()->module, $app)) {
         // If module has sub_menu view - render it
         if ($app->findView('sub_menu')) {
             // Explode url by symbols '/'
             $url = explode('/', $_SERVER['REQUEST_URI']);
             // If isset url with params search and param page equal 0
             if (isset($url[4]) && $url[3] != 'form') {
                 // Default value for search field
                 $paramSearch = urldecode($url[4]);
                 // Set params search
                 $app->set($paramSearch, 'search');
             }
             $subMenu .= $app->view('sub_menu')->set(t($app->name, true), 'appName')->output();
         }
     }
 }
예제 #8
0
 public function init(array $params = array())
 {
     Event::subscribe('samson.cms.input.change', array($this, 'saveFieldHandler'));
     return parent::init($params);
 }
예제 #9
0
 public function __construct($path, ResourcesInterface $resources, SystemInterface $system)
 {
     $this->query = new dbQuery();
     parent::__construct($path, $resources, $system);
 }
예제 #10
0
 /** @see \samson\core\ExternalModule::init() */
 public function prepare(array $params = null)
 {
     Event::subscribe('samsoncms.input.material.confirm', array($this, 'inputConfirm'));
     Event::subscribe('samsoncms.material.form.created', array($this, 'tabBuilder'));
     return parent::prepare($params);
 }