/** * (non-PHPdoc) * @see Zend_Form#init() */ public function init() { $this->addElementPrefixPath('Tri_Filter', 'Tri/Filter', 'FILTER'); $this->addElementPrefixPath('Tri_Validate', 'Tri/Validate', 'VALIDATE'); $user = new Tri_Db_Table('user'); $validators = $user->getValidators(); $filters = $user->getFilters(); $statusOptions = $user->fetchPairs('status', 'status'); $roles = $user->fetchPairs('role', 'role'); $uploadDir = str_replace('APPLICATION_PATH', APPLICATION_PATH, Tri_Config::get('tri_upload_dir')); $this->setAction('user/save')->setMethod('post')->setAttrib('enctype', 'multipart/form-data'); $id = new Zend_Form_Element_Hidden('id'); $id->addValidators($validators['id'])->addFilters($filters['id'])->removeDecorator('Label')->removeDecorator('HtmlTag'); $filters['name'][] = 'StripTags'; $name = new Zend_Form_Element_Text('name'); $name->setLabel('Name')->addValidators($validators['name'])->addFilters($filters['name'])->setAllowEmpty(false); $email = new Zend_Form_Element_Text('email'); $email->setLabel('Email')->addValidators($validators['email'])->addFilters($filters['email'])->setAllowEmpty(false); $filters['password'][] = 'Md5'; $validators['password'][] = 'PasswordConfirmation'; $password = new Zend_Form_Element_Password('password'); $password->setLabel('Password')->addValidators($validators['password'])->addFilters($filters['password']); $passwordConfirmation = new Zend_Form_Element_Password('password_confirm'); $passwordConfirmation->setLabel('Password confirmation')->addFilter('Md5'); $sex = new Zend_Form_Element_Select('sex'); $sex->setLabel('Sex')->addValidators($validators['sex'])->addFilters($filters['sex'])->addMultiOptions(array('' => '[select]', 'M' => 'Male', 'F' => 'Female')); $born = new Zend_Form_Element_Text('born'); $born->setLabel('Born')->setAttrib('class', 'date')->addFilters($filters['born'])->addValidators($validators['born']); $filters['description'][] = 'StripTags'; $description = new Zend_Form_Element_Textarea('description'); $description->setLabel('Description')->addValidators($validators['description'])->addFilters($filters['description'])->setAllowEmpty(false); $file = new Zend_Form_Element_File('image'); $file->setLabel('Image')->setDestination($uploadDir)->setMaxFileSize(2097152)->setValueDisabled(true)->addFilter('Rename', uniqid())->addValidator('Count', false, 1)->addValidator('Size', false, 2097152)->addValidator('Extension', false, 'jpg,png,gif'); if (!$roles || isset($roles[''])) { $role = new Zend_Form_Element_Text('role'); } else { $rolea = array_unique($roles); $role = new Zend_Form_Element_Select('role'); $role->addMultiOptions(array('' => '[select]') + $roles)->setRegisterInArrayValidator(false); } $role->setLabel('Role')->addValidators($validators['role'])->addFilters($filters['role']); if (!$statusOptions || isset($statusOptions[''])) { $status = new Zend_Form_Element_Text('status'); } else { $statusOptions = array_unique($statusOptions); $status = new Zend_Form_Element_Select('status'); $status->addMultiOptions(array('' => '[select]') + $statusOptions)->setRegisterInArrayValidator(false); } $status->setLabel('Status')->addValidators($validators['status'])->addFilters($filters['status']); $this->addElement($id)->addElement($name)->addElement($email)->addElement($password)->addElement($passwordConfirmation)->addElement($description)->addElement($sex)->addElement($born)->addElement($file); $identity = Zend_Auth::getInstance()->getIdentity(); if ($identity && $identity->role == 'institution') { $this->addElement($status)->addElement($role); } $this->addElement('submit', 'Save'); }
public function thumbnail($path, $type) { $uploadDir = str_replace('APPLICATION_PATH', APPLICATION_PATH, Tri_Config::get('tri_upload_dir')); $thumb = $uploadDir . $path . $type . '.png'; if (!file_exists($thumb)) { $this->_open($uploadDir . $path); $this->_resize($this->_type[$type]['width'], $this->_type[$type]['height']); imagepng($this->_image, $thumb, 0); } return $path . $type . '.png'; }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $layout = Zend_Controller_Action_HelperBroker::getStaticHelper('Layout'); $view = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer')->view; $layout->setLayout('solo'); if ($request->isXmlHttpRequest()) { $layout->disableLayout(); } if ($request->getParam('layout')) { $layout->setLayout($request->getParam('layout')); } $view->theme = Tri_Config::get('tri_theme'); $view->appCharset = Tri_Config::get('tri_app_charset'); }
public function addAction() { $url = explode('/', trim($this->_getParam('url'))); $role = trim($this->_getParam('role')); if (count($url) != 3 || !$role) { $this->_helper->flashMessenger->addMessage('Error'); $this->_redirect('admin/acl'); } $resources = Tri_Config::get('tri_resources', true); $resources[$url[0]][$url[1]][$url[2]] = $role; Tri_Config::set('tri_resources', $resources, true); $this->_helper->flashMessenger->addMessage('Success'); $this->_redirect('admin/acl'); }
/** * Action index. * * @return void */ public function indexAction() { $course = new Tri_Db_Table('course'); $calendar = new Tri_Db_Table('calendar'); $page = Zend_Filter::filterStatic($this->_getParam('page'), 'int'); $form = new Application_Form_Login(); $select = $course->select()->where('status = ?', 'active')->order(array('name', 'category')); $where = array('classroom_id IS NULL', 'end IS NULL OR end > ?' => date('Y-m-d')); $this->view->calendar = $calendar->fetchAll($where, 'begin', 10); $this->view->form = $form; $this->view->user = Zend_Auth::getInstance()->getIdentity(); $paginator = new Tri_Paginator($select, $page); $this->view->courses = $paginator->getResult(); $this->view->newUserToGuest = Tri_Config::get('tri_new_user_to_guest'); $this->_helper->layout->setLayout('layout'); }
/** * (non-PHPdoc) * @see Zend_Form#init() */ public function init() { $course = new Tri_Db_Table('course'); $user = new Tri_Db_Table('user'); $uploadDir = str_replace('APPLICATION_PATH', APPLICATION_PATH, Tri_Config::get('tri_upload_dir')); $validators = $course->getValidators(); $filters = $course->getFilters(); $where = array("role = 'institution' OR role = 'Teacher' OR role = 'Creator'"); $users = $user->fetchPairs('id', 'name', $where, 'name'); $statusOptions = array('active' => 'active', 'inactive' => 'inactive'); $categories = $course->fetchPairs('category', 'category'); $this->setAction('admin/course/save')->setMethod('post')->setAttrib('enctype', 'multipart/form-data'); $id = new Zend_Form_Element_Hidden('id'); $id->addValidators($validators['id'])->addFilters($filters['id'])->removeDecorator('Label')->removeDecorator('HtmlTag'); $filters['name'][] = 'StripTags'; $name = new Zend_Form_Element_Text('name'); $name->setLabel('Name')->addValidators($validators['name'])->addFilters($filters['name']); $responsible = new Zend_Form_Element_Select('responsible'); $responsible->setLabel('Responsible')->addValidators($validators['responsible'])->addFilters($filters['responsible'])->addMultiOptions(array('' => '[select]') + $users); $filters['description'][] = 'StripTags'; $description = new Zend_Form_Element_Textarea('description'); $description->setLabel('Description')->addValidators($validators['description'])->addFilters($filters['description'])->setAttrib('id', 'course-description-text')->setAllowEmpty(false); $filters['hours'][] = 'StripTags'; $hours = new Zend_Form_Element_Text('hours'); $hours->setLabel('Hours')->addValidators($validators['hours'])->addFilters($filters['hours']); if (!$categories || isset($categories[''])) { $category = new Zend_Form_Element_Text('category'); } else { $categories = array_unique($categories); $category = new Zend_Form_Element_Select('category'); $category->addMultiOptions(array('' => '[select]') + $categories)->setRegisterInArrayValidator(false); } $category->setLabel('Category')->addValidators($validators['category'])->addFilters($filters['category']); $file = new Zend_Form_Element_File('image'); $file->setLabel('Image')->setDestination($uploadDir)->setMaxFileSize(2097152)->setValueDisabled(true)->addFilter('Rename', uniqid())->addValidator('Count', false, 1)->addValidator('Size', false, 2097152)->addValidator('Extension', false, 'jpg,png,gif'); $status = new Zend_Form_Element_Select('status'); $status->addMultiOptions($statusOptions)->setRegisterInArrayValidator(false)->setLabel('Status')->addValidators($validators['status'])->addFilters($filters['status']); $this->addElement($id)->addElement($name)->addElement($description)->addElement($responsible)->addElement($hours)->addElement($category)->addElement($file)->addElement($status)->addElement('submit', 'Save'); }
public function viewAction() { $classroom = new Zend_Db_Table('classroom'); $id = Zend_Filter::filterStatic($this->_getParam('id'), 'int'); $rowset = $classroom->find($id); if (!count($rowset)) { $this->_redirect('/dashboard'); } $row = $rowset->current(); $session = new Zend_Session_Namespace('data'); $session->classroom_id = $row->id; $session->course_id = $row->course_id; if (in_array('content', Tri_Config::get('tri_plugins', true))) { $data = Application_Model_Content::fetchAllOrganize($row->course_id); if (!$data) { Application_Model_Content::createInitialContent($row->course_id); $data = Application_Model_Content::fetchAllOrganize($row->course_id); } $this->view->current = Application_Model_Content::getLastAccess($id, $data); $this->view->data = Zend_Json::encode($data); $session->contents = $this->view->data; } $this->_helper->layout->setLayout('layout'); }
public function indexAction() { $iterator = new DirectoryIterator($this->pluginsPath); $this->view->data = $iterator; $this->view->activated = Tri_Config::get('tri_plugins', true); }
protected function _initTranslate() { $options = Zend_Json::decode(Tri_Config::get('translate')); $resource = new Zend_Application_Resource_Translate($options); $resource->init(); }
public function _desactivate() { $this->desactivate(); $activedPlugins = Tri_Config::get('tri_plugins', true); foreach ($activedPlugins as $key => $value) { if ($value == $this->_name) { unset($activedPlugins[$key]); } } Tri_Config::set('tri_plugins', $activedPlugins, true); }