function linkTempEmails($key)
 {
     global $application;
     $tables = Subscriptions::getTables();
     $table = 'subscription_temp';
     $columns =& $tables[$table]['columns'];
     $atable = 'email_address';
     $acolumns =& $tables[$atable]['columns'];
     $query = new DB_Update($table);
     $query->addUpdateTable($atable);
     $query->addUpdateExpression($columns['email_id'], $acolumns['email_id']);
     $query->addUpdateValue($columns['state'], SUBSCRIPTION_TEMP_EXISTS);
     $query->WhereValue($columns['action_key'], DB_EQ, $key);
     $query->WhereAND();
     $query->WhereField($columns['email'], DB_EQ, $acolumns['email']);
     $application->db->getDB_Result($query);
     $query = new DB_Update($table);
     $query->addUpdateValue($columns['state'], SUBSCRIPTION_TEMP_DONT_EXISTS);
     $query->WhereValue($columns['action_key'], DB_EQ, $key);
     $query->WhereAND();
     $query->WhereValue($columns['state'], DB_EQ, SUBSCRIPTION_TEMP_UNKNOWN);
     $application->db->getDB_Result($query);
 }
 function updateImagesSortOrder($product_id, $sort_order)
 {
     global $application;
     $tables = $this->getTables();
     $images_table = $tables['pi_images']['columns'];
     for ($i = 0; $i < count($sort_order); $i++) {
         $query = new DB_Update('pi_images');
         $query->addUpdateValue($images_table['sort_order'], $i);
         $query->WhereValue($images_table['product_id'], DB_EQ, $product_id);
         $query->WhereAND();
         $query->WhereValue($images_table['image_id'], DB_EQ, $sort_order[$i]);
         $application->db->PrepareSQL($query);
         $application->db->DB_Exec();
     }
     return;
 }
 /**
  * Copies the part of the updateOrder($data) functionality. It is created
  * only, because updateOrder is too hungus for the small update.
  */
 function updateOrderPersonDataAttribute($order_id, $person_info_variant_id, $person_attribute_id, $b_encrypted, $encrypted_symmetric_secret_key, $rsa_public_key_asc_format, $new_value)
 {
     global $application;
     $tables = $this->getTables();
     $opd = $tables['order_person_data']['columns'];
     $db_update = new DB_Update('order_person_data');
     $db_update->addUpdateValue($opd['value'], $new_value);
     $db_update->addUpdateValue($opd['encrypted_secret_key'], $encrypted_symmetric_secret_key);
     $db_update->addUpdateValue($opd['rsa_public_key_asc_format'], $rsa_public_key_asc_format);
     $db_update->WhereValue($opd['order_id'], DB_EQ, $order_id);
     $db_update->WhereAND();
     $db_update->WhereValue($opd['attribute_id'], DB_EQ, $person_attribute_id);
     $db_update->WhereAND();
     $db_update->WhereValue($opd['variant_id'], DB_EQ, $person_info_variant_id);
     $db_update->WhereAND();
     $db_update->WhereValue($opd['b_encrypted'], DB_EQ, $b_encrypted ? "1" : "0");
     $application->db->PrepareSQL($db_update);
     $application->db->DB_Exec();
 }
 function updateGroupAttrsSortOrder($group_name, $attrs_sort_order)
 {
     global $application;
     $tables = $this->getTables();
     $atg_table = $tables['ca_attrs_to_groups']['columns'];
     $group_info = $this->getPersonInfoGroupInfoByName($group_name);
     for ($i = 0; $i < count($attrs_sort_order); $i++) {
         $query = new DB_Update('ca_attrs_to_groups');
         $query->addUpdateValue($atg_table['sort_order'], $i);
         $query->WhereValue($atg_table['group_id'], DB_EQ, $group_info['group_id']);
         $query->WhereAND();
         $query->WhereValue($atg_table['attr_id'], DB_EQ, $attrs_sort_order[$i]);
         $application->db->PrepareSQL($query);
         $application->db->DB_Exec();
     }
     return;
 }
 /**
  * Updates Inventory data.
  *
  * @param string $parent_entity - entity name
  * @param int $entity_id - ID of the entity
  * @param $inv_data = array(
  *  '$it_id_01' => array(
  *          'sku' => string
  *          'quantity' => int
  *      )
  *   .......
  * );
  * @return bool; true if it is updated, false otherwise
  */
 function updateInventory($parent_entity, $entity_id, $inv_data)
 {
     if (!is_array($inv_data) or empty($inv_data)) {
         return true;
     }
     global $application;
     $tables = $this->getTables();
     $it_table = $tables['po_inventory']['columns'];
     foreach ($inv_data as $it_id => $it_data) {
         $query = new DB_Update('po_inventory');
         $query->addUpdateValue($it_table['sku'], $it_data['sku']);
         $query->addUpdateValue($it_table['quantity'], intval($it_data['quantity']));
         $query->WhereValue($it_table['parent_entity'], DB_EQ, $parent_entity);
         $query->WhereAND();
         $query->WhereValue($it_table['entity_id'], DB_EQ, $entity_id);
         $query->WhereAND();
         $query->WhereValue($it_table['it_id'], DB_EQ, $it_id);
         $application->db->PrepareSQL($query);
         if (!$application->db->DB_Exec()) {
             return false;
         }
     }
     return true;
 }
 function updateHotlinkExpireDate($opid, $hl_id, $ts)
 {
     global $application;
     $tables = $this->getTables();
     $hl_table = $tables['pf_hotlinks']['columns'];
     $query = new DB_Update('pf_hotlinks');
     $query->addUpdateValue($hl_table['expire_date'], $ts);
     $query->WhereValue($hl_table['order_product_id'], DB_EQ, $opid);
     $query->WhereAND();
     $query->WhereValue($hl_table['hotlink_id'], DB_EQ, $hl_id);
     $application->db->PrepareSQL($query);
     return $application->db->DB_Exec();
 }