예제 #1
0
파일: sites.php 프로젝트: rundiz/fuel-start
 /**
  * hook plugin to get multisite tables names.<br>
  * this will get module's tables that need to be copy while create new site.<br>
  * attention! you must call this method everytime when you want to access multisite tables list.
  * 
  * @todo [fuelstart][multisite][plug] get module's multisite tables plug.
  */
 public function hookGetMultisiteTables()
 {
     $plugin = new \Library\Plugins();
     if ($plugin->hasFilter('SitesGetModulesMultisiteTables') !== false) {
         $plugin->doFilter('SitesGetModulesMultisiteTables');
         if (is_array($plugin->original_data) && !empty($plugin->original_data)) {
             foreach ($plugin->original_data as $table) {
                 if (!empty($table)) {
                     if (is_array($table) && !\Arr::is_multi($table)) {
                         $this->multisite_tables = array_merge($this->multisite_tables, $table);
                     } elseif (is_string($table)) {
                         $this->multisite_tables = array_merge($this->multisite_tables, [$table]);
                     }
                 }
             }
             unset($each_cfg);
             $this->multisite_tables = \Arr::unique($this->multisite_tables);
         }
     }
     unset($plugin);
 }
예제 #2
0
 /**
  * hash password
  * 
  * @link https://github.com/rchouinard/phpass phpass document
  * @param string $password
  * @return string
  */
 public function hashPassword($password = '')
 {
     // @todo [fuelstart][account][plug] hash password plug.
     $plugin = new \Library\Plugins();
     if ($plugin->hasFilter('AccountHashPassword') !== false) {
         $returned_hash_password = $plugin->doFilter('AccountHashPassword', $password);
         if ($returned_hash_password != null) {
             unset($plugin);
             return $returned_hash_password;
         }
     }
     unset($plugin, $returned_hash_password);
     include_once APPPATH . DS . 'vendor' . DS . 'phpass' . DS . 'PasswordHash.php';
     $PasswordHash = new PasswordHash($this->password_hash_level, false);
     return $PasswordHash->HashPassword($password);
 }
예제 #3
0
 /**
  * Generate title by set title name and name separator position.
  * 
  * @param string|array $title Title name. This can be array that the title will be generate respectively.
  * @param string $name_position Position of name to generate. if first, the site name will come first then title name. example: site name | title 1 | title 2
  * @return string Generated title.
  */
 public function generateTitle($title, $name_position = 'last')
 {
     $cfg_values = array('site_name', 'page_title_separator');
     $config = Model_Config::getvalues($cfg_values);
     unset($cfg_values);
     // @todo [fuelstart][basecontroller][plug] generate title plug.
     $plugin = new \Library\Plugins();
     if ($plugin->hasFilter('BaseControllerGenTitle')) {
         $generated_title = $plugin->doFilter('BaseControllerGenTitle', $title, $name_position, $config);
         if (is_string($generated_title) && ($generated_title != null || !empty($generated_title))) {
             return $generated_title;
         }
         unset($generated_title);
     }
     unset($plugin);
     if ($name_position == 'first') {
         $output = $config['site_name']['value'];
         $output .= $config['page_title_separator']['value'];
     } else {
         $output = '';
     }
     if (is_array($title)) {
         if ($name_position == 'last') {
             $title = array_reverse($title);
         }
         foreach ($title as $a_title) {
             $output .= $a_title;
             if ($a_title != end($title)) {
                 $output .= $config['page_title_separator']['value'];
             }
         }
     } else {
         $output .= $title;
     }
     if ($name_position == 'last') {
         $output .= $config['page_title_separator']['value'];
         $output .= $config['site_name']['value'];
     }
     unset($a_title, $config);
     return $output;
 }