Beispiel #1
0
 /**
  *  Add Sound File
  */
 public function addAction()
 {
     $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Music on Hold Sessions"), $this->view->translate("Add")));
     $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/music_on_hold.xml"));
     $form->getElement('base')->setAttrib('readonly', true);
     if ($this->_request->getPost()) {
         $class = $_POST;
         $classes = Snep_SoundFiles_Manager::getClasses();
         $form_isValid = $form->isValid($_POST);
         if ($class['base'] != '/var/lib/asterisk/moh/') {
             $form->getElement('name')->addError($this->view->translate('Invalid Path'));
             $form_isValid = false;
         }
         if (file_exists($class['directory'])) {
             $form->getElement('directory')->addError($this->view->translate('Directory already exists'));
             $form_isValid = false;
         }
         foreach ($classes as $name => $item) {
             if ($item['name'] == $class['name']) {
                 $form->getElement('name')->addError($this->view->translate('Music on hold class already exists'));
                 $form_isValid = false;
             }
             $fullPath = $class['base'] . $class['directory'];
             if ($item['directory'] == $fullPath) {
                 $form->getElement('directory')->addError($this->view->translate('Directory already exists'));
                 $form_isValid = false;
             }
         }
         if ($form_isValid) {
             $_POST['directory'] = $_POST['base'] . $_POST['directory'];
             Snep_SoundFiles_Manager::addClass($_POST);
             $this->_redirect($this->getRequest()->getControllerName());
         }
     }
     $this->view->form = $form;
 }