Example #1
0
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;
}
Example #2
0
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');
}
Example #3
0
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);
    }
}
Example #4
0
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']);
    }
}
Example #5
0
/**
 * 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;
}
Example #7
0
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;
}
Example #8
0
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 = '&nbsp;-&nbsp;' . implode('<br />&nbsp;-&nbsp;', $groups_names);
        fn_set_notification('N', fn_get_lang_var('information'), fn_get_lang_var('deleted_product_groups') . ':<br />' . $groups_names);
    }
}
Example #9
0
/**
 * 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;
}
Example #10
0
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;
}
Example #13
0
 /**
  * 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;
     }
 }
Example #14
0
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;
}
Example #15
0
                    $_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);
    }
Example #16
0
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);
}
Example #17
0
//
// $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 */
Example #18
0
<?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);
    }
}
Example #19
0
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']);
    }
}
Example #20
0
<?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' => '')));
Example #21
0
            $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);
    }
Example #22
0
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)));
Example #24
0
    // 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')) {
Example #25
0
                            		$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'));
}
Example #26
0
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;
}
Example #28
0
<?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');
    }
}
Example #29
0
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')));
    }
}
Example #30
0
         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'])) {