Remove addons no longer used in XE 1.9

- Remove mobile and openid_delegation_id
- Keep blogapi for now
This commit is contained in:
Kijin Sung 2017-08-24 14:27:13 +09:00
parent 0871b247c1
commit 6aebe472e2
16 changed files with 0 additions and 1364 deletions

View file

@ -1,124 +0,0 @@
<?php
/**
* HDML Library ver 0.1
* @author NAVER (developers@xpressengine.com)
*/
class wap extends mobileXE {
/**
* @brief constructor
**/
function __construct()
{
parent::__construct();
}
/**
* @brief hdml header output
**/
function printHeader()
{
header("Content-Type:text/x-hdml; charset=".$this->charset);
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
print '<hdml version=3.0 ttl=0 markable=true>';
print "\n";
print $this->hasChilds()?'<choice name=main>':'<display>';
print "\n";
if($this->upperUrl)
{
$url = $this->upperUrl;
printf('<action type=soft1 task=go dest="%s" label="%s">%s', $url->url, $url->text, "\n");
}
}
/**
* @brief Output title
**/
function printTitle()
{
if($this->totalPage > $this->mobilePage) $titlePageStr = sprintf("(%d/%d)",$this->mobilePage, $this->totalPage);
printf('<b>&lt;%s%s&gt;%s', $this->title,$titlePageStr,"\n");
}
/**
* @brief Output information
* hasChilds() if there is a list of content types, otherwise output
**/
function printContent()
{
if($this->hasChilds())
{
foreach($this->getChilds() as $key => $val)
{
if(!$val['link']) continue;
printf('<ce task=go label="%s" dest="%s">%s%s',lang('cmd_select'), $val['href'], $val['text'], "\n");
}
}
else
{
printf('<wrap>%s<br>%s', $this->getContent(),"\n");
}
}
/**
* @brief Button to output
**/
function printBtn()
{
// Menu Types
if($this->hasChilds())
{
if($this->nextUrl)
{
$url = $this->nextUrl;
printf('<ce task=go label="%s" dest="%s">%s%s', $url->text, $url->url, $url->text, "\n");
}
if($this->prevUrl)
{
$url = $this->prevUrl;
printf('<ce task=go label="%s" dest="%s">%s%s', $url->text, $url->url, $url->text, "\n");
}
if($this->homeUrl)
{
$url = $this->homeUrl;
printf('<ce task=go label="%s" dest="%s">%s%s', $url->text, $url->url, $url->text, "\n");
}
// Content Types
}
else
{
if($this->nextUrl)
{
$url = $this->nextUrl;
printf('<a task=gosub label="%s" dest="%s">%s</a>', $url->text, $url->url, $url->text);
}
if($this->prevUrl)
{
$url = $this->prevUrl;
printf('<a task=gosub label="%s" dest="%s">%s</a>', $url->text, $url->url, $url->text);
}
if($this->homeUrl)
{
$url = $this->homeUrl;
printf('<a task=gosub label="%s" dest="%s">%s</a>', $url->text, $url->url, $url->text);
}
}
}
/**
* @brief Footer information output
**/
function printFooter()
{
print $this->hasChilds()?'</choice>':'</display>';
print "\n";
print("</hdml>");
}
}
/* End of file hdml.class.php */
/* Location: ./addons/mobile/classes/hdml.class.php */

View file

@ -1,98 +0,0 @@
<?php
include './mobile.class.php';
/**
* mhtml Library ver 0.1
* @author NAVER (developers@xpressengine.com) / lang_select : misol
*/
class wap extends mobileXE
{
/**
* @brief constructor
**/
function __construct()
{
parent::__construct();
}
/**
* @brief hdml header output
**/
function printHeader()
{
print("<html><head>\n");
if($this->totalPage > $this->mobilePage) $titlePageStr = sprintf("(%d/%d)",$this->mobilePage, $this->totalPage);
printf("<title>%s%s</title></head><body>\n", htmlspecialchars($this->title, ENT_COMPAT | ENT_HTML401, 'UTF-8', false),htmlspecialchars($titlePageStr, ENT_COMPAT | ENT_HTML401, 'UTF-8', false));
}
// Output title
function printTitle()
{
if($this->totalPage > $this->mobilePage) $titlePageStr = sprintf("(%d/%d)",$this->mobilePage, $this->totalPage);
printf('&lt;%s%s&gt;<br>%s', htmlspecialchars($this->title, ENT_COMPAT | ENT_HTML401, 'UTF-8', false),htmlspecialchars($titlePageStr, ENT_COMPAT | ENT_HTML401, 'UTF-8', false),"\n");
}
/**
* @brief Output information
* hasChilds() if there is a list of content types, otherwise output
**/
function printContent()
{
if($this->hasChilds())
{
foreach($this->getChilds() as $key => $val)
{
if(!$val['link']) continue;
printf('<a href="%s" accesskey="%s">%s</a><br>%s', $val['href'], $this->getNo(), $val['text'], "\n");
if($val['extra']) printf("<br>%s\n",str_replace('<br/>','<br>',$val['extra']));
}
}
else
{
print(str_replace('<br/>','<br>',$this->getContent())."\n");
}
print "<hr><br>";
}
/**
* @brief Button to output
**/
function printBtn()
{
if($this->nextUrl)
{
$url = $this->nextUrl;
printf('<a href="%s">%s</a><br>%s', $url->url, $url->text, "\n");
}
if($this->prevUrl)
{
$url = $this->prevUrl;
printf('<a href="%s">%s</a><br>%s', $url->url, $url->text, "\n");
}
// Select Language
if(!parent::isLangChange())
{
$url = getUrl('','lcm','1','sel_lang',Context::getLangType(),'return_uri',Context::get('current_url'));
printf('<a href="%s">%s</a><br>%s', $url, 'Language : '.lang('select_lang'), "\n");
}
else
{
printf('<a href="%s">%s</a><br>%s', Context::get('return_uri'), lang('lang_return'), "\n");
}
if($this->upperUrl)
{
$url = $this->upperUrl;
printf('<btn href="%s" name="%s">%s', $url->url, $url->text, "\n");
}
if($this->homeUrl)
{
$url = $this->homeUrl;
printf('<a btn="%s" href="%s">%s</a><br>%s', $url->text, $url->url, $url->text, "\n");
}
}
// Footer information output
function printFooter()
{
print("</body></html>\n");
}
}
/* End of file mhtml.class.php */
/* Location: ./addons/mobile/classes/mhtml.class.php */

View file

@ -1,632 +0,0 @@
<?php
/**
* Mobile XE Library Class ver 0.1
* @author NAVER (developers@xpressengine.com) / lang_select : misol
* @brief XE library for WAP tag output
*/
class mobileXE
{
// Base url
var $homeUrl = NULL;
var $upperUrl = NULL;
var $nextUrl = NULL;
var $prevUrl = NULL;
var $etcBtn = NULL;
// Variable for menu navigation
var $childs = null;
// Basic variable
var $title = NULL;
var $content = NULL;
var $mobilePage = 0;
var $totalPage = 1;
var $charset = 'UTF-8';
var $no = 0;
// Navigation-related variables
var $menu = null;
var $listed_items = null;
var $node_list = null;
var $index_mid = null;
// Navigation On/Off status value
var $navigationMode = 0;
// XE module information currently requested
var $module_info = null;
// Currently running instance of the module
var $oModule = null;
// Deck size
var $deckSize = 1024;
// Changing the language setting
var $languageMode = 0;
var $lang = null;
/**
* @brief getInstance
*/
function &getInstance()
{
static $instance = null;
if(!$instance)
{
$browserType = mobileXE::getBrowserType();
if(!$browserType) return;
$class_file = sprintf('%saddons/mobile/classes/%s.class.php', _XE_PATH_, $browserType);
require_once($class_file);
// Download mobile language settings (cookies, not willing to come up when you click create cache file ...- is initialized ..)
$this->lang = FileHandler::readFile('./files/cache/addons/mobile/setLangType/personal_settings/'.md5(trim($_SERVER['HTTP_USER_AGENT']).trim($_SERVER['HTTP_PHONE_NUMBER']).trim($_SERVER['HTTP_HTTP_PHONE_NUMBER'])).'.php');
if($this->lang)
{
$lang_supported = Context::get('lang_supported');
$this->lang = str_replace(array('<?php /**','**/ ?>'),array('',''),$this->lang);
if(isset($lang_supported[$this->lang])) Context::setLangType($this->lang);
}
Context::loadLang(_XE_PATH_.'addons/mobile/lang');
$instance = new wap();
$mobilePage = (int)Context::get('mpage');
if(!$mobilePage) $mobilePage = 1;
$instance->setMobilePage($mobilePage);
}
return $instance;
}
/**
* @brief constructor
*/
function __construct()
{
// Check navigation mode
if(Context::get('nm'))
{
$this->navigationMode = 1;
$this->cmid = (int)Context::get('cmid');
}
if(Context::get('lcm'))
{
$this->languageMode = 1;
$this->lang = Context::get('sel_lang');
}
}
/**
* @brief Check navigation mode
* navigationMode settings and modules of information must be menu_srl return to navigation mode = true
*/
function isNavigationMode()
{
return ($this->navigationMode && $this->module_info->menu_srl)?true:false;
}
/**
* @brief Check langchange mode
* true return should be set languageMode
*/
function isLangChange()
{
if($this->languageMode) return true;
else return false;
}
/**
* @brief Language settings
* Cookies Since you set your phone to store language-specific file, file creation
*/
function setLangType()
{
$lang_supported = Context::get('lang_supported');
// Make sure that the language variables and parameters are valid
if($this->lang && isset($lang_supported[$this->lang]))
{
$langbuff = FileHandler::readFile('./files/cache/addons/mobile/setLangType/personal_settings/'.md5(trim($_SERVER['HTTP_USER_AGENT']).trim($_SERVER['HTTP_PHONE_NUMBER']).trim($_SERVER['HTTP_HTTP_PHONE_NUMBER'])).'.php');
if($langbuff) FileHandler::removeFile('./files/cache/addons/mobile/setLangType/personal_settings/'.md5(trim($_SERVER['HTTP_USER_AGENT']).trim($_SERVER['HTTP_PHONE_NUMBER']).trim($_SERVER['HTTP_HTTP_PHONE_NUMBER'])).'.php');
$langbuff = '<?php /**'.$this->lang.'**/ ?>';
FileHandler::writeFile('./files/cache/addons/mobile/setLangType/personal_settings/'.md5(trim($_SERVER['HTTP_USER_AGENT']).trim($_SERVER['HTTP_PHONE_NUMBER']).trim($_SERVER['HTTP_HTTP_PHONE_NUMBER'])).'.php',$langbuff);
}
}
/**
* @brief Information currently requested module settings
*/
function setModuleInfo(&$module_info)
{
if($this->module_info) return;
$this->module_info = $module_info;
}
/**
* @brief Set the module instance is currently running
*/
function setModuleInstance(&$oModule)
{
if($this->oModule) return;
// Save instance
$this->oModule = $oModule;
// Of the current module if there is a menu by menu
$menu_cache_file = sprintf(_XE_PATH_.'files/cache/menu/%d.php', $this->module_info->menu_srl);
if(!file_exists($menu_cache_file)) return;
include $menu_cache_file;
// One-dimensional arrangement of menu changes
$this->getListedItems($menu->list, $listed_items, $node_list);
$this->listed_items = $listed_items;
$this->node_list = $node_list;
$this->menu = $menu->list;
$k = array_keys($node_list);
$v = array_values($node_list);
$this->index_mid = $k[0];
// The depth of the current menu, the top button to specify if one or more
$cur_menu_item = $listed_items[$node_list[$this->module_info->mid]];
if($cur_menu_item['parent_srl'])
{
$parent_srl = $cur_menu_item['parent_srl'];
if($parent_srl && $listed_items[$parent_srl])
{
$parent_item = $listed_items[$parent_srl];
if($parent_item) $this->setUpperUrl(getUrl('','mid',$parent_item['mid']), lang('cmd_go_upper'));
}
}
elseif (!$this->isNavigationMode())
{
$this->setUpperUrl(getUrl('','mid',$this->index_mid,'nm','1','cmid',0), lang('cmd_view_sitemap'));
}
}
/**
* @brief Access the browser's header to determine the return type of the browser
* Mobile browser, if not null return
*/
function getBrowserType()
{
if(Context::get('smartphone')) return null;
// Determine the type of browser
$browserAccept = $_SERVER['HTTP_ACCEPT'];
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$wap_sid = $_SERVER['HTTP_X_UP_SUBNO'];
if(stripos($userAgent, "SKT11") !== FALSE || stripos($browserAccept, "skt") !== FALSE)
{
Context::set('mobile_skt',1);
return "wml";
}
elseif(stripos($browserAccept, "hdml") !== FALSE) return "hdml";
elseif(stripos($userAgent, "cellphone") !== FALSE) return "mhtml";
return null;
}
/**
* @brief Specify charset
*/
function setCharSet($charset = 'UTF-8')
{
if(!$charset) $charset = 'UTF-8';
// SKT supports the euc-kr
if(Context::get('mobile_skt')==1) $charset = 'euc-kr';
$this->charset = $charset;
}
/**
* @brief Limited capacity of mobile devices, specifying a different virtual page
*/
function setMobilePage($page=1)
{
if(!$page) $page = 1;
$this->mobilePage = $page;
}
/**
* @brief Mokrokhyeong child menu for specifying the data set
*/
function setChilds($childs)
{
// If more than nine the number of menu paging processing itself
$menu_count = count($childs);
if($menu_count>9)
{
$startNum = ($this->mobilePage-1)*9;
$idx = 0;
$new_childs = array();
foreach($childs as $k => $v)
{
if($idx >= $startNum && $idx < $startNum+9)
{
$new_childs[$k] = $v;
}
$idx ++;
}
$childs = $new_childs;
$this->totalPage = (int)(($menu_count-1)/9)+1;
// next/prevUrl specify
if($this->mobilePage>1)
{
$url = getUrl('mid',$_GET['mid'],'mpage',$this->mobilePage-1);
$text = sprintf('%s (%d/%d)', lang('cmd_prev'), $this->mobilePage-1, $this->totalPage);
$this->setPrevUrl($url, $text);
}
if($this->mobilePage<$this->totalPage)
{
$url = getUrl('mid',$_GET['mid'],'mpage',$this->mobilePage+1);
$text = sprintf('%s (%d/%d)', lang('cmd_next'), $this->mobilePage+1, $this->totalPage);
$this->setNextUrl($url, $text);
}
}
$this->childs = $childs;
}
/**
* @brief Check the menu to be output
*/
function hasChilds()
{
return count($this->childs)?true:0;
}
/**
* @brief Returns the child menu
*/
function getChilds()
{
return $this->childs;
}
/**
* @brief Specify title
*/
function setTitle($title)
{
$oModuleController = getController('module');
$this->title = $title;
$oModuleController->replaceDefinedLangCode($this->title);
}
/**
* @brief return title
*/
function getTitle()
{
return $this->title;
}
/**
* @brief Content Cleanup
* In HTML content, the ability to extract text and links
*/
function setContent($content)
{
$oModuleController = getController('module');
$allow_tag_array = array('<a>','<br>','<p>','<b>','<i>','<u>','<em>','<small>','<strong>','<big>','<table>','<tr>','<td>');
// Links/wrap, remove all tags except gangjoman
$content = strip_tags($content, implode($allow_tag_array));
// Margins tab removed
$content = str_replace("\t", "", $content);
// Repeat two more times the space and remove julnanumeul
$content = preg_replace('/( ){2,}/s', '', $content);
$content = preg_replace("/([\r\n]+)/s", "\r\n", $content);
$content = preg_replace(array("/<a/i","/<\/a/i","/<b/i","/<\/b/i","/<br/i"),array('<a','</a','<b','</b','<br'),$content);
$content = str_replace(array("<br>","<br />"), array("<br/>","<br/>"), $content);
while(strpos($content, '<br/><br/>'))
{
$content = str_replace('<br/><br/>','<br/>',$content);
}
// If the required size of a deck of mobile content to write down all the dividing pages
$contents = array();
while($content)
{
$tmp = $this->cutStr($content, $this->deckSize, '');
$contents[] = $tmp;
$content = substr($content, strlen($tmp));
//$content = str_replace(array('&','<','>','"','&amp;nbsp;'), array('&amp;','&lt;','&gt;','&quot;',' '), $content);
foreach($allow_tag_array as $tag)
{
if($tag == '<br>') continue;
$tag_open_pos = strpos($content, str_replace('>','',$tag));
$tag_close_pos = strpos($content, str_replace('<','</',$tag));
if($tag_open_pos!==false && $tag_close_pos || $tag_close_pos < $tag_open_pos)
{
$contents[count($contents)-1] .= substr($content, 0, $tag_close_pos + strlen($tag) + 1);
$content = substr($content, $tag_close_pos + strlen($tag) + 1);
}
}
$tag_open_pos = strpos($content, '&');
$tag_close_pos = strpos($content, ';');
if($tag_open_pos!==false && $tag_close_pos || $tag_close_pos < $tag_open_pos)
{
$contents[count($contents)-1] .= substr($content, 0, $tag_close_pos + 1);
$content = substr($content, $tag_close_pos + 1);
}
}
$this->totalPage = count($contents);
// next/prevUrl specify
if($this->mobilePage>1)
{
$url = getUrl('mid',$_GET['mid'],'mpage',$this->mobilePage-1);
$text = sprintf('%s (%d/%d)', lang('cmd_prev'), $this->mobilePage-1, $this->totalPage);
$this->setPrevUrl($url, $text);
}
if($this->mobilePage<$this->totalPage)
{
$url = getUrl('mid',$_GET['mid'],'mpage',$this->mobilePage+1);
$text = sprintf('%s (%d/%d)', lang('cmd_next'), $this->mobilePage+1, $this->totalPage);
$this->setNextUrl($url, $text);
}
$this->content = $contents[$this->mobilePage-1];
$oModuleController->replaceDefinedLangCode($this->content);
$content = str_replace(array('$','\''), array('$$','&apos;'), $content);
}
/**
* @brief cutting the number of byte functions
*/
function cutStr($string, $cut_size)
{
return preg_match('/.{'.$cut_size.'}/su', $string, $arr) ? $arr[0] : $string;
}
/**
* @brief Return content
*/
function getContent()
{
return $this->content;
}
/**
* @brief Specifies the home url
*/
function setHomeUrl($url, $text)
{
if(!$url) $url = '#';
$this->homeUrl->url = $url;
$this->homeUrl->text = $text;
}
/**
* @brief Specify upper url
*/
function setUpperUrl($url, $text)
{
if(!$url) $url = '#';
$this->upperUrl->url = $url;
$this->upperUrl->text = $text;
}
/**
* @brief Specify prev url
*/
function setPrevUrl($url, $text)
{
if(!$url) $url = '#';
$this->prevUrl->url = $url;
$this->prevUrl->text = $text;
}
/**
* @brief Specify next url
*/
function setNextUrl($url, $text)
{
if(!$url) $url = '#';
$this->nextUrl->url = $url;
$this->nextUrl->text = $text;
}
/**
* @brief Next, Previous, Top button assignments other than
*/
function setEtcBtn($url, $text)
{
if(!$url) $url = '#';
$etc['url'] = $url;
$etc['text'] = htmlspecialchars($text);
$this->etcBtn[] = $etc;
}
/**
* @brief display
*/
function display()
{
// Home button assignments
$this->setHomeUrl(getUrl(), lang('cmd_go_home'));
// Specify the title
if(!$this->title) $this->setTitle(Context::getBrowserTitle());
ob_start();
// Output header
$this->printHeader();
// Output title
$this->printTitle();
// Information output
$this->printContent();
// Button output
$this->printBtn();
// Footer output
$this->printFooter();
$content = ob_get_clean();
// After conversion output
if(strtolower($this->charset) == 'utf-8') print $content;
else print iconv('UTF-8',$this->charset."//TRANSLIT//IGNORE", $content);
exit();
}
/**
* @brief Move page
*/
function movepage($url)
{
header("location:$url");
exit();
}
/**
* @brief And returns a list of serial numbers in
*/
function getNo()
{
$this->no++;
$str = $this->no;
return $str;
}
/**
* @brief XE is easy to use Menu module is relieved during the function, value
*/
function getListedItems($menu, &$listed_items, &$node_list)
{
if(!count($menu)) return;
foreach($menu as $node_srl => $item)
{
if(preg_match('/^([a-zA-Z0-9\_\-]+)$/', $item['url']))
{
$mid = $item['mid'] = $item['url'];
$node_list[$mid] = $node_srl;
}
else
{
$mid = $item['mid'] = null;
}
$listed_items[$node_srl] = $item;
$this->getListedItems($item['list'], $listed_items, $node_list);
}
}
/**
* @brief XE navigation output
*/
function displayNavigationContent()
{
$childs = array();
if($this->cmid)
{
$cur_item = $this->listed_items[$this->cmid];
$upper_srl = $cur_item['parent_srl'];;
$list = $cur_item['list'];;
$this->setUpperUrl(getUrl('cmid',$upper_srl), lang('cmd_go_upper'));
if(preg_match('/^([a-zA-Z0-9\_\-]+)$/', $cur_item['url']))
{
$obj = array();
$obj['href'] = getUrl('','mid',$cur_item['url']);
$obj['link'] = $obj['text'] = '['.$cur_item['text'].']';
$childs[] = $obj;
}
}
else
{
$list = $this->menu;
$upper_srl = 0;
}
if(count($list))
{
foreach($list as $key => $val)
{
if(!$val['text']) continue;
$obj = array();
if(!count($val['list']))
{
$obj['href'] = getUrl('','mid',$val['url']);
}
else
{
$obj['href'] = getUrl('cmid',$val['node_srl']);
}
$obj['link'] = $obj['text'] = $val['text'];
$childs[] = $obj;
}
$this->setChilds($childs);
}
// Output
$this->display();
}
/**
* @brief Language Settings menu, the output
*/
function displayLangSelect()
{
$childs = array();
$this->lang = FileHandler::readFile('./files/cache/addons/mobile/setLangType/personal_settings/'.md5(trim($_SERVER['HTTP_USER_AGENT']).trim($_SERVER['HTTP_PHONE_NUMBER']).trim($_SERVER['HTTP_HTTP_PHONE_NUMBER'])).'.php');
if($this->lang)
{
$this->lang = str_replace(array('<?php /**','**/ ?>'),array('',''),$this->lang);
Context::setLangType($this->lang);
}
$lang_supported = Context::get('lang_supported');
$lang_type = Context::getLangType();
$obj = array();
$obj['link'] = $obj['text'] = lang('president_lang').' : '.$lang_supported[$lang_type];
$obj['href'] = getUrl('sel_lang',$lang_type);
$childs[] = $obj;
if(is_array($lang_supported))
{
foreach($lang_supported as $key => $val)
{
$obj = array();
$obj['link'] = $obj['text'] = $val;
$obj['href'] = getUrl('sel_lang',$key);
$childs[] = $obj;
}
}
$this->setChilds($childs);
$this->display();
}
/**
* @brief Module to create a class object of the WAP WAP ready
*/
function displayModuleContent()
{
// Create WAP class objects of the selected module
$oModule = &getWap($this->module_info->module);
if(!$oModule || !method_exists($oModule, 'procWAP') ) return;
$vars = get_object_vars($this->oModule);
if(count($vars)) foreach($vars as $key => $val) $oModule->{$key} = $val;
// Run
$oModule->procWAP($this);
// Output
$this->display();
}
/**
* @brief WAP content is available as a separate output if the final results
*/
function displayContent()
{
Context::set('layout','none');
// Compile a template
$oTemplate = new TemplateHandler();
$oContext = &Context::getInstance();
$content = $oTemplate->compile($this->oModule->getTemplatePath(), $this->oModule->getTemplateFile());
$this->setContent($content);
// Output
$this->display();
}
}
/* End of file mobile.class.php */
/* Location: ./addons/mobile/classes/mobile.class.php */

View file

@ -1,127 +0,0 @@
<?php
/**
* WML Library ver 0.1
* @author NAVER (developers@xpressengine.com) / lang_select : misol
*/
class wap extends mobileXE
{
/**
* @brief constructor
*/
function __construct()
{
parent::__construct();
}
/**
* @brief wml header output
*/
function printHeader()
{
header("Content-Type: text/vnd.wap.wml");
header("charset: ".$this->charset);
if($this->totalPage > $this->mobilePage) $titlePageStr = sprintf("(%d/%d)",$this->mobilePage, $this->totalPage);
print("<?xml version=\"1.0\" encoding=\"".$this->charset."\"?><!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n");
// Card Title
printf("<wml>\n<card title=\"%s%s\">\n<p>\n",htmlspecialchars($this->title, ENT_COMPAT | ENT_HTML401, 'UTF-8', false),htmlspecialchars($titlePageStr, ENT_COMPAT | ENT_HTML401, 'UTF-8', false));
}
/**
* @brief Output title
*/
function printTitle()
{
if($this->totalPage > $this->mobilePage) $titlePageStr = sprintf("(%d/%d)",$this->mobilePage, $this->totalPage);
printf('&lt;%s%s&gt;<br/>%s', htmlspecialchars($this->title, ENT_COMPAT | ENT_HTML401, 'UTF-8', false),htmlspecialchars($titlePageStr, ENT_COMPAT | ENT_HTML401, 'UTF-8', false),"\n");
}
/**
* @brief Output information
* hasChilds() if there is a list of content types, otherwise output
*/
function printContent()
{
if($this->hasChilds())
{
foreach($this->getChilds() as $key => $val)
{
if(!$val['link']) continue;
printf('<do type="%s" label="%s"><go href="%s" /></do>%s', $this->getNo(), htmlspecialchars($val['text'], ENT_COMPAT | ENT_HTML401, 'UTF-8', false), $val['href'], "\n");
if($val['extra']) printf("%s\n",$val['extra']);
}
}
else
{
printf('%s<br/>%s', str_replace("<br>","<br/>",$this->getContent()),"\n");
}
print('<br/>');
}
/**
* @brief Button to output
*/
function printBtn()
{
if($this->nextUrl)
{
$url = $this->nextUrl;
printf('<do type="vnd.next" label="%s"><go href="%s"/></do>%s', $url->text, $url->url, "\n");
}
if($this->prevUrl)
{
$url = $this->prevUrl;
printf('<do type="vnd.prev" label="%s"><go href="%s"/></do>%s', $url->text, $url->url, "\n");
}
// Others are not applicable in charge of the button output (array passed) type??
if($this->etcBtn)
{
if(is_array($this->etcBtn))
{
foreach($this->etcBtn as $key=>$val)
{
printf('<do type="vnd.btn%s" label="%s"><go href="%s"/></do>%s', $key, $val['text'], $val['url'], "\n");
}
}
}
// Select Language
if(!parent::isLangChange())
{
$url = getUrl('','lcm','1','sel_lang',Context::getLangType(),'return_uri',Context::get('current_url'));
printf('<do type="vnd.lang" label="%s"><go href="%s"/></do>%s', 'Language : '.lang('select_lang'), $url, "\n");
}
else
{
printf('<do type="vnd.lang" label="%s"><go href="%s"/></do>%s', lang('lang_return'), Context::get('return_uri'), "\n");
}
if($this->homeUrl)
{
$url = $this->homeUrl;
printf('<do type="access" label="%s"><go href="%s"/></do>%s', $url->text, $url->url, "\n");
}
if($this->upperUrl)
{
$url = $this->upperUrl;
printf('<do type="vnd.up" label="%s"><go href="%s"/></do>%s', $url->text, $url->url, "\n");
}
}
// Footer information output
function printFooter()
{
print("</p>\n</card>\n</wml>");
}
// And returns a list of serial numbers in
function getNo()
{
if(Context::get('mobile_skt')==1)
{
return "vnd.skmn".parent::getNo();
}
else
{
return parent::getNo();
}
return $str;
}
}
/* End of file wml.class.php */
/* Location: ./addons/mobile/classes/wml.class.php */

View file

@ -1,84 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon version="0.2">
<title xml:lang="ko">모바일XE 애드온</title>
<title xml:lang="jp">モバイルXEアドオン</title>
<title xml:lang="zh-CN">手机XE插件</title>
<title xml:lang="en">Mobile XE</title>
<title xml:lang="vi">Mobile XE</title>
<title xml:lang="ru">Mobile XE</title>
<title xml:lang="zh-TW">XE行動上網</title>
<description xml:lang="ko">
모바일에서 접속시 헤더 정보를 분석하여 WAP 태그로 출력하는 애드온입니다.
wml, hdml, mhtml를 지원하고 그 이외의 경우에는 동작하지 않습니다.
</description>
<description xml:lang="jp">
モバイル端末機からアクセス時、ヘッダーheader情報を分析して「メニュー」と「モジュール」の関係を利用してWAPタグに変換表示するアドオンです。
wml, hdml, mhtmlをサポートし、その以外は対応していません。
</description>
<description xml:lang="zh-CN">
通过手机访问网站时将网页输出为WAP标签的插件。
支持语言wml, hdml, mhtml
</description>
<description xml:lang="en">
This addon displays WAP tag by analyzing header information on mobile connection.
Only wml, hdml, mhtml formats are provided.
</description>
<description xml:lang="vi">
Addon này hiển thị WAP Tag bởi việc phân tích thông tin khi kết nối bằng di động.
Chỉ hỗ trợ cho các định dạng wml, hdml, mhtml.
</description>
<description xml:lang="ru">
Данный аддон показывает WAP теги, анализирую информацию мобильного соединения.
Поддерживаются только wml, hdml, mhtml форматы.
</description>
<description xml:lang="zh-TW">
透過行動工具上網時會將網頁轉換為WAP標籤顯示。
只限於 wml, hdml, mhtml格式。
</description>
<version>1.7</version>
<date>2013-11-27</date>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NAVER</name>
<name xml:lang="jp">NAVER</name>
<name xml:lang="zh-CN">NAVER</name>
<name xml:lang="en">NAVER</name>
<name xml:lang="vi">NAVER</name>
<name xml:lang="ru">NAVER</name>
<name xml:lang="zh-TW">NAVER</name>
</author>
<history version="0.1.1" date="2009-05-23">
<author email_address="misol221@paran.com" link="http://www.imsoo.net">
<name xml:lang="ko">misol</name>
<name xml:lang="jp">misol</name>
<name xml:lang="zh-CN">misol</name>
<name xml:lang="en">misol</name>
<name xml:lang="vi">misol</name>
<name xml:lang="ru">misol</name>
<name xml:lang="zh-TW">misol</name>
</author>
<log>언어선택 추가(WML, mHTML)</log>
<log>인코딩 설정 개선</log>
<log>그 외 소소한 개선들</log>
</history>
<extra_vars>
<var name="charset">
<title xml:lang="ko">문자셋</title>
<title xml:lang="jp">文字コード</title>
<title xml:lang="zh-CN">编码</title>
<title xml:lang="en">Charset</title>
<title xml:lang="vi">Charset</title>
<title xml:lang="ru">Charset</title>
<title xml:lang="zh-TW">編碼</title>
<description xml:lang="ko">모바일 기기의 경우 UTF-8 문자셋을 인식하지 못할 수 있습니다. 문자셋에 원하는 문자셋을 입력하면 자동으로 변환하여 출력하여 모바일에서 이상없이 출력하도록 합니다. 기본값은 UTF-8입니다. (*SK Telecom 휴대전화의 경우 euc-kr인코딩만 지원하므로, 강제로 euc-kr인코딩만 지원합니다.)</description>
<description xml:lang="jp">ある特定のモバイル機器ではutf-8文字コードの認識が出来ない場合があります。文字コードを設定すると、日本語だけの場合該当文字コードに自動変換して正常に表示出来るようになります。本アドオンのデフォルト値はUTF-8で、日本の携帯はshift-jisが一般的です。</description>
<description xml:lang="zh-CN">手机有时无法识别utf-8编码这时输入相应的编码值即可自动转换。默认编码为UTF-8。</description>
<description xml:lang="en">utf-8 may be read with mobile tools. Mobile tools will display correct charset when you input charset you want. Default charset is UTF-8.</description>
<description xml:lang="vi">UTF-8 không thể đọc được cho các công cụ di động. Những công cụ di động sẽ trình bày Charset đúng khi bạn nhập vào Charset bạn muốn. Charset mặc định là UTF-8.</description>
<description xml:lang="ru">utf-8 may be read with mobile tools. Mobile tools will display correct charset when you input charset you want. Default charset is UTF-8.</description>
<description xml:lang="zh-TW">行動工具無法讀取utf-8編碼。當您輸入所想要的編碼時行動工具將會正確的顯示。預設編碼是UTF-8.</description>
</var>
</extra_vars>
</addon>

View file

@ -1,7 +0,0 @@
<?php
$lang->president_lang = 'Selected Language';
$lang->select_lang = 'Select Language';
$lang->lang_return = 'Go Back';
$lang->cmd_go_upper = 'Upper';
$lang->cmd_go_home = 'Go Home';
$lang->cmd_view_sitemap = 'View site map';

View file

@ -1,7 +0,0 @@
<?php
$lang->president_lang = '現在言語';
$lang->select_lang = '言語選択';
$lang->lang_return = '戻る';
$lang->cmd_go_upper = '上位メニュー';
$lang->cmd_go_home = 'トップへ';
$lang->cmd_view_sitemap = 'サイトマップ';

View file

@ -1,7 +0,0 @@
<?php
$lang->president_lang = '현재 언어';
$lang->select_lang = '언어 선택';
$lang->lang_return = '돌아가기';
$lang->cmd_go_upper = '상위';
$lang->cmd_go_home = '홈으로';
$lang->cmd_view_sitemap = '사이트맵 보기';

View file

@ -1,7 +0,0 @@
<?php
$lang->president_lang = 'Дейсвующй язык';
$lang->select_lang = 'Выбор языка';
$lang->lang_return = 'Вернуться';
$lang->cmd_go_upper = 'Вверх';
$lang->cmd_go_home = 'На главную страницу';
$lang->cmd_view_sitemap = 'Посмотреть карту сайта';

View file

@ -1,7 +0,0 @@
<?php
$lang->president_lang = 'Chọn ngôn ngữ';
$lang->select_lang = 'Chọn ngôn ngữ';
$lang->lang_return = 'Trở lại';
$lang->cmd_go_upper = 'Lên trên';
$lang->cmd_go_home = 'Về trang chủ';
$lang->cmd_view_sitemap = 'Xem sơ đồ Web';

View file

@ -1,7 +0,0 @@
<?php
$lang->president_lang = '已选择语言';
$lang->select_lang = '选择语言';
$lang->lang_return = '返回';
$lang->cmd_go_upper = '上一级';
$lang->cmd_go_home = '首页';
$lang->cmd_view_sitemap = '网站地图';

View file

@ -1,7 +0,0 @@
<?php
$lang->president_lang = '已選擇語言';
$lang->select_lang = '選擇語言';
$lang->lang_return = '返回';
$lang->cmd_go_upper = '回上頁';
$lang->cmd_go_home = '回首頁';
$lang->cmd_view_sitemap = '網站地圖';

View file

@ -1,77 +0,0 @@
<?php
/* Copyright (C) NAVER <http://www.navercorp.com> */
if(!defined('__XE__'))
exit();
/**
* @file mobile.addon.php
* @author NAVER (developers@xpressengine.com)
* @brief Mobile XE add-on
*
* If a mobile connection is made (see the header information), display contents with WAP tags
*
* Time to call
*
* before_module_proc > call when changing general settings for mobile
*
* after_module_proc > display mobile content
* Condition
* */
// Ignore admin page
if(Context::get('module') == 'admin')
{
return;
}
// Manage when to call it
if($called_position != 'before_module_proc' && $called_position != 'after_module_proc')
{
return;
}
// Ignore if not mobile browser
require_once(_XE_PATH_ . 'addons/mobile/classes/mobile.class.php');
if(!mobileXE::getBrowserType())
{
return;
}
// Generate mobile instance
$oMobile = &mobileXE::getInstance();
if(!$oMobile)
{
return;
}
// Specify charset on the add-on settings
$oMobile->setCharSet($addon_info->charset);
// Set module information
$oMobile->setModuleInfo($this->module_info);
// Register the current module object
$oMobile->setModuleInstance($this);
// Extract content and display/exit if navigate mode is or if WAP class exists
if($called_position == 'before_module_proc')
{
if($oMobile->isLangChange())
{
$oMobile->setLangType();
$oMobile->displayLangSelect();
}
// On navigation mode, display navigation content
if($oMobile->isNavigationMode())
{
$oMobile->displayNavigationContent();
}
// If you have a WAP class content output via WAP class
else
{
$oMobile->displayModuleContent();
}
// If neither navigation mode nor WAP class is, display the module's result
}
else if($called_position == 'after_module_proc')
{
// Display
$oMobile->displayContent();
}
/* End of file mobile.addon.php */
/* Location: ./addons/mobile/mobile.addon.php */

View file

@ -1,125 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon version="0.2">
<title xml:lang="ko">OpenID delegation ID</title>
<title xml:lang="zh-CN">OpenID</title>
<title xml:lang="en">OpenID Delegation ID</title>
<title xml:lang="vi">OpenID Delegation ID</title>
<title xml:lang="ge">OpenID Delegation ID</title>
<title xml:lang="es">Delegación ID para OpenID</title>
<title xml:lang="jp">OpenIDアドオン</title>
<title xml:lang="ru">Открытый ID(OpenID)</title>
<title xml:lang="zh-TW">OpenID</title>
<description xml:lang="ko">
본인의 도메인을 사용하여 오픈아이디로 활용할 수 있도록 합니다.
꼭 설정을 통해서 openid provider관련 값을 입력후 사용해주세요.
</description>
<description xml:lang="zh-CN">
可以把本人的域名当分散式身份验证系统(OpenID)来使用。
必须在设置中输入openid provider相关值后再使用。
</description>
<description xml:lang="en">
This addon enables you to use your own domain name as an OpenID.
Just be sure to set the values related with openid provider before using.
</description>
<description xml:lang="vi">
Addon này cho phép bạn sử dụng tên miền của mình như một OpenID.
Hãy kiểm tra để đặt giá trị liên quan với OpenID trước khi sử dụng.
</description>
<description xml:lang="ge">
Dieses Addon ermöglicht es Ihnen, mit Ihrem eigenen Domain-Namen als OpenID.
Einfach sicher sein, dass die Werte im Zusammenhang mit OpenID-Provider, bevor Sie.
</description>
<description xml:lang="es">
Utlizando su propio dominio puede usar como OpenID.
Debe utilizar luego de ingresar los valores relacionado con openid provider a través de la configuracion.
</description>
<description xml:lang="jp">
保有しているオリジナルドメインをオープンIDとして活用することが出来ます。
必ず設定にて、OpenIDプロバイダーの関連情報を入力してから使用して下さい。
</description>
<description xml:lang="ru">
Этот аддон позволяет Вам использовать Ваше доменное имя как OpenID.
Прежде, чем использовать, установите значения, имеющие отношение к openid-провайдеру .
</description>
<description xml:lang="zh-TW">
可將原本的域名當做OpenID來使用。
必須在設置中輸入openid provider相關資料後再使用。
</description>
<version>1.7</version>
<date>2013-11-27</date>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NAVER</name>
<name xml:lang="zh-CN">NAVER</name>
<name xml:lang="en">NAVER</name>
<name xml:lang="vi">NAVER</name>
<name xml:lang="ge">NAVER</name>
<name xml:lang="es">NAVER</name>
<name xml:lang="jp">NAVER</name>
<name xml:lang="ru">NAVER</name>
<name xml:lang="zh-TW">NAVER</name>
</author>
<extra_vars>
<var name="server">
<title xml:lang="ko">server</title>
<title xml:lang="zh-CN">server</title>
<title xml:lang="en">server</title>
<title xml:lang="vi">Server</title>
<title xml:lang="ge">server</title>
<title xml:lang="es">Servidor</title>
<title xml:lang="jp">server</title>
<title xml:lang="ru">server</title>
<title xml:lang="zh-TW">server</title>
<description xml:lang="ko">openid.server 값을 입력해 주세요.</description>
<description xml:lang="zh-CN">请输入 openid.server 值。</description>
<description xml:lang="vi">Hãy nhập OpenID Server của bạn.</description>
<description xml:lang="en">Please input your openid.server value.</description>
<description xml:lang="ge">Bitte geben Sie Ihre openid.server Wert.</description>
<description xml:lang="es">Ingrese el valor del openid.server.</description>
<description xml:lang="jp">openid.server値を入力して下さい。</description>
<description xml:lang="ru">Пожалуйста, введите Ваше значение openid.server</description>
<description xml:lang="zh-TW">請輸入 openid.server 值。</description>
</var>
<var name="delegate">
<title xml:lang="ko">delegate</title>
<title xml:lang="en">delegate</title>
<title xml:lang="vi">Delegate</title>
<title xml:lang="ge">delegate</title>
<title xml:lang="zh-CN">delegate</title>
<title xml:lang="es">delegado</title>
<title xml:lang="jp">delegate</title>
<title xml:lang="ru">delegate</title>
<title xml:lang="zh-TW">delegate</title>
<description xml:lang="ko">openid.delegate값을 입력해주세요.</description>
<description xml:lang="zh-CN">请输入 openid.delegate 值。</description>
<description xml:lang="vi">Hãy nhập OpenID Delegate của bạn.</description>
<description xml:lang="en">Please input your openid.delegate value.</description>
<description xml:lang="ge">Bitte geben Sie Ihre openid.delegate Wert.</description>
<description xml:lang="es">Ingresar el valor del openid.delegate</description>
<description xml:lang="jp">openid.delegate値を入力して下さい。</description>
<description xml:lang="ru">Пожалуйста, введите Ваше значение openid.delegate</description>
<description xml:lang="zh-TW">請輸入 openid.delegate 值。</description>
</var>
<var name="xrds">
<title xml:lang="ko">xrds</title>
<title xml:lang="zh-CN">xrds</title>
<title xml:lang="en">xrds</title>
<title xml:lang="vi">xrds</title>
<title xml:lang="ge">xrds</title>
<title xml:lang="es">xrds</title>
<title xml:lang="jp">xrds</title>
<title xml:lang="ru">xrds</title>
<title xml:lang="zh-TW">xrds</title>
<description xml:lang="ko">X-XRDS-Location값을 입력해주세요.</description>
<description xml:lang="zh-CN">请输入 X-XRDS-Location 值。</description>
<description xml:lang="en">Please input your X-XRDS-Location value.</description>
<description xml:lang="vi">Hãy nhập X-XRDS-Location của bạn.</description>
<description xml:lang="ge">Bitte geben Sie Ihre X-XRDS-Standort Wert.</description>
<description xml:lang="es">Ingresar el valor de X-XRDS-Location</description>
<description xml:lang="jp">X-XRDS-Location値を入力して下さい。</description>
<description xml:lang="ru">Пожалуйста, введите Ваше значение X-XRDS-Локации.</description>
<description xml:lang="zh-TW">請輸入 X-XRDS-Location 值。</description>
</var>
</extra_vars>
</addon>

View file

@ -1,38 +0,0 @@
<?php
/* Copyright (C) NAVER <http://www.navercorp.com> */
if(!defined('__XE__'))
exit();
/**
* @file openid_delegation_id.addon.php
* @author NAVER (developers@xpressengine.com)
* @brief OpenID Delegation ID Add-on
*
* This enables to use openID as user's homepage or blog url.
* Enter your open ID service information on the configuration.
* */
// Execute only wen called_position is before_module_init
if($called_position != 'before_module_init')
{
return;
}
// Get add-on settings(openid_delegation_id)
if(!$addon_info->server || !$addon_info->delegate || !$addon_info->xrds)
{
return;
}
$header_script = sprintf(
'<link rel="openid.server" href="%s" />' . "\n" .
'<link rel="openid.delegate" href="%s" />' . "\n" .
'<meta http-equiv="X-XRDS-Location" content="%s" />',
$addon_info->server,
$addon_info->delegate,
$addon_info->xrds
);
Context::addHtmlHeader($header_script);
/* End of file openid_delegation_id.addon.php */
/* Location: ./addons/openid_delegation_id/openid_delegation_id.addon.php */

View file

@ -18,18 +18,8 @@ class addon extends ModuleObject
// Register to add a few
$oAddonController = getAdminController('addon');
$oAddonController->doInsert('autolink', 0, 'site', 'Y');
$oAddonController->doInsert('blogapi');
$oAddonController->doInsert('member_extra_info', 0, 'site', 'Y');
$oAddonController->doInsert('mobile', 0, 'site', 'Y');
$oAddonController->doInsert('resize_image', 0, 'site', 'Y');
$oAddonController->doInsert('openid_delegation_id');
$oAddonController->doInsert('point_level_icon');
$args = new stdClass();
$args->xe_validator_id = 'module/addon/tpl/setup_addon/1';
$args->apply_signup = 'apply';
$args->xe_run_method = 'run_selected';
$oAddonController->doInsert('captcha_member', 0, 'site', 'Y', $args);
$oAddonController->makeCacheFile(0);
return new Object();
}