예제 #1
0
 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);
 }
예제 #2
0
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;
}