/** * 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(); }
/** * 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)); } }
/** * 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); }
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(); }
/** * 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); }
/** * @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(); } } }
/** * @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(); } } }
public function init(array $params = array()) { Event::subscribe('samson.cms.input.change', array($this, 'saveFieldHandler')); return parent::init($params); }
public function __construct($path, ResourcesInterface $resources, SystemInterface $system) { $this->query = new dbQuery(); parent::__construct($path, $resources, $system); }
/** @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); }