/** * * @return PHPMailer */ protected function getMail() { if (!$this->mail) { $this->mail = new PHPMailer(); if (Options::value('mail_smtp')) { $this->mail->IsSMTP(); $this->mail->SMTPAuth = Options::value('mail_smtp_auth', true); $this->mail->AuthType = Options::value('mail_smtp_auth_type', 'LOGIN'); $this->mail->Host = Options::value('mail_smtp_host'); $this->mail->Port = Options::value('mail_smtp_port', 465); $this->mail->Username = Options::value('mail_smtp_user'); $this->mail->Password = Options::value('mail_smtp_password'); } $this->mail->From = Options::value('mail_from_email'); $this->mail->Sender = Options::value('mail_from_email'); $this->mail->FromName = Options::value('mail_from_name'); $this->mail->CharSet = 'utf-8'; $this->mail->Priority = 1; } return $this->mail; }
public static function getActiveModules() { if (self::$modules === false) { self::$modules = array(); $modules = \Amplify\Options::value('amp_active_modules', array()); foreach ($modules as &$path) { /* * $class = substr($path, ($p = strrpos($path, '/')) === false ? 0 : $p + 1, -4); * * $filename = \Simplify::config()->get('app_dir') . 'modules' . $path; * * if (!file_exists($filename)) { * \Simplify::session()->warnings("Could not load module: file not found: <b>{$path}</b>"); * } * else { * require_once ($filename); * * if (!class_exists($class)) { * \Simplify::session()->warnings("Could not load module: class not found: <b>{$class}</b>"); * } * elseif (!is_subclass_of($class, '\Amplify\Module')) { * \Simplify::session()->warnings("Could not load module: <b>{$class}</b> is not a subclass of \Amplify\Module"); * } * else { * self::$modules[$path] = new $class(); * } * } */ $class = $path; if (!class_exists($class)) { self::deactivateModule($path); \Simplify::session()->warnings("Could not load module: class not found: <b>{$class}</b>"); } elseif (!is_subclass_of($class, '\\Amplify\\Module')) { self::deactivateModule($path); \Simplify::session()->warnings("Could not load module: <b>{$class}</b> is not a subclass of \\Amplify\\Module"); } else { self::$modules[$path] = new $class(); } } } return self::$modules; }
/** * Upgrade database tables to last version */ protected static function upgrade() { $query = 'CREATE TABLE IF NOT EXISTS `' . \Simplify::config()->get('amp:tables:options') . '` ( `option_id` mediumint(8) NOT NULL AUTO_INCREMENT, `option_name` varchar(255) NOT NULL, `option_value` text NOT NULL, `option_modified_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `option_autoload` tinyint(1) unsigned NOT NULL DEFAULT \'0\', PRIMARY KEY (`option_id`), UNIQUE KEY `option_name` (`option_name`), KEY `option_autoload` (`option_autoload`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;'; \Simplify::db()->query($query)->executeRaw(); $version = intval(\Amplify\Options::value('db_version', 0)); if ($version <= 0) { $queries = array('CREATE TABLE IF NOT EXISTS `' . \Simplify::config()->get('amp:tables:groups') . '` ( `group_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `group_name` varchar(255) NOT NULL, PRIMARY KEY (`group_id`), UNIQUE KEY `group_name` (`group_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;', 'CREATE TABLE IF NOT EXISTS `' . \Simplify::config()->get('amp:tables:groups_permissions') . '` ( `group_id` mediumint(8) unsigned NOT NULL, `permission_id` mediumint(8) unsigned NOT NULL, UNIQUE KEY `group_id_permission_id` (`group_id`,`permission_id`), KEY `FK_groups_permissions_permissions` (`permission_id`), CONSTRAINT `FK_groups_permissions_groups` FOREIGN KEY (`group_id`) REFERENCES `' . \Simplify::config()->get('amp:tables:groups') . '` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_groups_permissions_permissions` FOREIGN KEY (`permission_id`) REFERENCES `' . \Simplify::config()->get('amp:tables:permissions') . '` (`permission_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;', 'CREATE TABLE IF NOT EXISTS `' . \Simplify::config()->get('amp:tables:groups_users') . '` ( `user_id` mediumint(8) unsigned NOT NULL, `group_id` mediumint(8) unsigned NOT NULL, UNIQUE KEY `user_id_group_id` (`user_id`,`group_id`), KEY `FK_groups_users_groups` (`group_id`), CONSTRAINT `FK_groups_users_groups` FOREIGN KEY (`group_id`) REFERENCES `' . \Simplify::config()->get('amp:tables:groups') . '` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_groups_users_users` FOREIGN KEY (`user_id`) REFERENCES `' . \Simplify::config()->get('amp:tables:users') . '` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;', 'CREATE TABLE IF NOT EXISTS `' . \Simplify::config()->get('amp:tables:permissions') . '` ( `permission_id` mediumint(255) unsigned NOT NULL AUTO_INCREMENT, `permission_name` varchar(255) NOT NULL, `permission_description` varchar(255) DEFAULT NULL, PRIMARY KEY (`permission_id`), UNIQUE KEY `permission_name` (`permission_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;', 'CREATE TABLE IF NOT EXISTS `' . \Simplify::config()->get('amp:tables:permissions_users') . '` ( `user_id` mediumint(8) unsigned NOT NULL, `permission_id` mediumint(8) unsigned NOT NULL, UNIQUE KEY `user_id_permission_id` (`user_id`,`permission_id`), KEY `FK_permissions_users_permissions` (`permission_id`), CONSTRAINT `FK_permissions_users_permissions` FOREIGN KEY (`permission_id`) REFERENCES `' . \Simplify::config()->get('amp:tables:permissions') . '` (`permission_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FK_permissions_users_users` FOREIGN KEY (`user_id`) REFERENCES `' . \Simplify::config()->get('amp:tables:users') . '` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;', 'CREATE TABLE IF NOT EXISTS `' . \Simplify::config()->get('amp:tables:users') . '` ( `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `user_username` varchar(255) NOT NULL, `user_email` varchar(255) NOT NULL, `user_password` char(60) NOT NULL, `access_token` char(60) DEFAULT NULL, PRIMARY KEY (`user_id`), INDEX `user_password` (`user_password`), INDEX `access_token` (`access_token`), UNIQUE KEY `user_username` (`user_username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;'); \Simplify::db()->beginTransaction(); \Simplify::db()->query('SET FOREIGN_KEY_CHECKS=0')->executeRaw(); foreach ($queries as $query) { \Simplify::db()->query($query)->executeRaw(); } \Simplify::db()->commit(); } }