PageRenderTime 55ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 1ms

/inc/amfphp/Amfphp/Services/ec_admin_products.php

https://github.com/EmranAhmed/wp-easycart
PHP | 1075 lines | 802 code | 132 blank | 141 comment | 195 complexity | 91b3167e36da6dab18d43edd0e5c547e MD5 | raw file
  1. <?php
  2. /*
  3. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5. //All Code and Design is copyrighted by Level Four Development, llc
  6. //
  7. //Level Four Development, LLC provides this code "as is" without warranty of any kind, either express or implied,
  8. //including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.
  9. //
  10. //Only licnesed users may use this code and storfront for live purposes. All other use is prohibited and may be
  11. //subject to copyright violation laws. If you have any questions regarding proper use of this code, please
  12. //contact Level Four Development, llc and EasyCart prior to use.
  13. //
  14. //All use of this storefront is subject to our terms of agreement found on Level Four Development, llc's website.
  15. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  16. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  17. */
  18. class ec_admin_products
  19. {
  20. function ec_admin_products() {
  21. /*load our connection settings
  22. if( file_exists( '../../../../wp-easycart-data/connection/ec_conn.php' ) ) {
  23. require_once('../../../../wp-easycart-data/connection/ec_conn.php');
  24. } else {
  25. require_once('../../../connection/ec_conn.php');
  26. };*/
  27. //set our connection variables
  28. $dbhost = DB_HOST;
  29. $dbname = DB_NAME;
  30. $dbuser = DB_USER;
  31. $dbpass = DB_PASSWORD;
  32. global $wpdb;
  33. define ('WP_PREFIX', $wpdb->prefix);
  34. require_once( "../../classes/core/ec_db.php" );
  35. if( file_exists( "../../../../wp-easycart-quickbooks/QuickBooks.php" ) ){
  36. require_once( "../../../../wp-easycart-quickbooks/ec_quickbooks.php" );
  37. require_once( "../../../../wp-easycart-quickbooks/QuickBooks.php" );
  38. }
  39. //make a connection to our database
  40. $this->conn = mysql_connect($dbhost, $dbuser, $dbpass);
  41. mysql_select_db ($dbname);
  42. mysql_query("SET CHARACTER SET utf8", $this->conn);
  43. mysql_query("SET NAMES 'utf8'", $this->conn);
  44. }
  45. //secure all of the services for logged in authenticated users only
  46. public function _getMethodRoles($methodName){
  47. if ($methodName == 'removeproductcategory') return array('admin');
  48. else if($methodName == 'createproductcategory') return array('admin');
  49. else if($methodName == 'getproductcategories') return array('admin');
  50. else if($methodName == 'deleteadvancedoption') return array('admin');
  51. else if($methodName == 'updatealldownloadcustomers') return array('admin');
  52. else if($methodName == 'deletealladvancedoption') return array('admin');
  53. else if($methodName == 'addadvancedoption') return array('admin');
  54. else if($methodName == 'getadvancedproductoptions') return array('admin');
  55. else if($methodName == 'getfeaturedproducts') return array('admin');
  56. else if($methodName == 'getproductlist') return array('admin');
  57. else if($methodName == 'getproducts') return array('admin');
  58. else if($methodName == 'duplicateproduct') return array('admin');
  59. else if($methodName == 'deleteproduct') return array('admin');
  60. else if($methodName == 'updateproduct') return array('admin');
  61. else if($methodName == 'addproduct') return array('admin');
  62. else if($methodName == 'deleteimage') return array('admin');
  63. else if($methodName == 'deleteoptionitemimage') return array('admin');
  64. else if($methodName == 'deletefiledownload') return array('admin');
  65. else return null;
  66. }
  67. //HELPER - used to escape out SQL calls
  68. function escape($sql)
  69. {
  70. $args = func_get_args();
  71. foreach($args as $key => $val)
  72. {
  73. $args[$key] = mysql_real_escape_string($val);
  74. }
  75. $args[0] = $sql;
  76. return call_user_func_array('sprintf', $args);
  77. }
  78. function createproductcategory($categoryname, $productid) {
  79. $sql = "INSERT INTO ec_category( category_name ) VALUES( %s )";
  80. $this->db->query( $this->db->prepare( $sql, $categoryname ) );
  81. if( !mysql_error( ) ){
  82. // Insert a WordPress Custom post type post.
  83. $category_id = $this->db->insert_id;
  84. $post = array( 'post_content' => "[ec_store groupid=\"" . $category_id . "\"]",
  85. 'post_status' => "publish",
  86. 'post_title' => $GLOBALS['language']->convert_text( $categoryname ),
  87. 'post_type' => "ec_store"
  88. );
  89. $post_id = wp_insert_post( $post );
  90. // Update Category Post ID
  91. $db = new ec_db( );
  92. $db->update_category_post_id( $category_id, $post_id );
  93. $sql = "SELECT SQL_CALC_FOUND_ROWS ec_category.* FROM ec_category";
  94. $results = $this->db->get_results( $sql );
  95. $totalquery = $this->db->get_var( "SELECT FOUND_ROWS()" );
  96. if( count( $results ) > 0 ){
  97. $results[0]->totalrow = $totalquery;
  98. return $results;
  99. }else{
  100. return array( "noresults" );
  101. }
  102. }else{
  103. return array( "error" );
  104. }
  105. }
  106. function getproductcategories($product_id) {
  107. //Create SQL Query
  108. $sql = $this->escape("SELECT
  109. ec_category.category_id,
  110. ec_category.category_name,
  111. ec_categoryitem.product_id,
  112. ec_categoryitem.category_id
  113. FROM
  114. ec_categoryitem
  115. LEFT JOIN ec_category ON (ec_categoryitem.category_id = ec_category.category_id)
  116. WHERE
  117. ec_categoryitem.product_id = '".$product_id."'
  118. ORDER BY
  119. ec_category.category_name");
  120. // Run query on database
  121. //return $sql;
  122. $result = mysql_query($sql);
  123. if(!mysql_error()) {
  124. while ($row=mysql_fetch_object($result)) {
  125. $returnArray[] = $row;
  126. }
  127. if(count($row) > 0) {
  128. return($returnArray); //return array results if there are some
  129. } else {
  130. $returnArray[] = "noresults";
  131. return $returnArray; //return noresults if there are no results
  132. }
  133. } else {
  134. $returnArray[] = "error";
  135. return $returnArray; //return noresults if there are no results
  136. }
  137. }
  138. function removeproductcategory($category_id, $product_id) {
  139. //Create SQL Query
  140. $deletesql = $this->escape("DELETE FROM ec_categoryitem WHERE ec_categoryitem.product_id = '%s' AND ec_categoryitem.category_id = '%s'", $product_id, $category_id);
  141. //Run query on database;
  142. mysql_query($deletesql);
  143. //if results, convert to an array for use in flash
  144. if(!mysql_error()) {
  145. $returnArray[] = "success";
  146. return($returnArray); //return array results if there are some
  147. } else {
  148. $returnArray[] = "error";
  149. return $returnArray; //return noresults if there are no results
  150. }
  151. }
  152. function updatealldownloadcustomers($productid, $newdownloadid, $olddownloadid) {
  153. /////////////////////////////////////////////////////
  154. //currently only changing customers who have matching file names, but can use product id if necessary to do all customers on this product.
  155. /////////////////////////////////////////////////////
  156. $sql = $this->escape("UPDATE ec_download SET ec_download.download_file_name = '%s' WHERE ec_download.product_id = '%s'", $newdownloadid, $productid);
  157. //Run query on database;
  158. mysql_query($sql);
  159. //if results, convert to an array for use in flash
  160. if(!mysql_error()) {
  161. $returnArray[] = "success";
  162. return($returnArray); //return array results if there are some
  163. } else {
  164. $returnArray[] = "error";
  165. return $returnArray; //return noresults if there are no results
  166. }
  167. }
  168. function deletealladvancedoption($product_id) {
  169. //Create SQL Query
  170. $deletesql = $this->escape("DELETE FROM ec_option_to_product WHERE ec_option_to_product.product_id = '%s'", $product_id);
  171. //Run query on database;
  172. mysql_query($deletesql);
  173. //if results, convert to an array for use in flash
  174. if(!mysql_error()) {
  175. $returnArray[] = "success";
  176. return($returnArray); //return array results if there are some
  177. } else {
  178. $returnArray[] = "error";
  179. return $returnArray; //return noresults if there are no results
  180. }
  181. }
  182. function deleteadvancedoption($optionlinkid, $product_id) {
  183. //Create SQL Query
  184. $deletesql = $this->escape("DELETE FROM ec_option_to_product WHERE ec_option_to_product.option_to_product_id = '%s'", $optionlinkid);
  185. //Run query on database;
  186. mysql_query($deletesql);
  187. //Create SQL Query
  188. $sql = $this->escape("SELECT
  189. ec_option.option_name,
  190. ec_option.option_label,
  191. ec_option.option_type,
  192. ec_option.option_required,
  193. ec_option.option_error_text,
  194. ec_option.option_id,
  195. ec_product.model_number,
  196. ec_product.product_id,
  197. ec_option_to_product.product_id,
  198. ec_option_to_product.option_to_product_id,
  199. ec_option_to_product.option_id
  200. FROM
  201. ec_option_to_product
  202. INNER JOIN ec_product ON (ec_option_to_product.product_id = ec_product.product_id)
  203. INNER JOIN ec_option ON (ec_option_to_product.option_id = ec_option.option_id)
  204. WHERE
  205. ec_option_to_product.product_id = '".$product_id."'
  206. ORDER BY
  207. ec_option_to_product.option_to_product_id");
  208. // Run query on database
  209. $result = mysql_query($sql);
  210. //if results, convert to an array for use in flash
  211. if(!mysql_error()) {
  212. while ($row=mysql_fetch_object($result)) {
  213. $returnArray[] = $row;
  214. }
  215. return($returnArray); //return array results if there are some
  216. } else {
  217. $returnArray[] = "error";
  218. return $returnArray; //return noresults if there are no results
  219. }
  220. }
  221. function addadvancedoption($product_id, $optionid) {
  222. //Create SQL Query
  223. $sql = sprintf("Insert into ec_option_to_product(ec_option_to_product.option_to_product_id, ec_option_to_product.option_id, ec_option_to_product.product_id, ec_option_to_product.role_label)
  224. values(Null, '%s', '%s', 'shopper')",
  225. mysql_real_escape_string($optionid),
  226. mysql_real_escape_string($product_id));
  227. mysql_query($sql);
  228. //Create SQL Query
  229. $sql = $this->escape("SELECT
  230. ec_option.option_name,
  231. ec_option.option_label,
  232. ec_option.option_type,
  233. ec_option.option_required,
  234. ec_option.option_error_text,
  235. ec_option.option_id,
  236. ec_product.model_number,
  237. ec_product.product_id,
  238. ec_option_to_product.product_id,
  239. ec_option_to_product.option_to_product_id,
  240. ec_option_to_product.option_id
  241. FROM
  242. ec_option_to_product
  243. INNER JOIN ec_product ON (ec_option_to_product.product_id = ec_product.product_id)
  244. INNER JOIN ec_option ON (ec_option_to_product.option_id = ec_option.option_id)
  245. WHERE
  246. ec_option_to_product.product_id = '".$product_id."'
  247. ORDER BY
  248. ec_option_to_product.option_to_product_id");
  249. // Run query on database
  250. $result = mysql_query($sql);
  251. //if results, convert to an array for use in flash
  252. if(!mysql_error()) {
  253. while ($row=mysql_fetch_object($result)) {
  254. $returnArray[] = $row;
  255. }
  256. return($returnArray); //return array results if there are some
  257. } else {
  258. $returnArray[] = "error";
  259. return $returnArray; //return noresults if there are no results
  260. }
  261. }
  262. function getadvancedproductoptions($product_id) {
  263. //Create SQL Query
  264. $sql = $this->escape("SELECT
  265. ec_option.option_name,
  266. ec_option.option_label,
  267. ec_option.option_type,
  268. ec_option.option_required,
  269. ec_option.option_error_text,
  270. ec_option.option_id,
  271. ec_product.model_number,
  272. ec_product.product_id,
  273. ec_option_to_product.product_id,
  274. ec_option_to_product.option_to_product_id,
  275. ec_option_to_product.option_id
  276. FROM
  277. ec_option_to_product
  278. INNER JOIN ec_product ON (ec_option_to_product.product_id = ec_product.product_id)
  279. INNER JOIN ec_option ON (ec_option_to_product.option_id = ec_option.option_id)
  280. WHERE
  281. ec_option_to_product.product_id = '".$product_id."'
  282. ORDER BY
  283. ec_option_to_product.option_to_product_id");
  284. // Run query on database
  285. $result = mysql_query($sql);
  286. //if results, convert to an array for use in flash
  287. if(mysql_num_rows($result) > 0) {
  288. while ($row=mysql_fetch_object($result)) {
  289. $returnArray[] = $row;
  290. }
  291. return($returnArray); //return array results if there are some
  292. } else {
  293. $returnArray[] = "noresults";
  294. return $returnArray; //return noresults if there are no results
  295. }
  296. }
  297. function getfeaturedproducts() {
  298. //Create SQL Query
  299. $sql = $this->escape("SELECT ec_product.product_id, ec_product.title, ec_product.model_number, ec_product.is_subscription_item FROM ec_product ORDER BY ec_product.title ASC");
  300. // Run query on database
  301. $result = mysql_query($sql);
  302. //if results, convert to an array for use in flash
  303. if(mysql_num_rows($result) > 0) {
  304. while ($row=mysql_fetch_object($result)) {
  305. $returnArray[] = $row;
  306. }
  307. return($returnArray); //return array results if there are some
  308. } else {
  309. $returnArray[] = "noresults";
  310. return $returnArray; //return noresults if there are no results
  311. }
  312. }
  313. function getproductlist() {
  314. //Create SQL Query
  315. $sql = $this->escape("SELECT ec_product.title, ec_product.product_id, ec_product.is_subscription_item FROM ec_product ORDER BY ec_product.title ASC");
  316. // Run query on database
  317. $result = mysql_query($sql);
  318. //if results, convert to an array for use in flash
  319. if(mysql_num_rows($result) > 0) {
  320. while ($row=mysql_fetch_object($result)) {
  321. $returnArray[] = $row;
  322. }
  323. return($returnArray); //return array results if there are some
  324. } else {
  325. $returnArray[] = "noresults";
  326. return $returnArray; //return noresults if there are no results
  327. }
  328. }
  329. //product functions
  330. function getproducts($startrecord, $limit, $orderby, $ordertype, $filter) {
  331. //Create SQL Query
  332. $sql = "SELECT SQL_CALC_FOUND_ROWS ec_product.* FROM ec_product WHERE ec_product.product_id != '' " . $filter . " ORDER BY ". $orderby ." ". $ordertype . " LIMIT ". $startrecord . ", ". $limit;
  333. $query = mysql_query($sql);
  334. $totalquery=mysql_query("SELECT FOUND_ROWS()");
  335. $totalrows = mysql_fetch_object($totalquery);
  336. //if results, convert to an array for use in flash
  337. if(mysql_num_rows($query) > 0) {
  338. while ($row = mysql_fetch_object($query)) {
  339. if($row->use_optionitem_images == 1) {
  340. $findimagesql = "SELECT ec_optionitemimage.image1 FROM ec_optionitemimage WHERE ec_optionitemimage.product_id = '".$row->product_id."'";
  341. $findimagequery = mysql_query($findimagesql);
  342. while ($images = mysql_fetch_array($findimagequery)) {
  343. $row->image1 = $images[0];
  344. }
  345. }
  346. $row->totalrows=$totalrows;
  347. $row->livepaymentprocessmethod = get_option('ec_option_payment_process_method');
  348. $returnArray[] = $row;
  349. }
  350. return($returnArray); //return array results if there are some
  351. } else {
  352. $returnArray[] = "noresults";
  353. return $returnArray; //return noresults if there are no results
  354. }
  355. }
  356. function duplicateproduct($productid) {
  357. // load the original record into an array
  358. $result = mysql_query(sprintf("SELECT * FROM ec_product WHERE ec_product.product_id = '%s'", mysql_real_escape_string($productid)));
  359. $original_record = mysql_fetch_assoc($result);
  360. $randmodel = rand(1000000, 10000000);
  361. // insert the new record and get the new auto_increment id
  362. mysql_query(sprintf("INSERT INTO ec_product(ec_product.product_id, ec_product.model_number) VALUES (NULL, '%s')", mysql_real_escape_string($randmodel)));
  363. $newid = mysql_insert_id();
  364. // generate the query to update the new record with the previous values
  365. $query = "UPDATE ec_product SET ";
  366. foreach ($original_record as $key => $value) {
  367. if ($key != "product_id" && $key != "model_number") {
  368. //$query .= '`'.$key.'` = "'.str_replace('"','\"',mysql_real_escape_string($value)).'", '; //removed, was adding double \\" to escape them
  369. if( $key == "stock_quantity" ){
  370. $query .= '`'.$key.'` = "0", ';
  371. }else if ($key == 'added_to_db_date') {
  372. $query .= '`'.$key.'` = NOW(), ';
  373. } else if ($key == 'views') {
  374. $query .= '`'.$key.'` = "0", ';
  375. } else {
  376. $query .= '`'.$key.'` = "'.mysql_real_escape_string($value).'", ';
  377. }
  378. }
  379. }
  380. $query = substr($query,0,strlen($query)-2); # lop off the extra trailing comma
  381. $query .= " WHERE product_id=" . $newid;
  382. mysql_query($query);
  383. //duplicate option image rows
  384. $optionimagessql = sprintf("SELECT * FROM ec_optionitemimage WHERE ec_optionitemimage.product_id = '%s'", mysql_real_escape_string($productid));
  385. $result = mysql_query($optionimagessql);
  386. while($row = mysql_fetch_assoc($result)){
  387. $sql = sprintf("INSERT INTO ec_optionitemimage(ec_optionitemimage.optionitem_id, ec_optionitemimage.image1, ec_optionitemimage.image2, ec_optionitemimage.image3, ec_optionitemimage.image4, ec_optionitemimage.image5, ec_optionitemimage.product_id) VALUES('%s', '%s', '%s', '%s', '%s', '%s', '%s')",
  388. mysql_real_escape_string($row['optionitem_id']),
  389. mysql_real_escape_string($row['image1']),
  390. mysql_real_escape_string($row['image2']),
  391. mysql_real_escape_string($row['image3']),
  392. mysql_real_escape_string($row['image4']),
  393. mysql_real_escape_string($row['image5']),
  394. mysql_real_escape_string($newid));
  395. mysql_query($sql);
  396. }
  397. //duplicate tiered pricing
  398. $tierpricingsql = sprintf("SELECT * FROM ec_pricetier WHERE ec_pricetier.product_id = '%s'", mysql_real_escape_string($productid));
  399. $result = mysql_query($tierpricingsql);
  400. while($row = mysql_fetch_assoc($result)){
  401. $sql = sprintf("INSERT INTO ec_pricetier(ec_pricetier.product_id, ec_pricetier.price, ec_pricetier.quantity) VALUES('%s', '%s', '%s')",
  402. mysql_real_escape_string($newid),
  403. mysql_real_escape_string($row['price']),
  404. mysql_real_escape_string($row['quantity']));
  405. mysql_query($sql);
  406. }
  407. //duplicate category listings
  408. $categorysql = sprintf("SELECT * FROM ec_cateogryitem WHERE ec_categoryitem.product_id = '%s'", mysql_real_escape_string($productid));
  409. $result = mysql_query($categorysql);
  410. while($row = mysql_fetch_assoc($result)){
  411. $sql = sprintf("INSERT INTO ec_cateogryitem(ec_categoryitem.product_id, ec_categoryitem.category_id) VALUES('%s', '%s')",
  412. mysql_real_escape_string($newid),
  413. mysql_real_escape_string($row['category_id']));
  414. mysql_query($sql);
  415. }
  416. //duplicate B2B role pricing
  417. $rolepricingsql = sprintf("SELECT * FROM ec_roleprice WHERE ec_roleprice.product_id = '%s'", mysql_real_escape_string($productid));
  418. $result = mysql_query($rolepricingsql);
  419. while($row = mysql_fetch_assoc($result)){
  420. $sql = sprintf("INSERT INTO ec_roleprice(ec_roleprice.product_id, ec_roleprice.role_label, ec_roleprice.role_price) VALUES('%s', '%s', '%s')",
  421. mysql_real_escape_string($newid),
  422. mysql_real_escape_string($row['role_label']),
  423. mysql_real_escape_string($row['role_price']));
  424. mysql_query($sql);
  425. }
  426. //duplicate option quantity rows
  427. $optionquantitysql = sprintf("SELECT * FROM ec_optionitemquantity WHERE ec_optionitemquantity.product_id = '%s'", mysql_real_escape_string($productid));
  428. $result = mysql_query($optionquantitysql);
  429. while($row = mysql_fetch_assoc($result)){
  430. $sql = sprintf("INSERT INTO ec_optionitemquantity(ec_optionitemquantity.optionitem_id_1, ec_optionitemquantity.optionitem_id_2, ec_optionitemquantity.optionitem_id_3, ec_optionitemquantity.optionitem_id_4, ec_optionitemquantity.optionitem_id_5, ec_optionitemquantity.quantity, ec_optionitemquantity.product_id) VALUES('%s', '%s', '%s', '%s', '%s', '%s', '%s')",
  431. mysql_real_escape_string($row['OptionItemID1']),
  432. mysql_real_escape_string($row['OptionItemID2']),
  433. mysql_real_escape_string($row['OptionItemID3']),
  434. mysql_real_escape_string($row['OptionItemID4']),
  435. mysql_real_escape_string($row['OptionItemID5']),
  436. mysql_real_escape_string($row['Quantity']),
  437. mysql_real_escape_string($newid));
  438. mysql_query($sql);
  439. }
  440. //Enqueue Quickbooks Update Customer
  441. if( file_exists( "../../../../wp-easycart-quickbooks/QuickBooks.php" ) ){
  442. $quickbooks = new ec_quickbooks( );
  443. $quickbooks->add_product( $randmodel );
  444. }
  445. // Insert a WordPress Custom post type post.
  446. $sql_product = sprintf("SELECT title FROM ec_product WHERE ec_product.model_number = '%s'", $randmodel );
  447. $result_get_product = mysql_query( $sql_product );
  448. $product = mysql_fetch_assoc( $result_get_product );
  449. $post = array( 'post_content' => "[ec_store modelnumber=\"" . $randmodel . "\"]",
  450. 'post_status' => "publish",
  451. 'post_title' => $GLOBALS['language']->convert_text( $product['title'] ),
  452. 'post_type' => "ec_store"
  453. );
  454. $post_id = wp_insert_post( $post, $wp_error );
  455. $db = new ec_db( );
  456. $db->update_product_post_id( $newid, $post_id );
  457. //if no errors, return their current Client ID
  458. //if results, convert to an array for use in flash
  459. if(!mysql_error()) {
  460. $returnArray[] ="success";
  461. return($returnArray); //return array results if there are some
  462. } else {
  463. $returnArray[] = "error";
  464. return $returnArray; //return noresults if there are no results
  465. }
  466. }
  467. function deleteproduct($productid) {
  468. //if using stripe and is subscription
  469. if (get_option( 'ec_option_payment_process_method' ) == 'stripe') {
  470. //create an object for call to stripe
  471. $stripe_plan = (object)array("product_id" => $productid);
  472. $stripe = new ec_stripe;
  473. $response = $stripe->delete_plan($stripe_plan);
  474. }
  475. //Remove Product
  476. $deletesql = $this->escape("DELETE FROM ec_product WHERE ec_product.product_id = '%s'", $productid);
  477. mysql_query($deletesql);
  478. //remove Option Item Images
  479. $deletesql = $this->escape("DELETE FROM ec_optionitemimage WHERE ec_optionitemimage.product_id = '%s'", $productid);
  480. mysql_query($deletesql);
  481. //Remove price tiers
  482. $deletesql = $this->escape("DELETE FROM ec_pricetier WHERE ec_pricetier.product_id = '%s'", $productid);
  483. mysql_query($deletesql);
  484. //Remove role pricing
  485. $deletesql = $this->escape("DELETE FROM ec_roleprice WHERE ec_roleprice.product_id = '%s'", $productid);
  486. mysql_query($deletesql);
  487. //Remove Option Item Quantity
  488. $deletesql = $this->escape("DELETE FROM ec_optionitemquantity WHERE ec_optionitemquantity.product_id = '%s'", $productid);
  489. mysql_query($deletesql);
  490. //Remove Reviews
  491. $deletesql = $this->escape("DELETE FROM ec_review WHERE ec_review.product_id = '%s'", $productid);
  492. mysql_query($deletesql);
  493. //Remove Item from Product Groupings
  494. $deletesql = $this->escape("DELETE FROM ec_categoryitem WHERE ec_categoryitem.product_id = '%s'", $productid);
  495. mysql_query($deletesql);
  496. //Delete the post for this item from WordPress
  497. wp_delete_post( $product['post_id'], true );
  498. //if no errors, return their current Client ID
  499. //if results, convert to an array for use in flash
  500. if(!mysql_error()) {
  501. $returnArray[] ="success";
  502. return($returnArray); //return array results if there are some
  503. } else {
  504. $returnArray[] = "error";
  505. return $returnArray; //return noresults if there are no results
  506. }
  507. }
  508. function updateproduct($productid, $product) {
  509. //convert object to array
  510. $product = (array)$product;
  511. // Update the WordPress entry
  512. $sql = $this->escape( "SELECT post_id FROM ec_product WHERE product_id = %d", $productid );
  513. $result = mysql_query( $sql );
  514. $result_product = mysql_fetch_array( $result );
  515. //configure default images
  516. if ($product['useoptionitemimages'] == 1) {
  517. $product['Image1'] = '';
  518. $product['Image2'] = '';
  519. $product['Image3'] = '';
  520. $product['Image4'] = '';
  521. $product['Image5'] = '';
  522. }
  523. //set default handling price
  524. $handling_price = '0';
  525. if ($product['handling_price']) $handling_price = $product['handling_price'];
  526. //set default vat rate
  527. $vat_rate = '0';
  528. if ($product['vatrate']) $vat_rate = $product['vatrate'];
  529. //Create SQL Query
  530. $sql = sprintf("UPDATE ec_product SET price = '%s', title = '%s', description = '%s', model_number = '%s', activate_in_store = '%s', manufacturer_id = '%s', image1 = '%s', image2 = '%s', image3 = '%s', image4 = '%s', image5 = '%s', is_giftcard = '%s', download_file_name = '%s', is_taxable = '%s', is_download = '%s', weight = '%s', stock_quantity = '%s', show_on_startup = '%s', menulevel1_id_1 = '%s', menulevel1_id_2 = '%s', menulevel1_id_3 = '%s', menulevel2_id_1 = '%s', menulevel2_id_2 = '%s', menulevel2_id_3 = '%s', menulevel3_id_1 = '%s', menulevel3_id_2 = '%s', menulevel3_id_3 = '%s', option_id_1 = '%s', option_id_2 = '%s', option_id_3 = '%s', option_id_4 = '%s', option_id_5 = '%s', featured_product_id_1 = '%s', featured_product_id_2 = '%s', featured_product_id_3 = '%s', featured_product_id_4 = '%s', seo_description = '%s', use_specifications = '%s', use_customer_reviews = '%s', specifications = '%s', list_price = '%s', seo_keywords = '%s', is_special = '%s', use_optionitem_images = '%s', use_optionitem_quantity_tracking = '%s', is_donation = '%s', show_stock_quantity = '%s', maximum_downloads_allowed = '%s', download_timelimit_seconds = '%s', handling_price = '%s', vat_rate= '%s', use_advanced_optionset = '%s', is_subscription_item = '%s', subscription_bill_length = '%s', subscription_bill_period = '%s', height = '%s', width = '%s', length = '%s', trial_period_days = '%s', allow_multiple_subscription_purchases = '%s', subscription_plan_id = '%s', membership_page = '%s' WHERE product_id = '%s'",
  531. mysql_real_escape_string($product['listprice']),
  532. mysql_real_escape_string($product['producttitle']),
  533. mysql_real_escape_string($product['productdescription']),
  534. mysql_real_escape_string($product['modelnumber']),
  535. mysql_real_escape_string($product['listproduct']),
  536. mysql_real_escape_string($product['productmanufacturer']),
  537. mysql_real_escape_string($product['Image1']),
  538. mysql_real_escape_string($product['Image2']),
  539. mysql_real_escape_string($product['Image3']),
  540. mysql_real_escape_string($product['Image4']),
  541. mysql_real_escape_string($product['Image5']),
  542. mysql_real_escape_string($product['isgiftcard']),
  543. mysql_real_escape_string($product['downloadid']),
  544. mysql_real_escape_string($product['taxableproduct']),
  545. mysql_real_escape_string($product['isdownload']),
  546. mysql_real_escape_string($product['productweight']),
  547. mysql_real_escape_string($product['quantity']),
  548. mysql_real_escape_string($product['featuredproduct']),
  549. mysql_real_escape_string($product['Cat1Name']),
  550. mysql_real_escape_string($product['Cat2Name']),
  551. mysql_real_escape_string($product['Cat3Name']),
  552. mysql_real_escape_string($product['Cat1bName']),
  553. mysql_real_escape_string($product['Cat2bName']),
  554. mysql_real_escape_string($product['Cat3bName']),
  555. mysql_real_escape_string($product['Cat1cName']),
  556. mysql_real_escape_string($product['Cat2cName']),
  557. mysql_real_escape_string($product['Cat3cName']),
  558. mysql_real_escape_string($product['option1']),
  559. mysql_real_escape_string($product['option2']),
  560. mysql_real_escape_string($product['option3']),
  561. mysql_real_escape_string($product['option4']),
  562. mysql_real_escape_string($product['option5']),
  563. mysql_real_escape_string($product['featureproduct1']),
  564. mysql_real_escape_string($product['featureproduct2']),
  565. mysql_real_escape_string($product['featureproduct3']),
  566. mysql_real_escape_string($product['featureproduct4']),
  567. mysql_real_escape_string($product['seoshortdescription']),
  568. mysql_real_escape_string($product['usespecs']),
  569. mysql_real_escape_string($product['allowreviews']),
  570. mysql_real_escape_string($product['specifications']),
  571. mysql_real_escape_string($product['previousprice']),
  572. mysql_real_escape_string($product['seokeywords']),
  573. mysql_real_escape_string($product['isspecial']),
  574. mysql_real_escape_string($product['useoptionitemimages']),
  575. mysql_real_escape_string($product['usequantitytracking']),
  576. mysql_real_escape_string($product['isdonation']),
  577. mysql_real_escape_string($product['show_stock_quantity']),
  578. mysql_real_escape_string($product['maximum_downloads_allowed']),
  579. mysql_real_escape_string($product['download_timelimit_seconds']),
  580. mysql_real_escape_string($product['handling_price']),
  581. mysql_real_escape_string($product['vatrate']),
  582. mysql_real_escape_string($product['use_advanced_optionset']),
  583. mysql_real_escape_string($product['issubscription']),
  584. mysql_real_escape_string($product['subscriptioninterval']),
  585. mysql_real_escape_string($product['subscriptionperiod']),
  586. mysql_real_escape_string($product['productheight']),
  587. mysql_real_escape_string($product['productwidth']),
  588. mysql_real_escape_string($product['productlength']),
  589. mysql_real_escape_string($product['trialdays']),
  590. mysql_real_escape_string($product['allowmultisubscriptions']),
  591. mysql_real_escape_string($product['subscriptionstripeplanid']),
  592. mysql_real_escape_string($product['membershippage']),
  593. mysql_real_escape_string($productid));
  594. //Run query on database;
  595. mysql_query($sql);
  596. //return mysql_error();
  597. //Enqueue Quickbooks Update Customer
  598. if( file_exists( "../../../../wp-easycart-quickbooks/QuickBooks.php" ) ){
  599. $quickbooks = new ec_quickbooks( );
  600. $quickbooks->update_product( $product['modelnumber'] );
  601. }
  602. // Insert a WordPress Custom post type post.
  603. $post = array( 'ID' => $result_product['post_id'],
  604. 'post_content' => "[ec_store modelnumber=\"" . $product['modelnumber'] . "\"]",
  605. 'post_status' => "publish",
  606. 'post_title' => $GLOBALS['language']->convert_text( $product['producttitle'] ),
  607. 'post_type' => "ec_store",
  608. 'post_name' => str_replace(' ', '-', $GLOBALS['language']->convert_text( $product['producttitle'] ) ),
  609. );
  610. $post_id = wp_update_post( $post );
  611. //if using stripe and is subscription
  612. if (get_option( 'ec_option_payment_process_method' ) == 'stripe' && $product['issubscription'] == '1') {
  613. //create an object for call to stripe
  614. $stripe_plan = (object)array(
  615. "product_id" => $productid,
  616. "title" => $product['producttitle']);
  617. $stripe = new ec_stripe;
  618. $response = $stripe->update_plan($stripe_plan);
  619. if ($response == false) {
  620. //try to insert it then
  621. //create an object for call to stripe
  622. $stripe_plan = (object)array(
  623. "price" => $product['listprice'],
  624. "product_id" => $productid,
  625. "title" => $product['producttitle'],
  626. "subscription_bill_period" => $product['subscriptionperiod'],
  627. "subscription_bill_length" => $product['subscriptioninterval'],
  628. "trial_period_days" => $product['trialdays']);
  629. $stripe = new ec_stripe;
  630. $response = $stripe->insert_plan($stripe_plan);
  631. if ($response) {
  632. $updatestripeboolean = sprintf("UPDATE ec_product SET ec_product.stripe_plan_added = '1' WHERE ec_product.product_id = '%s'", $product['product_id']);
  633. mysql_query($updatestripeboolean);
  634. }
  635. }
  636. }
  637. //if no errors, return their current Client ID
  638. //if results, convert to an array for use in flash
  639. if(!mysql_error()) {
  640. $returnArray[] ="success";
  641. return($returnArray); //return array results if there are some
  642. } else {
  643. $sqlerror = mysql_error();
  644. $error = explode(" ", $sqlerror);
  645. if ($error[0] == "Duplicate") {
  646. $returnArray[] = "duplicate";
  647. return $returnArray; //return noresults if there are no results
  648. } else {
  649. $returnArray[] = "error";
  650. return $returnArray; //return noresults if there are no results
  651. }
  652. }
  653. }
  654. function addproduct($product) {
  655. //convert object to array
  656. $product = (array)$product;
  657. if ($product['useoptionitemimages'] == 1) {
  658. $product['Image1'] = '';
  659. $product['Image2'] = '';
  660. $product['Image3'] = '';
  661. $product['Image4'] = '';
  662. $product['Image5'] = '';
  663. }
  664. //set default handling price
  665. $handling_price = '0';
  666. if ($product['handling_price']) $handling_price = $product['handling_price'];
  667. //set default vat rate
  668. $vat_rate = '0';
  669. if ($product['vatrate']) $vat_rate = $product['vatrate'];
  670. //Create SQL Query
  671. $sql = sprintf("INSERT into ec_product(ec_product.price, ec_product.title, ec_product.description, ec_product.model_number, ec_product.activate_in_store, ec_product.manufacturer_id, ec_product.image1, ec_product.image2, ec_product.image3, ec_product.image4, ec_product.image5, ec_product.is_giftcard, ec_product.download_file_name, ec_product.is_taxable, ec_product.is_download, ec_product.weight, ec_product.stock_quantity, ec_product.show_on_startup, ec_product.menulevel1_id_1, ec_product.menulevel1_id_2, ec_product.menulevel1_id_3, ec_product.menulevel2_id_1, ec_product.menulevel2_id_2, ec_product.menulevel2_id_3, ec_product.menulevel3_id_1, ec_product.menulevel3_id_2, ec_product.menulevel3_id_3, ec_product.option_id_1, ec_product.option_id_2, ec_product.option_id_3, ec_product.option_id_4, ec_product.option_id_5, ec_product.featured_product_id_1, ec_product.featured_product_id_2, ec_product.featured_product_id_3, ec_product.featured_product_id_4, ec_product.seo_description, ec_product.use_specifications, ec_product.use_customer_reviews, ec_product.specifications, ec_product.list_price, ec_product.seo_keywords, ec_product.is_special, ec_product.use_optionitem_images, ec_product.use_optionitem_quantity_tracking, ec_product.is_donation, ec_product.show_stock_quantity, ec_product.maximum_downloads_allowed, ec_product.download_timelimit_seconds, ec_product.handling_price, ec_product.vat_rate, ec_product.use_advanced_optionset, ec_product.is_subscription_item, ec_product.subscription_bill_length, ec_product.subscription_bill_period, ec_product.height, ec_product.width, ec_product.length, ec_product.trial_period_days, ec_product.allow_multiple_subscription_purchases, ec_product.subscription_plan_id, ec_product.membership_page)
  672. values('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
  673. mysql_real_escape_string($product['listprice']),
  674. mysql_real_escape_string($product['producttitle']),
  675. mysql_real_escape_string($product['productdescription']),
  676. mysql_real_escape_string($product['modelnumber']),
  677. mysql_real_escape_string($product['listproduct']),
  678. mysql_real_escape_string($product['productmanufacturer']),
  679. mysql_real_escape_string($product['Image1']),
  680. mysql_real_escape_string($product['Image2']),
  681. mysql_real_escape_string($product['Image3']),
  682. mysql_real_escape_string($product['Image4']),
  683. mysql_real_escape_string($product['Image5']),
  684. mysql_real_escape_string($product['isgiftcard']),
  685. mysql_real_escape_string($product['downloadid']),
  686. mysql_real_escape_string($product['taxableproduct']),
  687. mysql_real_escape_string($product['isdownload']),
  688. mysql_real_escape_string($product['productweight']),
  689. mysql_real_escape_string($product['quantity']),
  690. mysql_real_escape_string($product['featuredproduct']),
  691. mysql_real_escape_string($product['Cat1Name']),
  692. mysql_real_escape_string($product['Cat2Name']),
  693. mysql_real_escape_string($product['Cat3Name']),
  694. mysql_real_escape_string($product['Cat1bName']),
  695. mysql_real_escape_string($product['Cat2bName']),
  696. mysql_real_escape_string($product['Cat3bName']),
  697. mysql_real_escape_string($product['Cat1cName']),
  698. mysql_real_escape_string($product['Cat2cName']),
  699. mysql_real_escape_string($product['Cat3cName']),
  700. mysql_real_escape_string($product['option1']),
  701. mysql_real_escape_string($product['option2']),
  702. mysql_real_escape_string($product['option3']),
  703. mysql_real_escape_string($product['option4']),
  704. mysql_real_escape_string($product['option5']),
  705. mysql_real_escape_string($product['featureproduct1']),
  706. mysql_real_escape_string($product['featureproduct2']),
  707. mysql_real_escape_string($product['featureproduct3']),
  708. mysql_real_escape_string($product['featureproduct4']),
  709. mysql_real_escape_string($product['seoshortdescription']),
  710. mysql_real_escape_string($product['usespecs']),
  711. mysql_real_escape_string($product['allowreviews']),
  712. mysql_real_escape_string($product['specifications']),
  713. mysql_real_escape_string($product['previousprice']),
  714. mysql_real_escape_string($product['seokeywords']),
  715. mysql_real_escape_string($product['isspecial']),
  716. mysql_real_escape_string($product['useoptionitemimages']),
  717. mysql_real_escape_string($product['usequantitytracking']),
  718. mysql_real_escape_string($product['isdonation']),
  719. mysql_real_escape_string($product['show_stock_quantity']),
  720. mysql_real_escape_string($product['maximum_downloads_allowed']),
  721. mysql_real_escape_string($product['download_timelimit_seconds']),
  722. mysql_real_escape_string($handling_price),
  723. mysql_real_escape_string($vat_rate),
  724. mysql_real_escape_string($product['use_advanced_optionset']),
  725. mysql_real_escape_string($product['issubscription']),
  726. mysql_real_escape_string($product['subscriptioninterval']),
  727. mysql_real_escape_string($product['subscriptionperiod']),
  728. mysql_real_escape_string($product['productheight']),
  729. mysql_real_escape_string($product['productwidth']),
  730. mysql_real_escape_string($product['productlength']),
  731. mysql_real_escape_string($product['trialdays']),
  732. mysql_real_escape_string($product['allowmultisubscriptions']),
  733. mysql_real_escape_string($product['subscriptionstripeplanid']),
  734. mysql_real_escape_string($product['membershippage']));
  735. mysql_query($sql);
  736. if(mysql_error()) {
  737. $sqlerror = mysql_error();
  738. $error = explode(" ", $sqlerror);
  739. if ($error[0] == "Duplicate") {
  740. $returnArray[] = "duplicate";
  741. return $returnArray; //return noresults if there are no results
  742. }
  743. }
  744. $sql_getprodid = sprintf("SELECT product_id from ec_product WHERE ec_product.model_number = '%s'", $product['modelnumber']);
  745. $result_getprodid = mysql_query($sql_getprodid);
  746. $row_getprodid = mysql_fetch_assoc($result_getprodid);
  747. $newproductid = $row_getprodid['product_id'];
  748. $updatequantities = sprintf("UPDATE ec_optionitemquantity SET ec_optionitemquantity.product_id = '%s' WHERE ec_optionitemquantity.product_id = '%s'", $newproductid, $product['product_id']);
  749. mysql_query($updatequantities);
  750. $updateimages = sprintf("UPDATE ec_optionitemimage SET ec_optionitemimage.product_id = '%s' WHERE ec_optionitemimage.product_id = '%s'", $newproductid, $product['product_id']);
  751. mysql_query($updateimages);
  752. $updatecategories = sprintf("UPDATE ec_categoryitem SET ec_categoryitem.product_id = '%s' WHERE ec_categoryitem.product_id = '%s'", $newproductid, $product['product_id']);
  753. mysql_query($updatecategories);
  754. //if using stripe and is subscription, insert plan
  755. if (get_option( 'ec_option_payment_process_method' ) == 'stripe' && $product['issubscription'] == '1') {
  756. //create an object for call to stripe
  757. $stripe_plan = (object)array(
  758. "price" => $product['listprice'],
  759. "product_id" => $newproductid,
  760. "title" => $product['producttitle'],
  761. "subscription_bill_period" => $product['subscriptionperiod'],
  762. "subscription_bill_length" => $product['subscriptioninterval'],
  763. "trial_period_days" => $product['trialdays']);
  764. $stripe = new ec_stripe;
  765. $response = $stripe->insert_plan($stripe_plan);
  766. if ($response) {
  767. $updatestripeboolean = sprintf("UPDATE ec_product SET ec_product.stripe_plan_added = '1' WHERE ec_product.product_id = '%s'", $product['product_id']);
  768. mysql_query($updatestripeboolean);
  769. }
  770. }
  771. //Enqueue Quickbooks Update Customer
  772. if( file_exists( "../../../../wp-easycart-quickbooks/QuickBooks.php" ) ){
  773. $quickbooks = new ec_quickbooks( );
  774. $quickbooks->add_product( $product['modelnumber'] );
  775. }
  776. // Insert a WordPress Custom post type post.
  777. $post = array( 'post_content' => "[ec_store modelnumber=\"" . $product['modelnumber'] . "\"]",
  778. 'post_status' => "publish",
  779. 'post_title' => $GLOBALS['language']->convert_text( $product['producttitle'] ),
  780. 'post_type' => "ec_store"
  781. );
  782. $post_id = wp_insert_post( $post, $wp_error );
  783. $db = new ec_db( );
  784. $db->update_product_post_id( $newproductid, $post_id );
  785. //if no errors, return their current Client ID
  786. //if results, convert to an array for use in flash
  787. if(!mysql_error()) {
  788. $returnArray[] ="success";
  789. return($returnArray); //return array results if there are some
  790. } else {
  791. $sqlerror = mysql_error();
  792. $error = explode(" ", $sqlerror);
  793. if ($error[0] == "Duplicate") {
  794. $returnArray[] = "duplicate";
  795. return $returnArray; //return noresults if there are no results
  796. } else {
  797. $returnArray[] = "error";
  798. return $returnArray; //return noresults if there are no results
  799. }
  800. }
  801. }
  802. function deleteimage($productid, $imagelocation, $imagename) {
  803. //determine image location and then update databse and remove images and thumbnails
  804. if ($imagelocation == 1) {
  805. //Create SQL Query
  806. $sql = $this->escape("UPDATE ec_product SET image1='' WHERE ec_product.product_id = '%s'", $productid);
  807. //look for duplicate
  808. $duplicatesql = sprintf("SELECT product_id from ec_product WHERE ec_product.image1 = '%s'", $imagename);
  809. $duplicateresult = mysql_query($duplicatesql);
  810. if (!$duplicateresult) {
  811. if (file_exists("../../../products/pics1/".$imagename)) unlink("../../../products/pics1/".$imagename);
  812. }
  813. }
  814. if ($imagelocation == 2) {
  815. //Create SQL Query
  816. $sql = $this->escape("UPDATE ec_product SET image2='' WHERE ec_product.product_id = '%s'", $productid);
  817. //look for duplicate
  818. $duplicatesql = sprintf("SELECT product_id from ec_product WHERE ec_product.image2 = '%s'", $imagename);
  819. $duplicateresult = mysql_query($duplicatesql);
  820. if (!$duplicateresult) {
  821. if (file_exists("../../../products/pics2/".$imagename)) unlink("../../../products/pics2/".$imagename);
  822. }
  823. }
  824. if ($imagelocation == 3) {
  825. //Create SQL Query
  826. $sql = $this->escape("UPDATE ec_product SET image3='' WHERE ec_product.product_id = '%s'", $productid);
  827. //look for duplicate
  828. $duplicatesql = sprintf("SELECT product_id from ec_product WHERE ec_product.image3 = '%s'", $imagename);
  829. $duplicateresult = mysql_query($duplicatesql);
  830. if (!$duplicateresult) {
  831. if (file_exists("../../../products/pics3/".$imagename)) unlink("../../../products/pics3/".$imagename);
  832. }
  833. }
  834. if ($imagelocation == 4) {
  835. //Create SQL Query
  836. $sql = $this->escape("UPDATE ec_product SET image4='' WHERE ec_product.product_id = '%s'", $productid);
  837. //look for duplicate
  838. $duplicatesql = sprintf("SELECT product_id from ec_product WHERE ec_product.image4 = '%s'", $imagename);
  839. $duplicateresult = mysql_query($duplicatesql);
  840. if (!$duplicateresult) {
  841. if (file_exists("../../../products/pics4/".$imagename)) unlink("../../../products/pics4/".$imagename);
  842. }
  843. }
  844. if ($imagelocation == 5) {
  845. //Create SQL Query
  846. $sql = $this->escape("UPDATE ec_product SET image5='' WHERE ec_product.product_id = '%s'", $productid);
  847. //look for duplicate
  848. $duplicatesql = sprintf("SELECT product_id from ec_product WHERE ec_product.image5 = '%s'", $imagename);
  849. $duplicateresult = mysql_query($duplicatesql);
  850. if (!$duplicateresult) {
  851. if (file_exists("../../../products/pics5/".$imagename)) unlink("../../../products/pics5/".$imagename);
  852. }
  853. }
  854. //Run query on database;
  855. mysql_query($sql);
  856. //if no errors, return their current Client ID
  857. //if results, convert to an array for use in flash
  858. if(!mysql_error()) {
  859. $returnArray[] ="success";
  860. return($returnArray); //return array results if there are some
  861. } else {
  862. $sqlerror = mysql_error();
  863. $error = explode(" ", $sqlerror);
  864. if ($error[0] == "Duplicate") {
  865. $returnArray[] = "duplicate";
  866. return $returnArray; //return noresults if there are no results
  867. } else {
  868. $returnArray[] = "error";
  869. return $returnArray; //return noresults if there are no results
  870. }
  871. }
  872. }
  873. function deleteoptionitemimage($productid, $optionitemid, $imagelocation, $imagename) {
  874. //determine image location and then update databse and remove images and thumbnails
  875. if ($imagelocation == 1) {
  876. //Create SQL Query
  877. $sql = $this->escape("UPDATE ec_optionitemimage SET image1='' WHERE ec_optionitemimage.product_id = '%s' AND ec_optionitemimage.optionitemimage_id = '%s'", $productid, $optionitemid);
  878. if (file_exists("../../../products/pics1/".$imagename)) unlink("../../../products/pics1/".$imagename);
  879. }
  880. if ($imagelocation == 2) {
  881. //Create SQL Query
  882. $sql = $this->escape("UPDATE ec_optionitemimage SET image2='' WHERE ec_optionitemimage.product_id = '%s' AND ec_optionitemimage.optionitemimage_id = '%s'", $productid, $optionitemid);
  883. if (file_exists("../../../products/pics2/".$imagename)) unlink("../../../products/pics2/".$imagename);
  884. }
  885. if ($imagelocation == 3) {
  886. //Create SQL Query
  887. $sql = $this->escape("UPDATE ec_optionitemimage SET image3='' WHERE ec_optionitemimage.product_id = '%s' AND ec_optionitemimage.optionitemimage_id = '%s'", $productid, $optionitemid);
  888. if (file_exists("../../../products/pics3/".$imagename)) unlink("../../../products/pics3/".$imagename);
  889. }
  890. if ($imagelocation == 4) {
  891. //Create SQL Query
  892. $sql = $this->escape("UPDATE ec_optionitemimage SET image4='' WHERE ec_optionitemimage.product_id = '%s' AND ec_optionitemimage.optionitemimage_id = '%s'", $productid, $optionitemid);
  893. if (file_exists("../../../products/pics4/".$imagename)) unlink("../../../products/pics4/".$imagename);
  894. }
  895. if ($imagelocation == 5) {
  896. //Create SQL Query
  897. $sql = $this->escape("UPDATE ec_optionitemimage SET image5='' WHERE ec_optionitemimage.product_id = '%s' AND ec_optionitemimage.optionitemimage_id = '%s'", $productid, $optionitemid);
  898. if (file_exists("../../../products/pics5/".$imagename)) unlink("../../../products/pics5/".$imagename);
  899. }
  900. //Run query on database;
  901. mysql_query($sql);
  902. //if no errors, return their current Client ID
  903. //if results, convert to an array for use in flash
  904. if(!mysql_error()) {
  905. $returnArray[] ="success";
  906. return($returnArray); //return array results if there are some
  907. } else {
  908. $sqlerror = mysql_error();
  909. $error = explode(" ", $sqlerror);
  910. if ($error[0] == "Duplicate") {
  911. $returnArray[] = "duplicate";
  912. return $returnArray; //return noresults if there are no results
  913. } else {
  914. $returnArray[] = "error";
  915. return $returnArray; //return noresults if there are no results
  916. }
  917. }
  918. }
  919. function deletefiledownload($productid, $filename) {
  920. //Create SQL Query
  921. $sql = $this->escape("UPDATE ec_product SET ec_product.download_file_name = '' WHERE ec_product.product_id = '%s'", $productid);
  922. if (file_exists("../../../products/downloads/".$filename)) unlink("../../../products/downloads/".$filename);
  923. //Run query on database;
  924. mysql_query($sql);
  925. //if no errors, return their current Client ID
  926. //if results, convert to an array for use in flash
  927. if(!mysql_error()) {
  928. $returnArray[] ="success";
  929. return($returnArray); //return array results if there are some
  930. } else {
  931. $sqlerror = mysql_error();
  932. $error = explode(" ", $sqlerror);
  933. if ($error[0] == "Duplicate") {
  934. $returnArray[] = "duplicate";
  935. return $returnArray; //return noresults if there are no results
  936. } else {
  937. $returnArray[] = "error";
  938. return $returnArray; //return noresults if there are no results
  939. }
  940. }
  941. }
  942. }//close class
  943. ?>