init
This commit is contained in:
263
modules/EcmProducts/Save.php
Executable file
263
modules/EcmProducts/Save.php
Executable file
@@ -0,0 +1,263 @@
|
||||
<?php
|
||||
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||||
/*****************************************************************************
|
||||
* The contents of this file are subject to the RECIPROCAL PUBLIC LICENSE
|
||||
* Version 1.1 ("License"); You may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
* http://opensource.org/licenses/rpl.php. Software distributed under the
|
||||
* License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
|
||||
* either express or implied.
|
||||
*
|
||||
* You may:
|
||||
* a) Use and distribute this code exactly as you received without payment or
|
||||
* a royalty or other fee.
|
||||
* b) Create extensions for this code, provided that you make the extensions
|
||||
* publicly available and document your modifications clearly.
|
||||
* c) Charge for a fee for warranty or support or for accepting liability
|
||||
* obligations for your customers.
|
||||
*
|
||||
* You may NOT:
|
||||
* a) Charge for the use of the original code or extensions, including in
|
||||
* electronic distribution models, such as ASP (Application Service
|
||||
* Provider).
|
||||
* b) Charge for the original source code or your extensions other than a
|
||||
* nominal fee to cover distribution costs where such distribution
|
||||
* involves PHYSICAL media.
|
||||
* c) Modify or delete any pre-existing copyright notices, change notices,
|
||||
* or License text in the Licensed Software
|
||||
* d) Assert any patent claims against the Licensor or Contributors, or
|
||||
* which would in any way restrict the ability of any third party to use the
|
||||
* Licensed Software.
|
||||
*
|
||||
* You must:
|
||||
* a) Document any modifications you make to this code including the nature of
|
||||
* the change, the authors of the change, and the date of the change.
|
||||
* b) Make the source code for any extensions you deploy available via an
|
||||
* Electronic Distribution Mechanism such as FTP or HTTP download.
|
||||
* c) Notify the licensor of the availability of source code to your extensions
|
||||
* and include instructions on how to acquire the source code and updates.
|
||||
* d) Grant Licensor a world-wide, non-exclusive, royalty-free license to use,
|
||||
* reproduce, perform, modify, sublicense, and distribute your extensions.
|
||||
*
|
||||
* The Original Code is: CommuniCore
|
||||
* Olavo Farias
|
||||
* 2006-04-7 olavo.farias@gmail.com
|
||||
*
|
||||
* The Initial Developer of the Original Code is CommuniCore.
|
||||
* Portions created by CommuniCore are Copyright (C) 2005 CommuniCore Ltda
|
||||
* All Rights Reserved.
|
||||
********************************************************************************/
|
||||
|
||||
require_once('modules/EcmProducts/EcmProduct.php');
|
||||
require_once('include/formbase.php');
|
||||
require_once('include/Upload.php');
|
||||
|
||||
function addLocalizedInformation($id)
|
||||
{
|
||||
global $db;
|
||||
$lang=array("en","de","pl","fr","it","es");
|
||||
foreach($lang as $l)
|
||||
{
|
||||
if (!$_REQUEST['short_description_'.$l] || $_REQUEST['short_description_'.$l]=='')
|
||||
$_REQUEST['short_description_'.$l] = ' ';
|
||||
$result=$GLOBALS['db']->query("select ecmproduct_id from ecmproduct_language where ecmproduct_id='".$id."' and language like '".$l."'");
|
||||
if($result->num_rows>0)
|
||||
{
|
||||
$GLOBALS['db']->query("update ecmproduct_language set ean='".$_REQUEST['ean']."',remarks='".$_REQUEST['remarks_'.$l]."',short_description='".$_REQUEST['short_description_'.$l]."',long_description='".$_REQUEST['long_description_'.$l]."',modified_user_id='".$_SESSION['authenticated_user_id']."',date_modified='".date("Y-m-d H:i:s")."',price='".$_REQUEST['price_'.$l]."' where ecmproduct_id='".$id."' and language='".strtolower($l)."'");
|
||||
}
|
||||
else
|
||||
{
|
||||
$GLOBALS['db']->query("insert into ecmproduct_language set id='".create_guid()."',created_by='".$_SESSION['authenticated_user_id']."',modified_user_id='".$_SESSION['authenticated_user_id']."',date_entered='".date("Y-m-d H:i:s")."',date_modified='".date("Y-m-d H:i:s")."',deleted='0',ean='".$_REQUEST['ean']."',remarks='".$_REQUEST['remarks_'.$l]."',short_description='".$_REQUEST['short_description_'.$l]."',long_description='".$_REQUEST['long_description_'.$l]."',language='".strtolower($l)."',ecmproduct_id='".$id."',price='".$_REQUEST['price_'.$l]."'");
|
||||
}
|
||||
}
|
||||
}
|
||||
$focus = new EcmProduct();
|
||||
|
||||
$focus->retrieve($_POST['record']);
|
||||
if(!$focus->ACLAccess('Save')){
|
||||
ACLController::displayNoAccess(true);
|
||||
sugar_cleanup(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//add mz 2012-04-10
|
||||
//check ean
|
||||
//include("/modules/EcmProducts/generateEAN.php");
|
||||
//if ($_POST['newEan']=="1") $focus->ean=generateEAN();
|
||||
//if ($_POST['newEan2']=="1") $focus->ean2=generateEAN();
|
||||
//$_REQUEST['name']="test";
|
||||
|
||||
//categories
|
||||
$pll = array();
|
||||
$json = getJSONobj();
|
||||
$exp=explode("||||",$_POST['position_list3']);
|
||||
foreach($exp as $ep){
|
||||
if($ep){
|
||||
$pll[] = $json->decode(htmlspecialchars_decode($ep));
|
||||
}
|
||||
}
|
||||
$_POST['position_list3'] = $pll;
|
||||
|
||||
//prices
|
||||
$pll = array();
|
||||
$json = getJSONobj();
|
||||
$exp=explode("||||",$_POST['position_list4']);
|
||||
foreach($exp as $ep){
|
||||
if($ep){
|
||||
$pll[] = $json->decode(htmlspecialchars_decode($ep));
|
||||
}
|
||||
}
|
||||
$_POST['position_list4'] = $pll;
|
||||
|
||||
|
||||
|
||||
|
||||
include('modules/EcmProducts/SimpleImage.php');
|
||||
if($_FILES['product_picture']['name']){
|
||||
$_POST['product_picture']=upload_file("product_picture","modules/EcmProducts/upload/images/");
|
||||
$img="modules/EcmProducts/upload/images/".$_POST['product_picture'];
|
||||
copy($img,"modules/EcmProducts/upload/images/big/".$_POST['product_picture']);
|
||||
chmod("modules/EcmProducts/upload/images/big/".$_POST['product_picture'],0777);
|
||||
$size=getSize($img,125);
|
||||
$image = new SimpleImage();
|
||||
$image->load($img);
|
||||
$image->resize($size[0],$size[1]);
|
||||
$image->save($img);
|
||||
|
||||
}
|
||||
chmod($img,0777);
|
||||
if($_FILES['packing_front_picture']['name']){
|
||||
$_POST['packing_front_picture']=upload_file("packing_front_picture","modules/EcmProducts/upload/images/");
|
||||
$img="modules/EcmProducts/upload/images/".$_POST['packing_front_picture'];
|
||||
copy($img,"modules/EcmProducts/upload/images/big/".$_POST['packing_front_picture']);
|
||||
chmod("modules/EcmProducts/upload/images/big/".$_POST['packing_front_picture'],0777);
|
||||
$size=getSize($img,125);
|
||||
$image = new SimpleImage();
|
||||
$image->load($img);
|
||||
$image->resize($size[0],$size[1]);
|
||||
$image->save($img);
|
||||
}
|
||||
chmod($img,0777);
|
||||
if($_FILES['driver_1']['name'])$_POST['driver_1']=upload_file("driver_1","modules/EcmProducts/upload/");
|
||||
if($_FILES['driver_2']['name'])$_POST['driver_2']=upload_file("driver_2","modules/EcmProducts/upload/");
|
||||
chmod("modules/EcmProducts/upload/".$_POST['driver_1'],0777);
|
||||
chmod("modules/EcmProducts/upload/".$_POST['driver_2'],0777);
|
||||
|
||||
if($_REQUEST['delete_product_picture']){
|
||||
$_POST['product_picture']=$_REQUEST['product_picture']="";
|
||||
}
|
||||
if($_REQUEST['delete_packing_front_picture']){
|
||||
$_POST['packing_front_picture']=$_REQUEST['packing_front_picture']="";
|
||||
}
|
||||
|
||||
|
||||
if (!empty($_POST['assigned_user_id']) && ($focus->assigned_user_id != $_POST['assigned_user_id']) && ($_POST['assigned_user_id'] != $current_user->id)) {
|
||||
$check_notify = TRUE;
|
||||
}else{
|
||||
$check_notify = FALSE;
|
||||
}
|
||||
|
||||
foreach($focus->column_fields as $field){
|
||||
if(isset($_POST[$field])){
|
||||
$value = $_POST[$field];
|
||||
$focus->$field = $value;
|
||||
}
|
||||
}
|
||||
foreach($focus->additional_column_fields as $field){
|
||||
if(isset($_POST[$field])){
|
||||
$value = $_POST[$field];
|
||||
$focus->$field = $value;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($_POST[product_active])) {
|
||||
$focus->product_active = '0';
|
||||
}else{
|
||||
$focus->product_active = '1';
|
||||
}
|
||||
if (!isset($_POST[certificate_of_origin])) {
|
||||
$focus->certificate_of_origin = '0';
|
||||
}else{
|
||||
$focus->certificate_of_origin = '1';
|
||||
}
|
||||
if (!isset($_POST[form_a])) {
|
||||
$focus->form_a = '0';
|
||||
}else{
|
||||
$focus->form_a = '1';
|
||||
}
|
||||
|
||||
//Added for Graduated Prices - Begin
|
||||
/*require_once('modules/EcmProducts/EcmProductGraduatedPrices.php');
|
||||
$epgp = new EcmProductGraduatedPrices();
|
||||
$epgp->setFromPost();
|
||||
$focus->graduated_prices = $epgp->toString();*/
|
||||
//Added for Graduated Prices - End
|
||||
|
||||
require_once('modules/Currencies/Currency.php');
|
||||
$currency = new Currency();
|
||||
$currency_list = $currency->get_full_list('conversion_rate');
|
||||
$currency->retrieve('-99');
|
||||
if(is_array($currency_list))$currency_list = array_merge(Array($currency), $currency_list);
|
||||
else $currency_list = Array($currency);
|
||||
$arr = array();
|
||||
foreach($currency_list as $key=>$value)$arr[$value->id] = $value->conversion_rate;
|
||||
|
||||
$erv=$arr[$_REQUEST['exchange_rate_id']];
|
||||
$focus->unformat_all_fields();
|
||||
|
||||
if (!$focus->carton_volume_meter || $focus->carton_volume_meter=='' || round($focus->carton_volume_meter,0)==0)
|
||||
$focus->carton_volume_meter=
|
||||
unformat_number($focus->carton_dimensions_1)*
|
||||
unformat_number($focus->carton_dimensions_2)*
|
||||
unformat_number($focus->carton_dimensions_3);
|
||||
|
||||
$r=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select local_transportation,abroad_transportation from ecmproductcategories where id='".$_REQUEST['product_category_id']."'"));
|
||||
$lt=$r['local_transportation'];
|
||||
$at=$r['abroad_transportation'];
|
||||
if($focus->pieces_per_carton!=0)$pcscbm=$focus->carton_volume_meter/$focus->pieces_per_carton;
|
||||
else $pcscbm=1;
|
||||
if(!$_REQUEST['purchase_price']){
|
||||
|
||||
$customduty=($focus->fob_price+$at*$pcscbm)*($erv*$focus->custom_duty_rate/100);
|
||||
$focus->purchase_price=$focus->fob_price*$erv+$customduty+$lt*$pcscbm;
|
||||
}
|
||||
|
||||
if(!$_REQUEST['commission_rate']){
|
||||
$rv=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select value from ecmvats where id='".$_REQUEST['vat_id']."'"));
|
||||
$focus->commission_rate=100*(($focus->srp_price/(1+$rv['value']/100)-$focus->purchase_price)/($focus->srp_price/(1+$rv['value']/100)));
|
||||
}
|
||||
$rpp=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select ems_price from ecmproducts where id='".$focus->id."'"));
|
||||
|
||||
$focus->save($check_notify);
|
||||
$GLOBALS['db']->query("update ecmproducts set ems_price='".$rpp['ems_price']."' where id='".$focus->id."'");
|
||||
$return_id = $focus->id;
|
||||
|
||||
if(isset($_POST['vat_id'])){
|
||||
$r=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select value,name from ecmvats where id='".$_POST['vat_id']."'"));
|
||||
$GLOBALS['db']->query("update ecmproducts set ean='".$_REQUEST['ean']."',vat_value='".$r['value']."',vat_name='".$r['name']."',product_active='".$_REQUEST['product_active']."',status='".$_REQUEST['status']."' where id='".$return_id."'");
|
||||
}
|
||||
$models=base64_encode(serialize($_REQUEST['models']));
|
||||
$GLOBALS['db']->query("update ecmproducts set models='".$models."',status='".$_REQUEST['status']."' where id='".$return_id."'");
|
||||
|
||||
addLocalizedInformation($return_id);
|
||||
|
||||
$image=true;
|
||||
$desc=true;
|
||||
if(!file_exists("modules/EcmProducts/upload/images/big/".$focus->product_picture) || !$focus->product_picture)$image=false;
|
||||
if(!file_exists("modules/EcmProducts/upload/images/big/".$focus->packing_front_picture) || !$focus->packing_front_picture)$image=false;
|
||||
$r=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select ean,remarks,short_description,long_description,language,price from ecmproduct_language where language='pl' and ecmproduct_id='".$return_id."'"));
|
||||
if(!$r['ean'] || !$r['short_description'] || !$r['long_description'] || !$r['price'])$desc=false;
|
||||
|
||||
if(!$image && !$desc)$type="images_and_description";
|
||||
elseif(!$image && $desc)$type="images";
|
||||
elseif($image && !$desc)$type="description";
|
||||
else $type="ok";
|
||||
|
||||
$r=$GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("select type from ecmproducts_log where ecmproduct_id='".$return_id."' and sent is null order by date_entered desc limit 1"));
|
||||
if($r['type']!=$type){
|
||||
$GLOBALS['db']->query("insert into ecmproducts_log(id,date_modified,date_entered,created_by,modified_user_id,ecmproduct_id,type) values('".create_guid()."','".date("Y-m-d H:i:s")."','".date("Y-m-d H:i:s")."','".$_SESSION['authenticated_user_id']."','".$_SESSION['authenticated_user_id']."','".$return_id."','".$type."');");
|
||||
}
|
||||
handleRedirect($return_id,'EcmProducts');
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user