⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recently_visited.php

📁 this the oscommerce 3.0 aplha 4
💻 PHP
字号:
<?php/*  $Id: $  osCommerce, Open Source E-Commerce Solutions  http://www.oscommerce.com  Copyright (c) 2006 osCommerce  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License v2 (1991)  as published by the Free Software Foundation.*/  class osC_RecentlyVisited {    var $visits = array();/* Class constructor */    function osC_RecentlyVisited() {      if (isset($_SESSION['osC_RecentlyVisited_data']) === false) {        $_SESSION['osC_RecentlyVisited_data'] = array();      }      $this->visits =& $_SESSION['osC_RecentlyVisited_data'];    }    function initialize() {      global $osC_Product, $osC_Category, $osC_Search;      if (SERVICE_RECENTLY_VISITED_SHOW_PRODUCTS == '1') {        if (isset($osC_Product) && is_a($osC_Product, 'osC_Product')) {          $this->setProduct($osC_Product->getID());        }      }      if (SERVICE_RECENTLY_VISITED_SHOW_CATEGORIES == '1') {        if (isset($osC_Category) && is_a($osC_Category, 'osC_Category')) {          $this->setCategory($osC_Category->getID());        }      }      if (SERVICE_RECENTLY_VISITED_SHOW_SEARCHES == '1') {        if (isset($osC_Search) && is_a($osC_Search, 'osC_Search')) {          if ($osC_Search->hasKeywords()) {            $this->setSearchQuery($osC_Search->getKeywords());          }        }      }    }    function setProduct($id) {      if (isset($this->visits['products'])) {        foreach ($this->visits['products'] as $key => $value) {          if ($value['id'] == $id) {            unset($this->visits['products'][$key]);            break;          }        }        if (sizeof($this->visits['products']) > (SERVICE_RECENTLY_VISITED_MAX_PRODUCTS * 2)) {          array_pop($this->visits['products']);        }      } else {        $this->visits['products'] = array();      }      array_unshift($this->visits['products'], array('id' => $id));    }    function setCategory($id) {      if (isset($this->visits['categories'])) {        foreach ($this->visits['categories'] as $key => $value) {          if ($value['id'] == $id) {            unset($this->visits['categories'][$key]);            break;          }        }        if (sizeof($this->visits['categories']) > (SERVICE_RECENTLY_VISITED_MAX_CATEGORIES * 2)) {          array_pop($this->visits['categories']);        }      } else {        $this->visits['categories'] = array();      }      array_unshift($this->visits['categories'], array('id' => $id));    }    function setSearchQuery($keywords) {      global $osC_Search;      if (isset($this->visits['searches'])) {        foreach ($this->visits['searches'] as $key => $value) {          if ($value['keywords'] == $keywords) {            unset($this->visits['searches'][$key]);            break;          }        }        if (sizeof($this->visits['searches']) > (SERVICE_RECENTLY_VISITED_MAX_SEARCHES * 2)) {          array_pop($this->visits['searches']);        }      } else {        $this->visits['searches'] = array();      }      array_unshift($this->visits['searches'], array('keywords' => $keywords,                                                     'results' => $osC_Search->getNumberOfResults()                                                    ));    }    function hasHistory() {      if ($this->hasProducts() || $this->hasCategories() || $this->hasSearches()) {        return true;      }      return false;    }    function hasProducts() {      return ( (SERVICE_RECENTLY_VISITED_SHOW_PRODUCTS == '1') && isset($this->visits['products']) && !empty($this->visits['products']) );    }    function getProducts() {      $history = array();      if (isset($this->visits['products']) && (empty($this->visits['products']) === false)) {        $counter = 0;        foreach ($this->visits['products'] as $k => $v) {          $counter++;          $osC_Product = new osC_Product($v['id']);          $osC_Category = new osC_Category($osC_Product->getCategoryID());          $history[] = array('name' => $osC_Product->getTitle(),                             'id' => $osC_Product->getID(),                             'keyword' => $osC_Product->getKeyword(),                             'price' => (SERVICE_RECENTLY_VISITED_SHOW_PRODUCT_PRICES == '1') ? $osC_Product->getPriceFormated(true) : '',                             'image' => $osC_Product->getImage(),                             'category_name' =>  $osC_Category->getTitle(),                             'category_path' => $osC_Category->getPath()                            );          if ($counter == SERVICE_RECENTLY_VISITED_MAX_PRODUCTS) {            break;          }        }      }      return $history;    }    function hasCategories() {      return ( (SERVICE_RECENTLY_VISITED_SHOW_CATEGORIES == '1') && isset($this->visits['categories']) && !empty($this->visits['categories']) );    }    function getCategories() {      $history = array();      if (isset($this->visits['categories']) && (empty($this->visits['categories']) === false)) {        $counter = 0;        foreach ($this->visits['categories'] as $k => $v) {          $counter++;          $osC_Category = new osC_Category($v['id']);          if ($osC_Category->hasParent()) {            $osC_CategoryParent = new osC_Category($osC_Category->getParent());          }          $history[]  = array('id' => $osC_Category->getID(),                              'name' => $osC_Category->getTitle(),                              'path' => $osC_Category->getPath(),                              'image' => $osC_Category->getImage(),                              'parent_name' => ($osC_Category->hasParent()) ? $osC_CategoryParent->getTitle() : '',                              'parent_id' => ($osC_Category->hasParent()) ? $osC_CategoryParent->getID() : ''                             );          if ($counter == SERVICE_RECENTLY_VISITED_MAX_CATEGORIES) {            break;          }        }      }      return $history;    }    function hasSearches() {      return ( (SERVICE_RECENTLY_VISITED_SHOW_SEARCHES == '1') && isset($this->visits['searches']) && !empty($this->visits['searches']) );    }    function getSearches() {      $history = array();      if (isset($this->visits['searches']) && (empty($this->visits['searches']) === false)) {        $counter = 0;        foreach ($this->visits['searches'] as $k => $v) {          $counter++;          $history[]  = array('keywords' => $this->visits['searches'][$k]['keywords'],                              'results' => $this->visits['searches'][$k]['results']                             );          if ($counter == SERVICE_RECENTLY_VISITED_MAX_SEARCHES) {            break;          }        }      }      return $history;    }  }?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -