mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
issue 49 add opage module and article type
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8491 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f9b695f734
commit
3c313f80a9
31 changed files with 859 additions and 56 deletions
|
|
@ -18,8 +18,8 @@
|
|||
<description xml:lang="ru">Этот модуль служит для создания страниц, чтобы связать их с содержимым.</description>
|
||||
<description xml:lang="zh-TW">製作頁面並連結內容的模組。</description>
|
||||
<description xml:lang="tr">Bu modül içeriklere bağlanacak sayfaları oluşturmak içindir.</description>
|
||||
<version>0.1</version>
|
||||
<date>2007-02-28</date>
|
||||
<version>0.2</version>
|
||||
<date>2011-06-15</date>
|
||||
<category>service</category>
|
||||
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
|
|
|
|||
|
|
@ -1,30 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module>
|
||||
<grants />
|
||||
<permissions>
|
||||
<permission action="procPageAdminRemoveWidgetCache" target="manager" />
|
||||
<permission action="dispPageAdminContentModify" target="manager" />
|
||||
<permission action="procPageAdminInsert" target="manager" />
|
||||
<permission action="procPageAdminInsertContent" target="manager" />
|
||||
</permissions>
|
||||
<actions>
|
||||
<action name="dispPageIndex" type="view" index="true" />
|
||||
<action name="dispPageAdminContent" type="view" admin_index="true" standalone="true" />
|
||||
<action name="dispPageAdminGrantInfo" type="view" standalone="true" />
|
||||
<action name="dispPageAdminInfo" type="view" standalone="true" />
|
||||
<action name="dispPageAdminPageAdditionSetup" type="view" standalone="true" />
|
||||
<action name="dispPageAdminInsert" type="view" standalone="true" setup_index="true" />
|
||||
<action name="dispPageAdminDelete" type="view" standalone="true" />
|
||||
<action name="dispPageAdminContentModify" type="view" standalone="true" />
|
||||
<action name="dispPageAdminAddContent" type="view" standalone="true" />
|
||||
<action name="dispPageAdminMobileContentModify" type="view" standalone="true" />
|
||||
<action name="dispPageAdminMobileContent" type="view" standalone="true" />
|
||||
<module version="0.2">
|
||||
<title xml:lang="ko">페이지</title>
|
||||
<title xml:lang="zh-CN">页面管理</title>
|
||||
<title xml:lang="jp">ページ</title>
|
||||
<title xml:lang="en">Page</title>
|
||||
<title xml:lang="vi">Trang</title>
|
||||
<title xml:lang="es">Página</title>
|
||||
<title xml:lang="ru">Страницы</title>
|
||||
<title xml:lang="zh-TW">頁面</title>
|
||||
<title xml:lang="tr">Sayfa</title>
|
||||
<description xml:lang="ko">페이지를 제작하여 컨텐츠로 연결할 수 있는 모듈</description>
|
||||
<description xml:lang="zh-CN">制作页面并能连接到内容区的模块。</description>
|
||||
<description xml:lang="jp">ページを作成してコンテンツとしてリンク出来るようにするモジュールです。</description>
|
||||
<description xml:lang="en">This module is for creating pages to link with contents.</description>
|
||||
<description xml:lang="vi">Module này dành cho việc tạo trang cho liên kết với nội dung.</description>
|
||||
<description xml:lang="es">Este módulo is para crear página para enlazar con contenidos.</description>
|
||||
<description xml:lang="ru">Этот модуль служит для создания страниц, чтобы связать их с содержимым.</description>
|
||||
<description xml:lang="zh-TW">製作頁面並連結內容的模組。</description>
|
||||
<description xml:lang="tr">Bu modül içeriklere bağlanacak sayfaları oluşturmak içindir.</description>
|
||||
<version>0.2</version>
|
||||
<date>2011-06-15</date>
|
||||
<category>service</category>
|
||||
|
||||
<action name="procPageAdminRemoveWidgetCache" type="controller" standalone="true" />
|
||||
<action name="procPageAdminInsert" type="controller" standalone="true" />
|
||||
<action name="procPageAdminInsertContent" type="controller" standalone="true" />
|
||||
<action name="procPageAdminDelete" type="controller" standalone="true" />
|
||||
<action name="procPageAdminInsertConfig" type="controller" standalone="true" />
|
||||
<action name="procPageAdminAddContent" type="controller" standalone="true" />
|
||||
</actions>
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="ko">NHN</name>
|
||||
<name xml:lang="vi">NHN</name>
|
||||
<name xml:lang="zh-CN">NHN</name>
|
||||
<name xml:lang="jp">NHN</name>
|
||||
<name xml:lang="en">NHN</name>
|
||||
<name xml:lang="es">NHN</name>
|
||||
<name xml:lang="ru">NHN</name>
|
||||
<name xml:lang="zh-TW">NHN</name>
|
||||
<name xml:lang="tr">NHN</name>
|
||||
</author>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->about_page_caching_interval = "The unit is minute, and it displays temporary saved data for assigned time.<br />It is recommended to cache for proper time if a lot of resources are needed when displaying other servers' data or information.<br />A value of 0 will not cache.";
|
||||
$lang->about_mcontent = 'This is the page you will see from mobile devices. If you have not set this page, rearranged default page will be displayed.';
|
||||
$lang->page_management = 'Page Management';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->cmd_page_create = '페이지 생성';
|
||||
$lang->about_mcontent = 'This is the page for the mobile view. If you do not write this page, the mobile view display reoragnized PC view\'s page.';
|
||||
$lang->page_management = '페이지 관리';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->about_page_caching_interval = "L'unité est minute, et ça exposera des données conservées temporairement pendant le temps assigné.<br />Il est recommandé d'utiliser l'antémémoire pendant le temps convenable si beaucoup de ressource est nécessaire pour représenter les données ou l'information d'autre serveur.<br />La valeur 0 signifie de ne pas utiliser antémémoire.";
|
||||
$lang->about_mcontent = 'This is the page for the mobile view. If you do not write this page, the mobile view display reoragnized PC view\'s page.';
|
||||
$lang->page_management = '페이지 관리';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->about_page_caching_interval = '分単位で指定出来、設定された時間の間は、臨時保存されたデータを出力します。<br />他のサーバの情報を出力したり、データを出力する際、リソースが多く使われるため、数分単位でキャッシングすることをお勧めします。<br />「0」に指定するとキャッシングされません。';
|
||||
$lang->about_mcontent = 'モバイルスキン用のページです。作成しないとPC向けのページを再構成して表示します。';
|
||||
$lang->page_management = 'ページ管理';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,23 @@
|
|||
$lang->about_page = "하나의 완성된 페이지를 제작할 수 있는 페이지 모듈입니다.\n최근게시물이나 기타 위젯을 이용해서 동적인 페이지 생성이 가능하고 에디터 컴포넌트를 통해서 다양한 모습으로 꾸밀 수 있습니다.\n접속 URL은 다른 모듈과 같이 mid=모듈이름 으로 접속 가능하며 기본으로 선택하면 접속 시 메인 페이지가 됩니다.";
|
||||
$lang->cmd_page_modify = '페이지 수정';
|
||||
$lang->cmd_page_create = '페이지 생성';
|
||||
$lang->cmd_page_create = '페이지 생성';
|
||||
$lang->cmd_page_article_create = 'Article 생성';
|
||||
$lang->page_caching_interval = '캐싱 시간 설정';
|
||||
$lang->about_page_caching_interval = '분 단위이며 정해진 시간동안은 임시 저장한 데이터를 출력합니다.<br />다른 서버의 정보를 출력하거나, 데이터 출력하는데 많은 자원이 필요한 경우, 원하시는 분 단위 시간 간격으로 캐싱하는 것을 추천합니다.<br />0 으로 하시면 캐싱을 하지 않습니다.';
|
||||
$lang->about_mcontent = '모바일에서 보여질 페이지입니다. 만약 작성하지 않으면 기본 페이지 데이터를 재정렬해서 보여줍니다.';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => '문서'
|
||||
,'OUTSIDE' => '외부페이지');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = '외부 문서 위치';
|
||||
$lang->about_opage = 'XE가 아닌 외부 HTML 또는 PHP파일을 XE에서 사용할 수 있도록 하는 모듈입니다.<br />절대경로, 상대경로를 이용할 수 있으며 http:// 로 시작할 경우 서버 외부의 페이지도 표시할 수 있습니다';
|
||||
$lang->about_opage_path= '외부문서의 위치를 입력해주세요.<br />/path1/path2/sample.php 와 같이 절대경로나 ../path2/sample.php와 같은 상대경로 모두 사용가능합니다.<br />http://url/sample.php 와 같이 사용하면 해당 페이지를 웹으로 전송 받아 출력 하게 됩니다.<br />현재 XE가 설치된 절대경로는 다음과 같습니다.<br />';
|
||||
$lang->opage_mobile_path = '모바일용 외부 문서 위치';
|
||||
$lang->about_opage_mobile_path= '모바일용 외부문서의 위치를 입력해주세요. 입력하지 않으면 위에서 지정한 외부문서 위치의 페이지를 이용합니다. <br />/path1/path2/sample.php 와 같이 절대경로나 ../path2/sample.php와 같은 상대경로 모두 사용가능합니다.<br />http://url/sample.php 와 같이 사용하면 해당 페이지를 웹으로 전송 받아 출력 하게 됩니다.<br />현재 XE가 설치된 절대경로는 다음과 같습니다.<br />';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->cmd_page_create = '페이지 생성';
|
||||
$lang->about_mcontent = 'This is the page for the mobile view. If you do not write this page, the mobile view display reoragnized PC view\'s page.';
|
||||
$lang->page_management = '페이지 관리';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->about_page_caching_interval = "Birim dakikadır ve belirlenen zaman için geçici olarak kaydedilmiş veriyi gösterir.<br />Diğer sunucuların veri veya bilgileri gösterilirken, eğer fazla sayıda kaynağın gösterilmesi gerekiyorsa, uygun zamanın önbelleğe alınması önerilmiştir.<br />0 değeri verilirse, önbelleğe alınmayacaktır.";
|
||||
$lang->about_mcontent = 'Bu sayfa, sizin hareketli cihazlardan göreceğiniz sayfadır. Eğer bu sayfayı ayarlamadıysanız, düzenlenmiş varsayılan sayfa gösterilecektir.';
|
||||
$lang->page_management = 'Sayfa Yönetimi';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -15,4 +15,18 @@
|
|||
$lang->about_page_caching_interval = "Đơn vị được tính bằng phút, nó sẽ là thời gian lưu trữ tạm thời.<br />Đó là khuyến cáo thời gian lưu trữ tạm thời thích hợp khi cần để hiển thị.<br />Nhập 0 nếu không sử dụng tính năng này.";
|
||||
$lang->about_mcontent = 'This is the page for the mobile view. If you do not write this page, the mobile view display reoragnized PC view\'s page.';
|
||||
$lang->page_management = '페이지 관리';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->about_page_caching_interval = "单位为分。缓冲时间间隔内页面将输出临时储存的数据。<br />显示外链服务器信息或数据时,如消耗资源很大,尽量把缓冲时间设置为大一点的相应值。<br />0 表示无缓冲。";
|
||||
$lang->about_mcontent = '此页为移动版页面,如您没有对此页面进行布局,它会自动将PC版页面数据重排序显示。';
|
||||
$lang->page_management = '페이지 관리';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,18 @@
|
|||
$lang->about_page_caching_interval = "單位為分。暫存時間內頁面將輸出臨時儲存的資料。<br />輸出外部主機訊息或資料時,如消耗資源很大,盡量把暫存時間設大一點。<br />『0』表示不暫存。";
|
||||
$lang->about_mcontent = '此頁面為手機瀏覽頁面。如果沒有編輯此頁面,則會將預設頁面改編重新顯示。';
|
||||
$lang->page_management = '頁面管理';
|
||||
|
||||
/* add merge opage + page type and article create */
|
||||
$lang->page_type = '페이지 타입';
|
||||
$lang->click_choice = '선택해 주세요.';
|
||||
$lang->page_type_name = array('WIDGET' => '위젯'
|
||||
,'ARTICLE' => 'Article'
|
||||
,'OUTSIDE' => 'External Page');
|
||||
$lang->about_page_type = '페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부HTML또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>';
|
||||
|
||||
$lang->opage_path = "Location of External Document";
|
||||
$lang->about_opage = "This module enables to use external html or php files in XE.<br />It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.";
|
||||
$lang->about_opage_path= "Please input the location of external document.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
$lang->opage_mobile_path = 'Location of External Document for Mobile View';
|
||||
$lang->about_opage_mobile_path= "Please input the location of external document for mobile view. If not inputted, it uses the external document specified above.<br />Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used.<br />If you input the path like 'http://url/sample.php', the result will be received and then displayed.<br />This is current XE's absolute path.<br />";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -43,6 +43,27 @@
|
|||
$args = $module_info;
|
||||
}
|
||||
}
|
||||
|
||||
switch ($args->page_type){
|
||||
case 'WIDGET' : {
|
||||
unset($args->skin);
|
||||
unset($args->mskin);
|
||||
unset($args->opage_path);
|
||||
unset($args->opage_mpath);
|
||||
break;
|
||||
}
|
||||
case 'ARTICLE' : {
|
||||
unset($args->page_caching_interval);
|
||||
unset($args->opage_path);
|
||||
unset($args->opage_mpath);
|
||||
break;
|
||||
}
|
||||
case 'OUTSIDE' : {
|
||||
unset($args->skin);
|
||||
unset($args->mskin);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Insert/update depending on module_srl
|
||||
if(!$args->module_srl) {
|
||||
$output = $oModuleController->insertModule($args);
|
||||
|
|
@ -205,5 +226,57 @@
|
|||
$oWidgetController->recompileWidget($content);
|
||||
}
|
||||
|
||||
function procPageAdminArticleDocumentInsert(){
|
||||
$logged_info = Context::get('logged_info');
|
||||
if ($logged_info->is_admin != 'Y')return new Object(-1, 'msg_not_permitted');
|
||||
|
||||
$obj = Context::getRequestVars();
|
||||
$obj->module_srl = $this->module_info->module_srl;
|
||||
$obj->is_notice = 'N';
|
||||
|
||||
settype($obj->title, "string");
|
||||
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
//그래도 없으면 Untitled
|
||||
if($obj->title == '') $obj->title = 'Untitled';
|
||||
|
||||
// document module의 model 객체 생성
|
||||
$oDocumentModel = &getModel('document');
|
||||
|
||||
// document module의 controller 객체 생성
|
||||
$oDocumentController = &getController('document');
|
||||
|
||||
// 이미 존재하는 글인지 체크
|
||||
$oDocument = $oDocumentModel->getDocument($obj->document_srl, true);
|
||||
|
||||
$bAnonymous = false;
|
||||
|
||||
// 이미 존재하는 경우 수정
|
||||
if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl) {
|
||||
$output = $oDocumentController->updateDocument($oDocument, $obj);
|
||||
$msg_code = 'success_updated';
|
||||
// 그렇지 않으면 신규 등록
|
||||
} else {
|
||||
$output = $oDocumentController->insertDocument($obj, $bAnonymous);
|
||||
$msg_code = 'success_registed';
|
||||
$obj->document_srl = $output->get('document_srl');
|
||||
|
||||
$oModuleController = &getController('module');
|
||||
$this->module_info->document_srl = $obj->document_srl;
|
||||
$oModuleController->updateModule($this->module_info);
|
||||
|
||||
}
|
||||
|
||||
// 오류 발생시 멈춤
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
// 결과를 리턴
|
||||
$this->add('mid', Context::get('mid'));
|
||||
$this->add('document_srl', $output->get('document_srl'));
|
||||
|
||||
// 성공 메세지 등록
|
||||
$this->setMessage($msg_code);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -56,7 +56,10 @@
|
|||
if($s_browser_title) $args->s_browser_title = $s_browser_title;
|
||||
|
||||
$output = executeQuery('page.getPageList', $args);
|
||||
moduleModel::syncModuleToSite($output->data);
|
||||
$oModuleModel = &getModel('module');
|
||||
$page_list = $oModuleModel->addModuleExtraVars($output->data);
|
||||
moduleModel::syncModuleToSite($page_list);
|
||||
|
||||
// To write to a template context:: set
|
||||
Context::set('total_count', $output->total_count);
|
||||
Context::set('total_page', $output->total_page);
|
||||
|
|
@ -92,6 +95,16 @@
|
|||
$mobile_layout_list = $oLayoutModel->getLayoutList(0,"M");
|
||||
Context::set('mlayout_list', $mobile_layout_list);
|
||||
// Set a template file
|
||||
|
||||
if ($this->module_info->page_type == 'ARTICLE'){
|
||||
$oModuleModel = &getModel('module');
|
||||
$skin_list = $oModuleModel->getSkins($this->module_path);
|
||||
Context::set('skin_list',$skin_list);
|
||||
|
||||
$mskin_list = $oModuleModel->getSkins($this->module_path, "m.skins");
|
||||
Context::set('mskin_list', $mskin_list);
|
||||
}
|
||||
|
||||
$this->setTemplateFile('page_info');
|
||||
}
|
||||
|
||||
|
|
@ -134,6 +147,13 @@
|
|||
|
||||
$mobile_layout_list = $oLayoutModel->getLayoutList(0,"M");
|
||||
Context::set('mlayout_list', $mobile_layout_list);
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$skin_list = $oModuleModel->getSkins($this->module_path);
|
||||
Context::set('skin_list',$skin_list);
|
||||
|
||||
$mskin_list = $oModuleModel->getSkins($this->module_path, "m.skins");
|
||||
Context::set('mskin_list', $mskin_list);
|
||||
// Set a template file
|
||||
$this->setTemplateFile('page_insert');
|
||||
}
|
||||
|
|
@ -189,6 +209,12 @@
|
|||
function dispPageAdminContentModify() {
|
||||
// Set the module information
|
||||
Context::set('module_info', $this->module_info);
|
||||
|
||||
if ($this->module_info->page_type == 'WIDGET') $this->_setWidgetTypeContentModify();
|
||||
else if ($this->module_info->page_type == 'ARTICLE') $this->_setArticleTypeContentModify();
|
||||
}
|
||||
|
||||
function _setWidgetTypeContentModify() {
|
||||
// Setting contents
|
||||
$content = Context::get('content');
|
||||
if(!$content) $content = $this->module_info->content;
|
||||
|
|
@ -203,8 +229,23 @@
|
|||
Context::set('widget_list', $widget_list);
|
||||
// Set a template file
|
||||
$this->setTemplateFile('page_content_modify');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function _setArticleTypeContentModify() {
|
||||
$oDocumentModel = &getModel('document');
|
||||
$oDocument = $oDocumentModel->getDocument(0, true);
|
||||
|
||||
if ($this->module_info->document_srl){
|
||||
$document_srl = $this->module_info->document_srl;
|
||||
$oDocument->setDocument($document_srl);
|
||||
Context::set('document_srl', $document_srl);
|
||||
}
|
||||
Context::addJsFilter($this->module_path.'tpl/filter', 'insert_article.xml');
|
||||
Context::set('oDocument', $oDocument);
|
||||
Context::set('mid', $this->module_info->mid);
|
||||
$this->setTemplateFile('article_content_modify');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Delete page output
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -21,6 +21,12 @@
|
|||
* @brief a method to check if successfully installed
|
||||
**/
|
||||
function checkUpdate() {
|
||||
$output = executeQuery('page.pageTypeOpageCheck');
|
||||
if ($output->toBool() && $output->data) return true;
|
||||
|
||||
$output = executeQuery('page.pageTypeNullCheck');
|
||||
if ($output->toBool() && $output->data) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -28,6 +34,28 @@
|
|||
* @brief Execute update
|
||||
**/
|
||||
function moduleUpdate() {
|
||||
// opage module instance update
|
||||
$output = executeQueryArray('page.pageTypeOpageCheck');
|
||||
if ($output->toBool() && count($output->data) > 0){
|
||||
foreach($output->data as $val){
|
||||
$args->module_srl = $val->module_srl;
|
||||
$args->name = 'page_type';
|
||||
$args->value= 'OUTSIDE';
|
||||
$in_out = executeQuery('page.insertPageType', $args);
|
||||
}
|
||||
$output = executeQuery('page.updateAllOpage');
|
||||
}
|
||||
|
||||
// old page module instance update
|
||||
$output = executeQuery('page.pageTypeNullCheck');
|
||||
if ($output->toBool() && $output->data){
|
||||
foreach($output->data as $val){
|
||||
$args->module_srl = $val->module_srl;
|
||||
$args->name = 'page_type';
|
||||
$args->value= 'WIDGET';
|
||||
$in_out = executeQuery('page.insertPageType', $args);
|
||||
}
|
||||
}
|
||||
return new Object(0,'success_updated');
|
||||
}
|
||||
|
||||
|
|
|
|||
102
modules/page/page.controller.php
Normal file
102
modules/page/page.controller.php
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
<?php
|
||||
/**
|
||||
* @class documentController
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* @brief controller class of the document module
|
||||
**/
|
||||
|
||||
class pageController extends page {
|
||||
|
||||
var $target_path = '';
|
||||
|
||||
/**
|
||||
* @brief Initialization
|
||||
**/
|
||||
function init() { }
|
||||
|
||||
/**
|
||||
* @brief Extract a title
|
||||
**/
|
||||
function getTitle($content) {
|
||||
preg_match('!<title([^>]*)>(.*?)<\/title>!is', $content, $buff);
|
||||
return trim($buff[2]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Extract header script
|
||||
**/
|
||||
function getHeadScript($content) {
|
||||
// remove the title tag
|
||||
$content = preg_replace('!<title([^>]*)>(.*?)<\/title>!is','', $content);
|
||||
// Remove meta tags
|
||||
$content = preg_replace('!<(\/){0,1}meta([^>]*)>!is','', $content);
|
||||
// Extract information such as <link, <style, <script and so on
|
||||
preg_match_all('!<link([^>]*)>!is', $content, $link_buff);
|
||||
for($i=0;$i<count($link_buff[0]);$i++) {
|
||||
$tmp_str = trim($link_buff[0][$i]);
|
||||
if(!$tmp_str) continue;
|
||||
$header_script .= $tmp_str."\n";
|
||||
}
|
||||
|
||||
preg_match_all('!<(style|script)(.*?)<\/(style|script)>!is', $content, $script_buff);
|
||||
for($i=0;$i<count($script_buff[0]);$i++) {
|
||||
$tmp_str = trim($script_buff[0][$i]);
|
||||
if(!$tmp_str) continue;
|
||||
$header_script .= $tmp_str."\n";
|
||||
}
|
||||
|
||||
return $header_script;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Extract the contents of the body
|
||||
**/
|
||||
function getBodyScript($content) {
|
||||
// Extract content
|
||||
preg_match('!<body([^>]*)>(.*?)<\/body>!is', $content, $body_buff);
|
||||
$body_script = $body_buff[2];
|
||||
// Remove link, style, script, etc.
|
||||
$body_script = preg_replace('!<link([^>]*)>!is', '', $body_script);
|
||||
$body_script = preg_replace('!<(style|script)(.*?)<\/(style|script)>!is', '', $body_script);
|
||||
return $body_script;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Change the value of src, href in the content
|
||||
**/
|
||||
function replaceSrc($content, $path) {
|
||||
$url_info = parse_url($path);
|
||||
$host = sprintf("%s://%s%s",$url_info['scheme'],$url_info['host'],$url_info['port']?':'.$url_info['port']:'');
|
||||
$this->host = $host.'/';
|
||||
$path = $url_info['path'];
|
||||
if(substr($path,-1)=='/') $path = substr($path,-1);
|
||||
$t = explode('/',$path);
|
||||
$_t = array();
|
||||
for($i=0,$c=count($t)-1;$i<$c;$i++) {
|
||||
$v = trim($t[$i]);
|
||||
if(!$v) continue;
|
||||
$_t[] = $v;
|
||||
}
|
||||
$path = $host.'/'.implode('/',$_t);
|
||||
if(substr($path,-1)!='/') $path .= '/';
|
||||
$this->path = $path;
|
||||
$content = preg_replace_callback('/(src=|href=|url\()("|\')?([^"\'\)]+)("|\'\))?/is',array($this,'_replacePath'),$content);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
function _replacePath($matches) {
|
||||
$val = trim($matches[3]);
|
||||
if(preg_match('/^(http|https|ftp|telnet|mms|mailto)/i',$val)) return $matches[0];
|
||||
if(substr($val,0,2)=='./') {
|
||||
$path = $this->path.substr($val,2);
|
||||
} elseif(substr($val,0,1)=='/') {
|
||||
$path = $this->host.substr($val,1);
|
||||
} else {
|
||||
$path = $this->path.$val;
|
||||
}
|
||||
return sprintf("%s%s%s%s", $matches[1], $matches[2], $path, $matches[4]);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
@ -10,6 +10,9 @@
|
|||
var $module_srl = 0;
|
||||
var $list_count = 20;
|
||||
var $page_count = 10;
|
||||
var $cache_file;
|
||||
var $interval;
|
||||
var $opage_path;
|
||||
|
||||
/**
|
||||
* @brief Initialization
|
||||
|
|
@ -17,6 +20,21 @@
|
|||
function init() {
|
||||
// Get a template path (page in the administrative template tpl putting together)
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
|
||||
switch($this->module_info->page_type)
|
||||
{
|
||||
case 'WIDGET' : {
|
||||
$this->cache_file = sprintf("%sfiles/cache/page/%d.%s.cache.php", _XE_PATH_, $this->module_info->module_srl, Context::getLangType());
|
||||
$this->interval = (int)($this->module_info->page_caching_interval);
|
||||
break;
|
||||
}
|
||||
case 'OUTSIDE' : {
|
||||
$this->cache_file = sprintf("./files/cache/opage/%d.cache.php", $this->module_info->module_srl);
|
||||
$this->interval = (int)($this->module_info->page_caching_interval);
|
||||
$this->opage_path = $this->module_info->opage_path;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -25,30 +43,156 @@
|
|||
function dispPageIndex() {
|
||||
// Variables used in the template Context:: set()
|
||||
if($this->module_srl) Context::set('module_srl',$this->module_srl);
|
||||
// Specifying the cache file
|
||||
$cache_file = sprintf("%sfiles/cache/page/%d.%s.cache.php", _XE_PATH_, $this->module_info->module_srl, Context::getLangType());
|
||||
$interval = (int)($this->module_info->page_caching_interval);
|
||||
if($interval>0) {
|
||||
if(!file_exists($cache_file)) $mtime = 0;
|
||||
else $mtime = filemtime($cache_file);
|
||||
|
||||
if($mtime + $interval*60 > time()) {
|
||||
$page_content = FileHandler::readFile($cache_file);
|
||||
$page_content = preg_replace('@<\!--#Meta:@', '<!--Meta:', $page_content);
|
||||
} else {
|
||||
$oWidgetController = &getController('widget');
|
||||
$page_content = $oWidgetController->transWidgetCode($this->module_info->content);
|
||||
FileHandler::writeFile($cache_file, $page_content);
|
||||
}
|
||||
} else {
|
||||
if(file_exists($cache_file)) FileHandler::removeFile($cache_file);
|
||||
$page_content = $this->module_info->content;
|
||||
}
|
||||
$page_type_name = strtolower($this->module_info->page_type);
|
||||
$page_content = call_user_method('_get'.ucfirst($page_type_name).'Content', &$this);
|
||||
|
||||
Context::set('module_info', $this->module_info);
|
||||
Context::set('page_content', $page_content);
|
||||
|
||||
$this->setTemplateFile('content');
|
||||
}
|
||||
|
||||
function _getWidgetContent(){
|
||||
if($this->interval>0) {
|
||||
if(!file_exists($this->cache_file)) $mtime = 0;
|
||||
else $mtime = filemtime($this->cache_file);
|
||||
|
||||
if($mtime + $interval*60 > time()) {
|
||||
$page_content = FileHandler::readFile($this->cache_file);
|
||||
$page_content = preg_replace('@<\!--#Meta:@', '<!--Meta:', $page_content);
|
||||
} else {
|
||||
$oWidgetController = &getController('widget');
|
||||
$page_content = $oWidgetController->transWidgetCode($this->module_info->content);
|
||||
FileHandler::writeFile($this->cache_file, $page_content);
|
||||
}
|
||||
} else {
|
||||
if(file_exists($this->cache_file)) FileHandler::removeFile($this->cache_file);
|
||||
$page_content = $this->module_info->content;
|
||||
}
|
||||
return $page_content;
|
||||
}
|
||||
|
||||
function _getArticleContent(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$oDocument = $oDocumentModel->getDocument(0, true);
|
||||
|
||||
if ($this->module_info->document_srl){
|
||||
$document_srl = $this->module_info->document_srl;
|
||||
$oDocument->setDocument($document_srl);
|
||||
Context::set('document_srl', $document_srl);
|
||||
}
|
||||
Context::set('oDocument', $oDocument);
|
||||
$this->setTemplatePath(sprintf($this->module_path.'skins/%s', $this->module_info->skin));
|
||||
}
|
||||
|
||||
function _getOutsideContent(){
|
||||
// check if it is http or internal file
|
||||
if($this->opage_path) {
|
||||
if(preg_match("/^([a-z]+):\/\//i",$this->opage_path)) $content = $this->getHtmlPage($this->opage_path, $this->interval, $this->cache_file);
|
||||
else $content = $this->executeFile($this->opage_path, $this->interval, $this->cache_file);
|
||||
}
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Save the file and return if a file is requested by http
|
||||
**/
|
||||
function getHtmlPage($path, $caching_interval, $cache_file) {
|
||||
// Verify cache
|
||||
if($caching_interval > 0 && file_exists($cache_file) && filemtime($cache_file) + $caching_interval*60 > time()) {
|
||||
|
||||
$content = FileHandler::readFile($cache_file);
|
||||
|
||||
} else {
|
||||
|
||||
FileHandler::getRemoteFile($path, $cache_file);
|
||||
$content = FileHandler::readFile($cache_file);
|
||||
|
||||
}
|
||||
// Create opage controller
|
||||
$oPageController = &getController('page');
|
||||
// change url of image, css, javascript and so on if the page is from external server
|
||||
$content = $oPageController->replaceSrc($content, $path);
|
||||
// Change the document to utf-8 format
|
||||
$buff->content = $content;
|
||||
$buff = Context::convertEncoding($buff);
|
||||
$content = $buff->content;
|
||||
// Extract a title
|
||||
$title = $oPageController->getTitle($content);
|
||||
if($title) Context::setBrowserTitle($title);
|
||||
// Extract header script
|
||||
$head_script = $oPageController->getHeadScript($content);
|
||||
if($head_script) Context::addHtmlHeader($head_script);
|
||||
// Extract content from the body
|
||||
$body_script = $oPageController->getBodyScript($content);
|
||||
if(!$body_script) $body_script = $content;
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Create a cache file in order to include if it is an internal file
|
||||
**/
|
||||
function executeFile($path, $caching_interval, $cache_file) {
|
||||
// Cancel if the file doesn't exist
|
||||
if(!file_exists($path)) return;
|
||||
// Get a path and filename
|
||||
$tmp_path = explode('/',$cache_file);
|
||||
$filename = $tmp_path[count($tmp_path)-1];
|
||||
$filepath = preg_replace('/'.$filename."$/i","",$cache_file);
|
||||
// Verify cache
|
||||
if($caching_interval <1 || !file_exists($cache_file) || filemtime($cache_file) + $caching_interval*60 <= time() || filemtime($cache_file)<filemtime($path) ) {
|
||||
if(file_exists($cache_file)) FileHandler::removeFile($cache_file);
|
||||
// Read a target file and get content
|
||||
ob_start();
|
||||
@include($path);
|
||||
$content = ob_get_clean();
|
||||
// Replace relative path to the absolute path
|
||||
$path_info = pathinfo($path);
|
||||
$this->opage_path = str_replace('\\', '/', realpath($path_info['dirname'])).'/';
|
||||
$content = preg_replace_callback('/(target=|src=|href=|url\()("|\')?([^"\'\)]+)("|\'\))?/is',array($this,'_replacePath'),$content);
|
||||
$content = preg_replace_callback('/(<!--%import\()(\")([^"]+)(\")/is',array($this,'_replacePath'),$content);
|
||||
|
||||
FileHandler::writeFile($cache_file, $content);
|
||||
// Include and then Return the result
|
||||
if(!file_exists($cache_file)) return;
|
||||
// Attempt to compile
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$script = $oTemplate->compileDirect($filepath, $filename);
|
||||
|
||||
FileHandler::writeFile($cache_file, $script);
|
||||
}
|
||||
|
||||
$__Context = &$GLOBALS['__Context__'];
|
||||
$__Context->tpl_path = $filepath;
|
||||
if($_SESSION['is_logged']) $__Context->logged_info = $_SESSION['logged_info'];
|
||||
|
||||
ob_start();
|
||||
@include($cache_file);
|
||||
$content = ob_get_clean();
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
function _replacePath($matches) {
|
||||
$val = trim($matches[3]);
|
||||
// Pass if the path is external or starts with /, #, { characters
|
||||
// /=absolute path, #=hash in a page, {=Template syntax
|
||||
if(preg_match('@^((?:http|https|ftp|telnet|mms)://|(?:mailto|javascript):|[/#{])@i',$val)) {
|
||||
return $matches[0];
|
||||
// In case of .. , get a path
|
||||
} elseif(preg_match('/^\.\./i',$val)) {
|
||||
$p = Context::pathToUrl($this->opage_path);
|
||||
return sprintf("%s%s%s%s",$matches[1],$matches[2],$p.$val,$matches[4]);
|
||||
}
|
||||
|
||||
if(substr($val,0,2)=='./') $val = substr($val,2);
|
||||
$p = Context::pathToUrl($this->opage_path);
|
||||
$path = sprintf("%s%s%s%s",$matches[1],$matches[2],$p.$val,$matches[4]);
|
||||
|
||||
return $path;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
10
modules/page/queries/insertPageType.xml
Normal file
10
modules/page/queries/insertPageType.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<query id="insertPageType" action="insert">
|
||||
<tables>
|
||||
<table name="module_extra_vars" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="module_srl" var="module_srl" filter="number" notnull="notnull" />
|
||||
<column name="name" var="name" notnull="notnull" />
|
||||
<column name="value" var="value" />
|
||||
</columns>
|
||||
</query>
|
||||
20
modules/page/queries/pageTypeNullCheck.xml
Normal file
20
modules/page/queries/pageTypeNullCheck.xml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<query id="pageTypeNullCheck" action="select">
|
||||
<tables>
|
||||
<table name="modules" alias="m" />
|
||||
<table name="module_extra_vars" alias="ev" type="left join">
|
||||
<conditions>
|
||||
<condition operation="equal" column="ev.name" default="page_type" />
|
||||
<condition operation="equal" column="m.module_srl" default="ev.module_srl" pipe="and" />
|
||||
</conditions>
|
||||
</table>
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="m.module_srl" />
|
||||
<column name="m.mid" />
|
||||
<column name="ev.value" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="m.module" default="page" />
|
||||
<condition operation="null" column="ev.value" default="NULL" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
11
modules/page/queries/pageTypeOpageCheck.xml
Normal file
11
modules/page/queries/pageTypeOpageCheck.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="pageTypeOpageCheck" action="select">
|
||||
<tables>
|
||||
<table name="modules" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="module" default="opage" />
|
||||
</conditions>
|
||||
</query>
|
||||
11
modules/page/queries/updateAllOpage.xml
Normal file
11
modules/page/queries/updateAllOpage.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="updateAllOpage" action="update">
|
||||
<tables>
|
||||
<table name="modules" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="module" default="page" notnull="notnull" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="module" default="opage" />
|
||||
</conditions>
|
||||
</query>
|
||||
12
modules/page/skins/default/content.html
Normal file
12
modules/page/skins/default/content.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<div class="title">제목 : {$oDocument->getTitle()}</div>
|
||||
<div class="content">내용 : {$oDocument->getContent()}</div>
|
||||
<div class="tag">태그 : {implode(',', $oDocument->get('tag_list'))}</div>
|
||||
<!--@if($grant->manager)-->
|
||||
<!--%import("./js/page_admin.js")-->
|
||||
<div class="tRight gap1 clear">
|
||||
<!--@if($logged_info->is_admin=='Y')-->
|
||||
<a href="{getUrl('act','dispPageAdminInfo','module_srl',$module_info->module_srl)}" class="button green"><span>{$lang->cmd_setup}</span></a>
|
||||
<!--@end-->
|
||||
<a href="{getUrl('act','dispPageAdminContentModify','document_srl','')}" class="button red"><span>{$lang->cmd_page_modify}</span></a>
|
||||
</div>
|
||||
<!--@end-->
|
||||
25
modules/page/tpl/article_content_modify.html
Normal file
25
modules/page/tpl/article_content_modify.html
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<!--%import("js/page_admin.js")-->
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert_article)" id="fo_write" class="boardWrite">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="content" value="{$oDocument->getContentText()}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
<div class="articleHeader">
|
||||
<input type="text" name="title" class="inputText" value="{htmlspecialchars($oDocument->getTitleText())}" title="{$lang->title}" />
|
||||
</div>
|
||||
|
||||
<div class="editor">{$oDocument->getEditor()}</div>
|
||||
|
||||
<div class="tag">
|
||||
<input type="text" name="tags" value="{htmlspecialchars($oDocument->get('tags'))}" class="inputText" title="Tag" />
|
||||
<p>{$lang->about_tag}</p>
|
||||
</div>
|
||||
<div class="boardNavigation">
|
||||
<!--@if($is_logged)-->
|
||||
<!--@if(!$oDocument->isExists() || $oDocument->get('status') == 'TEMP')-->
|
||||
<span class="button"><button type="button" onclick="doDocumentSave(this); return false;">{$lang->cmd_temp_save}</button></span>
|
||||
<span class="button"><button type="button" onclick="doDocumentLoad(this); return false;">{$lang->cmd_load}</button></span>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<span class="button red strong"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -3,11 +3,15 @@
|
|||
<!--@if($grant->manager)-->
|
||||
<!--%import("./js/page_admin.js")-->
|
||||
<div class="tRight gap1 clear">
|
||||
<!--@if($module_info->page_type == 'WIDGET')-->
|
||||
<a href="#" onclick="doRemoveWidgetCache({$module_info->module_srl}); return false;" class="button blue"><span>{$lang->cmd_remake_cache}</span></a>
|
||||
<!--@if($logged_info->is_admin=='Y')-->
|
||||
<!--@end-->
|
||||
<!--@if($logged_info->is_admin=='Y')-->
|
||||
<a href="{getUrl('act','dispPageAdminInfo','module_srl',$module_info->module_srl)}" class="button green"><span>{$lang->cmd_setup}</span></a>
|
||||
<!--@end-->
|
||||
<!--@if($module_info->page_type != 'OUTSIDE')-->
|
||||
<a href="{getUrl('act','dispPageAdminContentModify','document_srl','')}" class="button red"><span>{$lang->cmd_page_modify}</span></a>
|
||||
<!--@end-->
|
||||
<!--@if($module_info->use_mobile =="Y")-->
|
||||
<a href="{getUrl('act','dispPageAdminMobileContent','module_srl',$module_info->module_srl)}" class="button black"><span>Mobile</span></a>
|
||||
<!--@end-->
|
||||
|
|
|
|||
13
modules/page/tpl/filter/insert_article.xml
Normal file
13
modules/page/tpl/filter/insert_article.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="insert_article" module="page" act="procPageAdminArticleDocumentInsert">
|
||||
<form>
|
||||
<node target="title" required="true" minlength="1" maxlength="250" />
|
||||
<node target="content" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeArticleDocumentInserted">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="mid" />
|
||||
<tag name="document_srl" />
|
||||
<tag name="category_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
23
modules/page/tpl/filter/insert_outside.xml
Normal file
23
modules/page/tpl/filter/insert_outside.xml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<filter name="insert_outside" module="page" act="procPageAdminInsert" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="mid" required="true" maxlength="40" filter="alpha_number" />
|
||||
<node target="browser_title" required="true" maxlength="250" />
|
||||
<node target="opage_path" required="true" maxlength="250" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="page_name" target="mid" />
|
||||
<param name="module_srl" target="module_srl" />
|
||||
<param name="module_category_srl" target="module_category_srl" />
|
||||
<param name="layout_srl" target="layout_srl" />
|
||||
<param name="browser_title" target="browser_title" />
|
||||
<param name="caching_interval" target="opage_caching_interval" />
|
||||
<param name="path" target="opage_path" />
|
||||
<param name="mpath" target="opage_mpath" />
|
||||
</parameter>
|
||||
<response callback_func="completeInsertPage">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
<tag name="opage" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
<ul class="localNavigation">
|
||||
<!--@if($module=='admin')-->
|
||||
<li><a href="{getUrl('act','dispPageAdminContent','module_srl','')}">{$lang->cmd_list}</a></li>
|
||||
<li <!--@if($act=='dispPageAdminContent')-->class="on"<!--@end-->><a href="{getUrl('act','dispPageAdminContent','module_srl','')}">{$lang->cmd_list}</a></li>
|
||||
<!--@else-->
|
||||
<li><a href="{getUrl('act','')}">{$lang->cmd_back}</a></li>
|
||||
<!--@end-->
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
<li <!--@if($act=='dispPageAdminPageAdditionSetup')-->class="on"<!--@end-->><a href="{getUrl('act','dispPageAdminPageAdditionSetup')}">{$lang->cmd_addition_setup}</a></li>
|
||||
<li <!--@if($act=='dispPageAdminGrantInfo')-->class="on"<!--@end-->><a href="{getUrl('act','dispPageAdminGrantInfo')}">{$lang->cmd_manage_grant}</a></li>
|
||||
<!--@else-->
|
||||
<li <!--@if($act=='dispPageAdminGrantInfo')-->class="on"<!--@end-->><a href="{getUrl('act','dispPageAdminInsert')}">{$lang->cmd_page_create}</a></li>
|
||||
<li <!--@if($act=='dispPageAdminInsert')-->class="on"<!--@end-->><a href="{getUrl('act','dispPageAdminInsert')}">{$lang->cmd_page_create}</a></li>
|
||||
<!--@end-->
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
<input type="submit" name="go_button" id="go_button" value="GO" class="buttonTypeGo" />
|
||||
</div>
|
||||
</th>
|
||||
<th scope="col">{$lang->page_type}</th>
|
||||
<th scope="col" class="half_wide"><div>{$lang->mid}</div></th>
|
||||
<th scope="col" class="half_wide"><div>{$lang->browser_title}</div></th>
|
||||
<th scope="col"><div>{$lang->regdate}</div></th>
|
||||
|
|
@ -63,6 +64,7 @@
|
|||
{$module_category[$val->module_category_srl]->title}
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>{$val->page_type}</td>
|
||||
<td>{htmlspecialchars($val->mid)}</td>
|
||||
<td><a href="{getSiteUrl($val->domain,'','mid',$val->mid)}" onclick="window.open(this.href); return false;">{$val->browser_title}</a></td>
|
||||
<td>{zdate($val->regdate,"Y-m-d")}</td>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,21 @@ function completeInsertPage(ret_obj) {
|
|||
location.href = url;
|
||||
}
|
||||
|
||||
function completeArticleDocumentInserted(ret_obj){
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
|
||||
var mid = ret_obj['mid'];
|
||||
|
||||
alert(message);
|
||||
|
||||
var url = '';
|
||||
url = current_url.setQuery('act', 'dispPageIndex').setQuery('mid', mid);
|
||||
|
||||
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
/* 내용 저장 후 */
|
||||
function completeInsertPageContent(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
|
|
@ -108,3 +123,4 @@ function doCartSetup(url) {
|
|||
url += "&module_srls="+module_srl.join(',');
|
||||
popopen(url,'modulesSetup');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,12 @@
|
|||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->page_type}</div></th>
|
||||
<td colspan="3">
|
||||
{$lang->page_type_name[$module_info->page_type]}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->mid}</div></th>
|
||||
<td colspan="3">
|
||||
|
|
@ -64,6 +70,7 @@
|
|||
<p>{$lang->about_layout}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if($module_info->page_type != 'ARTICLE')-->
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->page_caching_interval}</div></th>
|
||||
<td colspan="3">
|
||||
|
|
@ -71,11 +78,54 @@
|
|||
<p>{$lang->about_page_caching_interval}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@if($module_info->page_type == 'OUTSIDE')-->
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->opage_path}</div></th>
|
||||
<td colspan="3">
|
||||
<input type="text" name="opage_path" value="{htmlspecialchars($module_info->opage_path)}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_opage_path}<b>{realpath("./")}</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row">
|
||||
<th scope="row"><div>{$lang->opage_mobile_path}</div></th>
|
||||
<td colspan="3">
|
||||
<input type="text" name="opage_mpath" value="{htmlspecialchars($module_info->opage_mpath)}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_opage_mobile_path}<b>{realpath("./")}</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@if($module_info->page_type == 'ARTICLE')-->
|
||||
<tr class="row2 optionnalData articleType">
|
||||
<th scope="row"><div>{$lang->skin}</div></th>
|
||||
<td>
|
||||
<select name="skin">
|
||||
<!--@foreach($skin_list as $key=>$val)-->
|
||||
<option value="{$key}" <!--@if($module_info->skin==$key ||(!$module_info->skin && $key=='default'))-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_skin}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="optionnalData articleType">
|
||||
<th scope="row"><div>{$lang->mobile_skin}</div></th>
|
||||
<td>
|
||||
<select name="mskin">
|
||||
<!--@foreach($mskin_list as $key=>$val)-->
|
||||
<option value="{$key}" <!--@if($module_info->mskin==$key ||(!$module_info->mskin && $key=='default'))-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_skin}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th colspan="4" class="button">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_save}" accesskey="s" /></span>
|
||||
<!--@if($module_info->page_type != 'OUTSIDE')-->
|
||||
<a href="{getUrl('','module','page','act','dispPageAdminContentModify','module_srl',$module_info->module_srl)}" onclick="window.open(this.href,'PageEdit','width=850,height=650,scrollbars=yes,resizable=yes,toolbars=no');return false;" class="button red"><span>{$lang->cmd_page_modify}</span></a>
|
||||
<!--@if($module=="admin")-->
|
||||
<!--@end-->
|
||||
<!--@if($module=="admin")-->
|
||||
<a href="{getUrl('act','dispPageAdminContent','module_srl','')}" class="button"><span>{$lang->cmd_list}</span></a>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('act','')}" class="button"><span>{$lang->cmd_back}</span></a>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,30 @@
|
|||
<!--%import("filter/insert_page.xml")-->
|
||||
<!--%import("filter/insert_outside.xml")-->
|
||||
<!--#include("header.html")-->
|
||||
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert_page)" enctype="multipart/form-data">
|
||||
<form id="fo_insert_page" action="./" method="post" onsubmit="return procFilter(this, insert_page)" enctype="multipart/form-data">
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<table cellspacing="0" class="rowTable topGap">
|
||||
<!--@if($module_srl)-->
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->page_type}</div></th>
|
||||
<td></td>
|
||||
</tr>
|
||||
<!--@else-->
|
||||
<tr class="row2">
|
||||
<th scope="row"><div>{$lang->page_type}</div></th>
|
||||
<td colspan="3">
|
||||
<select name="page_type">
|
||||
<option value="">{$lang->click_choice}</option>
|
||||
<option value="WIDGET">{$lang->page_type_name['WIDGET']}</option>
|
||||
<option value="ARTICLE">{$lang->page_type_name['ARTICLE']}</option>
|
||||
<option value="OUTSIDE">{$lang->page_type_name['OUTSIDE']}</option>
|
||||
</select>
|
||||
<p>{$lang->about_page_type}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@if($logged_info->is_admin!='Y')-->
|
||||
<input type="hidden" name="mid" value="{$module_info->mid}" />
|
||||
<!--@else-->
|
||||
|
|
@ -67,13 +87,49 @@
|
|||
<p>{$lang->about_layout}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr class="optionnalData widgetType outsideType">
|
||||
<th scope="row"><div>{$lang->page_caching_interval}</div></th>
|
||||
<td colspan="3">
|
||||
<input type="text" name="page_caching_interval" value="{(int)$module_info->caching_interval}" class="inputTypeText w40" /> {$lang->unit_min}
|
||||
<p>{$lang->about_page_caching_interval}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2 optionnalData articleType">
|
||||
<th scope="row"><div>{$lang->skin}</div></th>
|
||||
<td>
|
||||
<select name="skin">
|
||||
<!--@foreach($skin_list as $key=>$val)-->
|
||||
<option value="{$key}" <!--@if($module_info->skin==$key ||(!$module_info->skin && $key=='default'))-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_skin}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="optionnalData articleType">
|
||||
<th scope="row"><div>{$lang->mobile_skin}</div></th>
|
||||
<td>
|
||||
<select name="mskin">
|
||||
<!--@foreach($mskin_list as $key=>$val)-->
|
||||
<option value="{$key}" <!--@if($module_info->mskin==$key ||(!$module_info->mskin && $key=='default'))-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_skin}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2 optionnalData outsideType">
|
||||
<th scope="row"><div>{$lang->opage_path}</div></th>
|
||||
<td colspan="3">
|
||||
<input type="text" name="opage_path" value="{htmlspecialchars($module_info->path)}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_opage_path}<b>{realpath("./")}</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row optionnalData outsideType">
|
||||
<th scope="row"><div>{$lang->opage_mobile_path}</div></th>
|
||||
<td colspan="3">
|
||||
<input type="text" name="opage_mpath" value="{htmlspecialchars($module_info->mpath)}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_opage_mobile_path}<b>{realpath("./")}</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row2">
|
||||
<th colspan="4" class="button">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_save}" accesskey="s" /></span>
|
||||
|
|
@ -82,3 +138,17 @@
|
|||
</table>
|
||||
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
$('.optionnalData').hide();
|
||||
$('select[name=page_type]').change(function(){
|
||||
$('.optionnalData').hide();
|
||||
var select = $('select[name=page_type] :selected').val();
|
||||
if(select != ""){
|
||||
$('.'+select.toLowerCase()+'Type').show();
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue