Ejemplo n.º 1
0
 /**
  * method that save a picture before save a element in the database 
  * @param string columnname(fieldname) in the database
  * @return boolean true  if the operation succeded , else false
  */
 private function savePictures($field)
 {
     $now = time();
     //we define a name for the file
     $extension = "." . myTools::getExtension($this->arrayFields[$field]["currentValue"]);
     //we define the extension
     //we loop on the differents formats
     foreach ($this->arrayFields[$field]["pictureField"] as $key => $value) {
         if (!in_array($extension, $value["formats"])) {
             return false;
         }
         //we do the good transformation looking at the xml
         switch ($value["resizeType"]) {
             case "resizeHomo":
                 //if the file doesn't exists in a directory, it is not a big deal
                 if (!file_exists("../tmp/" . $this->arrayFields[$field]["currentValue"])) {
                     return true;
                 }
                 $imgHandler = new imgSaver(str_replace(".", "", $extension), "../tmp/" . $this->arrayFields[$field]["currentValue"]);
                 if (!$imgHandler->init() || !$imgHandler->handleImage()) {
                     return false;
                 }
                 $imgHandler->resizeHomo((int) $value["ratio"], "pictureSave");
                 if (!$imgHandler->saveImg("../" . (string) $value["path"] . $now, "pictureSave")) {
                     return false;
                 }
                 break;
             case "resizeFix":
                 //if the file doesn't exists in a directory, it is not a big deal
                 if (!file_exists("../tmp/" . $this->arrayFields[$field]["currentValue"])) {
                     return true;
                 }
                 $imgHandler = new imgSaver(str_replace(".", "", $extension), "../tmp/" . $this->arrayFields[$field]["currentValue"]);
                 if (!$imgHandler->init() || !$imgHandler->handleImage()) {
                     return false;
                 }
                 $imgHandler->resizeFix((int) $value["width"], (int) $value["height"], "pictureSave");
                 if (!$imgHandler->saveImg("../" . (string) $value["path"] . $now, "pictureSave")) {
                     return false;
                 }
                 break;
             case "resizeHomoW":
                 //if the file doesn't exists in a directory, it is not a big deal
                 if (!file_exists("../tmp/" . $this->arrayFields[$field]["currentValue"])) {
                     return true;
                 }
                 $imgHandler = new imgSaver(str_replace(".", "", $extension), "../tmp/" . $this->arrayFields[$field]["currentValue"]);
                 if (!$imgHandler->init() || !$imgHandler->handleImage()) {
                     return false;
                 }
                 $imgHandler->resizeHomoW((int) $value["width"], "pictureSave");
                 if (!$imgHandler->saveImg("../" . (string) $value["path"] . $now, "pictureSave")) {
                     return false;
                 }
                 break;
             case "resizeHomoH":
                 //if the file doesn't exists in a directory, it is not a big deal
                 if (!file_exists("../tmp/" . $this->arrayFields[$field]["currentValue"])) {
                     return true;
                 }
                 $imgHandler = new imgSaver(str_replace(".", "", $extension), "../tmp/" . $this->arrayFields[$field]["currentValue"]);
                 if (!$imgHandler->init() || !$imgHandler->handleImage()) {
                     return false;
                 }
                 $imgHandler->resizeHomoH((int) $value["height"], "pictureSave");
                 if (!$imgHandler->saveImg("../" . (string) $value["path"] . $now, "pictureSave")) {
                     return false;
                 }
                 break;
             default:
                 //if the file doesn't exists in a directory, it is not a big deal
                 if (!file_exists("../tmp/" . $this->arrayFields[$field]["currentValue"])) {
                     return true;
                 }
                 $imgHandler = new imgSaver(str_replace(".", "", $extension), "../tmp/" . $this->arrayFields[$field]["currentValue"]);
                 if (!$imgHandler->init() || !$imgHandler->handleImage()) {
                     return false;
                 }
                 $imgHandler->noResize("pictureSave");
                 if (!$imgHandler->saveImg("../" . (string) $value["path"] . $now, "pictureSave")) {
                     return false;
                 }
                 break;
         }
     }
     $this->arrayFields[$field]["currentValue"] = $now . $extension;
     return true;
 }