function uploadImage() { global $toC_Json, $osC_Database, $osC_Session; $osC_Image = new osC_Image_Admin(); if (is_array($_FILES)) { $products_image = array_keys($_FILES); $products_image = $products_image[0]; } $products_image = new upload($products_image); if (isset($_REQUEST['products_id']) && $_REQUEST['products_id'] > 0) { if ($products_image->exists()) { $image_path = '../images/products/originals/'; $products_image->set_destination($image_path); if ($products_image->parse() && $products_image->save()) { $default_flag = 1; $Qcheck = $osC_Database->query('select id from :table_products_images where products_id = :products_id and default_flag = :default_flag limit 1'); $Qcheck->bindTable(':table_products_images', TABLE_PRODUCTS_IMAGES); $Qcheck->bindInt(':products_id', $_REQUEST['products_id']); $Qcheck->bindInt(':default_flag', 1); $Qcheck->execute(); if ($Qcheck->numberOfRows() === 1) { $default_flag = 0; } $Qimage = $osC_Database->query('insert into :table_products_images (products_id, image, default_flag, sort_order, date_added) values (:products_id, :image, :default_flag, :sort_order, :date_added)'); $Qimage->bindTable(':table_products_images', TABLE_PRODUCTS_IMAGES); $Qimage->bindInt(':products_id', $_REQUEST['products_id']); $Qimage->bindValue(':image', $products_image->filename); $Qimage->bindInt(':default_flag', $default_flag); $Qimage->bindInt(':sort_order', 0); $Qimage->bindRaw(':date_added', 'now()'); $Qimage->execute(); if (!$osC_Database->isError()) { $image_id = $osC_Database->nextID(); $new_image_name = $_REQUEST['products_id'] . '_' . $image_id . '_' . $products_image->filename; @rename($image_path . $products_image->filename, $image_path . $new_image_name); $Qupdate = $osC_Database->query('update :table_products_images set image = :image where id = :id'); $Qupdate->bindTable(':table_products_images', TABLE_PRODUCTS_IMAGES); $Qupdate->bindValue(':image', $new_image_name); $Qupdate->bindInt(':id', $image_id); $Qupdate->execute(); } foreach ($osC_Image->getGroups() as $group) { if ($group['id'] != '1') { $osC_Image->resize($new_image_name, $group['id']); } } } } } else { $image_path = '../images/products/_upload/' . $osC_Session->getID() . '/'; toc_mkdir($image_path); if ($products_image->exists()) { $products_image->set_destination($image_path); $products_image->parse(); $products_image->save(); } } header('Content-Type: text/html'); $response['success'] = true; $response['feedback'] = $osC_Language->get('ms_success_action_performed'); echo $toC_Json->encode($response); }
function toc_dircopy($src, $dest, $folder_permission = 0755, $file_permission = 0644) { $res = false; $src = str_replace('\\', '/', $src); $src = str_replace('//', '/', $src); $dest = str_replace('\\', '/', $dest); $dest = str_replace('//', '/', $dest); //file copy if (is_file($src)) { if (is_dir($dest)) { if ($dest[strlen($dest) - 1] != '/') { $__dest = $dest . "/"; } $__dest .= basename($src); } else { $__dest = $dest; } $res = copy($src, $__dest); chmod($__dest, $file_permission); } elseif (is_dir($src)) { if (!is_dir($dest)) { toc_mkdir($dest, $folder_permission); chmod($dest, $folder_permission); } if ($src[strlen($src) - 1] != '/') { $__src = $src . '/'; } else { $__src = $src; } if ($dest[strlen($dest) - 1] != '/') { $__dest = $dest . '/'; } else { $__dest = $dest; } $res = true; $handle = opendir($src); while ($file = readdir($handle)) { if ($file != '.' && $file != '..') { $res = toc_dircopy($__src . $file, $__dest . $file, $folder_permission, $file_permission); } } closedir($handle); } else { $res = false; } return $res; }