コード例 #1
0
 public function addPicture($itemDto, $fileName = 'item_picture', $already_uploaded_file = null)
 {
     $itemId = $itemDto->getId();
     ////////////////////////////
     $originalPictureFullName = null;
     if (!isset($already_uploaded_file)) {
         $file_name = $_FILES[$fileName]['name'];
         $tmp_name = $_FILES[$fileName]['tmp_name'];
         $file_size = $_FILES[$fileName]['size'];
     } else {
         $file_name = $already_uploaded_file;
     }
     if (isset($file_size) && ($file_size == 0 || $file_size > 5 * 1024 * 1024)) {
         return "Maximum file size can be 5MB";
     }
     $file_name_parts = explode('.', $file_name);
     $pictureExt = end($file_name_parts);
     $supported_file_formats = array('jpg', 'png', 'gif', 'jpeg');
     if (!in_array(strtolower($pictureExt), $supported_file_formats)) {
         return "Not supported file format!";
     }
     $dir = DATA_DIR . "/images/";
     if (!is_dir($dir)) {
         mkdir($dir, 0777);
     }
     $dir = DATA_DIR . "/images/items/";
     if (!is_dir($dir)) {
         mkdir($dir, 0777);
     }
     $picsCount = $itemDto->getPicturesCount();
     $currentPicIndex = $picsCount + 1;
     $originalPictureFullName = $dir . $itemId . '_' . $currentPicIndex . '_original' . '.' . 'jpg';
     $resizedPictureFullName_30_30 = $dir . $itemId . '_' . $currentPicIndex . '_30_30' . '.' . 'jpg';
     $resizedPictureFullName_60_60 = $dir . $itemId . '_' . $currentPicIndex . '_60_60' . '.' . 'jpg';
     $resizedPictureFullName_150_150 = $dir . $itemId . '_' . $currentPicIndex . '_150_150' . '.' . 'jpg';
     $resizedPictureFullName_400_400 = $dir . $itemId . '_' . $currentPicIndex . '_400_400' . '.' . 'jpg';
     $resizedPictureFullName_800_800 = $dir . $itemId . '_' . $currentPicIndex . '_800_800' . '.' . 'jpg';
     if (!isset($already_uploaded_file)) {
         move_uploaded_file($tmp_name, $originalPictureFullName);
     } else {
         $originalPictureFullName = $already_uploaded_file;
     }
     //resize image
     $p1 = resizeImageToGivenType($originalPictureFullName, $resizedPictureFullName_30_30, 30, 30, 'jpg');
     $p2 = resizeImageToGivenType($originalPictureFullName, $resizedPictureFullName_60_60, 60, 60, 'jpg');
     $p3 = resizeImageToGivenType($originalPictureFullName, $resizedPictureFullName_150_150, 150, 150, 'jpg');
     $p4 = resizeImageToGivenType($originalPictureFullName, $resizedPictureFullName_400_400, 400, 400, 'jpg');
     $p5 = resizeImageToGivenType($originalPictureFullName, $resizedPictureFullName_800_800, 800, 800, 'jpg');
     if ($p1 === false || $p2 === false || $p3 === false || $p4 === false || $p5 === false) {
         if (is_file($resizedPictureFullName_30_30)) {
             unlink($resizedPictureFullName_30_30);
         }
         if (is_file($resizedPictureFullName_60_60)) {
             unlink($resizedPictureFullName_60_60);
         }
         if (is_file($resizedPictureFullName_150_150)) {
             unlink($resizedPictureFullName_150_150);
         }
         if (is_file($resizedPictureFullName_400_400)) {
             unlink($resizedPictureFullName_400_400);
         }
         if (is_file($resizedPictureFullName_800_800)) {
             unlink($resizedPictureFullName_800_800);
         }
         return "Error resizing image!";
     }
     if (is_file($originalPictureFullName)) {
         unlink($originalPictureFullName);
     }
     $this->setItemPicturesCount($itemId, $picsCount + 1);
     $this->setItemImage1AndImage2FromPicturesFile($itemId);
     return true;
 }
コード例 #2
0
 public function service()
 {
     $companyManager = new CompanyManager($this->config, $this->args);
     $this->userManager = new UserManager($this->config, $this->args);
     $company_branch_id = $this->secure($_REQUEST["cp_branch_select"]);
     $company_name = $this->secure($_REQUEST["company_name"]);
     $change_pass = $this->secure($_REQUEST["change_pass"]);
     $new_pass = $this->secure($_REQUEST["new_pass"]);
     $repeat_new_pass = $this->secure($_REQUEST["repeat_new_pass"]);
     $phone1 = $this->secure($_REQUEST["phone1"]);
     $phone2 = $this->secure($_REQUEST["phone2"]);
     $phone3 = $this->secure($_REQUEST["phone3"]);
     $address = $this->secure($_REQUEST["address"]);
     $region = $this->secure($_REQUEST["region"]);
     $lng = $this->secure($_REQUEST["longitute"]);
     $lat = $this->secure($_REQUEST["latitude"]);
     $working_days = $this->secure($_REQUEST["working_days"]);
     $working_hours = $this->secure($_REQUEST["working_hours"]);
     $zip = $this->secure($_REQUEST["zip"]);
     $dealers_access_key = $this->secure($_REQUEST["dealers_access_key"]);
     $url = $this->secure($_REQUEST["url"]);
     $receive_email_on_stock_update = isset($_REQUEST["receive_email_on_stock_update"]) ? 1 : 0;
     $validFields = $this->validateCompanyProfileFields($company_name, $change_pass, $new_pass, $repeat_new_pass, $phone1, $phone2, $phone3, $address, $zip, $region, $working_days, $working_hours, $dealers_access_key, $url);
     $companyId = $this->getUserId();
     if ($validFields === 'ok') {
         if (isset($_FILES['company_logo'])) {
             ////////////////////////////
             $originalLogoFullName = null;
             $file_name = $_FILES['company_logo']['name'];
             $file_type = $_FILES['company_logo']['type'];
             $tmp_name = $_FILES['company_logo']['tmp_name'];
             $file_size = $_FILES['company_logo']['size'];
             $logoCheck = $this->checkInputFile('company_logo');
             //start to save new price file
             $logoExt = strtolower(end(explode('.', $file_name)));
             if ($logoCheck === 'ok' && !in_array($logoExt, $this->supported_file_formats)) {
                 $logoCheck = "Not supported file format! ()";
             }
             if ($logoCheck === 'ok') {
                 $dir = DATA_DIR . "/images/";
                 if (!is_dir($dir)) {
                     mkdir($dir, 0777);
                 }
                 $dir = DATA_DIR . "/images/company_logo/";
                 if (!is_dir($dir)) {
                     mkdir($dir, 0777);
                 }
                 $logoName = 'company_' . $companyId . '_logo';
                 $originalLogoFullName = $dir . $logoName . '_original' . '.' . 'png';
                 $resizedLogoFullName_55_30 = $dir . $logoName . '_55_30' . '.' . 'png';
                 $resizedLogoFullName_120_75 = $dir . $logoName . '_120_75' . '.' . 'png';
                 move_uploaded_file($tmp_name, $originalLogoFullName);
                 $resret1 = resizeImageToGivenType($originalLogoFullName, $resizedLogoFullName_55_30, 55, 30, 'png');
                 $resret2 = resizeImageToGivenType($originalLogoFullName, $resizedLogoFullName_120_75, 120, 75, 'png');
                 //resize image
                 if ($logoCheck === 'ok' && $resret1 == false) {
                     $logoCheck = "Error resizing image!";
                 }
                 if (is_file($originalLogoFullName)) {
                     unlink($originalLogoFullName);
                 }
             }
         }
         $sms_phone_number = '';
         if (isset($_REQUEST['enable_sms_on_price_upload'])) {
             $sms_phone_number = $this->secure($_REQUEST['sms_phone_number']);
         }
         $sms_from_time = date('H:i:s', strtotime($this->secure($_REQUEST['sms_from_time'])));
         $sms_to_duration_minutes = 0;
         if (isset($_REQUEST['sms_time_control'])) {
             $sms_to_duration_minutes = $this->secure($_REQUEST['sms_to_duration_minutes']);
         }
         $sms_receiving_days = $this->secure($_REQUEST['sms_receiving_days']);
         $companyManager->updateCompanyProfileFieldsById($companyId, $company_branch_id, $company_name, $change_pass, $new_pass, $phone1, $phone2, $phone3, $address, $zip, $region, $working_days, $working_hours, $dealers_access_key, $url, $sms_phone_number, $sms_receiving_days, $sms_from_time, $sms_to_duration_minutes, $receive_email_on_stock_update, $lng, $lat);
         $jsonArr = array('status' => "ok", "message" => $logoCheck);
         echo "<script>var l= new parent.ngs.ChangeCompanyProfileAction(); l.afterAction('" . json_encode($jsonArr) . "'); </script>";
         return true;
         ////////////////////////////
     } else {
         $jsonArr = array('status' => "err", "errText" => $validFields);
         echo "<script>var l= new parent.ngs.ChangeCompanyProfileAction(); l.afterAction('" . json_encode($jsonArr) . "'); </script>";
         return false;
     }
 }