本文整理汇总了PHP中_prepare_html函数的典型用法代码示例。如果您正苦于以下问题:PHP _prepare_html函数的具体用法?PHP _prepare_html怎么用?PHP _prepare_html使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_prepare_html函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _order_step_start
/**
* Order step
*/
function _order_step_start($FORCE_DISPLAY_FORM = false)
{
module('shop')->_basket_save();
$basket_contents = module('shop')->_basket_api()->get_all();
$products_ids = [];
foreach ((array) $basket_contents as $_item_id => $_info) {
if ($_info["product_id"]) {
$products_ids[$_info["product_id"]] = $_info["product_id"];
}
}
if (!empty($products_ids)) {
$products_infos = db()->query_fetch_all("SELECT * FROM " . db('shop_products') . " WHERE id IN(" . implode(",", $products_ids) . ") AND active='1'");
$products_atts = module('shop')->_products_get_attributes($products_ids);
$group_prices = module('shop')->_get_group_prices($products_ids);
}
$total_price = 0;
foreach ((array) $products_infos as $_info) {
$_product_id = $_info["id"];
$_info["_group_price"] = $group_prices[$_product_id][module('shop')->USER_GROUP];
$quantity = $basket_contents[$_info["id"]]["quantity"];
$price = module('shop')->_product_get_price($_info);
$dynamic_atts = [];
foreach ((array) $products_atts[$_product_id] as $_attr_id => $_attr_info) {
if ($basket_contents[$_product_id]["atts"][$_attr_info["name"]] == $_attr_info["value"]) {
$dynamic_atts[$_attr_id] = "- " . $_attr_info["name"] . " " . $_attr_info["value"];
$price += $_attr_info["price"];
}
}
$URL_PRODUCT_ID = module('shop')->_product_id_url($_info);
$products[$_info["id"]] = ["name" => _prepare_html($_info["name"]), "price" => module('shop')->_format_price($price), "currency" => _prepare_html(module('shop')->CURRENCY), "quantity" => intval($quantity), "details_link" => process_url("./?object=shop&action=product_details&id=" . $URL_PRODUCT_ID), "dynamic_atts" => !empty($dynamic_atts) ? implode("\n<br />", $dynamic_atts) : "", "cat_name" => _prepare_html(module('shop')->_shop_cats[$_info["cat_id"]]), "cat_url" => process_url("./?object=shop&action=products_show&id=" . module('shop')->_shop_cats_all[$_info["cat_id"]]['url'])];
$total_price += $price * $quantity;
}
$replace = ["products" => $products, "total_price" => module('shop')->_format_price($total_price), "currency" => _prepare_html(module('shop')->CURRENCY), "back_link" => "./?object=shop&action=basket", "next_link" => "./?object=shop&action=order&id=delivery", "cats_block" => module('shop')->_categories_show()];
return tpl()->parse("shop/order_start", $replace);
}
示例2: _get_select_attributes
function _get_select_attributes($atts = [])
{
if (empty($atts)) {
return [];
}
// Group by attribute name
$_atts_by_name = [];
foreach ((array) $atts as $_info) {
$_atts_products_ids[$_info["name"]] = $_info["product_id"];
$_price_text = " (" . ($_info["price"] < 0 ? "-" : "+") . module("shop")->_format_price(abs($_info["price"])) . ")";
$_atts_by_name[$_info["name"]][$_info["value"]] = $_info["value"] . ($_info["price"] ? $_price_text : "");
}
$result = [];
foreach ((array) $_atts_by_name as $_name => $_info) {
$_product_id = $_atts_products_ids[$_name];
$_box = "";
$_box_name = "atts[" . intval($_product_id) . "][" . $_name . "]";
if (count($_info) > 1) {
$_box = common()->select_box($_box_name, $_info, $selected, false, 2, "", false);
} else {
$_box = current($_info) . "\n<input type=\"hidden\" name=\"" . $_box_name . "\" value=\"" . _prepare_html(current($_info)) . "\" />";
}
$result[$_name] = ["name" => _prepare_html($_name), "box" => $_box];
}
return $result;
}
示例3: test_prepare_html
public function test_prepare_html()
{
$this->assertEquals('test', _prepare_html('test'));
$this->assertEquals('test' . PHP_EOL . 'test', _prepare_html('test' . PHP_EOL . 'test'));
$this->assertEquals('{', _prepare_html('{'));
$this->assertEquals('}', _prepare_html('}'));
$this->assertEquals('\', _prepare_html("\\\\"));
$this->assertEquals('(', _prepare_html('('));
$this->assertEquals(')', _prepare_html(')'));
$this->assertEquals('?', _prepare_html('?'));
$this->assertEquals(''', _prepare_html('\''));
$this->assertEquals('"', _prepare_html('"'));
$this->assertEquals('<', _prepare_html('<'));
$this->assertEquals('>', _prepare_html('>'));
$this->assertEquals('<script>', _prepare_html('<script>'));
$this->assertEquals('<script type="text/javascript">$(function(alert('Hello')))</script>', _prepare_html('<script type="text/javascript">$(function(alert(\'Hello\')))</script>'));
$this->assertEquals('<a href="#" onclick="return confirm('Are you sure?')">Link</a>', _prepare_html('<a href="#" onclick="return confirm(\'Are you sure?\')">Link</a>'));
$this->assertEquals('<a href="#" onclick="return confirm('{i18n_text}')">Link</a>', _prepare_html('<a href="#" onclick="return confirm(\'{i18n_text}\')">Link</a>'));
$this->assertEquals([], _prepare_html([]));
$this->assertEquals(['test'], _prepare_html(['test']));
$this->assertEquals(['k1' => '<', 'k2' => '>'], _prepare_html(['k1' => '<', 'k2' => '>']));
$this->assertEquals(['k1' => [['<']], 'k2' => '>'], _prepare_html(['k1' => [['<']], 'k2' => '>']));
$this->assertEquals('>', _prepare_html('>'));
$this->assertEquals(''', _prepare_html('''));
$this->assertEquals('\', _prepare_html("\\", $strip_slashes = false));
$this->assertEquals('&#039;', _prepare_html(''', 1, $smart = false));
}
示例4: show
function show()
{
if ($_GET['id']) {
return _class('docs')->_show_for($this);
}
$docs = _class('docs');
asset('font-awesome4');
foreach ($this->_get_assets() as $a) {
$name = $a['name'];
$sub = [];
$sub[] = $docs->_github_link($a['path']);
$content = $a['content'];
$info = is_array($content) ? $content['info'] : [];
if ($info['name']) {
$sub[] = '<b>' . t('name') . '</b>: ' . $info['name'];
}
if ($info['desc']) {
$sub[] = '<b>' . t('desc') . '</b>: ' . $info['desc'];
}
if ($info['url']) {
$sub[] = '<b>' . t('url') . '</b>: <a href="' . _prepare_html($info['url']) . '">' . _prepare_html($info['url']) . '</a>';
}
if ($info['git']) {
$sub[] = '<b>' . t('git') . '</b>: <a href="' . $info['git'] . '">' . $info['git'] . '</a>';
}
$data[$name] = ['name' => $name, 'link' => url('/@object/@action/#' . $name), 'sub' => $sub, 'id' => $name];
}
return html()->li($data);
}
示例5: _order_step_delivery
/**
* Order step
*/
function _order_step_delivery($FORCE_DISPLAY_FORM = false)
{
// Validate previous form
if (main()->is_post() && !$FORCE_DISPLAY_FORM) {
module('shop')->_order_validate_delivery();
// Display next form if we have no errors
if (!common()->_error_exists()) {
return module('shop')->_order_step_select_payment(true);
}
}
if (main()->USER_ID) {
$order_info = module('shop')->_user_info;
}
// Fill fields
foreach ((array) module('shop')->_b_fields as $_field) {
$replace[$_field] = _prepare_html(isset($_POST[$_field]) ? $_POST[$_field] : module('shop')->_user_info[substr($_field, 2)]);
}
// Fill shipping from billing
foreach ((array) module('shop')->_s_fields as $_field) {
if (module('shop')->_user_info["shipping_same"] && !isset($_POST[$_field])) {
$s_field = "b_" . substr($_field, 2);
$replace[$_field] = _prepare_html(isset($_POST[$s_field]) ? $_POST[$s_field] : module('shop')->_user_info[$s_field]);
} else {
$replace[$_field] = _prepare_html(isset($_POST[$_field]) ? $_POST[$_field] : module('shop')->_user_info[$_field]);
}
}
$force_ship_type = module('shop')->FORCE_GROUP_SHIP[module('shop')->USER_GROUP];
$SELF_METHOD_ID = substr(__FUNCTION__, strlen("_order_step_"));
$replace = my_array_merge((array) $replace, ["form_action" => "./?object=shop&action=" . $_GET["action"] . "&id=" . $SELF_METHOD_ID, "error_message" => _e(), "ship_type_box" => module('shop')->_box("ship_type", $force_ship_type ? $force_ship_type : $_POST["ship_type"]), "back_link" => "./?object=shop&action=order", "cats_block" => module('shop')->_categories_show()]);
return tpl()->parse("shop/order_delivery", $replace);
}
示例6: product_details
function product_details()
{
if (!$_GET["id"]) {
return is_redirect("./?object=shop");
}
// Get products from database
if (is_numeric($_GET["id"])) {
$add_sql = "id= '" . intval($_GET["id"]);
} else {
$add_sql = "url='" . _es($_GET['id']);
}
$sql = "SELECT * FROM " . db('shop_products') . " WHERE active='1' AND " . $add_sql . "'";
$product_info = db()->query_fetch($sql);
// Required for comments
module("shop")->_comments_params["object_id"] = $product_info["id"];
module("shop")->_comments_params["objects_ids"] = $product_info["id"];
$N = module("shop")->_get_num_comments();
$N = $N[$product_info["id"]];
if ($N == "") {
$N = 0;
}
$dirs = sprintf("%06s", $product_info["id"]);
$dir2 = substr($dirs, -3, 3);
$dir1 = substr($dirs, -6, 3);
$mpath = $dir1 . "/" . $dir2 . "/";
$group_prices = module("shop")->_get_group_prices($product_info["id"]);
$product_info["_group_price"] = $group_prices[module("shop")->USER_GROUP];
module("shop")->_product_info = $product_info;
$atts = module("shop")->_products_get_attributes($product_info["id"]);
$thumb_path = $product_info["url"] . "_" . $product_info["id"] . "_" . $product_info["image"] . module("shop")->THUMB_SUFFIX . ".jpg";
$img_path = $product_info["url"] . "_" . $product_info["id"] . "_" . $product_info["image"] . module("shop")->FULL_IMG_SUFFIX . ".jpg";
if ($product_info["image"] == 0) {
$image = "";
} else {
$image_files = _class('dir')->scan_dir(module("shop")->products_img_dir . $mpath, true, "/" . $product_info["url"] . "_" . $product_info["id"] . ".+?_small\\.jpg" . "/");
$reg = "/" . $product_info["url"] . "_" . $product_info["id"] . "_(?P<content>[\\d]+)_small\\.jpg/";
foreach ((array) $image_files as $filepath) {
preg_match($reg, $filepath, $rezult);
$i = $rezult["content"];
if ($i != $product_info["image"]) {
$thumb_temp = module("shop")->products_img_webdir . $mpath . $product_info["url"] . "_" . $product_info["id"] . "_" . $i . module("shop")->THUMB_SUFFIX . ".jpg";
$img_temp = module("shop")->products_img_webdir . $mpath . $product_info["url"] . "_" . $product_info["id"] . "_" . $i . module("shop")->FULL_IMG_SUFFIX . ".jpg";
$replace2 = ["thumb_path" => $thumb_temp, "img_path" => $img_temp, "name" => $product_info["url"]];
$image .= tpl()->parse("shop/image_items", $replace2);
}
}
}
$URL_PRODUCT_ID = module("shop")->_product_id_url($product_info);
$sql_man = "SELECT * FROM " . db('shop_manufacturers') . " WHERE id = " . $product_info["manufacturer_id"];
$manufacturer = db()->query_fetch($sql_man);
if (module("shop")->SHOW_products_similar_by_price == true) {
$products_similar_by_price = module("shop")->products_similar_by_price($product_info["price"], $product_info["id"]);
}
if (module("shop")->products_similar_by_basket == true) {
$products_similar_by_basket = module("shop")->products_similar_by_basket($product_info["id"]);
}
$replace = ["name" => _prepare_html($product_info["name"]), "model" => _prepare_html($product_info["model"]), "desc" => $product_info["description"], "manufacturer" => _prepare_html(module("shop")->_manufacturer[$product_info["manufacturer_id"]]["name"]), "url_manufacturer" => process_url("./?object=shop&action=products_show&id=" . module("shop")->_manufacturer[$product_info["manufacturer_id"]]["url"]), "date" => _format_date($product_info["add_date"], "long"), "price" => module("shop")->_format_price(module("shop")->_product_get_price($product_info)), "currency" => _prepare_html(module("shop")->CURRENCY), "thumb_path" => file_exists(module("shop")->products_img_dir . $mpath . $img_path) ? module("shop")->products_img_webdir . $mpath . $img_path : "", "img_path" => file_exists(module("shop")->products_img_dir . $mpath . $img_path) ? module("shop")->products_img_webdir . $mpath . $img_path : "", "image" => $image, "basket_add_url" => $product_info["external_url"] ? $product_info["external_url"] : process_url("./?object=shop&action=basket_add&id=" . $URL_PRODUCT_ID), "external_url" => intval((bool) $product_info["external_url"]), "back_url" => process_url("./?object=shop"), "show_basket_url" => process_url("./?object=shop&action=basket"), "dynamic_atts" => module("shop")->_get_select_attributes($atts), "cats_block" => module("shop")->_categories_show(), "cat_name" => _prepare_html(module("shop")->_shop_cats[$product_info["cat_id"]]), "cat_url" => process_url("./?object=shop&action=product_details&id=" . module("shop")->_shop_cats_all[$product_info["cat_id"]]['url']), 'comments' => module("shop")->_view_comments(), "N" => $N, "products_similar_by_price" => $products_similar_by_price, "products_similar_by_basket" => $products_similar_by_basket, "product_related" => module("shop")->products_related($product_info["id"])];
db()->query("UPDATE " . db('shop_products') . " SET viewed = viewed+1 , last_viewed_date = " . time() . " WHERE " . $add_sql . "'");
return tpl()->parse("shop/details", $replace);
}
示例7: products_similar_by_price
function products_similar_by_price($price, $id)
{
$price_min = floor($price - $price * 10 / 100);
$price_max = ceil($price + $price * 10 / 100);
$sql1 = "SELECT category_id FROM " . db('shop_product_to_category') . " WHERE product_id = " . $id . "";
$cat_id = db()->query($sql1);
while ($A = db()->fetch_assoc($cat_id)) {
$cats_id .= $A["category_id"] . ",";
}
$cats_id = rtrim($cats_id, ",");
$sql2 = "SELECT product_id FROM " . db('shop_product_to_category') . " WHERE category_id IN ( " . $cats_id . ")";
$prod = db()->query($sql2);
while ($A = db()->fetch_assoc($prod)) {
$prods .= $A["product_id"] . ",";
}
$prods = rtrim($prods, ",");
$sql = "SELECT * FROM " . db('shop_products') . " WHERE price > " . $price_min . " AND price < " . $price_max . " AND id != " . $id . " AND id IN(" . $prods . ")";
$product = db()->query_fetch_all($sql);
foreach ((array) $product as $k => $product_info) {
$thumb_path = $product_info["url"] . "_" . $product_info["id"] . "_1" . module("shop")->THUMB_SUFFIX . ".jpg";
$URL_PRODUCT_ID = module("shop")->_product_id_url($product_info);
$items[$product_info["id"]] = ["name" => _prepare_html($product_info["name"]), "price" => module("shop")->_format_price(module("shop")->_product_get_price($product_info)), "currency" => _prepare_html(module("shop")->CURRENCY), "image" => file_exists(module("shop")->products_img_dir . $thumb_path) ? module("shop")->products_img_webdir . $thumb_path : "", "link" => $product_info["external_url"] ? $product_info["external_url"] : process_url("./?object=shop&action=product_details&id=" . $URL_PRODUCT_ID), "special" => ""];
}
$replace = ["items" => $items, "title" => "Similar price"];
return tpl()->parse("shop/products_similar_by_price", $replace);
}
示例8: basket_main
/**
* basket_main
*/
function basket_main()
{
$products_ids = [];
$basket_contents = module('shop')->_basket_api()->get_all();
foreach ((array) $basket_contents as $_item_id => $_info) {
if ($_info["product_id"]) {
$products_ids[$_info["product_id"]] = $_info["product_id"];
}
}
if (!empty($products_ids)) {
$products_infos = db()->query_fetch_all("SELECT * FROM " . db('shop_products') . " WHERE active='1' AND id IN(" . implode(",", $products_ids) . ")");
$products_atts = module('shop')->_products_get_attributes($products_ids);
$group_prices = module('shop')->_get_group_prices($products_ids);
}
$total_price = 0;
foreach ((array) $products_infos as $_info) {
$_product_id = $_info["id"];
$_info["_group_price"] = $group_prices[$_product_id][module('shop')->USER_GROUP];
$quantity2 = $basket_contents[$_info["id"]]["quantity"];
$price = module('shop')->_product_get_price($_info);
$dynamic_atts = [];
foreach ((array) $products_atts[$_product_id] as $_attr_id => $_attr_info) {
if ($basket_contents[$_product_id]["atts"][$_attr_info["name"]] == $_attr_info["value"]) {
$dynamic_atts[$_attr_id] = "- " . $_attr_info["name"] . " " . $_attr_info["value"];
$price += $_attr_info["price"];
}
}
$total_price += $price * $quantity2;
$quantity += intval($quantity2);
}
$replace = ["total_price" => module('shop')->_format_price($total_price), "currency" => _prepare_html(module('shop')->CURRENCY), "quantity" => $quantity, "order_link" => "./?object=shop&action=basket", "basket_link" => "./?object=shop&action=basket"];
return tpl()->parse("shop/basket_main", $replace);
}
示例9: products_similar_by_basket
function products_similar_by_basket($id)
{
$sql_order_id = "SELECT order_id FROM " . db('shop_order_items') . " WHERE product_id = " . $id;
$orders = db()->query($sql_order_id);
while ($A = db()->fetch_assoc($orders)) {
$order_id .= $A["order_id"] . ",";
}
$order_id = rtrim($order_id, ",");
if (!empty($order_id)) {
$sql_product_id = "SELECT product_id FROM " . db('shop_order_items') . " WHERE order_id IN ( " . $order_id . ") AND product_id != " . $id;
$products = db()->query($sql_product_id);
while ($A = db()->fetch_assoc($products)) {
$product_id .= $A["product_id"] . ",";
}
$product_id = rtrim($product_id, ",");
}
if (!empty($product_id)) {
$sql = "SELECT * FROM " . db('shop_products') . " WHERE id in ( " . $product_id . ")";
$product = db()->query_fetch_all($sql);
foreach ((array) $product as $k => $product_info) {
$thumb_path = $product_info["url"] . "_" . $product_info["id"] . "_1" . module("shop")->THUMB_SUFFIX . ".jpg";
$URL_PRODUCT_ID = module("shop")->_product_id_url($product_info);
$items[$product_info["id"]] = ["name" => _prepare_html($product_info["name"]), "price" => module("shop")->_format_price(module("shop")->_product_get_price($product_info)), "currency" => _prepare_html(module("shop")->CURRENCY), "image" => file_exists(module("shop")->products_img_dir . $thumb_path) ? module("shop")->products_img_webdir . $thumb_path : "", "link" => $product_info["external_url"] ? $product_info["external_url"] : process_url("./?object=shop&action=product_details&id=" . $URL_PRODUCT_ID), "special" => ""];
}
}
$replace = ["items" => $items, "title" => "Those who purchased this product also buy"];
return tpl()->parse("shop/products_similar_by_price", $replace);
}
示例10: _nav_item
function _nav_item($name = '', $nav_link = '', $nav_icon = '')
{
if ($this->AUTO_TRANSLATE) {
$name = t($name);
}
$replace = ['name' => _prepare_html($name), 'link' => $nav_link, 'icon' => $nav_icon, 'as_link' => !empty($nav_link) ? 1 : 0, 'is_logged_in' => intval((bool) $_SESSION['user_id'])];
return tpl()->parse('site_nav_bar/item', $replace);
}
示例11: _order_step_finish
/**
* Order step
*/
function _order_step_finish($FORCE_DISPLAY_FORM = false)
{
module('shop')->_basket_api()->clean();
if (isset($_GET["page"])) {
$_GET["id"] = intval($_GET["page"]);
unset($_GET["page"]);
}
$_GET["id"] = intval($_GET["id"]);
if ($_GET["id"]) {
$order_info = db()->query_fetch("SELECT * FROM " . db('shop_orders') . " WHERE id=" . intval($_GET["id"]) . " AND user_id=" . intval(main()->USER_ID));
}
if (empty($order_info)) {
return _e("No such order");
}
$products_ids = [];
$Q = db()->query("SELECT * FROM " . db('shop_order_items') . " WHERE `order_id`=" . intval($order_info["id"]));
while ($_info = db()->fetch_assoc($Q)) {
if ($_info["product_id"]) {
$products_ids[$_info["product_id"]] = $_info["product_id"];
}
$order_items[$_info["product_id"]] = $_info;
}
if (!empty($products_ids)) {
$products_infos = db()->query_fetch_all("SELECT * FROM " . db('shop_products') . " WHERE id IN(" . implode(",", $products_ids) . ") AND active='1'");
$products_atts = module('shop')->_products_get_attributes($products_ids);
}
foreach ((array) $order_items as $_info) {
$_product_id = $_info["product_id"];
$_product = $products_infos[$_product_id];
$price = $_info["sum"];
$dynamic_atts = [];
if (strlen($_info["attributes"]) > 3) {
foreach ((array) unserialize($_info["attributes"]) as $_attr_id) {
$_attr_info = $products_atts[$_info["product_id"]][$_attr_id];
$dynamic_atts[$_attr_id] = "- " . $_attr_info["name"] . " " . $_attr_info["value"];
$price += $_attr_info["price"];
}
}
$URL_PRODUCT_ID = module('shop')->_product_id_url($_product);
$products[$_info["product_id"]] = ["name" => _prepare_html($_product["name"]), "price" => module('shop')->_format_price($price), "sum" => module('shop')->_format_price($_info["sum"]), "currency" => _prepare_html(module('shop')->CURRENCY), "quantity" => intval($_info["quantity"]), "details_link" => process_url("./?object=shop&action=product_details&id=" . $URL_PRODUCT_ID), "dynamic_atts" => !empty($dynamic_atts) ? implode("\n<br />", $dynamic_atts) : "", "cat_name" => _prepare_html(module('shop')->_shop_cats[$_product["cat_id"]]), "cat_url" => process_url("./?object=shop&action=products_show&id=" . module('shop')->_shop_cats_all[$_product["cat_id"]]['url'])];
$total_price += $price * $quantity;
}
$total_price = $order_info["total_sum"];
if (main()->USER_ID) {
$order_info = my_array_merge(module('shop')->_user_info, $order_info);
} else {
$order_info["email"] = $order_info["email"];
$order_info["phone"] = $order_info["phone"];
}
$order_info = my_array_merge(module('shop')->COMPANY_INFO, $order_info);
$replace2 = my_array_merge($order_info, ["id" => $_GET["id"], "products" => $products, "ship_cost" => module('shop')->_format_price(0), "total_cost" => module('shop')->_format_price($total_price), "password" => ""]);
// Prepare email template
$message = tpl()->parse("shop/invoice_email", $replace2);
common()->quick_send_mail($order_info["email"], "invoice #" . $_GET["id"], $message);
$replace = my_array_merge($replace2, ["error_message" => _e(), "products" => $products, "ship_price" => module('shop')->_format_price(module('shop')->_ship_types_names[$order_info["ship_type"]]), "total_price" => module('shop')->_format_price($total_price), "order_no" => str_pad($order_info["id"], 8, "0", STR_PAD_LEFT), "hash" => _prepare_html($order_info["hash"]), "back_link" => "./?object=shop&action=show", "cats_block" => module('shop')->_categories_show()]);
return tpl()->parse("shop/order_finish", $replace);
}
示例12: _show_header
function _show_header()
{
$pheader = t("Shop");
$subheader = _ucwords(str_replace("_", " ", $_GET["action"]));
$cases = ["show" => "Products", "add" => "Add product"];
if (isset($cases[$_GET["action"]])) {
$subheader = $cases[$_GET["action"]];
}
return ["header" => $pheader, "subheader" => $subheader ? _prepare_html($subheader) : ""];
}
示例13: show
function show()
{
$docs = _class('docs');
$dir = $docs->demo_dir;
$dir_len = strlen($dir);
$ext = '.php';
$ext_len = strlen($ext);
$names = $this->_get_demos($dir);
ksort($names);
$name = preg_replace('~[^a-z0-9/_-]+~ims', '', $_GET['id']);
if (strlen($name)) {
$f = $dir . $name . '.php';
if (!file_exists($f)) {
return _404('Not found');
}
$body = (include $f);
if (is_callable($body)) {
$self_source = _class('core_api')->get_function_source($body);
$body = $body();
} else {
$self_source = ['name' => $name, 'file' => $f, 'line_start' => 1, 'source' => $body];
}
$prev = '';
$next = '';
$i = 0;
foreach ((array) $names as $_name) {
if ($name !== $_name) {
$prev = $_name;
} elseif ($name === $_name) {
$next = current(array_slice($names, $i + 1, 1));
break;
}
$i++;
}
$name_html = preg_replace('~[^0-9a-z_-]~ims', '', $name);
$header = '<div id="head_' . $name_html . '" class="panel">
<div class="panel-heading">
<h1 class="panel-title">
<a href="' . url('/@object/@action/' . urlencode($name)) . '">' . $name . '</a>
<div class="pull-right">' . _class('core_api')->_github_link_btn($self_source) . '<button class="btn btn-primary btn-xs" data-toggle="collapse" data-target="#func_self_source_' . $name_html . '"><i class="fa fa-file-text-o"></i> source</button> ' . ($prev ? '<a href="' . url('/@object/@action/' . urlencode($prev)) . '" class="btn btn-primary btn-xs"><</a> ' : '') . ($next ? '<a href="' . url('/@object/@action/' . urlencode($next)) . '" class="btn btn-primary btn-xs">></a> ' : '') . '</div>
</h1>
</div>
<div id="func_self_source_' . $name_html . '" class="panel-body collapse out"><pre class="prettyprint lang-php"><code>' . _prepare_html($self_source['source']) . '</code></pre></div> ' . ($target_source['source'] ? '<div id="func_target_source_' . $name_html . '" class="panel-body collapse out"><pre class="prettyprint lang-php"><code>' . _prepare_html($target_source['source']) . '</code></pre></div> ' : '') . '</div>';
return implode(PHP_EOL, [$header, '<section class="page-contents">' . tpl()->parse_string($body, $replace, 'demo_' . $name) . '</section>']);
}
$url = rtrim(url('/@object/@action/')) . '/';
$data = [];
foreach ((array) $names as $name) {
$data[$name] = ['name' => $name, 'link' => $url . urlencode($name)];
}
ksort($data);
return html()->li($data);
}
示例14: _products_last_viewed
function _products_last_viewed()
{
$sql_prod_id = "SELECT * FROM " . db('shop_products') . " ORDER BY last_viewed_date DESC LIMIT 5";
$item_prod_id = db()->query_fetch_all($sql_prod_id);
$items = [];
foreach ((array) $item_prod_id as $k => $product_info) {
$thumb_path = $product_info["url"] . "_" . $product_info["id"] . "_1" . module("shop")->THUMB_SUFFIX . ".jpg";
$URL_PRODUCT_ID = module("shop")->_product_id_url($product_info);
$items[$product_info["id"]] = ["name" => _prepare_html($product_info["name"]), "price" => module("shop")->_format_price(module("shop")->_product_get_price($product_info)), "currency" => _prepare_html(module("shop")->CURRENCY), "image" => file_exists(module("shop")->products_img_dir . $thumb_path) ? module("shop")->products_img_webdir . $thumb_path : "", "link" => $product_info["external_url"] ? $product_info["external_url"] : process_url("./?object=shop&action=product_details&id=" . $URL_PRODUCT_ID), "special" => ""];
}
return tpl()->parse("shop/last_viewed", ["items" => $items]);
}
示例15: _categories_show
function _categories_show()
{
$shop_cats = [];
foreach ((array) module("shop")->_shop_cats_for_select as $_cat_id => $_cat_name) {
if (!$_cat_name) {
continue;
}
$shop_cats[_prepare_html($_cat_name)] = process_url("./?object=shop&action=show&id=" . module("shop")->_shop_cats_all[$_cat_id]['url']);
}
if (empty($shop_cats)) {
$shop_cats = "";
}
return tpl()->parse("shop/cats_block", ["shop_cats" => $shop_cats]);
}