function fn_get_aup_rates($code, $weight_data, $location, &$auth, $shipping_settings, $package_info, $origination) { if ($shipping_settings['aup_enabled'] != 'Y') { return false; } $weight = $weight_data['full_pounds'] * 453.6; //Registered Post International: price as Air Mail, plus $5, weight limit of 2kg. if ($code == 'RPI' && $weight > 2000) { return array('error' => fn_get_lang_var('illegal_item_weight')); } $request = array('Pickup_Postcode' => $origination['zipcode'], 'Destination_Postcode' => $location['zipcode'], 'Country' => $location['country'], 'Weight' => $weight, 'Length' => $shipping_settings['aup']['length'] * 10, 'Width' => $shipping_settings['aup']['width'] * 10, 'Height' => $shipping_settings['aup']['height'] * 10, 'Service_type' => $code == 'RPI' ? 'AIR' : $code, 'Quantity' => 1); list($header, $result) = fn_http_request('GET', 'http://drc.edeliver.com.au/ratecalc.asp', $request); if (!empty($result)) { $result = explode("\n", $result); if (preg_match("/charge=([\\d\\.]+)/i", $result[0], $matches)) { if (!empty($matches[1])) { $cost = (double) trim($matches[1]); if ($code == 'RPI') { $cost += (double) $shipping_settings['aup']['rpi_fee']; } if ($shipping_settings['aup']['use_delivery_confirmation'] == 'Y') { $cost += $code == 'STANDARD' || $code == 'EXPRESS' ? (double) $shipping_settings['aup']['delivery_confirmation_cost'] : (double) $shipping_settings['aup']['delivery_confirmation_international_cost']; } return array('cost' => $cost); } else { if (defined('SHIPPING_DEBUG') && preg_match("/err_msg=([\\w ]*)/i", $result[2], $matches)) { return array('error' => $matches[1]); } } } } return false; }
function fn_init_search() { fn_search_init_object(); fn_search_register_object('products', 'fn_create_products_condition', array('type' => 'extended', 'pshort' => 'Y', 'pfull' => 'Y', 'pname' => 'Y', 'pkeywords' => 'Y'), fn_get_lang_var('products'), 'fn_gather_additional_product_data_for_search'); fn_search_register_object('pages', 'fn_create_pages_condition', array('pdescr' => 'Y', 'pname' => 'Y'), fn_get_lang_var('pages'), ''); fn_set_hook('search_init'); }
function fn_settings_actions_addons_webmail(&$new_value, $old_value) { if ($new_value == 'A') { // Copy data directory to "var" $dir_data = DIR_ROOT . '/var/webmail'; if (fn_copy(DIR_ADDONS . 'webmail/lib/webmail/data', $dir_data) == false) { $msg = fn_get_lang_var('text_cannot_write_directory'); fn_set_notification('E', fn_get_lang_var('error'), str_replace('[directory]', $dir_data, $msg)); $new_value = 'D'; return false; } $config = Registry::get('config'); $_settings = $dir_data . '/settings/settings.xml'; // 1 step, generate config file $xml = simplexml_load_file($_settings); $xml->Common->DBLogin = $config['db_user']; $xml->Common->DBPassword = $config['db_password']; $xml->Common->DBName = $config['db_name']; $xml->Common->DBHost = $config['db_host']; if (fn_put_contents($_settings, $xml->asXML()) == false) { $msg = fn_get_lang_var('cannot_write_file'); fn_set_notification('E', fn_get_lang_var('error'), str_replace('[file]', $_settings, $msg)); $new_value = 'D'; return false; } include DIR_ADDONS . 'webmail/lib/webmail/web/class_settings.php'; include DIR_ADDONS . 'webmail/lib/webmail/web/class_dbstorage.php'; // Init mailbee core $null = null; $settings =& Settings::CreateInstance(); $dbStorage =& DbStorageCreator::CreateDatabaseStorage($null); $dbStorage->Connect(); $dbStorage->CreateTables($settings->DbPrefix); } }
function fn_insurance_calculate_cart(&$cart, $cart_products, $auth, $calculate_shipping, $calculate_taxes, $apply_cart_promotions) { // Set default value // [eileen] // if (!isset($cart['is_insurance'])) { // $cart['is_insurance'] = Registry::get('addons.insurance.enabled_by_default') == 'Y' ? 'Y' : 'N'; $cart['is_insurance'] = Registry::get('addons.insurance.enabled_by_default') == 'Y' ? 'Y' : (!isset($cart['is_insurance']) ? 'N' : $cart['is_insurance']); // } // [/eileen] // Set setting from checkbox if (isset($_GET['is_insurance'])) { if ($_GET['is_insurance'] == 'Y') { $cart['is_insurance'] = 'Y'; fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('insurance_is_on')); } elseif ($_GET['is_insurance'] == 'N') { $cart['is_insurance'] = 'N'; fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('insurance_is_off')); } } // Add insurance cost to total if ($cart['is_insurance'] == 'Y') { $cart['insurance_cost'] = fn_format_price(floatval(Registry::get('addons.insurance.price'))); $cart['total'] = fn_format_price($cart['total'] + $cart['insurance_cost']); } }
/** * Reverse IP filter */ function fn_settings_actions_addons_access_restrictions_admin_reverse_ip_access(&$new_value, $old_value) { $ip = fn_get_ip(true); if ($new_value == 'Y') { $ip_data = db_get_row("SELECT item_id, status FROM ?:access_restriction WHERE ip_from = ?i AND ip_to = ?i AND type IN ('aas', 'aab', 'aar')", $ip['host'], $ip['host']); if (empty($ip_data) || empty($ip_data['item_id'])) { // Add IP $restrict_ip = array('ip_from' => $ip['host'], 'ip_to' => $ip['host'], 'type' => 'aas', 'timestamp' => TIME, 'expires' => '0', 'status' => 'A'); $__data = array(); $__data['item_id'] = db_query("REPLACE INTO ?:access_restriction ?e", $restrict_ip); $__data['type'] = 'aas'; foreach ((array) Registry::get('languages') as $__data['lang_code'] => $_v) { $__data['reason'] = fn_get_lang_var('store_admin', $__data['lang_code']); db_query("REPLACE INTO ?:access_restriction_reason_descriptions ?e", $__data); } fn_set_notification('W', fn_get_lang_var('warning'), str_replace('[ip]', long2ip($ip['host']), fn_get_lang_var('your_ip_added'))); } elseif (empty($ip_data['status']) || $ip_data['status'] != 'A') { // Change IP status to available db_query("UPDATE ?:access_restriction SET ?u WHERE item_id = ?i", array('status' => 'A'), $ip_data['item_id']); fn_set_notification('W', fn_get_lang_var('warning'), str_replace('[ip]', long2ip($ip['host']), fn_get_lang_var('your_ip_enabled'))); } } else { // Delete IP $ips_data = db_get_array("SELECT item_id, type FROM ?:access_restriction WHERE ip_from <= ?i AND ip_to >= ?i AND type IN ('aas', 'aab', 'aar')", $ip['host'], $ip['host']); if (!empty($ips_data)) { foreach ($ips_data as $ip_data) { db_query("DELETE FROM ?:access_restriction WHERE item_id = ?i", $ip_data['item_id']); db_query("DELETE FROM ?:access_restriction_reason_descriptions WHERE item_id = ?i AND type = ?s", $ip_data['item_id'], $ip_data['type']); } fn_set_notification('W', fn_get_lang_var('warning'), str_replace('[ip]', long2ip($ip['host']), fn_get_lang_var('your_ip_removed'))); } } return true; }
function fn_exim_put_product_combination($product_id, $product_name, $combination_code, $combination, $amount, &$counter, $lang_code = CART_LANGUAGE) { $pair_delimiter = ':'; $set_delimiter = ','; if (!empty($combination)) { // Get product_id $object_id = 0; if (!empty($product_id)) { $object_exists = db_get_field('SELECT COUNT(*) FROM ?:products WHERE product_id = ?i', $product_id); if ($object_exists) { $object_id = $product_id; } } if (empty($object_id) && !empty($product_name)) { $object_id = db_get_field('SELECT product_id FROM ?:product_descriptions WHERE product = ?s AND lang_code = ?s', $product_name, $lang_code); } if (empty($object_id)) { $counter['S']++; return false; } $options = explode($set_delimiter, $combination); if (!empty($options)) { $_combination = array(); foreach ($options as $option_pair) { $pair = explode($pair_delimiter, $option_pair); if (is_array($pair)) { array_walk($pair, 'fn_trim_helper'); $option_id = db_get_field("SELECT o.option_id FROM ?:product_options_descriptions as d INNER JOIN ?:product_options as o ON o.option_id = d.option_id AND o.product_id = ?i WHERE d.option_name = ?s AND d.lang_code = ?s LIMIT 1", $object_id, $pair[0], $lang_code); $variant_id = db_get_field("SELECT v.variant_id FROM ?:product_option_variants_descriptions as d INNER JOIN ?:product_option_variants as v ON v.variant_id = d.variant_id AND v.option_id = ?i WHERE d.variant_name = ?s AND d.lang_code = ?s LIMIT 1", $option_id, $pair[1], $lang_code); if (empty($option_id) || empty($variant_id)) { $counter['S']++; return false; } $_combination[$option_id] = $variant_id; } } $combination = fn_get_options_combination($_combination); $combination_hash = fn_generate_cart_id($object_id, array('product_options' => $_combination)); $object_exists = db_get_field('SELECT COUNT(*) FROM ?:product_options_inventory WHERE combination_hash = ?i AND product_id = ?i', $combination_hash, $object_id); $_data = array('product_id' => $object_id, 'product_code' => $combination_code, 'combination_hash' => $combination_hash, 'combination' => $combination, 'amount' => $amount); if ($object_exists) { db_query('UPDATE ?:product_options_inventory SET ?u WHERE combination_hash = ?i', $_data, $combination_hash); fn_echo(fn_get_lang_var('updating') . ' ' . fn_get_lang_var('product_combinations') . '...'); $counter['E']++; } else { db_query('INSERT INTO ?:product_options_inventory ?e', $_data); fn_echo(fn_get_lang_var('creating') . ' ' . fn_get_lang_var('product_combinations') . '...'); $counter['N']++; } fn_echo('<b>' . $object_id . '</b>.<br />'); return $combination; } } $counter['S']++; return false; }
function fn_settings_actions_addons_seo_html_catalog(&$new_value, $old_value) { if ($new_value == 'Y') { if (!is_writable(DIR_ROOT . '/catalog')) { $s = fn_get_lang_var('text_cannot_write_directory'); fn_set_notification('E', fn_get_lang_var('error'), str_replace('[directory]', DIR_ROOT . '/catalog', $s)); $new_value = 'N'; } } return true; }
function fn_delete_affiliate_groups($group_ids) { $groups_names = array(); foreach ($group_ids as $group_id) { $groups_names[] = fn_get_group_name($group_id, DESCR_SL); db_query("DELETE FROM ?:aff_group_descriptions WHERE group_id = ?i", $group_id); db_query("DELETE FROM ?:aff_groups WHERE group_id = ?i", $group_id); } if (!empty($groups_names)) { $groups_names = ' - ' . implode('<br /> - ', $groups_names); fn_set_notification('N', fn_get_lang_var('information'), fn_get_lang_var('deleted_product_groups') . ':<br />' . $groups_names); } }
/** * Get list of objects, available for revisioning */ function fn_settings_variants_general_active_revisions_objects() { include_once DIR_CORE . 'fn.revisions.php'; fn_init_revisions(); $revisions = Registry::get('revisions'); if (empty($revisions['objects'])) { return array(); } $data = array(); foreach ($revisions['objects'] as $object => $entry) { $data[$object] = fn_get_lang_var($entry['title']); } return $data; }
function dev_link_images($file, $delete_links = null) { /** * F*****g parser * it sucks * return dick */ $handle = fopen($file, 'r'); $i = 0; $some_uploaded = 0; $products = array(); set_time_limit(2000000000); ini_set('memory_limit', '12582912222222222222222'); while (($row = fgetcsv($handle, 1000, ';')) !== false) { if ($i > 0) { /* пропускаем первую строку с названиями колонок */ $article = $row[0]; $image = $row[3]; $small = $row[1]; //формируем массив для альтернативных изображений for ($j = 3; $j < 8; $j++) { $alt[$j - 1] = $row[$j]; } if ($delete_links != null) { //находим id продукта с артикулем из цсв файла $q = db_query("SELECT `product_id` FROM `cscart_products` WHERE `product_code` = '" . $article . "'"); $product_id = mysql_result($q, 0); if (!empty($product_id)) { //удаляем связи db_query("DELETE FROM `cscart_images_links` WHERE `object_id` = " . $product_id . " AND `type` = 'A' "); $s_image_id = null; //соответсвено записей больше нету. $deleted = 1; } } $image_file = '' . DIR_ROOT . '/images/uploaded/products/' . $image . ''; if (!file_exists($image_file)) { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('Не был загружен файл: ' . $image . '')); $ers = 1; } else { //находим размеры нужного изображения $sizes = getimagesize('' . DIR_ROOT . '/images/uploaded/products/' . $image . ''); $sizes_small = getimagesize('' . DIR_ROOT . '/images/uploaded/products/' . $small . ''); //находим id продукта с артикулем из цсв файла $q = db_query("SELECT * FROM cscart_products WHERE `product_code` = '{$article}' "); $product_id = mysql_result($q, 0); //делаем проверку, есть ли уже изображение у этого товара $qu = db_query("SELECT `detailed_id` FROM `cscart_images_links` WHERE `object_id` = '" . $product_id . "' AND `type` = 'M'"); $s = mysql_num_rows($qu); if ($s > 0) { $s_image_id = mysql_result($qu, 0); } $pair_id_query = db_query("SELECT `pair_id` FROM `cscart_images_links` WHERE `object_id` = '" . (int) $product_id . "' AND `type` = 'M'"); $pair_id_rows = mysql_num_rows($pair_id_query); if ($pair_id_rows > 0) { $s_pair_id = mysql_result($pair_id_query, 0); } if ($pair_id_rows > 1) { for ($counter = 1; $counter < $pair_id_rows; $counter++) { $to_del_pair_id = mysql_result($pair_id_query, $counter); db_query("DELETE FROM `cscart_images_links` WHERE `pair_id` = " . $to_del_pair_id . ""); } } /* if($delete_links != null) { var_dump('vreadly'); //удаляем связи db_query("DELETE FROM `cscart_images_links` WHERE `object_id` = ".$product_id.""); $s_image_id = null; //соответсвено записей больше нету. } */ if (!empty($s_image_id)) { //находим название старого файла $oldim = db_query("SELECT `image_path` FROM `cscart_images` WHERE `image_id` = '" . $s_image_id . "'"); $oldimg = mysql_result($oldim, 0); //обновляем запись db_query("UPDATE `cscart_images` SET `image_path` = '" . $image . "', `image_x` = '" . $sizes[0] . "',\n\t\t\t\t\t\t `image_y` = '" . $sizes[1] . "'\tWHERE `cscart_images`.`image_id` = '" . $s_image_id . "'"); //ОБНОВЛЯЕМ ОБЕ ПОЗИЦИИ db_query("UPDATE `cscart_images_links` SET `image_id` = '" . $s_image_id . "', `TYPE` = 'M', `detailed_id` = '" . $s_image_id . "' WHERE `pair_id` = '" . $s_pair_id . "' LIMIT 1 ;"); //формируем полный путь к файлу который надо удалить $folder = floor($s_image_id / 1000); $dest_to_del = '' . DIR_ROOT . '/images/product/' . $folder . '/' . $oldimg . ''; $detailed_to_del = '' . DIR_ROOT . '/images/detailed/' . $folder . '/' . $oldimg . ''; //удаляем //unlink($dest_to_del); //unlink($detailed_to_del); } else { db_query("INSERT INTO `cscart_images` (`image_id`, `image_path`, `image_x`, `image_y`) VALUES (NULL, '" . $image . "', '" . $sizes[0] . "', '" . $sizes[1] . "')"); $image_id = mysql_insert_id(); //получаем айди записи db_query("INSERT INTO `cscart_images` (`image_id`, `image_path`, `image_x`, `image_y`) VALUES (NULL, '" . $small . "', '" . $sizes_small[0] . "', '" . $sizes_small[1] . "')"); $image_small_id = mysql_insert_id(); //получаем айди записи //создаем запись в таблице images_links тем самым привязываем фото с продуктом, помечаем изображение как альтернативное db_query("INSERT INTO `cscart_images_links` (`pair_id`, `object_id`, `object_type`, `image_id`, `detailed_id`, `type`) VALUES (NULL, '" . $product_id . "', 'product', '" . $image_id . "', '" . $image_id . "', 'M')"); $folder = floor($image_id / 1000); } $dest = '' . DIR_ROOT . '/images/product/' . $folder . '/' . $image . ''; $detailed = '' . DIR_ROOT . '/images/detailed/' . $folder . '/' . $image . ''; $dest_f = '' . DIR_ROOT . '/images/product/' . $folder . '/'; $detailed_f = '' . DIR_ROOT . '/images/detailed/' . $folder . '/'; //если нет такой дериктории - создаем её if (!is_dir($dest_f)) { mkdir($dest_f, 0777); mkdir($detailed_f, 0777); } if (copy($image_file, $dest)) { $some_uploaded = 1; seal_watermark($dest, $detailed); // unlink($image_file); } } foreach ($alt as $al) { if (!empty($al)) { dev_alt_execute($article, $al); } } } $i++; } if ($some_uploaded == 1) { fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('Изображения были присвоены к товару!')); } if ($ers == 1) { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('не все изображения были загружены') . $image_file); } if ($deleted == 1) { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('Связи были удаленны!')); } }
die('Access denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($mode == 'export_to_iif') { header('Content-type: text/csv'); header('Content-disposition: attachment; filename=orders.iif'); foreach ($_REQUEST['order_ids'] as $k => $v) { $orders[$k] = fn_get_order_info($v); } $order_users = $order_products = array(); foreach ($orders as $k => $v) { $order_users[$v['user_id'] . '_' . $v['email']] = $v; foreach ($v['items'] as $key => $value) { $order_products[$value['cart_id']] = $value; if (!empty($value['product_options'])) { $selected_options = '; ' . fn_get_lang_var('product_options') . ': '; foreach ($value['product_options'] as $option) { $selected_options .= "{$option['option_name']}: {$option['variant_name']};"; } $order_products[$value['cart_id']]['selected_options'] = $selected_options; } } } $view->assign('_d', ' '); $view->assign('orders', $orders, false); $view->assign('order_users', $order_users, false); $view->assign('order_products', $order_products, false); $view->display('addons/quickbooks/views/orders/components/export_to_iif.tpl'); exit; } }
$post['home_page'] = $current_location; $post['acceptcards'] = 1; $post['acceptchecks'] = 1; $post['accepteft'] = 1; $post['passback'] = 'cntrl'; $post['lookup'] = 'xid'; $lang_postfix = ''; if (CART_LANGUAGE == 'ES') { $lang_postfix = '_esp'; } elseif (CART_LANGUAGE == 'FR') { $lang_postfix = '_french'; } $form_tag = '<form method="post" action="https://secure.paymentclearing.com/cgi-bin/mas/split' . $lang_postfix . '.cgi" name="process">'; echo <<<EOT <html> <body onLoad="document.process.submit();"> {$form_tag} EOT; foreach ($post as $name => $value) { echo "<input type=\"hidden\" name=\"{$name}\" value=\"{$value}\" />\n"; } $msg = fn_get_lang_var('text_cc_processor_connection'); $msg = str_replace('[processor]', 'iTransact', $msg); echo <<<EOT </form> <p><div align=center>{$msg}</div></p> </body> </html> EOT; exit; }
/** * Creates message and assigns Mailer. If the message is * not sent successfully then it returns false. Use the ErrorInfo * variable to view description of the error. * @return bool */ public function Send() { try { if (count($this->to) + count($this->cc) + count($this->bcc) < 1) { throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL); } // Set whether the message is multipart/alternative if (!empty($this->AltBody)) { $this->ContentType = 'multipart/alternative'; } $this->error_count = 0; // reset errors $this->SetMessageType(); $header = $this->CreateHeader(); $body = $this->CreateBody(); if (empty($this->Body)) { throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL); } // digitally sign with DKIM if enabled if ($this->DKIM_domain && $this->DKIM_private) { $header_dkim = $this->DKIM_Add($header, $this->Subject, $body); $header = str_replace("\r\n", "\n", $header_dkim) . $header; } // Choose the mailer and send through it switch ($this->Mailer) { case 'sendmail': return $this->SendmailSend($header, $body); case 'smtp': return $this->SmtpSend($header, $body); default: return $this->MailSend($header, $body); } } catch (phpmailerException $e) { $this->SetError($e->getMessage()); if ($this->exceptions) { throw $e; } if (function_exists('fn_set_notification')) { fn_set_notification('E', fn_get_lang_var('error'), $e->getMessage()); } else { echo $e->getMessage() . "\n"; } return false; } }
function fn_reports_get_conditions($conditions) { $result = array(); foreach ($conditions as $key => $value) { $result[$key]['objects'] = array(); if ($key == "order") { foreach ($value as $v) { $result[$key]['objects'][] = array('href' => 'orders.details?order_id=' . $v, 'name' => '#' . $v); } $result[$key]['name'] = fn_get_lang_var('orders'); } elseif ($key == "status") { $order_status_descr = fn_get_statuses(STATUSES_ORDER, true, true, true); foreach ($value as $k => $v) { $result[$key]['objects'][]['name'] = $order_status_descr[$v]; } $result[$key]['name'] = fn_get_lang_var('status'); } elseif ($key == "payment") { foreach ($value as $k => $v) { $result[$key]['objects'][]['name'] = db_get_field("SELECT payment FROM ?:payment_descriptions WHERE payment_id = ?i AND lang_code = ?s", $v, CART_LANGUAGE); } $result[$key]['name'] = fn_get_lang_var('payment_methods'); } elseif ($key == "location") { foreach ($value as $k => $v) { $result[$key]['objects'][]['name'] = db_get_field("SELECT destination FROM ?:destination_descriptions WHERE destination_id = ?i AND lang_code = ?s", $v, CART_LANGUAGE); } $result[$key]['name'] = fn_get_lang_var('locations'); } elseif ($key == "user") { foreach ($value as $v) { $result[$key]['objects'][] = array('href' => 'profiles.update?user_id=' . $v, 'name' => $v); } $result[$key]['name'] = fn_get_lang_var('users'); } elseif ($key == "category") { foreach ($value as $k => $v) { $result[$key]['objects'][] = array('href' => 'categories.update?category_id=' . $v, 'name' => db_get_field("SELECT category FROM ?:category_descriptions WHERE category_id = ?i AND lang_code = ?s", $v, CART_LANGUAGE)); } $result[$key]['name'] = fn_get_lang_var('categories'); } elseif ($key == "product") { foreach ($value as $v) { $result[$key]['objects'][] = array('href' => 'products.update&product_id=' . $v, 'name' => $v); } $result[$key]['name'] = fn_get_lang_var('products'); } } return $result; }
$_REQUEST['page'] = $page; } $_SESSION['discussion_post_id'] = $_REQUEST['post_id']; return array(CONTROLLER_STATUS_REDIRECT, fn_query_remove(Registry::get('config.current_url'), 'page', 'post_id')); } } } $show_discussion_crumb = true; if ($data['object_type'] == 'E') { // testimonials $show_discussion_crumb = false; } $discussion_object_data = fn_get_discussion_object_data($data['object_id'], $data['object_type']); fn_add_breadcrumb($discussion_object_data['description'], $discussion_object_data['url']); if ($show_discussion_crumb && AREA != 'A') { fn_add_breadcrumb(fn_get_lang_var('discussion')); } if (!empty($_SESSION['discussion_post_id'])) { $view->assign('current_post_id', $_SESSION['discussion_post_id']); unset($_SESSION['discussion_post_id']); } $view->assign('object_id', $data['object_id']); $view->assign('title', $discussion_object_data['description']); $view->assign('object_type', $data['object_type']); } function fn_discussion_get_object_by_thread($thread_id) { static $cache = array(); if (empty($cache[$thread_id])) { $cache[$thread_id] = db_get_row("SELECT object_type, object_id, type FROM ?:discussion WHERE thread_id = ?i", $thread_id); }
function fn_auth_routines($request) { $status = true; $user_login = $_REQUEST['user_login']; $password = $_POST['password']; $field = Registry::get('settings.General.use_email_as_login') == 'Y' ? 'email' : 'user_login'; $user_data = db_get_row("SELECT * FROM ?:users WHERE {$field} = ?s", $user_login); if (!empty($user_data)) { $user_data['usergroups'] = fn_get_user_usergroups($user_data['user_id']); } fn_set_hook('auth_routines', $status, $user_data); if (!empty($user_data['user_type']) && $user_data['user_type'] != 'A' && AREA == 'A') { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('error_area_access_denied')); $status = false; } if (!empty($user_data['status']) && $user_data['status'] == 'D') { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('error_account_disabled')); $status = false; } return array($status, $user_data, $user_login, $password); }
// // $Id: pages.post.php 7502 2009-05-19 14:54:59Z zeke $ // if (!defined('AREA')) { die('Access denied'); } /* POST data processing */ if ($_SERVER['REQUEST_METHOD'] == 'POST') { // // Processing multiple updating of page elements // /*if ($mode == 'm_update') { if (is_array($pages_description)) { foreach ($pages_description as $k => $v) { if (!empty($pages_description[$k]['page']) && isset($pages_description[$k]['seo_name'])) { $page_data = fn_get_page_data($k, CART_LANGUAGE); $object_name = (!empty($pages_description[$k]['seo_name'])) ? $pages_description[$k]['seo_name'] : $pages_description[$k]['page']; fn_create_seo_name($page_data['page_inner_id'], "a", $object_name); } } } }*/ } if ($mode == 'm_update') { if (!empty($selected_fields['seo_name'])) { $field_groups['A']['seo_name'] = 'pages_description'; $filled_groups['A']['seo_name'] = fn_get_lang_var('seo_name'); } } /* /POST data processing */
<?php // // $Id: products.post.php 8413 2009-12-16 12:45:19Z imac $ // if (!defined('AREA')) { die('Access denied'); } if ($mode == 'update') { $is_restricted = false; $show_notice = false; fn_set_hook('buy_together_restricted_product', $_REQUEST['product_id'], $auth, $is_restricted, $show_notice); if (!$is_restricted) { Registry::set('navigation.tabs.buy_together', array('title' => fn_get_lang_var('buy_together'), 'js' => true)); $params = array('product_id' => $_REQUEST['product_id']); $chains = fn_buy_together_get_chains($params, array(), DESCR_SL); $view->assign('chains', $chains); } }
function fn_access_restrictions_user_init(&$auth, &$user_info) { $iplong = fn_get_ip(true); $acc_r = Registry::get('addons.access_restrictions'); // Get block ip settings, if it should be blocked then add it to the restricted ips if (AREA == 'A' && $acc_r['unsuccessful_attempts_login'] == 'Y' || AREA != 'A' && $acc_r['unsuccessful_attempts_login_customer'] == 'Y') { $block = db_get_row("SELECT * FROM ?:access_restriction_block WHERE ip >= ?i", $iplong['host']); $failed_atempts = AREA == 'A' ? $acc_r['number_unsuccessful_attempts'] : $acc_r['number_unsuccessful_attempts_customer']; if (!empty($block) && $block['tries'] >= $failed_atempts) { $time_block = AREA == 'A' ? $acc_r['time_block'] : $acc_r['time_block_customer']; $restrict_ip = array('ip_from' => $iplong['host'], 'ip_to' => $iplong['host'], 'type' => AREA == 'A' ? 'aab' : 'ipb', 'timestamp' => TIME, 'expires' => TIME + round($time_block * 3600), 'status' => 'A'); $__data['item_id'] = db_query("REPLACE INTO ?:access_restriction ?e", $restrict_ip); $__data['type'] = AREA == 'A' ? 'aab' : 'ipb'; foreach ((array) Registry::get('languages') as $__data['lang_code'] => $v) { $__data['reason'] = str_replace("[number]", $failed_atempts, fn_get_lang_var('text_ip_blocked_failed_login', $__data['lang_code'])); db_query("REPLACE INTO ?:access_restriction_reason_descriptions ?e", $__data); } db_query("DELETE FROM ?:access_restriction_block WHERE ip = ?i", $block['ip']); } } db_query("DELETE FROM ?:access_restriction_block WHERE expires < ?i", TIME); db_query("DELETE FROM ?:access_restriction WHERE (type = 'ipb' OR type = 'aab') AND expires < ?i", TIME); $ar_type = AREA != 'A' ? "a.type IN ('ips', 'ipr', 'ipb')" : "a.type IN ('aas', 'aar', 'aab')"; $restricted = db_get_row("SELECT a.item_id, b.reason FROM ?:access_restriction as a LEFT JOIN ?:access_restriction_reason_descriptions as b ON a.item_id = b.item_id AND a.type = b.type AND lang_code = ?s WHERE ip_from <= ?i AND ip_to >= ?i AND {$ar_type} AND status = 'A'", CART_LANGUAGE, $iplong['host'], $iplong['host']); if ($restricted && (AREA != 'A' || $acc_r['admin_reverse_ip_access'] != 'Y')) { die(!empty($restricted['reason']) ? $restricted['reason'] : fn_get_lang_var('text_ip_is_blocked')); } elseif (!$restricted && $acc_r['admin_reverse_ip_access'] == 'Y' && AREA == 'A') { die(fn_get_lang_var('text_ips_denied')); } // Check for domain restrictions if (empty($_SESSION['access_domain'])) { $ip = fn_get_ip(); fn_domain_is_blocked(gethostbyaddr($ip['host'])); $_SESSION['access_domain'] = gethostbyaddr($ip['host']); } }
<?php // // $Id: schema.php 8006 2009-09-17 07:17:39Z alexions $ // if (!defined('AREA')) { die('Access denied'); } $schema = array('fields' => array('product_id' => array('title' => fn_get_lang_var('product_id'), 'sort_by' => ''), 'product' => array('title' => fn_get_lang_var('product_name'), 'sort_by' => 'product'), 'min_qty' => array('title' => fn_get_lang_var('min_order_qty'), 'sort_by' => ''), 'max_qty' => array('title' => fn_get_lang_var('max_order_qty'), 'sort_by' => ''), 'product_code' => array('title' => fn_get_lang_var('product_code'), 'sort_by' => 'code'), 'amount' => array('title' => fn_get_lang_var('amount'), 'sort_by' => 'amount'), 'price' => array('title' => fn_get_lang_var('price'), 'sort_by' => 'price'), 'weight' => array('title' => fn_get_lang_var('weight'), 'sort_by' => 'weight'), 'image' => array('title' => fn_get_lang_var('image'), 'sort_by' => '')));
$view->assign('filter_features', $filters); } // [Breadcrumbs] $parent_ids = explode('/', $category_data['id_path']); array_pop($parent_ids); if (!empty($parent_ids)) { $cats = fn_get_category_name($parent_ids); foreach ($parent_ids as $c_id) { fn_add_breadcrumb($cats[$c_id], "categories.view?category_id={$c_id}"); } } fn_add_breadcrumb($category_data['category'], empty($_REQUEST['features_hash']) && empty($_REQUEST['advanced_filter']) ? '' : "categories.view?category_id={$_REQUEST['category_id']}"); if (!empty($params['features_hash'])) { fn_add_filter_ranges_breadcrumbs($params, "categories.view?category_id={$_REQUEST['category_id']}"); } elseif (!empty($_REQUEST['advanced_filter'])) { fn_add_breadcrumb(fn_get_lang_var('advanced_filter')); } // [/Breadcrumbs] } else { return array(CONTROLLER_STATUS_NO_PAGE); } } elseif ($mode == 'picker') { $category_count = db_get_field("SELECT COUNT(*) FROM ?:categories"); if ($category_count < CATEGORY_THRESHOLD) { $params = array('simple' => false); list($categories_tree, ) = fn_get_categories($params); $view->assign('show_all', true); } else { $params = array('category_id' => $_REQUEST['category_id'], 'current_category_id' => $_REQUEST['category_id'], 'visible' => true, 'simple' => false); list($categories_tree, ) = fn_get_categories($params); }
function fn_companies_update_logos($company_id, $old_logos) { $logotypes = fn_filter_uploaded_data('logotypes'); $areas = fn_companies_get_manifest_definition(); // Update company logotypes if (!empty($logotypes)) { $logos = $old_logos; foreach ($logotypes as $type => $logo) { $area = $areas[$type]; $short_name = "company/{$company_id}/{$type}_{$logo['name']}"; $filename = DIR_IMAGES . $short_name; fn_mkdir(dirname($filename)); if (fn_copy($logo['path'], $filename)) { list($w, $h, ) = fn_get_image_size($filename); $logos[$area['name']] = array('vendor' => 1, 'filename' => $short_name, 'width' => $w, 'height' => $h); } else { $text = fn_get_lang_var('text_cannot_create_file'); $text = str_replace('[file]', $filename, $text); fn_set_notification('E', fn_get_lang_var('error'), $text); } @unlink($logo['path']); } $logos = serialize($logos); db_query("UPDATE ?:companies SET logos = ?s WHERE company_id = ?i", $logos, $company_id); } fn_save_logo_alt($areas, $company_id); }
<?php /*************************************************************************** * * * Copyright (c) 2004 Simbirsk Technologies Ltd. All rights reserved. * * * * This is commercial software, only users who have purchased a valid * * license and accept to the terms of the License Agreement can install * * and use this program. * * * **************************************************************************** * PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE * * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ // // $Id: states.php 10229 2010-07-27 14:21:39Z 2tl $ // if (!defined('AREA')) { die('Access denied'); } $schema = array('section' => 'restricted', 'pattern_id' => 'restricted_locator', 'name' => fn_get_lang_var('restricted'), 'key' => array('restricted_location_id'), 'table' => 'restricted_locations', 'references' => array('restricted_location_descriptions' => array('reference_fields' => array('restricted_location_id' => '#key', 'lang_code' => '@lang_code'), 'join_type' => 'LEFT')), 'options' => array('lang_code' => array('title' => 'language', 'type' => 'languages')), 'export_fields' => array('City' => array('db_field' => 'name', 'table' => 'restricted_location_descriptions', 'required' => true, 'alt_key' => true), 'County' => array('db_field' => 'city', 'table' => 'restricted_location_descriptions', 'required' => true), 'Postcode' => array('db_field' => 'description', 'table' => 'restricted_location_descriptions', 'required' => true), 'Country' => array('db_field' => 'country', 'required' => true)));
// Clean cache fn_rm(DIR_COMPILED, false); fn_rm(DIR_CACHE, false); return array(CONTROLLER_STATUS_OK, "addons.manage"); } elseif ($mode == 'update_status') { fn_get_schema('settings', 'actions', 'php', false, true); $old_status = db_get_field("SELECT status FROM ?:addons WHERE addon = ?s", $_REQUEST['id']); $new_status = $_REQUEST['status']; if ($old_status != $new_status) { $func = 'fn_settings_actions_addons_' . $_REQUEST['id']; if (function_exists($func)) { $func($new_status, $old_status); } if ($old_status != $new_status) { db_query("UPDATE ?:addons SET status = ?s WHERE addon = ?s", $_REQUEST['status'], $_REQUEST['id']); fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('status_changed')); } else { $ajax->assign('return_status', $old_status); } } exit; } elseif ($mode == 'manage') { $all_addons = fn_get_dir_contents(DIR_ADDONS, true, false); $installed_addons = db_get_hash_array("SELECT a.addon, a.status, d.description as name, b.description, LENGTH(a.options) as has_options, d.object_id, d.object_type FROM ?:addons as a LEFT JOIN ?:addon_descriptions as d ON d.addon = a.addon AND d.object_id = '' AND d.object_type = 'A' AND d.lang_code = ?s LEFT JOIN ?:addon_descriptions as b ON b.addon = a.addon AND b.object_id = '' AND b.object_type = 'D' AND b.lang_code = ?s ORDER BY d.description ASC", 'addon', CART_LANGUAGE, CART_LANGUAGE); fn_update_lang_objects('installed_addons', $installed_addons); $addons_list = array(); foreach ($all_addons as $addon) { if (!empty($installed_addons[$addon])) { $addons_list[$addon] = $installed_addons[$addon]; } else { if (file_exists(DIR_ADDONS . $addon . '/addon.xml')) {
$worksheet->set_row($row, $height);*/ } else { $worksheet->write($col . $row, $product[$field], $row % 2 == 0 ? $field_simple_odd : $field_simple); if (isset($width[$col])) { if ($width[$col] < strlen($product[$field])) { $width[$col] = strlen($product[$field]); } } else { $width[$col] = strlen($product[$field]); } } $col++; } $col = 'A'; $row++; } } $counter->Out(); } } foreach ($width as $col => $size) { if ($size > MAX_SIZE) { $size = MAX_SIZE; } $worksheet->set_column($col . ':' . $col, $size); } unset($bmp); //Close and output XLS document $workbook->close(); fn_echo('<br />' . fn_get_lang_var('done')); }
function fn_buy_together_calculate_cart_items(&$cart, &$cart_products, $auth) { if (empty($cart['products'])) { return true; } $is_valid = true; $check_amount = Registry::get('settings.General.inventory_tracking') == 'Y' && Registry::get('settings.General.allow_negative_amount') != 'Y' ? true : false; foreach ($cart['products'] as $key => $product) { if (!empty($product['extra']['buy_together'])) { $allowed = true; $_products = array(); $cart['products'][$key]['original_amount'] = $product['amount']; // Validate the combination $params['chain_id'] = $product['extra']['chain']['chain_id']; $params['status'] = 'A'; $params['full_info'] = true; $params['date'] = true; $params['simple'] = true; $chain = fn_buy_together_get_chains($params, $auth); if (empty($chain)) { $allowed = false; } $_product = fn_get_product_data($product['product_id'], $auth, CART_LANGUAGE, '', false, false, false, false); if (empty($_product) || $check_amount && $product['amount'] > $_product['amount']) { $allowed = false; } foreach ($cart['products'] as $k => $v) { if (!empty($v['extra']['parent']['buy_together']) && ($v['extra']['parent']['buy_together'] == $key || isset($product['extra']['buy_id']) && $product['extra']['buy_id'] == $v['extra']['parent']['buy_together'])) { $_products[] = $k; $cart['products'][$k]['original_amount'] = $v['amount']; if (isset($product['extra']['buy_id']) && $product['extra']['buy_id'] == $v['extra']['parent']['buy_together']) { $v['extra']['parent']['buy_together'] = $cart_products[$k]['extra']['parent']['buy_together'] = $cart['products'][$k]['extra']['parent']['buy_together'] = $key; } if ($allowed) { $_product = fn_get_product_data($v['product_id'], $auth, CART_LANGUAGE, '', false, false, false, false); if (empty($_product) || $check_amount && $v['amount'] > $_product['amount'] && !defined('ORDER_MANAGEMENT')) { fn_set_notification('E', fn_get_lang_var('notice'), str_replace(array('[product]', '[amount]'), array($_product['product'], $v['amount']), fn_get_lang_var('buy_together_product_was_removed'))); $allowed = false; } if (AREA != 'A' && MODE != 'place_order') { $chain_discount = empty($chain['products'][$v['extra']['chain']['hash']]['discount']) ? 0 : $chain['products'][$v['extra']['chain']['hash']]['discount']; $cart_products[$k]['price'] -= $chain_discount; $cart_products[$k]['base_price'] -= $chain_discount; $cart_products[$k]['price'] = $cart_products[$k]['price'] < 0 ? 0 : $cart_products[$k]['price']; $cart_products[$k]['base_price'] = $cart_products[$k]['base_price'] < 0 ? 0 : $cart_products[$k]['base_price']; $cart_products[$k]['original_price'] = $cart_products[$k]['subtotal'] = $cart_products[$k]['price']; } elseif (AREA != 'A' && MODE == 'place_order') { $cart_products[$k]['discount'] = 0; $cart_products[$k]['base_price'] = $cart_products[$k]['price'] - $cart_products[$k]['modifiers_price']; } } } if (AREA != 'A' && MODE == 'place_order') { $cart_products[$key]['base_price'] = $cart_products[$key]['price'] - $cart_products[$key]['modifiers_price']; } } if (AREA != 'A' && (!$allowed || count($_products) != count($product['extra']['buy_together']))) { $_products[] = $key; $cart['amount'] -= $product['amount']; foreach ($_products as $c_key) { unset($cart['products'][$c_key]); unset($cart_products[$c_key]); } $is_valid = false; } elseif (AREA != 'A' && MODE != 'place_order') { $cart_products[$key]['price'] -= empty($chain['discount']) ? 0 : $chain['discount']; if ($cart_products[$key]['price'] < 0) { $cart_products[$key]['price'] = 0; } $cart_products[$key]['base_price'] -= $chain['discount']; $cart_products[$key]['base_price'] = $cart_products[$key]['base_price'] < 0 ? 0 : $cart_products[$key]['base_price']; $cart_products[$key]['original_price'] = $cart_products[$key]['subtotal'] = $cart_products[$key]['price']; } elseif (AREA != 'A' && MODE == 'place_order') { $cart_products[$key]['discount'] = 0; } } } if (!$is_valid) { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('buy_together_combination_cannot_be_added')); } return $is_valid; }
$view->assign('sort_order', $sort_order); $view->assign('sort_by', $sort_by); if (false != ($last_item = reset($log))) { $gift_cert_data['amount'] = $last_item['debit']; $gift_cert_data['products'] = $last_item['debit_products']; } $view->assign('templates', fn_get_gift_certificate_templates()); $view->assign('states', fn_get_all_states()); $view->assign('countries', fn_get_countries(CART_LANGUAGE, true)); $view->assign('amount_variants', fn_get_gift_certificate_amount_variants()); $view->assign('gift_cert_data', $gift_cert_data); } elseif ($mode == 'manage') { list($gift_certificates, $search) = fn_get_gift_certificates($_REQUEST); $view->assign('gift_certificates', $gift_certificates); $view->assign('search', $search); fn_gift_certificates_generate_sections('manage'); } elseif ($mode == 'delete') { if (!empty($_REQUEST['gift_cert_id'])) { $result = fn_delete_gift_certificate($_REQUEST['gift_cert_id'], @$_REQUEST['extra']); return array(CONTROLLER_STATUS_REDIRECT, !empty($_REQUEST['return_url']) ? $_REQUEST['return_url'] : "gift_certificates." . ($result ? "manage" : "update?gift_cert_id=" . $_REQUEST['gift_cert_id'])); } } elseif ($mode == 'update_status') { $old_status = db_get_field("SELECT status FROM ?:gift_certificates WHERE gift_cert_id = ?i", $_REQUEST['id']); if (fn_change_gift_certificate_status($_REQUEST['id'], $_REQUEST['status'], '', fn_get_notification_rules($_REQUEST))) { fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('status_changed')); } else { fn_set_notification('E', fn_get_lang_var('error'), fn_get_lang_var('error_status_not_changed')); $ajax->assign('return_status', $old_status); } exit; }
<?php /*************************************************************************** * * * Copyright (c) 2004 Simbirsk Technologies Ltd. All rights reserved. * * * * This is commercial software, only users who have purchased a valid * * license and accept to the terms of the License Agreement can install * * and use this program. * * * **************************************************************************** * PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE * * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ // // $Id: index.php 7688 2009-07-10 05:58:05Z zeke $ // if (!defined('AREA')) { die('Access denied'); } // Generate dashboard if ($mode == 'index') { $events = fn_get_recurring_events(); if (!fn_is_empty($events)) { $msg = fn_get_lang_var('rb_have_events'); $msg = str_replace('[link]', fn_url("subscriptions.events"), $msg); fn_delete_notification('rb_events'); fn_set_notification('N', fn_get_lang_var('notice'), $msg, true, 'rb_events'); } }
function fn_product_configurator_buy_together_restricted_product($product_id, $auth, $is_restricted, $show_notification) { if ($is_restricted) { return true; } $product_data = Registry::get('view')->get_var('product_data'); if (!empty($product_data)) { if ($product_data['product_type'] == 'C') { $is_restricted = true; } } elseif (!empty($product_id)) { $product_data = fn_get_product_data($product_id, $auth, CART_LANGUAGE, '', true, true, true, true); if ($product_data['product_type'] == 'C') { $is_restricted = true; } } if ($is_restricted && $show_notification) { fn_set_notification('E', fn_get_lang_var('error'), str_replace('[product_name]', $product_data['product'], fn_get_lang_var('buy_together_is_not_compatible_with_configurator'))); } }
Registry::get('view')->assign('added_products', $added_products); if (Registry::get('settings.DHTML.ajax_add_to_cart') != 'Y' && Registry::get('settings.General.redirect_to_cart') == 'Y') { Registry::get('view')->assign('continue_url', !empty($_REQUEST['redirect_url']) && empty($_REQUEST['appearance']['details_page']) ? $_REQUEST['redirect_url'] : $_SESSION['continue_url']); } // [eileen] // if(Registry::get("addons.checkout_changes.status") == 'A') { // // // } else { // $msg = $view->display('views/products/components/product_notification.tpl', false); // fn_set_notification('P', fn_get_lang_var($product_cnt > 1 ? 'products_added_to_cart' : 'product_added_to_cart'), $msg, 'I'); // } // [/eileen] //fn_add_bean_bag_filling_calculate_cart_items($cart, $_REQUEST['product_data'], $auth); $cart['recalculate'] = true; } else { fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('product_in_cart')); } } unset($cart['skip_notification']); $cart['bean_bag_filling'][$_REQUEST['product_id']] = 'Y'; $cart['bean_bag_filling'][$_REQUEST['cart_id']] = 'Y'; // if (defined('AJAX_REQUEST')) { // // The redirection is made in order to update the page content to see changes made in the cart when adding a product to it from the 'view cart' or 'checkout' pages. // if (strpos($_SERVER['HTTP_REFERER'], 'dispatch=checkout.cart') || strpos($_SERVER['HTTP_REFERER'], 'dispatch=checkout.checkout') || strpos($_SERVER['HTTP_REFERER'], 'dispatch=checkout.summary')) { // $ajax->assign('force_redirection', $_SERVER['HTTP_REFERER']); // } // } // $_suffix = '.cart'; // // if (Registry::get('settings.DHTML.ajax_add_to_cart') != 'Y' && Registry::get('settings.General.redirect_to_cart') == 'Y') { // if (!empty($_REQUEST['redirect_url']) && empty($_REQUEST['appearance']['details_page'])) {