public function addOverride($param) { if (!array_key_exists('sid', $param)) { $param['sid'] = Z_Transliterator::translateCyr($param['title']); } return $param; }
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; }
/** * Замена сохраненного в базе файла на загружаемый * @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); }
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; }