function delAllImagesFromProducts($products_ids)
 {
     global $application;
     $tables = $this->getTables();
     $images_table = $tables['pi_images']['columns'];
     $query = new DB_Select();
     $query->addSelectField($images_table['image_path']);
     $query->addSelectField($images_table['thumb_path']);
     $query->Where($images_table['product_id'], DB_IN, "('" . implode("','", $products_ids) . "')");
     $res = $application->db->getDB_Result($query);
     if (count($res) > 0) {
         //$this->unlinkFiles($res);
         $query = new DB_Delete('pi_images');
         $query->deleteMultiLangField($images_table['alt_text'], $images_table['image_id'], 'Product_Images');
         $query->Where($images_table['product_id'], DB_IN, "('" . implode("','", $products_ids) . "')");
         $application->db->getDB_Result($query);
     }
     return;
 }
 function _deleteShippingMethod($method_id)
 {
     global $application;
     $tables = $this->getTables();
     // delete method
     $table = 'sm_dsr_methods';
     $columns = $tables[$table]['columns'];
     $query = new DB_Delete($table);
     $query->deleteMultiLangField($columns['method_name'], $columns['id'], 'Shipping_Module_DSR');
     $query->Where($columns['id'], DB_EQ, $method_id);
     $application->db->getDB_Result($query);
     // delete rates of deleted method
     $table = 'sm_dsr_rates';
     $columns = $tables[$table]['columns'];
     $query = new DB_Delete($table);
     $query->Where($columns['method_id'], DB_EQ, $method_id);
     $application->db->getDB_Result($query);
     if (count($this->getShippingMethods('AVAILABLE')) == 0) {
         //$this->setActive(false);
         modApiFunc("Checkout", "setModuleActive", modApiFunc("Shipping_Module_DSR", "getUid"), false);
     }
 }
 function removeCustomField($variantId, $attributeId)
 {
     global $application;
     $tables = $this->getTables();
     $piva = $tables['person_info_variants_to_attributes']['columns'];
     $pa = $tables['person_attributes']['columns'];
     $s = $this->getPersonAttributeData($variantId, $attributeId);
     // removing the field from notification infotags
     // Note: only for Billing and Shipping info
     if ($variantId == '2') {
         modApiFunc('Notifications', 'removeCustomInfoTag', 'Billing' . $s[0]['person_attribute_view_tag']);
     } elseif ($variantId == '3') {
         modApiFunc('Notifications', 'removeCustomInfoTag', 'Shipping' . $s[0]['person_attribute_view_tag']);
     }
     $d = new DB_Delete("person_attributes");
     $d->WhereValue($pa['id'], DB_EQ, $attributeId);
     $application->db->PrepareSQL($d);
     $application->db->DB_Exec();
     $d2 = new DB_Delete("person_info_variants_to_attributes");
     $d2->deleteMultiLangField($piva['name'], $piva['id'], 'Checkout');
     $d2->deleteMultiLangField($piva['descr'], $piva['id'], 'Checkout');
     $d2->WhereValue($piva['variant_id'], DB_EQ, $variantId);
     $d2->WhereAND();
     $d2->WhereValue($piva['attribute_id'], DB_EQ, $attributeId);
     $application->db->PrepareSQL($d2);
     $application->db->DB_Exec();
     if ($s[0]['input_type_id'] > 9) {
         $tables = modApiFunc('Catalog', 'getTables');
         $it = $tables['input_types']['columns'];
         $itv = $tables['input_type_values']['columns'];
         $d3 = new DB_Delete("input_types");
         $d3->WhereValue($it['id'], DB_EQ, $s[0]['input_type_id']);
         $application->db->PrepareSQL($d3);
         $application->db->DB_Exec();
         $d4 = new DB_Delete("input_type_values");
         $d4->deleteMultiLangField($itv['value'], $itv['id'], 'Catalog');
         $d4->WhereValue($itv['it_id'], DB_EQ, $s[0]['input_type_id']);
         $application->db->getDB_Result($d4);
     }
 }
 /**
  * Deletes the notification from the database.
  *
  *@return
  */
 function deleteNotification($n_id)
 {
     global $application;
     $tables = $this->getTables();
     //==========================================
     $n = $tables['notifications']['columns'];
     $query = new DB_Delete('notifications');
     $query->WhereValue($n['id'], DB_EQ, $n_id);
     $query->deleteMultiLangField($n['name'], $n['id'], 'Notifications');
     $query->deleteMultiLangField($n['subject'], $n['id'], 'Notifications');
     $query->deleteMultiLangField($n['from_email_custom_address'], $n['id'], 'Notifications');
     $query->deleteMultiLangField($n['body'], $n['id'], 'Notifications');
     $application->db->getDB_Result($query);
     //==========================================
     $ov2n = $tables['option_values_to_notification']['columns'];
     $query = new DB_Delete('option_values_to_notification');
     $query->WhereValue($ov2n['n_id'], DB_EQ, $n_id);
     $application->db->getDB_Result($query);
     //==========================================
     $nst = $tables['notification_send_to']['columns'];
     $query = new DB_Delete('notification_send_to');
     $query->WhereValue($nst['n_id'], DB_EQ, $n_id);
     $application->db->getDB_Result($query);
     //==========================================
     $nbb = $tables['notification_blocktag_bodies']['columns'];
     $query = new DB_Delete('notification_blocktag_bodies');
     $query->WhereValue($nbb['n_id'], DB_EQ, $n_id);
     $query->deleteMultiLangField($nbb['body'], $nbb['id'], 'Notifications');
     $application->db->getDB_Result($query);
 }
 /**
  * Deletes all optoin values.
  *
  * @param int $option_id - option ID
  * @return true or false
  */
 function __delAllValuesFromOption($option_id)
 {
     global $application;
     $tables = $this->getTables();
     $values = $tables['po_options_values']['columns'];
     $query = new DB_Delete('po_options_values');
     $query->deleteMultiLangField($values['value_name'], $values['value_id'], 'Product_Options');
     $query->WhereValue($values['option_id'], DB_EQ, $option_id);
     $application->db->getDB_Result($query);
     return $application->db->QueryResult;
 }
 /**
  * Deletes Display Option.
  *
  * @param
  * @return
  */
 function deleteTaxDisplayOption($id)
 {
     global $application;
     $tables = $this->getTables();
     $td = $tables['tax_display']['columns'];
     $query = new DB_Delete('tax_display');
     $query->deleteMultiLangField($td['view'], $td['id'], 'Taxes');
     $query->WhereValue($td['id'], DB_EQ, $id);
     $application->db->getDB_Result($query);
 }