diff --git a/README.md b/README.md index c8a5f24..734e0d0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ -# quickfinder +### quickfinder -Модуль Быстрый переход Только для AVE.CMS ALT \ No newline at end of file +## Модуль Быстрый переход v1.26.1 + +* Модуль является альтернативным способом организации меню навигации на сайте. Он представлен в виде выпадающего списка разделов и подразделов вашего сайта. Для использования модуля, разместите системный тег [mod_quickfinder:XXX] в нужном месте вашего шаблона, где XXX - идентификаторы меню навигации указанные через запятую. + + +04.09.2019 - версия 1.26.1 + +15.06.2016 - версия 1.2 \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..4ca25aa --- /dev/null +++ b/index.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/info.php b/info.php new file mode 100644 index 0000000..6976b9d --- /dev/null +++ b/info.php @@ -0,0 +1,20 @@ + 'quickfinder', + 'ModuleVersion' => '1.26.1', + 'ModuleAutor' => 'AVE.cms Team', + 'ModuleCopyright' => '© 2007-' . date('Y') . ' AVE.cms', + 'ModuleStatus' => 1, + 'ModuleIsFunction' => 1, + 'ModuleTemplate' => 0, + 'ModuleAdminEdit' => 0, + 'ModuleFunction' => 'mod_quickfinder', + 'ModuleTag' => '[mod_quickfinder:XXX]', + 'ModuleTagLink' => null, + 'ModuleAveTag' => '#\\\[mod_quickfinder:([\\\d,]*)]#', + 'ModulePHPTag' => "" + ); +?> \ No newline at end of file diff --git a/lang/index.php b/lang/index.php new file mode 100644 index 0000000..4ca25aa --- /dev/null +++ b/lang/index.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/lang/ru.txt b/lang/ru.txt new file mode 100644 index 0000000..8c2816c --- /dev/null +++ b/lang/ru.txt @@ -0,0 +1,3 @@ +[name] +MODULE_NAME = "Быстрый переход" +MODULE_DESCRIPTION = "Данный модуль является альтернативным способом организации меню навигации на сайте. Он представлен в виде выпадающего списка разделов и подразделов вашего сайта. Для использования модуля, разместите системный тег [mod_quickfinder:XXX] в нужном месте вашего шаблона, где XXX - идентификаторы меню навигации указанные через запятую." \ No newline at end of file diff --git a/module.php b/module.php new file mode 100644 index 0000000..348e0c2 --- /dev/null +++ b/module.php @@ -0,0 +1,182 @@ + + +user_group)) + { + array_push($navi_in, $navigation->navigation_id); + } + } + + if (sizeof($navi_in)) { + $sql = " + SELECT + navigation_item_id, + parent_id, + title, + document_id, + target, + level, + alias, + 0 AS active + FROM " . PREFIX . "_navigation_items + WHERE status = '1' + AND navigation_id IN(" . implode(',', $navi_in) . ") + ORDER BY navigation_id ASC, position ASC + "; + } + else + { + return; + } + } + $nav_items = array(); + $sql = $AVE_DB->Query($sql); + while ($row_nav_item = $sql->FetchAssocArray()) + { + if (empty($_REQUEST['module'])) + { + $curent_doc_id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? $_GET['id'] : 1; + if ($row_nav_item['alias'] == $AVE_Core->curentdoc->document_alias || + 'index.php?id=' . $row_nav_item['document_id'] == 'index.php?id=' . $curent_doc_id) + { + $row_nav_item['active'] = 1; + } + } + else + { + if ('index.php?id=' . $row_nav_item['document_id'] == 'index.php?module=' . $_REQUEST['module']) + { + $row_nav_item['active'] = 1; + } + } + + $nav_items[$row_nav_item['parent_id']][] = $row_nav_item; + } + + if (sizeof($nav_items)) + { + $quickfinder = ''; + } + $sql->Close(); +} + +function printQuickfinder(&$nav_items, &$quickfinder = '', $parent = '0') +{ + foreach ($nav_items[$parent] as $row) + { + if (strpos('index.php?id=' . $row['document_id'], 'module=') === false && start_with('index.php?', 'index.php?id=' . $row['document_id'])) + { + 'index.php?id=' . $row['document_id'] .= '&doc=' . (empty($row['alias']) ? prepare_url($row['title']) : $row['alias']); + } + + if (start_with('www.', 'index.php?id=' . $row['document_id'])) + { + 'index.php?id=' . $row['document_id'] = str_replace('www.', 'http://www.', 'index.php?id=' . $row['document_id']); + } + + 'index.php?id=' . $row['document_id'] = rewrite_link('index.php?id=' . $row['document_id']); + + + if($row['alias']=='/') { + + if (!start_with('javascript:', 'index.php?id=' . $row['document_id'])) + { + if ($row['target'] == '_blank') + { + $row['alias'] = "javascript:window.open('" . $row['alias'] . "', '', '')"; + } + else + { + $row['alias'] = "window.location.href = '" . $row['alias'] . "'"; + } + } + } else { + + + if (!start_with('javascript:', 'index.php?id=' . $row['document_id'])) + { + if ($row['target'] == '_blank') + { + $row['alias'] = "javascript:window.open('". ABS_PATH. $row['alias'] . "', '', '')"; + } + else + { + $row['alias'] = "window.location.href = '". ABS_PATH. $row['alias'] . "'"; + } + } + + } + + $quickfinder .= ''; + + + if (isset($nav_items[$row['navigation_item_id']])) + { + printQuickfinder($nav_items, $quickfinder, $row['navigation_item_id']); + } + } +} +?> \ No newline at end of file