Разработка Web-сайта по поиску и подбору компьютерных комплектующих
Определение, классификация и принципы работы интернет-магазинов. Поиск товара и его заказ. Анализ отечественного и зарубежного рынка онлайн торговли. Администрирование баз данных. Цель и назначение сайта компании. Разработка структурной схемы Web-сайта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.04.2023 |
Размер файла | 3,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
· при несоблюдении инструкции по их эксплуатации.
Включать электронную аппаратуру в сеть в соответствии с потребляемым напряжением, согласно прилагаемым к приборам инструкций.
Необходимо соблюдать личную гигиену и чистоту рабочего места.
Перед началом работы:
· Проверить исправность гибкого электрошнура, вилки, подводящих кабелей,
· проверить исправность электрической розетки, очистить прибор от пыли.
· Во время работы аппаратуру необходимо установить на неподвижную подставку, проверить наличие напряжения. Не допускать к работе с электронной аппаратурой посторонних лиц.
· В случае возгорания, короткого замыкания отключить сухими руками прибор из электросети, сообщить об этом администрации.
· О случаях травматизма сообщить администрации, при пожаре сообщить администрации и в пожарную службу, принять меры к его тушению.
По окончанию работы:
1. Отключить прибор от электросети, не дергать за электрошнур.
2. Произвести очистку прибора чистой тканью.
3. Не допускать падения приборов электронной аппаратуры.
4. Не допускать воздействия на подводящие кабели, электрошнуры горячих жидкостей, падения тяжёлых предметов.
5. О всех недостатках, отмеченных в работе электронных приборов, сообщить администрации.
3.3 Требования к электробезопасности
Электробезопасность в производственных условиях обеспечивается соответствующей конструкцией электроустановок; техническими способами и средствами защиты; организационными и техническими мероприятиями*.
Обеспечение электробезопасности от случайного прикосновения к токоведущим частям достигается следующими техническими способами и средствами, используемыми отдельно или в сочетании друг с другом; защитные оболочки, защитные ограждения (временные или стационарные); безопасное расположение токоведущих частей; изоляция рабочего места; защитное отключение; предупредительная сигнализация; блокировка; знаки безопасности.
Ограждения выполняются сплошными и сетчатыми. Сплошные ограждения (корпуса, кожухи, крышки) применяются в электроустановках напряжением до 1000 В, а сетчатые-до и выше 1000 В. Ограждения оборудуются крышками, дверцами или дверями, запирающимися на замок или снабженными блокировками. Применение съемных крышек, закрепляющихся болтами, не обеспечивает надежной защиты, так как зачастую крышки снимаются, теряются или используются для других целей, вследствие чего токоведущие части остаются долгое время открытыми.
Короткое замыкание - электрическое соединение двух точек электрической цепи с различными значениями потенциала, не предусмотренное конструкцией устройства и нарушающее его нормальную работу. Короткое замыкание может возникать при нарушении изоляции токоведущих элементов или вследствие механического соприкосновения элементов, работающих без изоляции. Также коротким замыканием называют состояние, когда сопротивление нагрузки меньше внутреннего сопротивления источника питания. Причины возникновения коротких замыканий - основной причиной является нарушения изоляции электрооборудования.
Листинг
Config.php
<?php
// HTTP
define('HTTP_SERVER', 'http://marustore.ru/');
// HTTPS
define('HTTPS_SERVER', 'http://marustore.ru/');
// DIR
define('DIR_APPLICATION', '/var/www/u1691523/data/www/marustore.ru/catalog/');
define('DIR_SYSTEM', '/var/www/u1691523/data/www/marustore.ru/system/');
define('DIR_IMAGE', '/var/www/u1691523/data/www/marustore.ru/image/');
define('DIR_STORAGE', '/var/www/u1691523/data/www/storage/');
define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
define('DIR_TEMPLATE', DIR_APPLICATION . 'view/theme/');
define('DIR_CONFIG', DIR_SYSTEM . 'config/');
define('DIR_CACHE', DIR_STORAGE . 'cache/');
define('DIR_DOWNLOAD', DIR_STORAGE . 'download/');
define('DIR_LOGS', DIR_STORAGE . 'logs/');
define('DIR_MODIFICATION', DIR_STORAGE . 'modification/');
define('DIR_SESSION', DIR_STORAGE . 'session/');
define('DIR_UPLOAD', DIR_STORAGE . 'upload/');
// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'u1691523_default');
define('DB_PASSWORD', '9V90JlzusfGTR1G6');
define('DB_DATABASE', 'u1691523_default');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
index.php
<?php
// Version
define('VERSION', '3.0.2.0');
// Configuration
if (is_file('config.php')) {
require_once('config.php');
}
// Install
if (!defined('DIR_APPLICATION')) {
header('Location: install/index.php');
exit;
}
// Startup
require_once(DIR_SYSTEM . 'startup.php');
start('catalog');
catalog/controller/common/login_modal.php
<?php
class ControllerCommonLoginModal extends Controller {
private $error = array();
public function index() {
$this->load->language('cyberstore/lang');
$data['text_login'] = $this->language->get('text_login');
$data['entry_email'] = $this->language->get('entry_email');
$data['entry_password'] = $this->language->get('entry_password');
$data['text_register'] = $this->language->get('text_register');
$data['text_forgotten'] = $this->language->get('text_forgotten');
$data['button_login'] = $this->language->get('button_login');
$data['register'] = $this->url->link('account/register', '', true);
$data['forgotten'] = $this->url->link('account/forgotten', '', true);
$this->response->setOutput($this->load->view('common/login_modal', $data));
}
public function login_validate($data = array()) {
$this->load->language('checkout/checkout');
$json = array();
$this->load->model('account/customer');
if ($this->customer->isLogged()) {
$json['islogged'] = true;
}else if(isset($this->request->post)) {
if (!$this->customer->login($this->request->post['emailpopup'], $this->request->post['passwordpopup'])) {
$json['error'] = $this->language->get('error_login');
}
$customer_info = $this->model_account_customer->getCustomerByEmail($this->request->post['emailpopup']);
if ($customer_info && !$customer_info['status']) {
$json['error'] = $this->language->get('error_approved');
}
} else {
$json['error'] = $this->language->get('error_warning');
}
if(!$json) {
$json['success'] = true;
unset($this->session->data['guest']);
$this->load->model('account/address');
if ($this->config->get('config_tax_customer') == 'payment') {
$this->session->data['payment_address'] = $this->model_account_address->getAddress($this->customer->getAddressId());
}
if ($this->config->get('config_tax_customer') == 'shipping') {
$this->session->data['shipping_address'] = $this->model_account_address->getAddress($this->customer->getAddressId());
}
$this->load->model('account/activity');
$activity_data = array(
'customer_id' => $this->customer->getId(),
'name' => $this->customer->getFirstName() . ' ' . $this->customer->getLastName()
);
$this->model_account_activity->addActivity('login', $activity_data);
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
?>
catalog/controller/common/footer.php
<?php
class ControllerCommonFooter extends Controller {
public function index() {
$this->load->language('common/footer');
$this->load->model('catalog/information');
$data['informations'] = array();
foreach ($this->model_catalog_information->getInformations() as $result) {
if ($result['bottom']) {
$data['informations'][] = array(
'title' => $result['title'],
'href' => $this->url->link('information/information', 'information_id=' . $result['information_id'])
);
}
}
$data['contact'] = $this->url->link('information/contact');
$data['return'] = $this->url->link('account/return/add', '', true);
$data['sitemap'] = $this->url->link('information/sitemap');
$data['tracking'] = $this->url->link('information/tracking');
$data['manufacturer'] = $this->url->link('product/manufacturer');
$data['voucher'] = $this->url->link('account/voucher', '', true);
$data['affiliate'] = $this->url->link('affiliate/login', '', true);
$data['special'] = $this->url->link('product/special');
$data['account'] = $this->url->link('account/account', '', true);
$data['order'] = $this->url->link('account/order', '', true);
$data['wishlist'] = $this->url->link('account/wishlist', '', true);
$data['newsletter'] = $this->url->link('account/newsletter', '', true);
$data['powered'] = sprintf($this->language->get('text_powered'), $this->config->get('config_name'), date('Y', time()));
// Whos Online
if ($this->config->get('config_customer_online')) {
$this->load->model('tool/online');
if (isset($this->request->server['REMOTE_ADDR'])) {
$ip = $this->request->server['REMOTE_ADDR'];
} else {
$ip = '';
}
if (isset($this->request->server['HTTP_HOST']) && isset($this->request->server['REQUEST_URI'])) {
$url = ($this->request->server['HTTPS'] ? 'https://' : 'http://') . $this->request->server['HTTP_HOST'] . $this->request->server['REQUEST_URI'];
} else {
$url = '';}
if (isset($this->request->server['HTTP_REFERER'])) {
$referer = $this->request->server['HTTP_REFERER'];
} else {
$referer = '';}
$this->model_tool_online->addOnline($ip, $this->customer->getId(), $url, $referer);
}
$data['scripts'] = $this->document->getScripts('footer');
return $this->load->view('common/footer', $data);
}
}
Catalog/controller/common/header.php
<?php
// * @source See SOURCE.txt for source and other copyright.
// * @license GNU General Public License version 3; see LICENSE.txt
class ControllerCommonHeader extends Controller {
public function index() {
// Analytics
$this->load->model('setting/extension');
$data['analytics'] = array();
$analytics = $this->model_setting_extension->getExtensions('analytics');
foreach ($analytics as $analytic) {
if ($this->config->get('analytics_' . $analytic['code'] . '_status')) {
$data['analytics'][] = $this->load->controller('extension/analytics/' . $analytic['code'], $this->config->get('analytics_' . $analytic['code'] . '_status'));
}
}
if ($this->request->server['HTTPS']) {
$server = $this->config->get('config_ssl');
} else {
$server = $this->config->get('config_url');
}
if (is_file(DIR_IMAGE . $this->config->get('config_icon'))) {
$this->document->addLink($server . 'image/' . $this->config->get('config_icon'), 'icon');
}
$data['title'] = $this->document->getTitle();
$data['base'] = $server;
$data['description'] = $this->document->getDescription();
$data['keywords'] = $this->document->getKeywords();
$data['links'] = $this->document->getLinks();
$data['robots'] = $this->document->getRobots();
$data['styles'] = $this->document->getStyles();
$data['scripts'] = $this->document->getScripts('header');
$data['lang'] = $this->language->get('code');
$data['direction'] = $this->language->get('direction');
$data['name'] = $this->config->get('config_name');
if (is_file(DIR_IMAGE . $this->config->get('config_logo'))) {
$data['logo'] = $server . 'image/' . $this->config->get('config_logo');
} else {
$data['logo'] = '';
}
$this->load->language('common/header');
$host = isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')) ? HTTPS_SERVER : HTTP_SERVER;
if ($this->request->server['REQUEST_URI'] == '/') {
$data['og_url'] = $this->url->link('common/home');
} else {
$data['og_url'] = $host . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));
}
$data['og_image'] = $this->document->getOgImage();
// Wishlist
if ($this->customer->isLogged()) {
$this->load->model('account/wishlist');
$data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist());
} else {
$data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
}
$data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', true), $this->customer->getFirstName(), $this->url->link('account/logout', '', true));
$data['home'] = $this->url->link('common/home');
$data['wishlist'] = $this->url->link('account/wishlist', '', true);
$data['logged'] = $this->customer->isLogged();
$data['account'] = $this->url->link('account/account', '', true);
$data['register'] = $this->url->link('account/register', '', true);
$data['login'] = $this->url->link('account/login', '', true);
$data['order'] = $this->url->link('account/order', '', true);
$data['transaction'] = $this->url->link('account/transaction', '', true);
$data['download'] = $this->url->link('account/download', '', true);
$data['logout'] = $this->url->link('account/logout', '', true);
$data['shopping_cart'] = $this->url->link('checkout/cart');
$data['checkout'] = $this->url->link('checkout/checkout', '', true);
$data['contact'] = $this->url->link('information/contact');
$data['telephone'] = $this->config->get('config_telephone');
$data['language'] = $this->load->controller('common/language');
$data['currency'] = $this->load->controller('common/currency');
$data['currency'] = $this->load->controller('common/currency');
if ($this->config->get('configblog_blog_menu')) {
$data['blog_menu'] = $this->load->controller('blog/menu');
} else {
$data['blog_menu'] = '';
}
$data['search'] = $this->load->controller('common/search');
$data['cart'] = $this->load->controller('common/cart');
$data['menu'] = $this->load->controller('common/menu');
return $this->load->view('common/header', $data);
}
}
Catalog/controller/common/content_bottom.php
<?php
// * @source See SOURCE.txt for source and other copyright.
// * @license GNU General Public License version 3; see LICENSE.txt
class ControllerCommonContentBottom extends Controller {
public function index() {
$this->load->model('design/layout');
if (isset($this->request->get['route'])) {
$route = (string)$this->request->get['route'];
} else {
$route = 'common/home';
}
$layout_id = 0;
if ($route == 'product/category' && isset($this->request->get['path'])) {
$this->load->model('catalog/category');
$path = explode('_', (string)$this->request->get['path']);
$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
}
if ($route == 'product/manufacturer/info' && isset($this->request->get['manufacturer_id'])) {
$this->load->model('catalog/manufacturer');
$layout_id = $this->model_catalog_manufacturer->getManufacturerLayoutId($this->request->get['manufacturer_id']);
}
if ($route == 'product/product' && isset($this->request->get['product_id'])) {
$this->load->model('catalog/product');
$layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
}
if ($route == 'information/information' && isset($this->request->get['information_id'])) {
$this->load->model('catalog/information');
$layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
}
if (!$layout_id) {
$layout_id = $this->model_design_layout->getLayout($route);
}
if (!$layout_id) {
$layout_id = $this->config->get('config_layout_id');
}
$this->load->model('setting/module');
$data['modules'] = array();
$modules = $this->model_design_layout->getLayoutModules($layout_id, 'content_bottom');
foreach ($modules as $module) {
$part = explode('.', $module['code']);
if (isset($part[0]) && $this->config->get('module_' . $part[0] . '_status')) {
$module_data = $this->load->controller('extension/module/' . $part[0]);
if ($module_data) {
$data['modules'][] = $module_data;
}
}
if (isset($part[1])) {
$setting_info = $this->model_setting_module->getModule($part[1]);
if ($setting_info && $setting_info['status']) {
$output = $this->load->controller('extension/module/' . $part[0], $setting_info);
if ($output) {
$data['modules'][] = $output;
}
}
}
}
return $this->load->view('common/content_bottom', $data);
}
}
Catalog/controller/common/menu.php
<?php
class ControllerCommonMenu extends Controller {
public function index() {
$this->load->language('common/menu');
// Menu
$this->load->model('catalog/category');
$this->load->model('catalog/product');
$data['categories'] = array();
$categories = $this->model_catalog_category->getCategories(0);
foreach ($categories as $category) {
if ($category['top']) {
// Level 2
$children_data = array();
$children = $this->model_catalog_category->getCategories($category['category_id']);
foreach ($children as $child) {
$filter_data = array(
'filter_category_id' => $child['category_id'],
'filter_sub_category' => true
);
$children_data[] = array(
'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
);
}
// Level 1
$data['categories'][] = array(
'name' => $category['name'],
'children' => $children_data,
'column' => $category['column'] ? $category['column'] : 1,
'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
);
}
}
return $this->load->view('common/menu', $data);
}
}
Catalog/Controller/common/cart.php
<?php
class ControllerCommonCart extends Controller {
public function index() {
$this->load->language('common/cart');
// Totals
$this->load->model('setting/extension');
$totals = array();
$taxes = $this->cart->getTaxes();
$total = 0;
// Because __call can not keep var references so we put them into an array.
$total_data = array(
'totals' => &$totals,
'taxes' => &$taxes,
'total' => &$total
);
// Display prices
if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
$sort_order = array();
$results = $this->model_setting_extension->getExtensions('total');
foreach ($results as $key => $value) {
$sort_order[$key] = $this->config->get('total_' . $value['code'] . '_sort_order');
}
array_multisort($sort_order, SORT_ASC, $results);
foreach ($results as $result) {
if ($this->config->get('total_' . $result['code'] . '_status')) {
$this->load->model('extension/total/' . $result['code']);
// We have to put the totals in an array so that they pass by reference.
$this->{'model_extension_total_' . $result['code']}->getTotal($total_data);
}
}
$sort_order = array();
foreach ($totals as $key => $value) {
$sort_order[$key] = $value['sort_order'];
}
array_multisort($sort_order, SORT_ASC, $totals);
}
$data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total, $this->session->data['currency']));
$this->load->model('tool/image');
$this->load->model('tool/upload');
$data['products'] = array();
foreach ($this->cart->getProducts() as $product) {
if ($product['image']) {
$image = $this->model_tool_image->resize($product['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_cart_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_cart_height'));
} else {
$image = '';
}
$option_data = array();
foreach ($product['option'] as $option) {
if ($option['type'] != 'file') {
$value = $option['value'];
} else {
$upload_info = $this->model_tool_upload->getUploadByCode($option['value']);
if ($upload_info) {
$value = $upload_info['name'];
} else {
$value = '';
}
}
$option_data[] = array(
'name' => $option['name'],
'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value),
'type' => $option['type']
);
}
// Display prices
if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
$unit_price = $this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax'));
$price = $this->currency->format($unit_price, $this->session->data['currency']);
$total = $this->currency->format($unit_price * $product['quantity'], $this->session->data['currency']);
} else {
$price = false;
$total = false;
}
$data['products'][] = array(
'cart_id' => $product['cart_id'],
'thumb' => $image,
'name' => $product['name'],
'model' => $product['model'],
'option' => $option_data,
'recurring' => ($product['recurring'] ? $product['recurring']['name'] : ''),
'quantity' => $product['quantity'],
'price' => $price,
'total' => $total,
'href' => $this->url->link('product/product', 'product_id=' . $product['product_id'])
);
}
// Gift Voucher
$data['vouchers'] = array();
if (!empty($this->session->data['vouchers'])) {
foreach ($this->session->data['vouchers'] as $key => $voucher) {
$data['vouchers'][] = array(
'key' => $key,
'description' => $voucher['description'],
'amount' => $this->currency->format($voucher['amount'], $this->session->data['currency'])
);
}
}
$data['totals'] = array();
foreach ($totals as $total) {
$data['totals'][] = array(
'title' => $total['title'],
'text' => $this->currency->format($total['value'], $this->session->data['currency']),
);
}
$data['cart'] = $this->url->link('checkout/cart');
$data['checkout'] = $this->url->link('checkout/checkout', '', true);
return $this->load->view('common/cart', $data);
}
public function info() {
$this->response->setOutput($this->index());
}
}
Catalog/controller/common/filemanagernew.php
<?php
class ControllerCommonFileManagernew extends Controller {
function translit ($text) {
$rus = array("а","А","б","Б","в","В","г","Г","д","Д","е","Е","ё","Ё","є","Є","ж", "Ж", "з","З","и","И","і","І","ї","Ї","й","Й","к","К","л","Л","м","М","н","Н","о","О","п","П","р","Р", "с","С","т","Т","у","У","ф","Ф","х","Х","ц","Ц","ч", "Ч", "ш", "Ш", "щ", "Щ", "ъ","Ъ", "ы","Ы","ь","Ь","э","Э","ю", "Ю", "я","Я",'/',' ');
$eng =array("a","A","b","B","v","V","g","G","d","D","e","E","e","E","e","E", "zh","ZH","z","Z","i","I","i","I","yi","YI","j","J","k","K","l","L","m","M","n","N","o","O", "p","P","r","R","s","S","t","T","u","U","f","F","h","H","c","C","ch","CH", "sh","SH","sch","SCH","", "", "y","Y","","","e","E","ju","JU","ja","JA",'','');
$text = strtolower(str_replace($rus,$eng,$text));
$disallow_symbols = array(
' ' => '-', '\\' => '-', '/' => '-', ':' => '-', '*' => '',
'?' => '', ',' => '', '"' => '', '\'' => '', '<' => '', '>' => '', '|' => ''
);
return trim(strip_tags(str_replace(array_keys($disallow_symbols), array_values($disallow_symbols), trim(html_entity_decode($text, ENT_QUOTES, 'UTF-8')))), '-');
}
public function index() {
$this->load->language('common/filemanagernew');
if (isset($this->request->get['filter_name'])) {
$filter_name = rtrim(str_replace(array('../', '..\\', '..', '*'), '', $this->request->get['filter_name']), '/');
} else {
$filter_name = null;
}
// Make sure we have the correct directory
if (isset($this->request->get['directory'])) {
$directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $this->request->get['directory']), '/');
} else {
$directory = DIR_IMAGE . 'catalog';
}
if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
} else {
$page = 1;
}
$data['images'] = array();
$this->load->model('tool/image');
// Get directories
$directories = glob($directory . '/' . $filter_name . '*', GLOB_ONLYDIR);
if (!$directories) {
$directories = array();
}
// Get files
$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);
if (!$files) {
$files = array();
}
// Merge directories and files
$images = array_merge($directories, $files);
// Get total number of files and directories
$image_total = count($images);
// Split the array based on current page number and max number of items per page of 10
$images = array_splice($images, ($page - 1) * 16, 16);
foreach ($images as $image) {
$name = str_split(basename($image), 14);
if (is_dir($image)) {
$url = '';
if (isset($this->request->get['cke'])) {
$url .= '&cke=' . $this->request->get['cke'];
}
if (isset($this->request->get['target'])) {
$url .= '&target=' . $this->request->get['target'];
}
if (isset($this->request->get['thumb'])) {
$url .= '&thumb=' . $this->request->get['thumb'];
}
//ocm_CKeditorIsBack_start
if (isset($this->request->get['ckedialog'])) {
$url .= '&ckedialog=' . $this->request->get['ckedialog'];
}
//ocm_CKeditorIsBack_end
$data['images'][] = array(
'thumb' => '',
'name' => implode(' ', $name),
'type' => 'directory',
'path' => utf8_substr($image, utf8_strlen(DIR_IMAGE)),
'href' => $this->url->link('common/filemanagernew', 'token=' . $this->session->data['token'] . '&directory=' . urlencode(utf8_substr($image, utf8_strlen(DIR_IMAGE . 'catalog/'))) . $url, 'SSL')
);
} elseif (is_file($image)) {
// Find which protocol to use to pass the full image link back
if ($this->request->server['HTTPS']) {
$server = HTTPS_SERVER;
} else {
$server = HTTP_SERVER;
}
$data['images'][] = array(
'thumb' => $this->model_tool_image->resize(utf8_substr($image, utf8_strlen(DIR_IMAGE)), 100, 100),
'name' => implode(' ', $name),
'type' => 'image',
'path' => utf8_substr($image, utf8_strlen(DIR_IMAGE)),
'href' => $server . 'image/' . utf8_substr($image, utf8_strlen(DIR_IMAGE))
);
}
}
$data['heading_title'] = $this->language->get('heading_title');
$data['text_no_results'] = $this->language->get('text_no_results');
$data['text_confirm'] = $this->language->get('text_confirm');
$data['entry_search'] = $this->language->get('entry_search');
$data['entry_folder'] = $this->language->get('entry_folder');
$data['button_parent'] = $this->language->get('button_parent');
$data['button_refresh'] = $this->language->get('button_refresh');
$data['button_upload'] = $this->language->get('button_upload');
$data['button_folder'] = $this->language->get('button_folder');
$data['button_delete'] = $this->language->get('button_delete');
$data['button_search'] = $this->language->get('button_search');
$data['token'] = $this->session->data['token'];
if (isset($this->request->get['directory'])) {
$data['directory'] = urlencode($this->request->get['directory']);
} else {
$data['directory'] = '';
}
if (isset($this->request->get['filter_name'])) {
$data['filter_name'] = $this->request->get['filter_name'];
} else {
$data['filter_name'] = '';
}
// Return the target ID for the file manager to set the value
if (isset($this->request->get['target'])) {
$data['target'] = $this->request->get['target'];
} else {
$data['target'] = '';
}
// CKEditor
if (isset($this->request->get['cke'])) {
$data['cke'] = $this->request->get['cke'];
} else {
$data['cke'] = '';
}
// Return the thumbnail for the file manager to show a thumbnail
if (isset($this->request->get['thumb'])) {
$data['thumb'] = $this->request->get['thumb'];
} else {
$data['thumb'] = '';
}
//ocm_CKeditorIsBack_start
if (isset($this->request->get['ckedialog'])) {
$data['ckedialog'] = $this->request->get['ckedialog'];
} else {
$data['ckedialog'] = '';
}
//ocm_CKeditorIsBack_end
// Parent
$url = '';
if (isset($this->request->get['directory'])) {
$pos = strrpos($this->request->get['directory'], '/');
if ($pos) {
$url .= '&directory=' . urlencode(substr($this->request->get['directory'], 0, $pos));
}
}
if (isset($this->request->get['cke'])) {
$url .= '&cke=' . $this->request->get['cke'];
}
if (isset($this->request->get['target'])) {
$url .= '&target=' . $this->request->get['target'];
}
if (isset($this->request->get['thumb'])) {
$url .= '&thumb=' . $this->request->get['thumb'];
}
//ocm_CKeditorIsBack_start
if (isset($this->request->get['ckedialog'])) {
$url .= '&ckedialog=' . $this->request->get['ckedialog'];
}
//ocm_CKeditorIsBack_end
$data['parent'] = $this->url->link('common/filemanagernew', 'token=' . $this->session->data['token'] . $url, 'SSL');
// Refresh
$url = '';
if (isset($this->request->get['directory'])) {
$url .= '&directory=' . urlencode($this->request->get['directory']);
}
if (isset($this->request->get['cke'])) {
$url .= '&cke=' . $this->request->get['cke'];
}
if (isset($this->request->get['target'])) {
$url .= '&target=' . $this->request->get['target'];
}
if (isset($this->request->get['thumb'])) {
$url .= '&thumb=' . $this->request->get['thumb'];
}
//ocm_CKeditorIsBack_start
if (isset($this->request->get['ckedialog'])) {
$url .= '&ckedialog=' . $this->request->get['ckedialog'];
}
//ocm_CKeditorIsBack_end
$data['refresh'] = $this->url->link('common/filemanagernew', 'token=' . $this->session->data['token'] . $url, 'SSL');
$url = '';
if (isset($this->request->get['directory'])) {
$url .= '&directory=' . urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['cke'])) {
$url .= '&cke=' . $this->request->get['cke'];
}
if (isset($this->request->get['target'])) {
$url .= '&target=' . $this->request->get['target'];
}
if (isset($this->request->get['thumb'])) {
$url .= '&thumb=' . $this->request->get['thumb'];
}
//ocm_CKeditorIsBack_start
if (isset($this->request->get['ckedialog'])) {
$url .= '&ckedialog=' . $this->request->get['ckedialog'];
}
//ocm_CKeditorIsBack_end
$pagination = new Pagination();
$pagination->total = $image_total;
$pagination->page = $page;
$pagination->limit = 16;
$pagination->url = $this->url->link('common/filemanagernew', 'token=' . $this->session->data['token'] . $url . '&page={page}', 'SSL');
$data['pagination'] = $pagination->render();
$this->response->setOutput($this->load->view('common/filemanagernew', $data));
}
public function upload() {
$this->load->language('common/filemanagernew');
$json = array();
// Make sure we have the correct directory
if (isset($this->request->get['directory'])) {
$directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $this->request->get['directory']), '/');
} else {
$directory = DIR_IMAGE . 'catalog';
}
// Check its a directory
if (!is_dir($directory)) {
$json['error'] = $this->language->get('error_directory');
}
if (!$json) {
if (!empty($this->request->files['file']['name']) && is_file($this->request->files['file']['tmp_name'])) {
// Sanitize the filename
$filename = basename(html_entity_decode($this->translit($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8')));
// Validate the filename length
if ((utf8_strlen($filename) < 3) || (utf8_strlen($filename) > 255)) {
$json['error'] = $this->language->get('error_filename');
}
// Allowed file extension types
$allowed = array(
'jpg',
'jpeg',
'gif',
'png'
);
if (!in_array(utf8_strtolower(utf8_substr(strrchr($filename, '.'), 1)), $allowed)) {
$json['error'] = $this->language->get('error_filetype');
}
// Allowed file mime types
$allowed = array(
'image/jpeg',
'image/pjpeg',
'image/png',
'image/x-png',
'image/gif'
);
if (!in_array($this->request->files['file']['type'], $allowed)) {
$json['error'] = $this->language->get('error_filetype');
}
// Check to see if any PHP files are trying to be uploaded
$content = file_get_contents($this->request->files['file']['tmp_name']);
if (preg_match('/\<\?php/i', $content)) {
$json['error'] = $this->language->get('error_filetype');
}
// Return any upload error
if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) {
$json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']);
}
} else {
$json['error'] = $this->language->get('error_upload');
}
}
if (!$json) {
move_uploaded_file($this->request->files['file']['tmp_name'], $directory . '/' . $filename);
$json['success'] = $this->language->get('text_uploaded');
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
public function folder() {
$this->load->language('common/filemanagernew');
$json = array();
//Translit Folder Name
$this->request->post['folder'] = $this->translit($this->request->post['folder']);
// Make sure we have the correct directory
if (isset($this->request->get['directory'])) {
$directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $this->request->get['directory']), '/');
} else {
$directory = DIR_IMAGE . 'catalog';
}
// Check its a directory
if (!is_dir($directory)) {
$json['error'] = $this->language->get('error_directory');
}
if (!$json) {
// Sanitize the folder name
$folder = str_replace(array('../', '..\\', '..'), '', basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES, 'UTF-8')));
// Validate the filename length
if ((utf8_strlen($folder) < 3) || (utf8_strlen($folder) > 128)) {
$json['error'] = $this->language->get('error_folder');
}
// Check if directory already exists or not
if (is_dir($directory . '/' . $folder)) {
$json['error'] = $this->language->get('error_exists');
}
}
if (!$json) {
mkdir($directory . '/' . $folder, 0777);
chmod($directory . '/' . $folder, 0777);
$json['success'] = $this->language->get('text_directory');
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
public function delete() {
$this->load->language('common/filemanagernew');
$json = array();
if (isset($this->request->post['path'])) {
$paths = $this->request->post['path'];
} else {
$paths = array();
}
// Loop through each path to run validations
foreach ($paths as $path) {
$path = rtrim(DIR_IMAGE . str_replace(array('../', '..\\', '..'), '', $path), '/');
// Check path exsists
if ($path == DIR_IMAGE . 'catalog') {
$json['error'] = $this->language->get('error_delete');
break;
}
}
if (!$json) {
// Loop through each path
foreach ($paths as $path) {
$path = rtrim(DIR_IMAGE . str_replace(array('../', '..\\', '..'), '', $path), '/');
// If path is just a file delete it
if (is_file($path)) {
unlink($path);
// If path is a directory beging deleting each file and sub folder
} elseif (is_dir($path)) {
$files = array();
// Make path into an array
$path = array($path . '*');
// While the path array is still populated keep looping through
while (count($path) != 0) {
$next = array_shift($path);
foreach (glob($next) as $file) {
// If directory add to path array
if (is_dir($file)) {
$path[] = $file . '/*';
}
// Add the file to the files to be deleted array
$files[] = $file;
}
}
// Reverse sort the file array
rsort($files);
foreach ($files as $file) {
// If file just delete
if (is_file($file)) {
unlink($file);
// If directory use the remove directory function
} elseif (is_dir($file)) {
rmdir($file);
}
}
}
}
$json['success'] = $this->language->get('text_delete');
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
Заключение
На сегодняшний день многие пользователи сети стремятся самостоятельно создать интернет-магазин, и таким образом, поправить своё материальное положение, реализовать себя в качестве преуспевающего бизнесмена. Однако даже в таком внешне простом, выгодном и привлекательном деле есть свои подводные камни. Даже для того, чтобы просто создать интернет-магазин с нуля, необходим стартовый капитал. Безусловно, в глобальной сети существует масса программ и порталов, предлагающих бесплатную и самостоятельную разработку проекта. Но стоит понимать, что у сайта интернет-магазина есть существенное отличие от других интернет-страниц, пусть даже ваш магазин находится в виртуальном пространстве, но Вы продаете реальный товар.
Поэтому позаботиться о наличие продуктов, которые Вы собираетесь продвигать в массы нужно заблаговременно, на момент регистрации сайта и старта продаж, магазин должен быть обеспечен необходимым арсеналом, иначе раскрутка, продвижение интернет-магазина, создание и разработка проекта окажутся лишь пустой тратой времени и сил. Создание интернет-магазина имеет свои преимущества перед открытием обычной торговой площадки, одним из которых является экономия. Вам не нужно тратить деньги на аренду или покупку помещения, для функционирования магазина или хранения продуктов, вам не обязательно нанимать персонал, таким образом, создавая интернет-магазин с нуля, вы лишаетесь огромного количества реальных расходов.
В процессе выполнения работы по ВКР были решены следующие задачи:
- рассмотрены языки программирования, используемые в Web технологиях и проведен анализ существующего программного обеспечения для создания Web сайтов;
- сформирован образа компании в интернете;
- Создан сайт, предоставляющий пользователям актуальную информацию по соответствующей теме.
- Выбран оптимальный CMS и хостинг;
- Разработан внешний вид интернет-магазина;
- Установлены модули для функционирования сайта и удовлетворения требований к интернет-магазину.
- Был исследован рынок e-Commerce в России и зарубежом;
- Рассмотрены преимущества и недостатки интернет-магазинов;
- Оценена рентабельность интернет-магазинов.
Дипломная работа выполнена с помощью простого и надежного конструктора CMS OpenCart (ocStore), который предназначен для создания интернет-магазина в соответствии с любыми требованиями при минимальных затратах и представляет собой один из наиболее популярных сервисов для создания сайтов. Размещен магазин на хостинге reg.ru по web-адресу marustore.ru. Выбранная CMS функциональна и проста в использовании, интернет-магазин может поддерживать человек, не обладающий знаниями создания сайтов.
Тестовый запуск позволил утверждать, что интернет-магазин привел к увеличению продаж, расширению географии и более точному получению информации о постоянных клиентах.
Список использованных источников литературы
1. Васильев В.Г. Введение в системное программное обеспечение, Учеб. пособие. / В.Г. Васильев. --Тверь: ТГТУ, 160 c.
2. Волкова В.Н. Теория систем и системный анализ. Учебник для бакалавров / В. Н. Волкова, А.А. Денисов. - М.: Юрайт, 2017. - 616с.
3. Гарнаев Андрей WEB-программирование на Java и JavaScript / Андрей Гарнаев, Сергей Гарнаев. - Москва: СПб. [и др.] : Питер, 2017. - 718 c.
4. Гусятников В.Н. Стандартизация и разработка программных систем: учеб. пособие / В.Н. Гусятников, А. И. Безруков. -- М.: Финансы и статистика, 2017. - 288 с
5. Зеленяк О.П. Практикум программирования на Тифо Раса]. Задачи, алгоритмы и решения / О.П. Зеленяк. - СПб-ДиаСофЕЮП: М. ДМК Пресс, 2018.-320с.
6. Информатика: Базовый курс/ Симонович С.В.и др. - СПб.: Питер, 2019
7. Колмыкова Е.А., Кумскова И.А. Информатика: учебной пособие для студ. сред. проф. образования. - 2-е изд., стер. - М.: Издательский центр «Академия», 2018. - 416 с.
8. Михеева Е.В., Информационные технологии в профессиональной деятельности. - М.: Издательский центр «Академия», 2019.
9. Михеева Е.В., Практикум по информатике. - М.: Издательский центр «Академия», 2019.
10. Немцова Т. И., Голова С. Ю., Абрамова И. В. Программирование на языке высокого уровня. Программирование на языке Object Pascal (+ CD-ROM); Форум, Инфра-М - Москва, 2019. - 496 c.
11. Орлов, С.А. Технология разработки программного обеспечения/ С.А. Орлов. - СПб.: Питер, 2019. - 608 с.
12. Рудаков А.В. «Технология разработки программных продуктов. Практикум»: учеб. пособие для студ. учреждений сред. проф. образования/ А.В. Рудаков, Г.Н. Федорова. -4-е изд., стер. - М.: Издательский центр «Академия», 2018.
13. Савитч Уолтер Язык JavaScript. Курс программирования / Уолтер Савитч. - М.: Вильямс, 2019. - 928 c.
14. Симонович С.В., Евсеев Г.А.Алексеев А. Н. Общая информатика. Учебное пособие для средней школы. - М.: АСТ-Пресс: Инфорком-Пресс, 2018
15. Федорова, Г. Н. Разработка, внедрение и адаптация программного обеспечения отраслевой направленности: учеб. пособие / Г.Н. Федорова. - М.: КУРС: ИНФРА-М, 2017. - 336 с. (Среднее Профессиональное Образование);
16. Шаньгин В.Ф. Информационная безопасность компьютерных систем и сетей: учеб. пособие / В.Ф. Шаньгин. - М.: ИД «ФОРУМ»: ИНФРА-М, 2017. -416 с. - (Профессиональное образование).
Интернет-ресурсы:
17. Шауцукова Л.З. Учебное пособие для 10-11 кл. общеобразоват. учреждений. - 4-е изд. - М.: Просвещение, 2018. - 416 с.: ил.
18. Data Insight Рынок eCommerce: прогноз роста 2020-24 [Электронный ресурс]. https://datainsight.ru/sites/default/files/DI_eCommerce2020_2024.pdf
19. E-commerce в цифрах статистика рынка электронной коммерции | Маркетинговые исследования электронная коммерция | Консалтинговая компания "Константа"
20. Актуальность формализованного сравнения отечественных систем электронной коммерции // RELGA
21. Безручко В.Т. Информатика (курс лекций): учебное пособие. - М.: ИД «Форум»: ИНФРА-М, 2017. - 432.: ил.
22. Руководство_Разработчика - Документация OpenCart
23. Как открыть интернет-магазин: пошаговая инструкция
24. Системы электронного документооборота на предприятии: проблемы внедрения и использования // RELGA
25. Информационные технологии. Объектно-ориентированные технологии
26. Информационные системы. Основные понятия объектно-ориентированного подхода
27. Как рынок e-Commerce изменился за 2020 год, и какие настроения у потребителей в 2021 году? - Metacommerce
28. Информационные технологии в розничной торговле
29. Причины возникновения проблем совместимости программного обеспечения
30. Регистрация доменов РФ/RU у аккредитованного регистратора доменов | Недорогой хостинг и дешевые домены | REG.RU
Размещено на Allbest.ru
...Подобные документы
Проектирование архитектуры и разработка веб-сайта для магазина строительных материалов. Анализ ключевых процессов работы интернет-магазинов, составление схем работы сервиса и схем товарооборота. Проектирование базы данных и бизнес-логики приложения.
курсовая работа [826,4 K], добавлен 09.09.2022Концептуальное проектирование сайта по онлайн-продаже кофе, его древовидная логическая структура страниц. Описание языка гипертекстовой разметки сайта HTML, особенности отображения HTML-тегов в браузерах. Создание формы заказа для онлайн-торговли.
курсовая работа [2,2 M], добавлен 16.04.2017Разработка сайта "Библиотека онлайн": создание режима ведения системного каталога книг (по внутреннему номеру, наименованию), картотеки читателей (фамилия, адрес, телефон), поиск разными методами и просмотр информации, формирование посетителем заказа.
курсовая работа [43,2 K], добавлен 14.06.2010Особенности создания сайта интернет-магазина для частных лиц и организаций. Анализ финансовой и технико-экономической деятельности фирмы. Создание информационной модели сайта, ее базовые элементы. Выбор программного и аппаратного обеспечения сайта.
дипломная работа [1,5 M], добавлен 08.12.2013Технические характеристики компьютерных систем. Анализ интернет-сайта филиала предприятия и выявление основных проблем. Обновление структуры и подгонка сайта под современные стандарты с помощью программы WebSite X5. Создание дизайна веб-страницы.
отчет по практике [410,2 K], добавлен 14.01.2015Постановка задачи разработки сайта компании "ОргТехСервис". Выбор методики проектирование сайта, разработка проекта, тестирование и отладка. Расчет показателей надежности Интернет-услуг. Порядок разработки интерфейсов взаимодействия с пользователем.
контрольная работа [1,5 M], добавлен 22.10.2014Разработка архитектуры сайта, структуры данных и необходимых программных модулей. Учет фирменного стиля компании при создании дизайна. Внедрение интерфейса административного редактирования сайта. Проведение экспериментального тестирования и отладки.
дипломная работа [3,0 M], добавлен 19.01.2017Экономическое обоснование создания программного продукта web-сайта мебельной компании. Применение гипертекстового языка разметки HTML, технологии CSS и JavaScript совместно с библиотекой JQuery. Использование Интернет-технологий в создании сайта.
дипломная работа [8,1 M], добавлен 30.11.2014Анализ сайтов для обучения иностранным языкам в сети Интернет и методик их изучения. Разработка сайта Foreign Dimension для обучения английскому языку. Структура сайта, разработка упражнений, базы данных, интерфейса. Тестирование основных элементов сайта.
дипломная работа [966,9 K], добавлен 19.01.2017Проектирование web-сайта. Пользовательские персонажи, детальная концепция сайта. Разработка скелетной схемы страниц, информационной архитектуры. Создание прототипа web-сайта. Выбор среды разработки. CMS системы и их анализ. Стадии проектирования сайта.
курсовая работа [346,7 K], добавлен 18.09.2016Понятие сайта как Интернет-ресурса. Специфические особенности сайтов учебных заведений. Видимость сайта в поисковых выдачах. Анализ сайта учебного заведения на примере сайта Тираспольского межрегионального университета. Составляющие (рубрики) сайта.
курсовая работа [403,8 K], добавлен 27.04.2013Языки написания сайта, принципы и обоснование их отбора. Программы создания web-страниц, их функциональные особенности и возможности. Технология и основные этапы разработки интернет-сайта, правила его составления, оформления, заполнения, программный код.
курсовая работа [3,1 M], добавлен 20.05.2015Разработка информационно-торгового сайта для ООО "Аккаунт". Характеристика компании, основные принципы работы с клиентами. Построение концептуальной модели базы данных: структура, этапы проектирования. Создание интернет-сайта, программы для тестирования.
дипломная работа [1,2 M], добавлен 29.05.2012Определение понятия веб-сайта. Рассмотрение и анализ этапов построения информационного ресурса. Изучение и характеристика особенностей процесса расположения сайта в сети интернет. Ознакомление с порядком регистрации доменного имени и аренды хостинга.
дипломная работа [4,7 M], добавлен 08.06.2019Разработка сайта, обеспечивающего функции по приему и обработке онлайн-заказов обоев. Перечень бизнес-процессов, включенных в разработку информационной системы. Инфраструктура разрабатываемой информационной системы. Тестирование программного обеспечения.
курсовая работа [74,3 K], добавлен 25.05.2015Анализ функционирования интернет-сайтов по предоставлению услуг. Обзор методологий проектирования интернет-представительства. Инструментальные средства разработки и реализации системы управления сайтом. Разработка интерфейса пользователя и web-сайта.
дипломная работа [1,2 M], добавлен 03.08.2014Актуальность создания фирменного web-сайта. Разработка, внедрение web-сайта под названием "Удачная постройка". Анализ существующих программных решений, выбор инструментальных средств разработки. Архитектура сайта, структура данных. Тестирование и отладка.
дипломная работа [4,7 M], добавлен 19.01.2017Выбор сред разработки для реализации сайта. Основная концепция и содержание веб-сайта. Роль дизайна сайта в его создании и определение основных требований к его содержанию и внешнему виду. Особенности разработки удобного и красивого интерфейса сайта.
курсовая работа [686,4 K], добавлен 13.06.2022CRM-системы: разновидности, проблемы реализации, их преимущества и недостатки. Критические характеристики CRM-систем для работы через Интернет (WEB-CRM). Разработка содержания и структуры WEB-сайта интренет-магазина "Vinil", создание схемы и базы данных.
курсовая работа [2,6 M], добавлен 19.05.2013Понятие и виды хостинга. Характеристика способов раскрутки веб-сайта. Обоснование необходимости и особенности разработки сайта для гостиничного предприятия, его назначение. Анализ сайтов-конкурентов. Выбор хостинга и домена, метода продвижения сайта.
контрольная работа [310,6 K], добавлен 25.12.2012