コード例 #1
0
ファイル: Group.php プロジェクト: brunopbaffonso/ongonline
 /**
  * Load group for GM based on each module.ini configuration.
  * An example is: 
  * 
  * project.gm.group = project
  * project.gm.label = 'Projects'
  * project.module.enabled = on
  */
 public function loadGroup($groupName)
 {
     $this->setName($groupName);
     $modules = Agana_Util_Bootstrap::getModulesNames();
     $front = Zend_Controller_Front::getInstance();
     foreach ($modules as $module) {
         $boot = Agana_Util_Bootstrap::getBootstrap($module);
         if (isset($boot)) {
             if (count($boot->getOptions())) {
                 $options = $boot->getOptions();
                 if (isset($options['gm']['group'])) {
                     if (strtolower($options['gm']['group']) == strtolower($this->getName())) {
                         if (isset($options['gm']['label'])) {
                             $this->setLabel($options['gm']['label']);
                         }
                         $class = ucfirst($module) . '_Module_Gm';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         $path = $front->getModuleDirectory($module) . DIRECTORY_SEPARATOR . 'module';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         /**
                          * @var Agana_Module_Menu_Interface
                          */
                         $moduleGm = new $class();
                         $this->_modules[$moduleGm->getName()] = $moduleGm;
                     }
                 }
             }
         }
     }
 }
コード例 #2
0
ファイル: Version.php プロジェクト: brunopbaffonso/ongonline
 public static function getAppDeployDate()
 {
     $d = "unknown";
     $boot = Agana_Util_Bootstrap::getBootstrap();
     $opt = $boot->getOption('agana');
     if (isset($opt['app']['deploydate'])) {
         $d = $opt['app']['deploydate'];
     }
     return $d;
 }
コード例 #3
0
ファイル: Image.php プロジェクト: brunopbaffonso/ongonline
 protected function getBootstrapOptions()
 {
     $boot = Agana_Util_Bootstrap::getBootstrap('media');
     if (isset($boot)) {
         if (count($boot->getOptions())) {
             return $boot->getOptions();
         }
     }
     return null;
 }
コード例 #4
0
 public static function isControllerEnabled($options = null)
 {
     if ($options === null) {
         $boot = Agana_Util_Bootstrap::getBootstrap('staff');
         $boot = $boot->getOptions();
     } else {
         $boot = $options;
     }
     if (isset($boot['module']['controller']['volunteer']['enabled'])) {
         return $boot['module']['controller']['volunteer']['enabled'];
     } else {
         return true;
     }
 }
コード例 #5
0
ファイル: Gm.php プロジェクト: brunopbaffonso/ongonline
 public function __construct()
 {
     $boot = Agana_Util_Bootstrap::getBootstrap('staff');
     $boot = $boot->getOptions();
     $this->_name = 'Staff';
     $this->_navigation[] = array('icon' => 'icon-group', 'label' => 'Employees', 'module' => 'staff', 'controller' => 'employee', 'action' => 'list', 'route' => 'default', 'uri' => '', 'title' => '');
     if (Staff_Domain_Volunteer::isControllerEnabled()) {
         $this->_navigation[] = array('icon' => 'icon-group', 'label' => 'Volunteers', 'module' => 'staff', 'controller' => 'volunteer', 'action' => 'list', 'route' => 'default', 'uri' => '', 'title' => '');
     }
     $this->_navigation[] = array('icon' => 'icon-wrench', 'label' => 'Job function', 'module' => 'staff', 'controller' => 'jobfunction', 'action' => 'list', 'route' => 'default', 'uri' => '', 'title' => '');
     if (Staff_Domain_Expertisearea::isControllerEnabled()) {
         $this->_navigation[] = array('icon' => 'icon-certificate', 'label' => 'Expertise area', 'module' => 'staff', 'controller' => 'expertisearea', 'action' => 'list', 'route' => 'default', 'uri' => '', 'title' => '');
     }
 }
コード例 #6
0
 protected function _getBootstrapOptions()
 {
     // get bootstrap options
     if ($this->_bootOptions === null) {
         $return = array();
         $boot = Agana_Util_Bootstrap::getBootstrap('persons');
         if (isset($boot)) {
             if (count($boot->getOptions())) {
                 $options = $boot->getOptions();
                 $return['allowedExtensions'] = explode(',', $options['upload']['image']['extensions']);
                 $return['maxSize'] = $options['upload']['image']['maxsize'];
                 $return['path'] = $options['upload']['image']['path'];
                 $return['dimensions'] = array();
                 if (isset($options['upload']['image']['origin']['width'])) {
                     $return['dimensions']['origin']['width'] = $options['upload']['image']['origin']['width'];
                 }
                 if (isset($options['upload']['image']['origin']['height'])) {
                     $return['dimensions']['origin']['height'] = $options['upload']['image']['origin']['height'];
                 }
                 if (isset($options['upload']['image']['large']['width'])) {
                     $return['dimensions']['large']['width'] = $options['upload']['image']['large']['width'];
                 }
                 if (isset($options['upload']['image']['large']['height'])) {
                     $return['dimensions']['large']['height'] = $options['upload']['image']['large']['height'];
                 }
                 if (isset($options['upload']['image']['medium']['width'])) {
                     $return['dimensions']['medium']['width'] = $options['upload']['image']['medium']['width'];
                 }
                 if (isset($options['upload']['image']['medium']['height'])) {
                     $return['dimensions']['medium']['height'] = $options['upload']['image']['medium']['height'];
                 }
                 if (isset($options['upload']['image']['small']['width'])) {
                     $return['dimensions']['small']['width'] = $options['upload']['image']['small']['width'];
                 }
                 if (isset($options['upload']['image']['small']['height'])) {
                     $return['dimensions']['small']['height'] = $options['upload']['image']['small']['height'];
                 }
                 if (isset($options['upload']['image']['tiny']['width'])) {
                     $return['dimensions']['tiny']['width'] = $options['upload']['image']['tiny']['width'];
                 }
                 if (isset($options['upload']['image']['tiny']['height'])) {
                     $return['dimensions']['tiny']['height'] = $options['upload']['image']['tiny']['height'];
                 }
             }
         }
         $this->_bootOptions = $return;
     }
     return $this->_bootOptions;
 }
コード例 #7
0
 public function loadMenu()
 {
     $modules = Agana_Util_Bootstrap::getModulesNames();
     $front = Zend_Controller_Front::getInstance();
     foreach ($modules as $module) {
         $boot = Agana_Util_Bootstrap::getBootstrap($module);
         if (isset($boot)) {
             if (count($boot->getOptions())) {
                 $menuOpt = $boot->getOptions();
                 if ($menuOpt['menu']['load']) {
                     if ($menuOpt['menu']['container'] == 'class') {
                         $class = ucfirst($module) . '_Module_Menu';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         $path = $front->getModuleDirectory($module) . DIRECTORY_SEPARATOR . 'module';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         /**
                          * @var Agana_Module_Menu_Interface
                          */
                         $moduleMenu = new $class();
                         $menuArray = $moduleMenu->getMenu();
                         foreach ($menuArray as $key => $m) {
                             if (is_numeric($key)) {
                                 $m = $menuArray[$key];
                                 if (isset($m['parent']) && trim($m['parent']) != '') {
                                     $parent = $this->findBy('id', $m['parent']);
                                     // if did not find a parent then create it
                                     unset($m['parent']);
                                     $parent->addPage($m);
                                 } else {
                                     $page = $this->findBy('id', $m['id']);
                                     if (!$page) {
                                         $this->addPage($m);
                                     }
                                 }
                             }
                         }
                         //}
                     }
                 }
             }
         }
     }
 }
コード例 #8
0
ファイル: User.php プロジェクト: brunopbaffonso/ongonline
 public function sendResetPasswordEmail(User_Model_User $user)
 {
     if ($user) {
         $translate = Zend_Registry::get('Zend_Translate');
         $boot = Agana_Util_Bootstrap::getBootstrap();
         $aganaOptions = $boot->getOption('agana');
         $adminEmail = $aganaOptions['app']['admin']['email'];
         $appName = $aganaOptions['app']['name'];
         $mail = new Zend_Mail('UTF-8');
         $mail->setFrom($adminEmail, $appName);
         $mail->setSubject('[' . $appName . '] ' . $translate->_('Url requested to reset password'));
         $mail->addTo($user->email);
         $requestUrl = $_SERVER['HTTP_HOST'] . Zend_Controller_Front::getInstance()->getBaseUrl() . '/user/reset-password/create-new/id/' . $user->id . '/key/' . $this->getResetPasswordKey($user);
         $body = '<html>';
         $body .= '<body>';
         $body .= '<p>';
         $body .= 'Esta mensagem foi enviada pela aplicação <em>' . $appName . '</em>';
         $body .= '</p>';
         $body .= '<p><strong>' . $user->name . '</strong>, </p>';
         $body .= '<p>';
         $body .= 'fez uma solicitação para recriar a sua senha.';
         $body .= '</p>';
         $body .= '<p>';
         $body .= 'Clique no link a seguir para confirmar esta solicitação e ';
         $body .= 'criar uma nova senha:';
         $body .= '</p>';
         $body .= '<a href="' . $requestUrl . '">';
         $body .= $requestUrl;
         $body .= '</a>';
         $body .= '<p>';
         $body .= 'Por favor, note que este link irá expirar em 24 horas.';
         $body .= 'Se você não solicitou ';
         $body .= 'esta ação, por favor ignore esta mensagem.';
         $body .= '</p>';
         $body .= '</body>';
         $body .= '</html>';
         $mail->setBodyHtml($body);
         $mail->send();
     } else {
         throw new Exception('Wrong user parameter !');
     }
 }
コード例 #9
0
 public function isEditAllowed()
 {
     $boot = Agana_Util_Bootstrap::getBootstrap();
     $opt = $boot->getOption('agana');
     return strtolower($opt['userguide']['edit']) == 'on';
 }