Диплом: Автоматизация учета посещений клиентов в интернет-магазине автомобильного тюнинга "Д-Тюнинг"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
// Get the nodes new parents
$query = $this->db->query("SELECT * FROM .
DB_PREFIX . "category_path' WHERE category_id = '" . (int)$data['parent_id'] . "'
ORDER BY level ASC");
foreach ($query->rows as $result) {
$path[] = $result['path_id'];
}
// Get whats left of the nodes current path
$query = $this->db->query("SELECT * FROM " .
DB_PREFIX . "category_path' WHERE category_id = '" .
(int)$category_path['category_id'] . "' ORDER BY level ASC");
foreach ($query->rows as $result) {
$path[] = $result['path_id'];
}
// Combine the paths with a new level
$level = 0;
foreach ($path as $path_id) {
$this->db->query("REPLACE INTO " .
DB_PREFIX . "category_path' SET category_id = '" .
(int)$category_path['category_id'] . "', 'path_id' = '" . (int)$path_id . "', level = '" .
(int)$level
.
.....);
$level++;
}
} else {
// Delete the path below the current one
$this->db->query("DELETE FROM '" . DB_PREFIX .
Mcategory_path' WHERE category_id = '" . (int)$category_id
.
.....);
// Fix for records with no paths
$level = 0;
$query = $this->db->query("SELECT * FROM " .
DB_PREFIX . "category_path' WHERE category_id = '" . (int)$data['parent_id'] . "'
ORDER BY level ASC");
foreach ($query->rows as $result) {
$this->db->query("INSERT INTO " . DB_PREFIX
. "category_path' SET category_id = '" . (int)$category_id . "', 'path_id' = '" .
(int)$result['path_id'] . "', level = '" . (int)$level
.
.....);
$level++;
}
$this->db->query("REPLACE INTO " . DB_PREFIX .
"category_path' SET category_id = '" . (int)$category_id . "', 'path_id' = '" .
(int)$category_id . "', level = '" . (int)$level
.
.....);
}
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_filter WHERE category_id = '" . (int)$category_id
.
.....);
if (isset($data['category_filter'])) {
foreach ($data['category_filter'] as $filter_id) {
$this->db->query("INSERT INTO " . DB_PREFIX .
"category_filter SET category_id = '" . (int)$category_id . "', filter_id = '" .
(int)$filter_id
.
.....);
}
}
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_to_store WHERE category_id = '" . (int)$category_id
.
.....);
if (isset($data['category_store'])) {
foreach ($data['category_store'] as $store_id) {
$this->db->query("INSERT INTO " . DB_PREFIX .
"category_to_store SET category_id = '" . (int)$category_id . "', store_id = '" .
(int)$store_id
.
....
);
}
}
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_to_layout WHERE category_id = '" . (int)$category_id
.
.....);
if (isset($data['category_layout'])) {
foreach ($data['category_layout'] as $store_id => $layout) {
if ($layout['layout_id']) {
$this->db->query("INSERT INTO " .
DB_PREFIX . "category_to_layout SET category_id = '" . (int)$category_id . "',
store_id = '" . (int)$store_id . "', layout_id = '" . (int)$layout['layout_id']
.
.....);
}
}
}
$this->db->query("DELETE FROM " . DB_PREFIX . "url_alias
WHERE query = 'category_id=" . (int)$category_id.
...
);
if ($data['keyword']) {
$this->db->query("INSERT INTO " . DB_PREFIX .
"url_alias SET query = 'category_id=" . (int)$category_id . "', keyword = '" . $this-
>db->escape($data['keyword'])
.
.....);
}
$this->cache->delete('category');
}
public function deleteCategory($category_id) {
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_path WHERE category_id = '" . (int)$category_id
.
.....);
$query = $this->db->query("SELECT * FROM " . DB_PREFIX .
"category_path WHERE path_id = '" . (int)$category_id
.
.....);
foreach ($query->rows as $result) {
$this->deleteCategory($result['category_id']);
}
$this->db->query("DELETE FROM " . DB_PREFIX . "category
WHERE category_id = '" . (int)$category_id
.
.....);
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_description WHERE category_id = '" . (int)$category_id
.
....
);
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_filter WHERE category_id = '" . (int)$category_id
.
.....);
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_to_store WHERE category_id = '" . (int)$category_id
.
.....
);
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_to_layout WHERE category_id = '" . (int)$category_id
.
.....);
$this->db->query("DELETE FROM " . DB_PREFIX .
"product_to_category WHERE category_id = '" . (int)$category_id
.
.....);
$this->db->query("DELETE FROM " . DB_PREFIX . "url_alias
WHERE query = 'category_id=" . (int)$category_id
.
.....);
$this->cache->delete('category');
}
// Function to repair any erroneous categories that are not in the category
path table.
public function repairCategories($parent_id = 0) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX .
"category WHERE parent_id = '" . (int)$parent_id
.
.....);
foreach ($query->rows as $category) {
// Delete the path below the current one
$this->db->query("DELETE FROM " . DB_PREFIX .
"category_path' WHERE category_id = '" . (int)$category['category_id']
.
.....);
// Fix for records with no paths
$level = 0;
$query = $this->db->query("SELECT * FROM " .
DB_PREFIX . "category_path' WHERE category_id = '" . (int)$parent_id . "' ORDER
BY level ASC");
foreach ($query->rows as $result) {
$this->db->query("INSERT INTO '" . DB_PREFIX
. "category_path' SET category_id = '" . (int)$category['category_id'] . "', 'path_id' = '"
. (int)$result['path_id'] . "', level = '" . (int)$level
.
.....);
$level++;
}
$this->db->query("REPLACE INTO " . DB_PREFIX .
"category_path' SET category_id = '" . (int)$category['category_id'] . "', 'path_id' = '" .
(int)$category['category_id'] . "', level = '" . (int)$level
.
.....);
$this->repairCategories($category['category_id']);
}
}
public function getCategory($category_id) {
$query = $this->db->query("SELECT DISTINCT *, (SELECT
GROUP_CONCAT(cd l.name ORDER BY level SEPARATOR ' > ') FROM " .
DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category_description
cdl ON (cp.path_id = cd1.category_id AND cp.category_id != cp.path_id) WHERE
cp.category_id = c.category_id AND cd1.language_id = '" . (int)$this->config-
>get('config_language_id') . "' GROUP BY cp.category_id) AS path, (SELECT
keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'category_id=" .
(int)$category_id . "') AS keyword FROM " . DB_PREFIX . "category c LEFT JOIN "
. DB_PREFIX . "category_description cd2 ON (c.category_id = cd2.category_id)
WHERE c.category_id = '" . (int)$category_id . "' AND cd2.language_id = '" .
(int)$this->config->get('config_language_id')
.
.....);
return $query->row;
public function getCategories($data) {
$sql = "SELECT cp.category_id AS category_id,
GROUP_CONCAT(cdl.name ORDER BY cp.level SEPARATOR ' > ') AS name,
c.parent_id, c.sort_order FROM " . DB_PREFIX . "category_path cp LEFT JOIN " .
DB_PREFIX . "category c ON (cp.path_id = c.category_id) LEFT JOIN " .
DB_PREFIX . "category_description cd1 ON (c.category_id = cd1.category_id) LEFT
JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id =
cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config-
>get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config-
>get('config_language_id')
.
.....;
if (!empty($data['filter_name'])) {
$sql .= " AND cd2.name LIKE '" . $this->db-
>escape($data['filter_name']) . "%'";
}
$sql .= " GROUP BY cp.category_id ORDER BY name";
if (isset($data['start']) || isset($data['limit'])) {
if ($data['start'] < 0) {
$data['start'] = 0;
}
if ($data['limit'] < 1) {
$data['limit'] = 20;
}
$sql .= " LIMIT " . (int)$data['start'] . "," .
(int)$data['limit'];
$query = $this->db->query($sql);
return $query->rows;
}
public function getCategoryDescriptions($category_id) {
$category_description_data = array();
$query = $this->db->query(”SELECT * FROM ” . DB_PREFIX .
"category_description WHERE category_id = '” . (int)$category_id
.
.....);
foreach ($query->rows as $result) {
$category_description_data[$result['language_id']] = array(
'name' => $result['name'],
'meta_keyword' => $result['meta_keyword'],
'meta_description' => $result['meta_description'],
'description' => $result['description']
);
}
return $category_description_data;
}
public function getCategoryFilters($category_id) {
$category_filter_data = array();
$query = $this->db->query(”SELECT * FROM ” . DB_PREFIX .
"category_filter WHERE category_id = '” . (int)$category_id
.
....
);
foreach ($query->rows as $result) {
$category_filter_data[] = $result['filter_id'];
}
return $category_filter_data;
}
public function getCategoryStores($category_id) {
$category_store_data = array();
$query = $this->db->query("SELECT * FROM " . DB_PREFIX .
"category_to_store WHERE category_id = '" . (int)$category_id
.
.....);
foreach ($query->rows as $result) {
$category_store_data[] = $result['store_id'];
}
return $category_store_data;
}
public function getCategoryLayouts($category_id) {
$category_layout_data = array();
$query = $this->db->query("SELECT * FROM " . DB_PREFIX .
"category_to_layout WHERE category_id = '" . (int)$category_id
.
.....);
foreach ($query->rows as $result) {
$category_layout_data[$result['store_id']] =
$result['layout_id'];
}
return $category_layout_data;
public function getTotalCategories() {
$query = $this->db->query("SELECT COUNT(*) AS total
FROM " . DB_PREFIX . "category");
return $query->row['total'];
}
public function getTotalCategoriesByImageId($image_id) {
$query = $this->db->query("SELECT COUNT(*) AS total
FROM " . DB_PREFIX . "category WHERE image_id = '" . (int)$image_id
.
.....);
return $query->row['total'];
}
public function getTotalCategoriesByLayoutId($layout_id) {
$query = $this->db->query("SELECT COUNT(*) AS total
FROM " . DB_PREFIX . "category_to_layout WHERE layout_id = '" . (int)$layout_id
");
}
}
?>
return $query->row['total'];

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)