Przeglądaj źródła

#485 Permalinks for local storage links

Alex Trofimov 10 lat temu
rodzic
commit
0172562efc

+ 1 - 1
.htaccess

@@ -10,7 +10,7 @@ Options -MultiViews -Indexes
     RewriteEngine on
     RewriteEngine on
     RewriteRule ^m/(.*)$  modules/index.php?r=$1 [QSA,L]
     RewriteRule ^m/(.*)$  modules/index.php?r=$1 [QSA,L]
     RewriteRule ^page/(.*)$  page.php?i=$1 [QSA,L]
     RewriteRule ^page/(.*)$  page.php?i=$1 [QSA,L]
-    RewriteRule ^storage/([a-zA-Z0-9]+)/([a-zA-Z0-9\.]+)  storage.php?o=$1&f=$2   [QSA,L]
+    RewriteRule ^storage/([a-zA-Z0-9_]+)/([a-zA-Z0-9\.]+)  storage.php?o=$1&f=$2   [QSA,L]
 </IfModule>
 </IfModule>
 
 
 AddType image/svg+xml svg
 AddType image/svg+xml svg

+ 2 - 1
inc/classes/BxDolStorageLocal.php

@@ -124,7 +124,8 @@ class BxDolStorageLocal extends BxDolStorage
 
 
     protected function getObjectBaseUrl ($isPrivate = false)
     protected function getObjectBaseUrl ($isPrivate = false)
     {
     {
-        return BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink('storage.php?o=' . $this->_aObject['object'] . '&f=');
+        $o = BxDolPermalinks::getInstance();
+        return BX_DOL_URL_ROOT . $o->permalink('storage.php?o=') . $this->_aObject['object'] . ($o->_isEnabled('storage.php?o=') ? '/' : '&f=');
     }
     }
 
 
     protected function mkdir($sDirName, $sRights = false)
     protected function mkdir($sDirName, $sRights = false)

+ 4 - 2
install/sql/system.sql

@@ -351,7 +351,8 @@ SET @iCategoryId = LAST_INSERT_ID();
 
 
 INSERT INTO `sys_options` (`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
 INSERT INTO `sys_options` (`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
 (@iCategoryId, 'permalinks_pages', '_adm_stg_cpt_option_permalinks_pages', 'on', 'checkbox', '', '', '', 1),
 (@iCategoryId, 'permalinks_pages', '_adm_stg_cpt_option_permalinks_pages', 'on', 'checkbox', '', '', '', 1),
-(@iCategoryId, 'permalinks_modules', '_adm_stg_cpt_option_permalinks_modules', 'on', 'checkbox', '', '', '', 2);
+(@iCategoryId, 'permalinks_modules', '_adm_stg_cpt_option_permalinks_modules', 'on', 'checkbox', '', '', '', 2),
+(@iCategoryId, 'permalinks_storage', '_adm_stg_cpt_option_permalinks_storage', 'on', 'checkbox', '', '', '', 3);
 
 
 
 
 --
 --
@@ -1104,7 +1105,8 @@ CREATE TABLE `sys_permalinks` (
 
 
 INSERT INTO `sys_permalinks` (`standard`, `permalink`, `check`, `compare_by_prefix`) VALUES
 INSERT INTO `sys_permalinks` (`standard`, `permalink`, `check`, `compare_by_prefix`) VALUES
 ('page.php?i=', 'page/', 'permalinks_pages', 1),
 ('page.php?i=', 'page/', 'permalinks_pages', 1),
-('modules/?r=', 'm/', 'permalinks_modules', 1);
+('modules/?r=', 'm/', 'permalinks_modules', 1),
+('storage.php?o=', 'storage/', 'permalinks_storage', 1);
 
 
 
 
 -- --------------------------------------------------------
 -- --------------------------------------------------------

+ 4 - 3
modules/boonex/english/data/langs/system/en.xml

@@ -1027,7 +1027,7 @@
 	<string name="_adm_page_cpt_login"><![CDATA[Login]]></string>
 	<string name="_adm_page_cpt_login"><![CDATA[Login]]></string>
 	<string name="_adm_page_cpt_polyglot"><![CDATA[Polyglot]]></string>
 	<string name="_adm_page_cpt_polyglot"><![CDATA[Polyglot]]></string>
 	<string name="_adm_page_cpt_settings"><![CDATA[Settings]]></string>
 	<string name="_adm_page_cpt_settings"><![CDATA[Settings]]></string>
-	<string name="_adm_page_cpt_storages"><![CDATA[Storages]]></string>
+	<string name="_adm_page_cpt_storages"><![CDATA[Storage]]></string>
 	<string name="_adm_page_cpt_store"><![CDATA[Apps]]></string>
 	<string name="_adm_page_cpt_store"><![CDATA[Apps]]></string>
 	<string name="_adm_pgt_btn_add_new_key"><![CDATA[Create New Key]]></string>
 	<string name="_adm_pgt_btn_add_new_key"><![CDATA[Create New Key]]></string>
 	<string name="_adm_pgt_btn_delete"><![CDATA[Delete]]></string>
 	<string name="_adm_pgt_btn_delete"><![CDATA[Delete]]></string>
@@ -1191,7 +1191,8 @@
 	<string name="_adm_stg_cpt_option_lang_default"><![CDATA[Default Language]]></string>
 	<string name="_adm_stg_cpt_option_lang_default"><![CDATA[Default Language]]></string>
 	<string name="_adm_stg_cpt_option_lang_subst_from_en"><![CDATA[Substitute (during compilation) missing translations with english ones]]></string>	
 	<string name="_adm_stg_cpt_option_lang_subst_from_en"><![CDATA[Substitute (during compilation) missing translations with english ones]]></string>	
 	<string name="_adm_stg_cpt_option_permalinks_modules"><![CDATA[Enable friendly permalinks for Modules]]></string>
 	<string name="_adm_stg_cpt_option_permalinks_modules"><![CDATA[Enable friendly permalinks for Modules]]></string>
-	<string name="_adm_stg_cpt_option_permalinks_pages"><![CDATA[Enable friendly permalinks for Pages]]></string>
+    <string name="_adm_stg_cpt_option_permalinks_pages"><![CDATA[Enable friendly permalinks for Pages]]></string>
+	<string name="_adm_stg_cpt_option_permalinks_storage"><![CDATA[Enable friendly permalinks for local Storage]]></string>
 	<string name="_adm_stg_cpt_option_site_email"><![CDATA[Email to receive critical site notifications]]></string>
 	<string name="_adm_stg_cpt_option_site_email"><![CDATA[Email to receive critical site notifications]]></string>
 	<string name="_adm_stg_cpt_option_site_email_notify"><![CDATA[Email to send site messages from]]></string>
 	<string name="_adm_stg_cpt_option_site_email_notify"><![CDATA[Email to send site messages from]]></string>
 	<string name="_adm_stg_cpt_option_site_email_html_template_header"><![CDATA[Email template header]]></string>
 	<string name="_adm_stg_cpt_option_site_email_html_template_header"><![CDATA[Email template header]]></string>
@@ -1421,7 +1422,7 @@
 	<string name="_adm_wgt_cpt_designer"><![CDATA[Designer]]></string>
 	<string name="_adm_wgt_cpt_designer"><![CDATA[Designer]]></string>
 	<string name="_adm_wgt_cpt_polyglot"><![CDATA[Polyglot]]></string>
 	<string name="_adm_wgt_cpt_polyglot"><![CDATA[Polyglot]]></string>
 	<string name="_adm_wgt_cpt_settings"><![CDATA[Settings]]></string>
 	<string name="_adm_wgt_cpt_settings"><![CDATA[Settings]]></string>
-	<string name="_adm_wgt_cpt_storages"><![CDATA[Storages]]></string>
+	<string name="_adm_wgt_cpt_storages"><![CDATA[Storage]]></string>
 	<string name="_adm_wgt_cpt_store"><![CDATA[Apps Market]]></string>
 	<string name="_adm_wgt_cpt_store"><![CDATA[Apps Market]]></string>
 	<string name="_are you sure?"><![CDATA[Are you sure?]]></string>
 	<string name="_are you sure?"><![CDATA[Are you sure?]]></string>
 	<string name="_cmt_block_comments_title"><![CDATA[Comments ({0})]]></string>
 	<string name="_cmt_block_comments_title"><![CDATA[Comments ({0})]]></string>

+ 4 - 3
modules/boonex/russian/data/langs/system/ru.xml

@@ -1025,7 +1025,7 @@
 	<string name="_adm_page_cpt_login"><![CDATA[Войти]]></string>
 	<string name="_adm_page_cpt_login"><![CDATA[Войти]]></string>
 	<string name="_adm_page_cpt_polyglot"><![CDATA[Полиглот]]></string>
 	<string name="_adm_page_cpt_polyglot"><![CDATA[Полиглот]]></string>
 	<string name="_adm_page_cpt_settings"><![CDATA[Настройки]]></string>
 	<string name="_adm_page_cpt_settings"><![CDATA[Настройки]]></string>
-	<string name="_adm_page_cpt_storages"><![CDATA[Хранилища]]></string>
+	<string name="_adm_page_cpt_storages"><![CDATA[Хранилище]]></string>
 	<string name="_adm_page_cpt_store"><![CDATA[Приложения]]></string>
 	<string name="_adm_page_cpt_store"><![CDATA[Приложения]]></string>
 	<string name="_adm_pgt_btn_add_new_key"><![CDATA[Создать Новый Ключ]]></string>
 	<string name="_adm_pgt_btn_add_new_key"><![CDATA[Создать Новый Ключ]]></string>
 	<string name="_adm_pgt_btn_delete"><![CDATA[Удалить]]></string>
 	<string name="_adm_pgt_btn_delete"><![CDATA[Удалить]]></string>
@@ -1189,7 +1189,8 @@
 	<string name="_adm_stg_cpt_option_lang_default"><![CDATA[Основной Язык]]></string>
 	<string name="_adm_stg_cpt_option_lang_default"><![CDATA[Основной Язык]]></string>
 	<string name="_adm_stg_cpt_option_lang_subst_from_en"><![CDATA[Заменить (на этапе компиляции) отсутствующий перевод английским эквивалентом]]></string>	
 	<string name="_adm_stg_cpt_option_lang_subst_from_en"><![CDATA[Заменить (на этапе компиляции) отсутствующий перевод английским эквивалентом]]></string>	
 	<string name="_adm_stg_cpt_option_permalinks_modules"><![CDATA[Задействовать дружественные ссылки для Модулей]]></string>
 	<string name="_adm_stg_cpt_option_permalinks_modules"><![CDATA[Задействовать дружественные ссылки для Модулей]]></string>
-	<string name="_adm_stg_cpt_option_permalinks_pages"><![CDATA[Задействовать дружественные ссылки для Страниц]]></string>
+    <string name="_adm_stg_cpt_option_permalinks_pages"><![CDATA[Задействовать дружественные ссылки для Страниц]]></string>
+    <string name="_adm_stg_cpt_option_permalinks_storage"><![CDATA[Задействовать дружественные ссылки для локального Хранилища]]></string>
 	<string name="_adm_stg_cpt_option_site_email"><![CDATA[Имейл для получения критических уведомлений от сайта]]></string>
 	<string name="_adm_stg_cpt_option_site_email"><![CDATA[Имейл для получения критических уведомлений от сайта]]></string>
 	<string name="_adm_stg_cpt_option_site_email_notify"><![CDATA[Имейл, с которого будут посылаться сообщения от сайта]]></string>
 	<string name="_adm_stg_cpt_option_site_email_notify"><![CDATA[Имейл, с которого будут посылаться сообщения от сайта]]></string>
 	<string name="_adm_stg_cpt_option_site_email_html_template_header"><![CDATA[Заголовок имейл HTML шаблона]]></string>
 	<string name="_adm_stg_cpt_option_site_email_html_template_header"><![CDATA[Заголовок имейл HTML шаблона]]></string>
@@ -1419,7 +1420,7 @@
 	<string name="_adm_wgt_cpt_designer"><![CDATA[Дизайнер]]></string>
 	<string name="_adm_wgt_cpt_designer"><![CDATA[Дизайнер]]></string>
 	<string name="_adm_wgt_cpt_polyglot"><![CDATA[Полиглот]]></string>
 	<string name="_adm_wgt_cpt_polyglot"><![CDATA[Полиглот]]></string>
 	<string name="_adm_wgt_cpt_settings"><![CDATA[Настройки]]></string>
 	<string name="_adm_wgt_cpt_settings"><![CDATA[Настройки]]></string>
-	<string name="_adm_wgt_cpt_storages"><![CDATA[Хранилища]]></string>
+	<string name="_adm_wgt_cpt_storages"><![CDATA[Хранилище]]></string>
 	<string name="_adm_wgt_cpt_store"><![CDATA[Магазин Приложений]]></string>
 	<string name="_adm_wgt_cpt_store"><![CDATA[Магазин Приложений]]></string>
 	<string name="_are you sure?"><![CDATA[Вы уверены?]]></string>
 	<string name="_are you sure?"><![CDATA[Вы уверены?]]></string>
 	<string name="_cmt_block_comments_title"><![CDATA[Комментарии ({0})]]></string>
 	<string name="_cmt_block_comments_title"><![CDATA[Комментарии ({0})]]></string>