public function init() { $options = new Filtype(); foreach ($options->fetchAlltoFlatArray() as $k => $v) { if (isset($v['mlabel'])) { $this->addMultiOption($k, $v['mlabel']); } } }
/** * Register the file and location in the DB for quick search and indexing * * @param $path Path to the file * @param $fileName File name on the hard disk * @param $fileWeight Weight in bytes * @param $type 3 letters extension * @param $usersId * @param $safinstancesId * @param array $params * @param string $desc * @return bool|mixed|string id of the file or false on error */ public function registerFileToDb($path, $fileName, $fileWeight, $type, $usersId, $safinstancesId, $params = array(), $desc = '') { $fileTypeDb = new Filtype(); $fileTypeId = 1; $fileTypeRow = $fileTypeDb->fetchAll("ext = '" . substr($type, 0, 3) . "'"); if (count($fileTypeRow) == 1) { $fileTypeId = $fileTypeRow[0]->id; } $data = array('label' => $fileName, 'desc' => $desc, 'filename' => $fileName, 'type' => $type, 'fweight' => $fileWeight, 'filtype_id' => $fileTypeId, 'users_id' => $usersId, 'safinstances_id' => $safinstancesId, 'datecreated' => new Zend_Db_Expr('NOW()'), 'datemodified' => new Zend_Db_Expr('NOW()')); $fileFile = new Filfiles(); $files = $fileFile->fetchAll("filename = '{$fileName}' AND safinstances_id = '" . $safinstancesId . "' "); $countFiles = count($files); if ($countFiles == 1 && $params->calledBy == 'adminpeople' && isset($params->peopleId) && $params->peopleId > 0) { UsersOp::changeAvatar($params->peopleId, $files[0]['id']); return $files[0]['id']; } elseif ($countFiles == 1) { // Replace action, we should update the DB datas $fileId = $files->current()->id; if ($fileFile->update($data, 'id=' . $fileId)) { Sydney_Db_Trace::add('trace.event.upload_file [' . $data['filename'] . ']', 'adminfiles', Sydney_Tools::getTableName($fileFile), 'uploadfile', $fileId); return $files[0]['id']; } else { return false; } } elseif ($countFiles == 0) { if ($fileId = $fileFile->insert($data)) { // #18 - called by module adminpeople In this case, check if the category 'module > system > adminpeople' exist, if yes then link to this else first create new cat and link this new cat. if ($params->calledBy == 'adminpeople') { UsersOp::changeAvatar($params->peopleId, $fileId); } // add categories to file if (isset($params->catids)) { $foids = explode(',', $params->catids); $foids2 = array(); for ($i = 0; $i < count($foids); $i++) { if ($foids[$i] > 0) { $foids2[] = $foids[$i]; } } $fileDb = new FilfoldersFilfiles(); $fileDb->setFilfilesLinkedTo($fileId, $foids2); } Sydney_Db_Trace::add('trace.event.upload_file' . ' [' . $data['filename'] . ']', 'adminfiles', Sydney_Tools::getTableName($fileFile), 'uploadfile', $fileId); return $fileId; } else { return false; } } }
public function __construct($options = null) { parent::__construct($options); $this->setAttrib('accept-charset', 'UTF-8'); $this->setName('filfiles'); $id = new Zend_Form_Element_Hidden('id'); $hash = new Zend_Form_Element_Hash('no_csrf_foo', array('salt' => '4s564evzaSD64sf')); $submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'submitbutton'); $label = new Zend_Form_Element_Textarea('label'); $label->setLabel('label'); $desc = new Zend_Form_Element_Text('desc'); $desc->setLabel('desc'); $keywords = new Zend_Form_Element_Textarea('keywords'); $keywords->setLabel('keywords'); $fileName = new Zend_Form_Element_Textarea('filename'); $fileName->setLabel('filename'); $path = new Zend_Form_Element_Textarea('path'); $path->setLabel('path'); $type = new Zend_Form_Element_Text('type'); $type->setLabel('type'); $fileWeight = new Zend_Form_Element_Text('fweight'); $fileWeight->setLabel('fweight'); $imgWidth = new Zend_Form_Element_Text('imgwidth'); $imgWidth->setLabel('imgwidth'); $imgHeight = new Zend_Form_Element_Text('imgheight'); $imgHeight->setLabel('imgheight'); $techData = new Zend_Form_Element_Textarea('techdata'); $techData->setLabel('techdata'); $fileTypeId = new Zend_Form_Element_Select('filtype_id'); $options = new Filtype(); $fileTypeId->addMultiOption('', '----------'); foreach ($options->fetchAlltoFlatArray() as $k => $v) { $fileTypeId->addMultiOption($k, $v['mlabel']); } $fileTypeId->setLabel('filtype_id'); $usersId = new Zend_Form_Element_Select('users_id'); $options = new Users(); $usersId->addMultiOption('', '----------'); foreach ($options->fetchAlltoFlatArray() as $k => $v) { $usersId->addMultiOption($k, $v['mlabel']); } $usersId->setLabel('users_id'); $safinstancesId = new Zend_Form_Element_Select('safinstances_id'); $options = new Safinstances(); $safinstancesId->addMultiOption('', '----------'); foreach ($options->fetchAlltoFlatArray() as $k => $v) { $safinstancesId->addMultiOption($k, $v['mlabel']); } $safinstancesId->setLabel('safinstances_id'); $datecreated = new Zend_Form_Element_Text('datecreated'); $datecreated->setLabel('datecreated'); $datemodified = new Zend_Form_Element_Text('datemodified'); $datemodified->setLabel('datemodified'); $istagged = new Zend_Form_Element_Text('istagged'); $istagged->setLabel('istagged'); $idxcontent = new Zend_Form_Element_Text('idxcontent'); $idxcontent->setLabel('idxcontent'); $fileFilesFileMetaData = new FilmetadatalistForm('FilfilesFilmetadata'); $fileFilesFileMetaData->setLabel('FilfilesFilmetadata'); $fileFoldersFilefiles = new FilfolderslistForm('FilfoldersFilfiles'); $fileFoldersFilefiles->setLabel('FilfoldersFilfiles'); $this->addElements(array($id, $hash, $label, $desc, $keywords, $fileName, $path, $type, $fileWeight, $imgWidth, $imgHeight, $techData, $fileTypeId, $usersId, $safinstancesId, $datecreated, $datemodified, $istagged, $idxcontent, $fileFilesFileMetaData, $fileFoldersFilefiles)); $this->addElements(array($submit)); }