Esempio n. 1
1
 /**
  *
  * @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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 /**
  * 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();
     }
 }