public function addOverride($param)
 {
     if (!array_key_exists('sid', $param)) {
         $param['sid'] = Z_Transliterator::translateCyr($param['title']);
     }
     return $param;
 }
Example #2
0
 public function indexAction()
 {
     $this->_helper->viewRenderer->setNoRender(true);
     Zend_Layout::getMvcInstance()->disableLayout();
     $data = array('error' => '1', 'errorcode' => '1', 'preview' => '', 'path' => '', 'filename' => '', 'type' => '');
     if (Z_Auth::getInstance()->getUser()->getLogin() == 'guest') {
         $this->_forward('index', 'index');
         return;
     }
     if (empty($_FILES['Filedata']['name']) || $_FILES['Filedata']['size'] <= 0) {
         $data['errorcode'] = '2';
         echo Zend_Json::encode($data);
         return;
     }
     $options = array('jpg', 'jpeg', 'png', 'gif');
     $validator = new Z_Validate_File_Extension($options);
     if (!$validator->isValid($_FILES['Filedata']['name'])) {
         $data['errorcode'] = '3';
         echo Zend_Json::encode($data);
         return;
     }
     $save_path = SITE_PATH . DIRECTORY_SEPARATOR . 'upload' . DIRECTORY_SEPARATOR . 'tmpajdoqODU1';
     Z_Fs::create_folder($save_path);
     $filename = Z_Transliterator::translateCyr($_FILES['Filedata']['name']);
     $aim = $save_path . DIRECTORY_SEPARATOR . $filename;
     if (!@move_uploaded_file($_FILES['Filedata']['tmp_name'], $aim)) {
         $data['errorcode'] = '4';
         echo Zend_Json::encode($data);
         return;
     }
     //     $storage = new Z_File_Storage();
     //$debuginfo = $_FILES['Filedata']['tmp_name'] . '---' . $_FILES['Filedata']['name'];
     //$debuginfo = $_FILES['Filedata']['tmp_name'] . '---' . $_FILES['Filedata']['name'];
     //        $pf = $storage->create($_FILES['Filedata']['tmp_name'], array(
     //          'realname' => $_FILES['Filedata']['name']));
     $prevurl = $this->view->z_Preview($aim, array('w' => 200, 'h' => 170));
     $fileurl = '/upload/tmpajdoqODU1/' . $filename;
     $data = array('error' => '0', 'errorcode' => '0', 'preview' => $prevurl, 'path' => $fileurl, 'filename' => $filename, 'type' => 'pic');
     echo Zend_Json::encode($data);
     //            foreach($_FILES as $key=>$file)
     //		{
     //			$new_name = $file['tmp_name'].'_new';
     //			move_uploaded_file($file['tmp_name'],$new_name);
     //			$_FILES[$key]['tmp_name'] = $new_name;
     //		}
     //		$nameSpace = new Zend_Session_Namespace('Z-File-Uploader');
     //		$nameSpace->files = $_FILES;
 }
Example #3
0
 /**
  * Замена сохраненного в базе файла на загружаемый
  * @param <type> $id
  * @param <type> $data
  * @return <type> 
  */
 public function replace($id, $localName, $realname)
 {
     $file = $this->getFile($id);
     if ($file == null) {
         return false;
     }
     if (is_file($file->getFullName())) {
         $this->_rmdir($file->get('fullpath'), false);
         //unlink($file->getFullName());
     }
     $auth = Z_Auth::getInstance();
     $name = Z_Transliterator::translateCyr($realname);
     $data = array('user_id' => $auth->getUser()->getId(), 'name' => $name, 'realname' => $realname);
     $file->set($data);
     $copy = $this->copyFileNewDir($localName, $file->get('path'), $name);
     $save = $this->save($file);
     return $copy && $save;
     //$this->copyFileNewDir($localName, $file->getPath(), $name) && $this->save($file);
 }
Example #4
0
 protected function getFormInstance()
 {
     if ($this->z_form === NULL) {
         $this->z_form = new Z_Admin_Form();
         //добавляем элементы формы на основании даннх из БД
         $modelForms = new Z_Model_Resourceforms();
         $modelFormsParams = new Z_Model_Resourceformsparams();
         $elements = $modelForms->fetchAll(array('resourceid=?' => $this->z_resourceInfo->id), 'orderid asc');
         $isRoot = Z_Auth::getInstance()->getUser()->getRole() == 'root';
         foreach ($elements as $element) {
             if ($element->type == 'MultiImage') {
                 $element->type = 'File';
             }
             if ($element->show_check) {
                 //    				try{
                 if (!eval($element->show_check)) {
                     continue;
                 }
                 //    				}
                 //    				catch (Exception $e){
                 //    					continue;
                 //    				}
             }
             $elementClass = 'Z_Admin_Form_Element_' . ucfirst($element->type);
             if ($element->only_for_root && $isRoot || !$element->only_for_root) {
                 $elementOptions = array('label' => $element->label, 'description' => $element->description, 'required' => $element->required, 'value' => $element->value);
                 $params = $modelFormsParams->fetchAll(array('formid=?' => $element->id));
                 foreach ($params as $param) {
                     $elementOptions[$param->title] = $param->is_eval ? eval($param->value) : $param->value;
                 }
                 $this->z_form->addElement(new $elementClass($element->field, $elementOptions));
             }
         }
         //пользовательское доопределение формы
         $this->getForm($this->z_form);
         //разбиваем элементы на группы
         $groupArray = array();
         foreach ($this->z_form->getElements() as $el) {
             if ($group = $el->getAttrib('displayGroup')) {
                 $groupId = Z_Transliterator::translateCyr($group);
                 if (!isset($groupArray[$group])) {
                     $groupArray[$group] = array();
                 }
                 $groupArray[$group][] = $el->getName();
             }
         }
         foreach ($groupArray as $groupKey => $groupEl) {
             $this->z_form->addDisplayGroup($groupEl, Z_Transliterator::translateCyr($groupKey), array('legend' => $groupKey));
         }
         $this->addSubmitButtonsToForm($this->z_form);
         $this->z_form->getElement('submit')->removeDecorator('Label');
         if (!$this->z_form->getAction()) {
             $this->z_form->setAction($this->view->url(array('id' => $this->_getParam('id'))));
         }
     }
     return $this->z_form;
 }