diff --git a/modules/opage/conf/info.xml b/modules/opage/conf/info.xml
deleted file mode 100644
index f5e40817e..000000000
--- a/modules/opage/conf/info.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
- 외부 페이지
- 外部页面
- 外部ページ
- External Page
- Trang ngoài
- Afuera Página
- Внешние страницы
- 外部頁面
- Harici Sayfa
- 외부페이지를 XE내부로 삽입시키는 모듈
- 可以把外部页面插入到 Zeroboard XE内部的模块。
- 外部ページをXE内部に挿入させるモジュール
- Module for inserting external pages into inside of Zeroboard XE.
- Module cho phépchèn một trang từ bên ngoài vào bên trong Zeroboard XE.
- 외부페이지를 XE내부로 삽입시키는 모듈
- Модуль для вставки внешних страниц внутрь Zeroboard XE.
- 可將外部頁面插入至XE裡面的模組。
- Harici sayfaları, Zeroboard XE\'nin içine yerleştirmek için kullanılan modüldür.
- 0.1
- 2007-09-17
- service
- http://xpressengine.com/
-
-
- NHN
- NHN
- NHN
- NHN
- NHN
- NHN
- NHN
- NHN
- NHN
-
-
diff --git a/modules/opage/conf/module.xml b/modules/opage/conf/module.xml
deleted file mode 100644
index 9294da794..000000000
--- a/modules/opage/conf/module.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/opage/lang/lang.xml b/modules/opage/lang/lang.xml
deleted file mode 100644
index a0eec442a..000000000
--- a/modules/opage/lang/lang.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 절대경로, 상대경로를 이용할 수 있으며 http:// 로 시작할 경우 서버 외부의 페이지도 표시할 수 있습니다]]>
- It allows absolute or relative path, and if the url starts with 'http://' , it can display the external page of the server.]]>
- 絶対パス、相対パスで指定でき、「http://」で始まるサーバの外部ページも表示できます。]]>
- 可以使用绝对路径及相对路径。而且使用以http:// 开头的地址时,可以把外部服务器中的页面插入到XE当中。]]>
- 可以使用絕對路徑及相對路徑。而且使用以『http://』開頭的網址時,可以把外部主機中的頁面插入到XE當中。]]>
- Il est possible d'utiliser le chemin absolu ou relatif, et si l'URL commence avec 'http://' , il est possible de représenter des pages extérieurs du serveur.]]>
- Требует ввода абсолютного или относительного пути. Если URL начинается с 'http://', внешняя страница с другого сервера будет показана.]]>
- Permite ruta absoluta o relativa, y si la URL comienza con "http://", se puede mostrar la pagina externa del servidor.]]>
- Kesin ya da ilgili yola izin verir ve eğer url 'http://' ile başlıyorsa , modül sunucunun harici sayfasını gösterebilir.]]>
- Nó cho phép đường dẫn tuyệt đối hay tương đối, nếu bắt đầu bằng 'http://' , nó sẽ hiển thị một trang từ bên ngoài Server.]]>
-
-
- /path1/path2/sample.php 와 같이 절대경로나 ../path2/sample.php와 같은 상대경로 모두 사용가능합니다. http://url/sample.php 와 같이 사용하면 해당 페이지를 웹으로 전송 받아 출력 하게 됩니다. 현재 XE가 설치된 절대경로는 다음과 같습니다. ]]>
- Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used. If you input the path like 'http://url/sample.php', the result will be received and then displayed. This is current XE's absolute path. ]]>
- 「/path1/path2/sample.php」のような絶対パス、「../path2/sample.php」のような相対パスが使用できます。 「http://URL/sample.php」のように使用すると結果を読み込んで表示します。 現在XEがインストールされている絶対パスは次のようになっています。 ]]>
- 可以使用如同 /path1/path2/sample.php的绝对路径或如 ../path2/sample.php的相对路径。 如使用http://url/sample.php之类的地址,可以把此页面的输出结果显示到XE内部的指定位置。 现安装的XE绝对路径如下: ]]>
- 可以使用像『/path1/path2/sample.php』的絕對路徑或是『../path2/sample.php』的相對路徑。 如果是用『http://url/sample.php』之類的網址,會將此頁面的結果顯示到XE內部的指定位置。 目前安裝的XE絕對路徑如下: ]]>
- Non seulement le chemin absolu comme '/path1/path2/sample.php' mais aussi le chemin relatif comme '../path2/sample.php' peuvent être utilisés. Si vous entrez le chemin comme 'http://url/sample.php', le résultat sera reçu et puis exposé Le chemin suivant, c'est le chemin absolu de XE. ]]>
- Абсолютный путь как '/path1/path2/sample.php', так и относительный как '../path2/sample.php' могут быть использованы. Если Вы введете путь как 'http://url/sample.php', результат будет сначала получен и затем показан. Это текущий абсолютный путь к XE. ]]>
- Ambos ruta absoluta como '/ path1/path2/sample.php' o ruta relativa como "../path2/sample.php" puede ser utilizado. Si la via de entrada, como "http://url/sample.php", el resultado sera recibido y, a continuacion se muestran. Esta es la actual XE ruta absoluta. ]]>
- '/path1/path2/sample.php' gibi kesin yollar ve '../path2/sample.php' gibi ilgili yollar kullanılabilir. Eğer 'http://url/sample.php' gibi bir yol giriyorsanız, sonuç önce alınacak sonra gösterilecektir. Bu XE'nin kesin yoludur. ]]>
- Có thể sử dụng đường dẫn tuyệt đối dạng '/path1/path2/sample.php' hay tương đối dạng '../path2/sample.php'. Nếu nhập đường dẫn dạng 'http://url/sample.php', nó sẽ nhận và hiển thị nội dung của File đó. Đây là đường dẫn tuyệt đối thư mục cài đặt XE. ]]>
-
-
- 다른 서버의 정보를 출력하거나, 데이터 출력하는데 많은 자원이 필요한 경우, 원하시는 분 단위 시간 간격으로 캐싱하는 것을 추천합니다. 0 으로 하시면 캐싱을 하지 않습니다.]]>
- It is recommended to cache for proper time if a lot of resources are needed when displaying other servers' data or information. A value of 0 will not cache.]]>
- 他のサーバの情報を出力したり、データを出力する際、リソースが多く使われるため、数分単位でキャッシングすることをお勧めします。 「0」に指定するとキャッシングされません。]]>
- 输出外部服务器信息或数据时,如消耗资源很大,尽量把缓冲时间设置为大一点的相应值。 0 表示无缓冲。]]>
- 輸出外部主機訊息或資料時,如消耗資源很大,盡量把暫存時間設大一點。 『0』表示不暫存。]]>
- 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. La valeur 0 signifie de ne pas utiliser antémémoire.]]>
- Рекомендуется устанавливать разумное время кеширования, если множество ресурсов нуждаются в показе данных с других серверов. Значение 0 отключает кеширование.]]>
- Se recomienda a la cache para una buena vez si una gran cantidad de recursos se necesitan otros servidores cuando se muestran los datos o la informacion. Un valor de 0 no cache.]]>
- 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. 0 değeri verilirse, önbelleğe alınma işlemi gerçekleşmeyecektir.]]>
- Đó 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ị. Nhập 0 nếu không sử dụng tính năng này.]]>
-
-
-
-
-
-
-
-
-
- /path1/path2/sample.php 와 같이 절대경로나 ../path2/sample.php와 같은 상대경로 모두 사용가능합니다. http://url/sample.php 와 같이 사용하면 해당 페이지를 웹으로 전송 받아 출력 하게 됩니다. 현재 XE가 설치된 절대경로는 다음과 같습니다. ]]>
- Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used. If you input the path like 'http://url/sample.php', the result will be received and then displayed. This is current XE's absolute path. ]]>
- /path1/path2/sample.php のような絶対パスや ../path2/sample.phpのような相対パス両方とも指定できます。 指定すると対応するドキュメントをウェブからダウンロードして表示します。 現在、XEの設置されている絶対パスは次のようになります。]]>
- 可以使用如同 /path1/path2/sample.php的绝对路径或如 ../path2/sample.php的相对路径。 如使用http://url/sample.php之类的地址,可以把此页面的输出结果显示到XE内部的指定位置。 现安装的XE绝对路径如下: ]]>
- Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used. If you input the path like 'http://url/sample.php' , the result will be received and then displayed. This is current XE's absolute path. ]]>
- Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used. If you input the path like 'http://url/sample.php' , the result will be received and then displayed. This is current XE's absolute path. ]]>
- Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used. If you input the path like 'http://url/sample.php' , the result will be received and then displayed. This is current XE's absolute path. ]]>
- Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used. If you input the path like 'http://url/sample.php' , the result will be received and then displayed. This is current XE's absolute path. ]]>
- '/path1/path2/sample.php' gibi kesin yol veya '../path2/sample.php' gibi ilgili yol kullanılabilir. Eğer 'http://url/sample.php' gibi bir adres girdiyseniz , sonuç önce alınacak sonra görüntülenecektir. Bu XE'nin kesin yoludur. ]]>
- Both absolute path such as '/path1/path2/sample.php' or relative path such as '../path2/sample.php' can be used. If you input the path like 'http://url/sample.php' , the result will be received and then displayed. This is current XE's absolute path. ]]>
-
-
\ No newline at end of file
diff --git a/modules/opage/opage.admin.controller.php b/modules/opage/opage.admin.controller.php
deleted file mode 100644
index 7c7d82a84..000000000
--- a/modules/opage/opage.admin.controller.php
+++ /dev/null
@@ -1,79 +0,0 @@
-module = 'opage';
- $args->mid = $args->opage_name;
- unset($args->opage_name);
- // Check if an original module exists by using module_srl
- if($args->module_srl) {
- $columnList = array('module_srl');
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl, $columnList);
- if($module_info->module_srl != $args->module_srl) unset($args->module_srl);
- }
- // Insert/update depending on module_srl
- if(!$args->module_srl) {
- $args->module_srl = getNextSequence();
- $output = $oModuleController->insertModule($args);
- $msg_code = 'success_registed';
- } else {
- $output = $oModuleController->updateModule($args);
- $msg_code = 'success_updated';
- // Delete cache files
- $cache_file = sprintf("./files/cache/opage/%d.cache.php", $module_info->module_srl);
- if(file_exists($cache_file)) FileHandler::removeFile($cache_file);
- }
-
- if(!$output->toBool()) return $output;
- // Messages to output when successfully registered
- $this->add("module_srl", $output->get('module_srl'));
- $this->add("opage", Context::get('opage'));
- $this->setMessage($msg_code);
- }
-
- /**
- * @brief Delete an external page
- **/
- function procOpageAdminDelete() {
- $module_srl = Context::get('module_srl');
- // Get an original
- $oModuleController = &getController('module');
- $output = $oModuleController->deleteModule($module_srl);
- if(!$output->toBool()) return $output;
-
- $this->add('module','opage');
- $this->add('opage',Context::get('opage'));
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief Add information of an external page
- **/
- function procOpageAdminInsertConfig() {
- // Get the basic info
- $args = Context::gets('test');
-
- }
-
- }
-?>
diff --git a/modules/opage/opage.admin.view.php b/modules/opage/opage.admin.view.php
deleted file mode 100644
index 2448f2620..000000000
--- a/modules/opage/opage.admin.view.php
+++ /dev/null
@@ -1,159 +0,0 @@
-getModuleCategories();
- Context::set('module_category', $module_category);
- //Security
- $security = new Security();
- $security->encodeHTML('module_category..title');
-
- // Get a template path (admin templates are collected on the tpl for opage)
- $this->setTemplatePath($this->module_path.'tpl');
- }
-
- /**
- * @brief Display a list of external pages
- **/
- function dispOpageAdminContent() {
- $args->sort_index = "module_srl";
- $args->page = Context::get('page');
- $args->list_count = 40;
- $args->page_count = 10;
- $args->s_module_category_srl = Context::get('module_category_srl');
- $output = executeQuery('opage.getOpageList', $args);
- // context setting to use a template
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('opage_list', $output->data);
- Context::set('page_navigation', $output->page_navigation);
- //Security
- $security = new Security();
- $security->encodeHTML('opage_list..');
-
- // Set a template file
- $this->setTemplateFile('index');
- }
-
- /**
- * @brief Form to add an external page
- **/
- function dispOpageAdminInsert() {
- // Get a list of groups
- $oMemberModel = &getModel('member');
- $group_list = $oMemberModel->getGroups();
- Context::set('group_list', $group_list);
- // Get a list of permissions from the module.xml
- $grant_list = $this->xml_info->grant;
- Context::set('grant_list', $grant_list);
- // Get module_srl
- $module_srl = Context::get('module_srl');
- // Get and set module information if module_srl exists
- if($module_srl) {
- $oModuleModel = &getModel('module');
- $columnList = array('module_srl', 'mid', 'module_category_srl', 'browser_title', 'layout_srl', 'use_mobile', 'mlayout_srl');
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList);
- if($module_info->module_srl == $module_srl) Context::set('module_info',$module_info);
- else {
- unset($module_info);
- unset($module_srl);
- }
- }
- // Get a layout list
- $oLayoutModel = &getModel('layout');
- $layout_list = $oLayoutModel->getLayoutList();
- Context::set('layout_list', $layout_list);
-
- $mobile_layout_list = $oLayoutModel->getLayoutList(0,"M");
- Context::set('mlayout_list', $mobile_layout_list);
- //Security
- $security = new Security();
- $security->encodeHTML('module_info.');
- $security->encodeHTML('layout_list..layout');
- $security->encodeHTML('layout_list..title');
- $security->encodeHTML('mlayout_list..layout');
- $security->encodeHTML('mlayout_list..title');
- //group_list 및 grant는 사용되는 곳을 모르겠음.
- /*
- $security->encodeHTML('group_list..title');
- $security->encodeHTML('group_list..description');
- $security->encodeHTML('grant_list..');
- */
-
- // Set a template file
- $this->setTemplateFile('opage_insert');
- }
-
-
- /**
- * @brief Screen to delete an external page
- **/
- function dispOpageAdminDelete() {
- $module_srl = Context::get('module_srl');
- if(!$module_srl) return $this->dispContent();
-
- $oModuleModel = &getModel('module');
- $columnList = array('module_srl', 'mid', 'module');
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList);
- Context::set('module_info',$module_info);
- //Security
- $security = new Security();
- $security->encodeHTML('module_info.module');
- $security->encodeHTML('module_info.mid');
- $security->encodeHTML('module_info.browser_title');
-
- // Set a template file
- $this->setTemplateFile('opage_delete');
- }
-
- /**
- * @brief Display a list of permissions
- **/
- function dispOpageAdminGrantInfo() {
-
- // Get module_srl
- $module_srl = Context::get('module_srl');
- // Get and set module information if module_srl exists
- if($module_srl) {
- $oModuleModel = &getModel('module');
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
- if($module_info->module_srl == $module_srl) Context::set('module_info',$module_info);
- else {
- unset($module_info);
- unset($module_srl);
- }
- }
-
- $this->module_info = $module_info;
- // Call a page to set permission for common module
- $oModuleAdminModel = &getAdminModel('module');
- $grant_content = $oModuleAdminModel->getModuleGrantHTML($this->module_info->module_srl, $this->xml_info->grant);
- Context::set('grant_content', $grant_content);
-
- //Security
- $security = new Security();
- $security->encodeHTML('module_info..');
-
- $this->setTemplateFile('grant_list');
- }
- }
-?>
diff --git a/modules/opage/opage.class.php b/modules/opage/opage.class.php
deleted file mode 100644
index 0ed2f1703..000000000
--- a/modules/opage/opage.class.php
+++ /dev/null
@@ -1,43 +0,0 @@
-
diff --git a/modules/opage/opage.controller.php b/modules/opage/opage.controller.php
deleted file mode 100644
index d514d80c5..000000000
--- a/modules/opage/opage.controller.php
+++ /dev/null
@@ -1,102 +0,0 @@
-]*)>(.*?)<\/title>!is', $content, $buff);
- return trim($buff[2]);
- }
-
- /**
- * @brief Extract header script
- **/
- function getHeadScript($content) {
- // remove the title tag
- $content = preg_replace('!
]*)>(.*?)<\/title>!is','', $content);
- // Remove meta tags
- $content = preg_replace('!<(\/){0,1}meta([^>]*)>!is','', $content);
- // Extract information such as ]*)>!is', $content, $link_buff);
- for($i=0;$i!is', $content, $script_buff);
- for($i=0;$i]*)>(.*?)<\/body>!is', $content, $body_buff);
- $body_script = $body_buff[2];
- // Remove link, style, script, etc.
- $body_script = preg_replace('!]*)>!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]);
- }
-
- }
-?>
diff --git a/modules/opage/opage.mobile.php b/modules/opage/opage.mobile.php
deleted file mode 100644
index 01d76fb59..000000000
--- a/modules/opage/opage.mobile.php
+++ /dev/null
@@ -1,20 +0,0 @@
-setTemplatePath($this->module_path.'tpl');
-
- $oOpageModel = &getModel('opage');
- $module_info = $oOpageModel->getOpage($this->module_srl);
- Context::set('module_info', $module_info);
- // Get a path/caching interval on the external page
- if($module_info->mpath) $this->path = $module_info->mpath;
- else $this->path = $module_info->path;
- $this->caching_interval = $module_info->caching_interval;
- // Specify the cache file
- $this->cache_file = sprintf("./files/cache/opage/%d.m.cache.php", $module_info->module_srl);
- }
-
-}
diff --git a/modules/opage/opage.model.php b/modules/opage/opage.model.php
deleted file mode 100644
index 03e9f4de3..000000000
--- a/modules/opage/opage.model.php
+++ /dev/null
@@ -1,34 +0,0 @@
-getModuleInfoByModuleSrl($module_srl, $columnList);
- if($module_info->module_srl != $module_srl) return;
-
- $extra_vars = unserialize($module_info->extra_vars);
- if($extra_vars) {
- foreach($extra_vars as $key => $val) $module_info->{$key} = $val;
- unset($module_info->extra_vars);
- }
- return $module_info;
- }
-
- }
-?>
diff --git a/modules/opage/opage.view.php b/modules/opage/opage.view.php
deleted file mode 100644
index 57cbae46e..000000000
--- a/modules/opage/opage.view.php
+++ /dev/null
@@ -1,146 +0,0 @@
-setTemplatePath($this->module_path.'tpl');
- // Get information of the external page module
- $oOpageModel = &getModel('opage');
- $module_info = $oOpageModel->getOpage($this->module_srl);
- Context::set('module_info', $module_info);
- // Get a path/caching interval on the external page
- $this->path = $module_info->path;
- $this->caching_interval = $module_info->caching_interval;
- // Specify the cache file
- $this->cache_file = sprintf("./files/cache/opage/%d.cache.php", $module_info->module_srl);
- }
-
- /**
- * @brief Display when receiving a request
- **/
- function dispOpageIndex() {
- // check if it is http or internal file
- if($this->path) {
- if(preg_match("/^([a-z]+):\/\//i",$this->path)) $content = $this->getHtmlPage($this->path, $this->caching_interval, $this->cache_file);
- else $content = $this->executeFile($this->path, $this->caching_interval, $this->cache_file);
- }
-
- Context::set('opage_content', $content);
- // Set a template for result output
- $this->setTemplateFile('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
- $oOpageController = &getController('opage');
- // change url of image, css, javascript and so on if the page is from external server
- $content = $oOpageController->replaceSrc($content, $path);
- // Change the document to utf-8 format
- $buff->content = $content;
- $buff = Context::convertEncoding($buff);
- $content = $buff->content;
- // Extract a title
- $title = $oOpageController->getTitle($content);
- if($title) Context::setBrowserTitle($title);
- // Extract header script
- $head_script = $oOpageController->getHeadScript($content);
- if($head_script) Context::addHtmlHeader($head_script);
- // Extract content from the body
- $body_script = $oOpageController->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)path = str_replace('\\', '/', realpath($path_info['dirname'])).'/';
- $content = preg_replace_callback('/(src=|href=|url\()("|\')?([^"\'\)]+)("|\'\))?/is',array($this,'_replacePath'),$content);
- $content = preg_replace_callback('/(]+target=)(")([^"]+)(")/is',array($this,'_replacePath'),$content);
- $content = preg_replace_callback('/(
-
-