Beispiel #1
0
 /**
  * Delete all information about file
  *
  * @param Zend_Db_Table_Row $unit
  * @param Zend_Db_Table_Row $file
  */
 function deleteFile($unit, $file)
 {
     $mediaManager = new RM_Media_Unit_Manager($unit);
     $mediaManager->deleteImageFiles($file->filename);
     $model = new RM_UnitMediaFileTypes();
     $unitTypeFiles = $model->getByFile($file);
     foreach ($unitTypeFiles as $typeFile) {
         $typeFile->delete();
     }
     return $file->delete();
 }
 /**
  * This method is for adding image from media library to an unit
  */
 function addJsonAction()
 {
     $unitID = $this->_getParam('unit_id', null);
     if ($unitID == null) {
         return array('data' => array('success' => false, 'error' => $this->_translate->_('Admin.Unit.Media', 'UnitIDNotSpecified')));
     }
     $unitModel = new RM_Units();
     $unit = $unitModel->find($unitID)->current();
     if ($unit == null) {
         return array('data' => array('success' => false, 'error' => $this->_translate->_('Admin.Unit.Media', 'WrongUnitID')));
     }
     $filename = urldecode($this->_getParam('filename', null));
     if ($filename == null) {
         return array('data' => array('success' => false, 'error' => $this->_translate->_('Admin.Unit.Media', 'ImageFilenameNotSpecified')));
     }
     $mediaManager = new RM_Media_Unit_Manager($unit);
     try {
         $mediaManager->addImage($filename);
     } catch (RM_Exception $exception) {
         return array('data' => array('success' => false, 'error' => $exception->getMessage()));
     }
 }
Beispiel #3
0
 /**
  * Updates configuration.
  *
  * @param  	request all values this values for the config update
  * @return 	json    boolean response of true or false in json format (true is success)
  */
 function updateJsonAction()
 {
     $model = new RM_Config();
     $fields = $model->fetchAll();
     foreach ($fields as $field) {
         switch ($field->xtype) {
             case "checkbox":
                 $value = $this->_getParam($field->id);
                 break;
             default:
                 $value = $this->_getParam($field->id, $this->_getParam($field->id . "_hidden"));
         }
         if ($value !== null) {
             $field->value = $value;
             $field->save();
         }
     }
     // process image resizing
     if ($this->_getParam('image_resize', 0) == 1) {
         //1. resize images for media, if we will later add extra options for admin thumnails
         //$mediaManager = new RM_Media_Manager();
         //$mediaManager->resize();
         //2. resize images for units
         $unitModel = new RM_Units();
         $units = $unitModel->fetchAll();
         foreach ($units as $unit) {
             $unitMediaManager = new RM_Media_Unit_Manager($unit);
             $unitMediaManager->resize();
         }
     }
     return array('data' => array('success' => true));
 }
Beispiel #4
0
 /**
  * Insert a unit by its primary key
  *
  * @param array $unit Array with all unit information
  * @param string $iso ISO language code ('cause we got all unit info with language dependent fields)
  * @param boolean $fromGUI This parameter told us was that data from GUI or it's internal usage.
  * @return mixed The primary key of the row inserted.
  */
 public function insert($unit, $iso, $fromGUI = false)
 {
     $unitTypeDAO = new RM_UnitTypes();
     $type = $unitTypeDAO->find($unit['type_id'])->current();
     list($fields, $languageFields) = $this->_getFieldsByType($type);
     $unitArray = array();
     $languageArray = array();
     foreach ($fields as $field) {
         $unitArray[$field->column_name] = $unit[$field->column_name];
     }
     foreach ($languageFields as $field) {
         $languageArray[$field->column_name] = $unit[$field->column_name];
     }
     //TODO: this code need to be more flexible to do not use UnitTypeManager module
     $manager = new RM_Module_UnitTypeManager();
     $unitArray['type_id'] = $manager->getDefaultUnitType()->id;
     if ($fromGUI) {
         $languageArray['unit_id'] = $this->insertFromGUI($unitArray);
     } else {
         $languageArray['unit_id'] = parent::insert($unitArray);
     }
     $unitModel = new RM_Units();
     $newUnit = $unitModel->createRow(array('id' => $languageArray['unit_id']));
     $mediaManager = new RM_Media_Unit_Manager($newUnit);
     $mediaManager->createFolder();
     //we need to create a unit detail row for every language installed in the system
     $languageModel = new RM_Languages();
     $languages = $languageModel->fetchAll();
     $unitLanguageModel = new RM_UnitLanguageDetails();
     foreach ($languages as $language) {
         $languageArray['iso'] = $language->iso;
         $unitLanguageModel->insert($languageArray);
     }
     return $languageArray['unit_id'];
 }