set svn property - svn:eol-style LF

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8253 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
taggon 2011-04-01 06:51:30 +00:00
parent 9802eaa60a
commit 620b03d184
763 changed files with 114595 additions and 114595 deletions

View file

@ -1,243 +1,243 @@
<?php
/**
* @class autoinstallAdminController
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 admin controller class
**/
require_once(_XE_PATH_.'modules/autoinstall/autoinstall.lib.php');
class autoinstallAdminController extends autoinstall {
/**
* @brief 초기화
**/
function init() {
}
function checkFileCheckSum($file, $checksum){
$local_checksum = md5_file(FileHandler::getRealPath($file));
return ($local_checksum === $checksum);
}
function _cleanDownloaded($obj){
FileHandler::removeDir($obj->download_path);
}
function procAutoinstallAdminUpdateinfo()
{
$oModel = &getModel('autoinstall');
$item = $oModel->getLatestPackage();
if($item)
{
$params["updatedate"] = $item->updatedate;
}
$params["act"] = "getResourceapiUpdate";
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
$xml = new XmlParser();
$xmlDoc = $xml->parse($buff);
$this->updateCategory($xmlDoc);
$this->updatePackages($xmlDoc);
$this->checkInstalled();
$this->setMessage("success_updated");
}
function checkInstalled()
{
executeQuery("autoinstall.deleteInstalledPackage");
$oModel =& getModel('autoinstall');
$packages = $oModel->getPackages();
foreach($packages as $package)
{
$real_path = FileHandler::getRealPath($package->path);
if(!file_exists($real_path)) {
continue;
}
$type = $oModel->getTypeFromPath($package->path);
if($type == "core")
{
$version = __ZBXE_VERSION__;
}
else
{
$config_file = null;
switch($type)
{
case "m.layout":
$type = "layout";
case "module":
case "addon":
case "layout":
case "widget":
$config_file = "/conf/info.xml";
break;
case "component":
$config_file = "/info.xml";
break;
case "style":
case "m.skin":
$type = "skin";
case "skin":
case "widgetstyle":
$config_file = "/skin.xml";
break;
case "drcomponent":
$config_file = "/info.xml";
$type = "component";
break;
}
if(!$config_file) continue;
$xml = new XmlParser();
$xmlDoc = $xml->loadXmlFile($real_path.$config_file);
if(!$xmlDoc) continue;
$version = $xmlDoc->{$type}->version->body;
}
$args = null;
$args->package_srl = $package->package_srl;
$args->version = $package->version;
$args->current_version = $version;
if(version_compare($args->version, $args->current_version, ">"))
{
$args->need_update="Y";
}
else
{
$args->need_update="N";
}
$output = executeQuery("autoinstall.insertInstalledPackage", $args);
}
}
function procAutoinstallAdminPackageinstall()
{
@set_time_limit(0);
$package_srls = Context::get('package_srl');
$oModel =& getModel('autoinstall');
$packages = explode(',', $package_srls);
$ftp_info = Context::getFTPInfo();
if(!$_SESSION['ftp_password'])
{
$ftp_password = Context::get('ftp_password');
}
else
{
$ftp_password = $_SESSION['ftp_password'];
}
foreach($packages as $package_srl)
{
$package = $oModel->getPackage($package_srl);
if($ftp_info->sftp && $ftp_info->sftp == 'Y')
{
$oModuleInstaller = new SFTPModuleInstaller($package);
}
else if(function_exists(ftp_connect))
{
$oModuleInstaller = new PHPFTPModuleInstaller($package);
}
else
{
$oModuleInstaller = new FTPModuleInstaller($package);
}
$oModuleInstaller->setPassword($ftp_password);
$output = $oModuleInstaller->install();
if(!$output->toBool()) return $output;
}
$this->setMessage('success_installed');
}
function updatePackages(&$xmlDoc)
{
$oModel =& getModel('autoinstall');
if(!$xmlDoc->response->packages->item) return;
if(!is_array($xmlDoc->response->packages->item))
{
$xmlDoc->response->packages->item = array($xmlDoc->response->packages->item);
}
$targets = array('package_srl', 'updatedate', 'latest_item_srl', 'path', 'version', 'category_srl');
foreach($xmlDoc->response->packages->item as $item)
{
$args = null;
foreach($targets as $target)
{
$args->{$target} = $item->{$target}->body;
}
if($oModel->getPackage($args->package_srl))
{
$output = executeQuery("autoinstall.updatePackage", $args);
}
else
{
$output = executeQuery("autoinstall.insertPackage", $args);
if(!$output->toBool())
{
$output = executeQuery("autoinstall.deletePackage", $args);
$output = executeQuery("autoinstall.insertPackage", $args);
}
}
}
}
function updateCategory(&$xmlDoc)
{
executeQuery("autoinstall.deleteCategory", $args);
$oModel =& getModel('autoinstall');
if(!is_array($xmlDoc->response->categorylist->item))
{
$xmlDoc->response->categorylist->item = array($xmlDoc->response->categorylist->item);
}
foreach($xmlDoc->response->categorylist->item as $item)
{
$args = null;
$args->category_srl = $item->category_srl->body;
$args->parent_srl = $item->parent_srl->body;
$args->title = $item->title->body;
executeQuery("autoinstall.insertCategory", $args);
}
}
function procAutoinstallAdminUninstallPackage()
{
$package_srl = Context::get('package_srl');
$oModel =& getModel('autoinstall');
$package = $oModel->getPackage($package_srl);
$path = $package->path;
if(!$_SESSION['ftp_password'])
{
$ftp_password = Context::get('ftp_password');
}
else
{
$ftp_password = $_SESSION['ftp_password'];
}
$ftp_info = Context::getFTPInfo();
if($ftp_info->sftp && $ftp_info->sftp == 'Y')
{
$oModuleInstaller = new SFTPModuleInstaller($package);
}
else if(function_exists(ftp_connect))
{
$oModuleInstaller = new PHPFTPModuleInstaller($package);
}
else
{
$oModuleInstaller = new FTPModuleInstaller($package);
}
$oModuleInstaller->setPassword($ftp_password);
$output = $oModuleInstaller->uninstall();
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
}
}
?>
<?php
/**
* @class autoinstallAdminController
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 admin controller class
**/
require_once(_XE_PATH_.'modules/autoinstall/autoinstall.lib.php');
class autoinstallAdminController extends autoinstall {
/**
* @brief 초기화
**/
function init() {
}
function checkFileCheckSum($file, $checksum){
$local_checksum = md5_file(FileHandler::getRealPath($file));
return ($local_checksum === $checksum);
}
function _cleanDownloaded($obj){
FileHandler::removeDir($obj->download_path);
}
function procAutoinstallAdminUpdateinfo()
{
$oModel = &getModel('autoinstall');
$item = $oModel->getLatestPackage();
if($item)
{
$params["updatedate"] = $item->updatedate;
}
$params["act"] = "getResourceapiUpdate";
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
$xml = new XmlParser();
$xmlDoc = $xml->parse($buff);
$this->updateCategory($xmlDoc);
$this->updatePackages($xmlDoc);
$this->checkInstalled();
$this->setMessage("success_updated");
}
function checkInstalled()
{
executeQuery("autoinstall.deleteInstalledPackage");
$oModel =& getModel('autoinstall');
$packages = $oModel->getPackages();
foreach($packages as $package)
{
$real_path = FileHandler::getRealPath($package->path);
if(!file_exists($real_path)) {
continue;
}
$type = $oModel->getTypeFromPath($package->path);
if($type == "core")
{
$version = __ZBXE_VERSION__;
}
else
{
$config_file = null;
switch($type)
{
case "m.layout":
$type = "layout";
case "module":
case "addon":
case "layout":
case "widget":
$config_file = "/conf/info.xml";
break;
case "component":
$config_file = "/info.xml";
break;
case "style":
case "m.skin":
$type = "skin";
case "skin":
case "widgetstyle":
$config_file = "/skin.xml";
break;
case "drcomponent":
$config_file = "/info.xml";
$type = "component";
break;
}
if(!$config_file) continue;
$xml = new XmlParser();
$xmlDoc = $xml->loadXmlFile($real_path.$config_file);
if(!$xmlDoc) continue;
$version = $xmlDoc->{$type}->version->body;
}
$args = null;
$args->package_srl = $package->package_srl;
$args->version = $package->version;
$args->current_version = $version;
if(version_compare($args->version, $args->current_version, ">"))
{
$args->need_update="Y";
}
else
{
$args->need_update="N";
}
$output = executeQuery("autoinstall.insertInstalledPackage", $args);
}
}
function procAutoinstallAdminPackageinstall()
{
@set_time_limit(0);
$package_srls = Context::get('package_srl');
$oModel =& getModel('autoinstall');
$packages = explode(',', $package_srls);
$ftp_info = Context::getFTPInfo();
if(!$_SESSION['ftp_password'])
{
$ftp_password = Context::get('ftp_password');
}
else
{
$ftp_password = $_SESSION['ftp_password'];
}
foreach($packages as $package_srl)
{
$package = $oModel->getPackage($package_srl);
if($ftp_info->sftp && $ftp_info->sftp == 'Y')
{
$oModuleInstaller = new SFTPModuleInstaller($package);
}
else if(function_exists(ftp_connect))
{
$oModuleInstaller = new PHPFTPModuleInstaller($package);
}
else
{
$oModuleInstaller = new FTPModuleInstaller($package);
}
$oModuleInstaller->setPassword($ftp_password);
$output = $oModuleInstaller->install();
if(!$output->toBool()) return $output;
}
$this->setMessage('success_installed');
}
function updatePackages(&$xmlDoc)
{
$oModel =& getModel('autoinstall');
if(!$xmlDoc->response->packages->item) return;
if(!is_array($xmlDoc->response->packages->item))
{
$xmlDoc->response->packages->item = array($xmlDoc->response->packages->item);
}
$targets = array('package_srl', 'updatedate', 'latest_item_srl', 'path', 'version', 'category_srl');
foreach($xmlDoc->response->packages->item as $item)
{
$args = null;
foreach($targets as $target)
{
$args->{$target} = $item->{$target}->body;
}
if($oModel->getPackage($args->package_srl))
{
$output = executeQuery("autoinstall.updatePackage", $args);
}
else
{
$output = executeQuery("autoinstall.insertPackage", $args);
if(!$output->toBool())
{
$output = executeQuery("autoinstall.deletePackage", $args);
$output = executeQuery("autoinstall.insertPackage", $args);
}
}
}
}
function updateCategory(&$xmlDoc)
{
executeQuery("autoinstall.deleteCategory", $args);
$oModel =& getModel('autoinstall');
if(!is_array($xmlDoc->response->categorylist->item))
{
$xmlDoc->response->categorylist->item = array($xmlDoc->response->categorylist->item);
}
foreach($xmlDoc->response->categorylist->item as $item)
{
$args = null;
$args->category_srl = $item->category_srl->body;
$args->parent_srl = $item->parent_srl->body;
$args->title = $item->title->body;
executeQuery("autoinstall.insertCategory", $args);
}
}
function procAutoinstallAdminUninstallPackage()
{
$package_srl = Context::get('package_srl');
$oModel =& getModel('autoinstall');
$package = $oModel->getPackage($package_srl);
$path = $package->path;
if(!$_SESSION['ftp_password'])
{
$ftp_password = Context::get('ftp_password');
}
else
{
$ftp_password = $_SESSION['ftp_password'];
}
$ftp_info = Context::getFTPInfo();
if($ftp_info->sftp && $ftp_info->sftp == 'Y')
{
$oModuleInstaller = new SFTPModuleInstaller($package);
}
else if(function_exists(ftp_connect))
{
$oModuleInstaller = new PHPFTPModuleInstaller($package);
}
else
{
$oModuleInstaller = new FTPModuleInstaller($package);
}
$oModuleInstaller->setPassword($ftp_password);
$output = $oModuleInstaller->uninstall();
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
}
}
?>

View file

@ -1,319 +1,319 @@
<?php
/**
* @class autoinstallAdminView
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 admin view class
**/
class autoinstallAdminView extends autoinstall {
var $categories;
var $ftp_set = false;
function init() {
$template_path = sprintf("%stpl/",$this->module_path);
Context::set('original_site', $this->original_site);
Context::set('uri', $this->uri);
$this->setTemplatePath($template_path);
$ftp_info = Context::getFTPInfo();
if(!$ftp_info->ftp_root_path) Context::set('show_ftp_note', true);
else $this->ftp_set = true;
$this->dispCategory();
$oModel = &getModel('autoinstall');
Context::set('tCount', $oModel->getPackageCount(null));
Context::set('iCount', $oModel->getInstalledPackageCount());
}
function rearrange(&$item, &$targets)
{
$ret = null;
foreach($targets as $target)
{
$ret->{$target} = $item->{$target}->body;
}
return $ret;
}
function rearranges($items, $packages = null)
{
if(!is_array($items)) $items = array($items);
$item_list = array();
$targets = array('category_srl', 'package_srl', 'item_screenshot_url', 'package_voted', 'package_voter', 'package_description', 'package_downloaded', 'item_regdate', 'title', 'item_version', 'package_star', 'depfrom');
$targetpackages = array();
foreach($items as $item)
{
$targetpackages[$item->package_srl->body] = 0;
}
$oModel = &getModel('autoinstall');
if($package == null)
$packages = $oModel->getInstalledPackages(array_keys($targetpackages));
$depto = array();
foreach($items as $item)
{
$v = $this->rearrange($item, $targets);
if($packages[$v->package_srl])
{
$v->current_version = $packages[$v->package_srl]->current_version;
$v->need_update = $packages[$v->package_srl]->need_update;
$v->type = $oModel->getTypeFromPath($packages[$v->package_srl]->path);
if($this->ftp_set && $v->depfrom) {
$depfrom = explode("," , $v->depfrom);
foreach($depfrom as $package_srl)
{
$depto[$package_srl][] = $v->package_srl;
}
}
if($v->type == "core") $v->avail_remove = false;
else if($v->type == "module") {
$v->avail_remove = $oModel->checkRemovable($packages[$v->package_srl]->path);
}
else $v->avail_remove = true;
}
$item_list[$v->package_srl] = $v;
}
if(count($depto) > 0)
{
$installed = $oModel->getInstalledPackages(implode(",", array_keys($depto)));
foreach($installed as $key=>$val)
{
$path = $val->path;
$type = $oModel->getTypeFromPath($path);
if(!$type || $type == "core") continue;
$config_file = $oModel->getConfigFilePath($type);
if(!$config_file) continue;
$xml = new XmlParser();
$xmlDoc = $xml->loadXmlFile(FileHandler::getRealPath($path).$config_file);
if(!$xmlDoc) continue;
if($type == "drcomponent") $type = "component";
if($type == "style" || $type == "m.skin") $type = "skin";
if($type == "m.layout") $type = "layout";
$title = $xmlDoc->{$type}->title->body;
$installed[$key]->title = $title;
}
Context::set('installed', $installed);
foreach($installed as $key=>$val)
{
foreach($depto[$key] as $package_srl)
{
$item_list[$package_srl]->avail_remove = false;
$item_list[$package_srl]->deps[] = $key;
}
}
}
return $item_list;
}
function dispAutoinstallAdminInstalledPackages()
{
$page = Context::get('page');
if(!$page) $page = 1;
Context::set('page', $page);
$oModel = &getModel('autoinstall');
$output = $oModel->getInstalledPackageList($page);
$package_list = $output->data;
$params["act"] = "getResourceapiPackages";
$params["package_srls"] = implode(",", array_keys($package_list));
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
$xml_lUpdate = new XmlParser();
$xmlDoc = $xml_lUpdate->parse($buff);
if($xmlDoc && $xmlDoc->response->packagelist->item)
{
$item_list = $this->rearranges($xmlDoc->response->packagelist->item, $package_list);
$res = array();
foreach($package_list as $package_srl => $package)
{
$res[] = $item_list[$package_srl];
}
Context::set('item_list', $res);
}
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('index');
}
function dispAutoinstallAdminInstall() {
$package_srl = Context::get('package_srl');
if(!$package_srl) return $this->dispAutoinstallAdminIndex();
$params["act"] = "getResourceapiInstallInfo";
$params["package_srl"] = $package_srl;
$xmlDoc = XmlGenerater::getXmlDoc($params);
$oModel = &getModel('autoinstall');
$targetpackages = array();
if($xmlDoc)
{
$xmlPackage =& $xmlDoc->response->package;
$package->package_srl = $xmlPackage->package_srl->body;
$package->title = $xmlPackage->title->body;
$package->package_description = $xmlPackage->package_description->body;
$package->version = $xmlPackage->version->body;
$package->path = $xmlPackage->path->body;
if($xmlPackage->depends)
{
if(!is_array($xmlPackage->depends->item)) $xmlPackage->depends->item = array($xmlPackage->depends->item);
$package->depends = array();
foreach($xmlPackage->depends->item as $item)
{
$dep_item = null;
$dep_item->package_srl = $item->package_srl->body;
$dep_item->title = $item->title->body;
$dep_item->version = $item->version->body;
$dep_item->path = $item->path->body;
$package->depends[] = $dep_item;
$targetpackages[$dep_item->package_srl] = 1;
}
$packages = $oModel->getInstalledPackages(array_keys($targetpackages));
$package->deplist = "";
foreach($package->depends as $key => $dep)
{
if(!$packages[$dep->package_srl]) {
$package->depends[$key]->installed = false;
$package->package_srl .= ",". $dep->package_srl;
}
else {
$package->depends[$key]->installed = true;
$package->depends[$key]->cur_version = $packages[$dep->package_srl]->current_version;
if(version_compare($dep->version, $packages[$dep->package_srl]->current_version, ">"))
{
$package->depends[$key]->need_update = true;
$package->package_srl .= ",". $dep->package_srl;
}
else
{
$package->need_update = false;
}
}
}
}
$installedPackage = $oModel->getInstalledPackage($package_srl);
if($installedPackage) {
$package->installed = true;
$package->cur_version = $installedPackage->current_version;
$package->need_update = version_compare($package->version, $installedPackage->current_version, ">");
}
Context::set("package", $package);
}
if(!$_SESSION['ftp_password'])
{
Context::set('need_password', true);
}
$this->setTemplateFile('install');
}
function dispAutoinstallAdminIndex() {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('autoinstall');
$ftp_info = Context::getFTPInfo();
if(!$ftp_info->ftp_root_path) Context::set('show_ftp_note', true);
$this->setTemplateFile('index');
$params = array();
$params["act"] = "getResourceapiLastupdate";
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
$xml_lUpdate = new XmlParser();
$lUpdateDoc = $xml_lUpdate->parse($buff);
$updateDate = $lUpdateDoc->response->updatedate->body;
$oModel = &getModel('autoinstall');
$item = $oModel->getLatestPackage();
if(!$item || $item->updatedate < $updateDate || count($this->categories) < 1)
{
Context::set('need_update', true);
return;
}
$page = Context::get('page');
if(!$page) $page = 1;
Context::set('page', $page);
$order_type = Context::get('order_type');
if(!in_array($order_type, array('asc', 'desc'))) $order_type = 'desc';
Context::set('order_type', $order_type);
$order_target = Context::get('order_target');
if(!in_array($order_target, array('newest', 'download', 'popular'))) $order_target = 'newest';
Context::set('order_target', $order_target);
$search_keyword = Context::get('search_keyword');
$childrenList = Context::get('childrenList');
$category_srl = Context::get('category_srl');
if($childrenList) $params["category_srl"] = $childrenList;
else if($category_srl) $params["category_srl"] = $category_srl;
$params["act"] = "getResourceapiPackagelist";
$params["order_target"] = $order_target;
$params["order_type"] = $order_type;
$params["page"] = $page;
if($search_keyword)
{
$params["search_keyword"] = $search_keyword;
}
$xmlDoc = XmlGenerater::getXmlDoc($params);
if($xmlDoc && $xmlDoc->response->packagelist->item)
{
$item_list = $this->rearranges($xmlDoc->response->packagelist->item);
Context::set('item_list', $item_list);
$array = array('total_count', 'total_page', 'cur_page', 'page_count', 'first_page', 'last_page');
$page_nav = $this->rearrange($xmlDoc->response->page_navigation, $array);
$page_navigation = new PageHandler($page_nav->total_count, $page_nav->total_page, $page_nav->cur_page, $page_nav->page_count);
Context::set('page_navigation', $page_navigation);
}
}
function dispCategory()
{
$oModel = &getModel('autoinstall');
$this->categories = &$oModel->getCategoryList();
Context::set('categories', $this->categories);
}
function dispAutoinstallAdminUninstall()
{
$package_srl = Context::get('package_srl');
if(!$package_srl) return $this->dispAutoinstallAdminIndex();
$oModel =& getModel('autoinstall');
$installedPackage = $oModel->getInstalledPackage($package_srl);
if(!$installedPackage) return $this->dispAutoinstallAdminInstalledPackages();
if(!$_SESSION['ftp_password'])
{
Context::set('need_password', true);
}
$installedPackage = $oModel->getPackage($package_srl);
$path = $installedPackage->path;
$type = $oModel->getTypeFromPath($path);
if(!$type || $type == "core") $this->stop("msg_invalid_request");
$config_file = $oModel->getConfigFilePath($type);
if(!$config_file) $this->stop("msg_invalid_request");
$xml = new XmlParser();
$xmlDoc = $xml->loadXmlFile(FileHandler::getRealPath($path).$config_file);
if(!$xmlDoc) $this->stop("msg_invalid_request");
if($type == "drcomponent") $type = "component";
if($type == "style") $type = "skin";
$title = $xmlDoc->{$type}->title->body;
$installedPackage->title = $title;
$installedPackage->type = $type;
Context::set('package', $installedPackage);
$this->setTemplateFile('uninstall');
Context::addJsFilter($this->module_path.'tpl/filter', 'uninstall_package.xml');
}
}
?>
<?php
/**
* @class autoinstallAdminView
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 admin view class
**/
class autoinstallAdminView extends autoinstall {
var $categories;
var $ftp_set = false;
function init() {
$template_path = sprintf("%stpl/",$this->module_path);
Context::set('original_site', $this->original_site);
Context::set('uri', $this->uri);
$this->setTemplatePath($template_path);
$ftp_info = Context::getFTPInfo();
if(!$ftp_info->ftp_root_path) Context::set('show_ftp_note', true);
else $this->ftp_set = true;
$this->dispCategory();
$oModel = &getModel('autoinstall');
Context::set('tCount', $oModel->getPackageCount(null));
Context::set('iCount', $oModel->getInstalledPackageCount());
}
function rearrange(&$item, &$targets)
{
$ret = null;
foreach($targets as $target)
{
$ret->{$target} = $item->{$target}->body;
}
return $ret;
}
function rearranges($items, $packages = null)
{
if(!is_array($items)) $items = array($items);
$item_list = array();
$targets = array('category_srl', 'package_srl', 'item_screenshot_url', 'package_voted', 'package_voter', 'package_description', 'package_downloaded', 'item_regdate', 'title', 'item_version', 'package_star', 'depfrom');
$targetpackages = array();
foreach($items as $item)
{
$targetpackages[$item->package_srl->body] = 0;
}
$oModel = &getModel('autoinstall');
if($package == null)
$packages = $oModel->getInstalledPackages(array_keys($targetpackages));
$depto = array();
foreach($items as $item)
{
$v = $this->rearrange($item, $targets);
if($packages[$v->package_srl])
{
$v->current_version = $packages[$v->package_srl]->current_version;
$v->need_update = $packages[$v->package_srl]->need_update;
$v->type = $oModel->getTypeFromPath($packages[$v->package_srl]->path);
if($this->ftp_set && $v->depfrom) {
$depfrom = explode("," , $v->depfrom);
foreach($depfrom as $package_srl)
{
$depto[$package_srl][] = $v->package_srl;
}
}
if($v->type == "core") $v->avail_remove = false;
else if($v->type == "module") {
$v->avail_remove = $oModel->checkRemovable($packages[$v->package_srl]->path);
}
else $v->avail_remove = true;
}
$item_list[$v->package_srl] = $v;
}
if(count($depto) > 0)
{
$installed = $oModel->getInstalledPackages(implode(",", array_keys($depto)));
foreach($installed as $key=>$val)
{
$path = $val->path;
$type = $oModel->getTypeFromPath($path);
if(!$type || $type == "core") continue;
$config_file = $oModel->getConfigFilePath($type);
if(!$config_file) continue;
$xml = new XmlParser();
$xmlDoc = $xml->loadXmlFile(FileHandler::getRealPath($path).$config_file);
if(!$xmlDoc) continue;
if($type == "drcomponent") $type = "component";
if($type == "style" || $type == "m.skin") $type = "skin";
if($type == "m.layout") $type = "layout";
$title = $xmlDoc->{$type}->title->body;
$installed[$key]->title = $title;
}
Context::set('installed', $installed);
foreach($installed as $key=>$val)
{
foreach($depto[$key] as $package_srl)
{
$item_list[$package_srl]->avail_remove = false;
$item_list[$package_srl]->deps[] = $key;
}
}
}
return $item_list;
}
function dispAutoinstallAdminInstalledPackages()
{
$page = Context::get('page');
if(!$page) $page = 1;
Context::set('page', $page);
$oModel = &getModel('autoinstall');
$output = $oModel->getInstalledPackageList($page);
$package_list = $output->data;
$params["act"] = "getResourceapiPackages";
$params["package_srls"] = implode(",", array_keys($package_list));
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
$xml_lUpdate = new XmlParser();
$xmlDoc = $xml_lUpdate->parse($buff);
if($xmlDoc && $xmlDoc->response->packagelist->item)
{
$item_list = $this->rearranges($xmlDoc->response->packagelist->item, $package_list);
$res = array();
foreach($package_list as $package_srl => $package)
{
$res[] = $item_list[$package_srl];
}
Context::set('item_list', $res);
}
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('index');
}
function dispAutoinstallAdminInstall() {
$package_srl = Context::get('package_srl');
if(!$package_srl) return $this->dispAutoinstallAdminIndex();
$params["act"] = "getResourceapiInstallInfo";
$params["package_srl"] = $package_srl;
$xmlDoc = XmlGenerater::getXmlDoc($params);
$oModel = &getModel('autoinstall');
$targetpackages = array();
if($xmlDoc)
{
$xmlPackage =& $xmlDoc->response->package;
$package->package_srl = $xmlPackage->package_srl->body;
$package->title = $xmlPackage->title->body;
$package->package_description = $xmlPackage->package_description->body;
$package->version = $xmlPackage->version->body;
$package->path = $xmlPackage->path->body;
if($xmlPackage->depends)
{
if(!is_array($xmlPackage->depends->item)) $xmlPackage->depends->item = array($xmlPackage->depends->item);
$package->depends = array();
foreach($xmlPackage->depends->item as $item)
{
$dep_item = null;
$dep_item->package_srl = $item->package_srl->body;
$dep_item->title = $item->title->body;
$dep_item->version = $item->version->body;
$dep_item->path = $item->path->body;
$package->depends[] = $dep_item;
$targetpackages[$dep_item->package_srl] = 1;
}
$packages = $oModel->getInstalledPackages(array_keys($targetpackages));
$package->deplist = "";
foreach($package->depends as $key => $dep)
{
if(!$packages[$dep->package_srl]) {
$package->depends[$key]->installed = false;
$package->package_srl .= ",". $dep->package_srl;
}
else {
$package->depends[$key]->installed = true;
$package->depends[$key]->cur_version = $packages[$dep->package_srl]->current_version;
if(version_compare($dep->version, $packages[$dep->package_srl]->current_version, ">"))
{
$package->depends[$key]->need_update = true;
$package->package_srl .= ",". $dep->package_srl;
}
else
{
$package->need_update = false;
}
}
}
}
$installedPackage = $oModel->getInstalledPackage($package_srl);
if($installedPackage) {
$package->installed = true;
$package->cur_version = $installedPackage->current_version;
$package->need_update = version_compare($package->version, $installedPackage->current_version, ">");
}
Context::set("package", $package);
}
if(!$_SESSION['ftp_password'])
{
Context::set('need_password', true);
}
$this->setTemplateFile('install');
}
function dispAutoinstallAdminIndex() {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('autoinstall');
$ftp_info = Context::getFTPInfo();
if(!$ftp_info->ftp_root_path) Context::set('show_ftp_note', true);
$this->setTemplateFile('index');
$params = array();
$params["act"] = "getResourceapiLastupdate";
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
$xml_lUpdate = new XmlParser();
$lUpdateDoc = $xml_lUpdate->parse($buff);
$updateDate = $lUpdateDoc->response->updatedate->body;
$oModel = &getModel('autoinstall');
$item = $oModel->getLatestPackage();
if(!$item || $item->updatedate < $updateDate || count($this->categories) < 1)
{
Context::set('need_update', true);
return;
}
$page = Context::get('page');
if(!$page) $page = 1;
Context::set('page', $page);
$order_type = Context::get('order_type');
if(!in_array($order_type, array('asc', 'desc'))) $order_type = 'desc';
Context::set('order_type', $order_type);
$order_target = Context::get('order_target');
if(!in_array($order_target, array('newest', 'download', 'popular'))) $order_target = 'newest';
Context::set('order_target', $order_target);
$search_keyword = Context::get('search_keyword');
$childrenList = Context::get('childrenList');
$category_srl = Context::get('category_srl');
if($childrenList) $params["category_srl"] = $childrenList;
else if($category_srl) $params["category_srl"] = $category_srl;
$params["act"] = "getResourceapiPackagelist";
$params["order_target"] = $order_target;
$params["order_type"] = $order_type;
$params["page"] = $page;
if($search_keyword)
{
$params["search_keyword"] = $search_keyword;
}
$xmlDoc = XmlGenerater::getXmlDoc($params);
if($xmlDoc && $xmlDoc->response->packagelist->item)
{
$item_list = $this->rearranges($xmlDoc->response->packagelist->item);
Context::set('item_list', $item_list);
$array = array('total_count', 'total_page', 'cur_page', 'page_count', 'first_page', 'last_page');
$page_nav = $this->rearrange($xmlDoc->response->page_navigation, $array);
$page_navigation = new PageHandler($page_nav->total_count, $page_nav->total_page, $page_nav->cur_page, $page_nav->page_count);
Context::set('page_navigation', $page_navigation);
}
}
function dispCategory()
{
$oModel = &getModel('autoinstall');
$this->categories = &$oModel->getCategoryList();
Context::set('categories', $this->categories);
}
function dispAutoinstallAdminUninstall()
{
$package_srl = Context::get('package_srl');
if(!$package_srl) return $this->dispAutoinstallAdminIndex();
$oModel =& getModel('autoinstall');
$installedPackage = $oModel->getInstalledPackage($package_srl);
if(!$installedPackage) return $this->dispAutoinstallAdminInstalledPackages();
if(!$_SESSION['ftp_password'])
{
Context::set('need_password', true);
}
$installedPackage = $oModel->getPackage($package_srl);
$path = $installedPackage->path;
$type = $oModel->getTypeFromPath($path);
if(!$type || $type == "core") $this->stop("msg_invalid_request");
$config_file = $oModel->getConfigFilePath($type);
if(!$config_file) $this->stop("msg_invalid_request");
$xml = new XmlParser();
$xmlDoc = $xml->loadXmlFile(FileHandler::getRealPath($path).$config_file);
if(!$xmlDoc) $this->stop("msg_invalid_request");
if($type == "drcomponent") $type = "component";
if($type == "style") $type = "skin";
$title = $xmlDoc->{$type}->title->body;
$installedPackage->title = $title;
$installedPackage->type = $type;
Context::set('package', $installedPackage);
$this->setTemplateFile('uninstall');
Context::addJsFilter($this->module_path.'tpl/filter', 'uninstall_package.xml');
}
}
?>

View file

@ -1,87 +1,87 @@
<?php
/**
* @class autoinstall
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 high class
**/
class XmlGenerater {
function generate(&$params)
{
$xmlDoc = '<?xml version="1.0" encoding="utf-8" ?><methodCall><params>';
if(!is_array($params)) return null;
$params["module"] = "resourceapi";
foreach($params as $key => $val)
{
$xmlDoc .= sprintf("<%s><![CDATA[%s]]></%s>", $key, $val, $key);
}
$xmlDoc .= "</params></methodCall>";
return $xmlDoc;
}
function getXmlDoc(&$params)
{
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
if(!$buff) return;
$xml = new XmlParser();
$xmlDoc = $xml->parse($buff);
return $xmlDoc;
}
}
class autoinstall extends ModuleObject {
var $uri = "http://download.xpressengine.com/";
var $original_site = "http://www.xpressengine.com/";
var $tmp_dir = './files/cache/autoinstall/';
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oDB =& DB::getInstance();
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_installed_packages.xml"))
&& $oDB->isTableExists("autoinstall_installed_packages"))
{
return true;
}
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_remote_categories.xml"))
&& $oDB->isTableExists("autoinstall_remote_categories"))
{
return true;
}
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oDB =& DB::getInstance();
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_installed_packages.xml"))
&& $oDB->isTableExists("autoinstall_installed_packages"))
{
$oDB->dropTable("autoinstall_installed_packages");
}
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_remote_categories.xml"))
&& $oDB->isTableExists("autoinstall_remote_categories"))
{
$oDB->dropTable("autoinstall_remote_categories");
}
return new Object(0, 'success_updated');
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
}
}
?>
<?php
/**
* @class autoinstall
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 high class
**/
class XmlGenerater {
function generate(&$params)
{
$xmlDoc = '<?xml version="1.0" encoding="utf-8" ?><methodCall><params>';
if(!is_array($params)) return null;
$params["module"] = "resourceapi";
foreach($params as $key => $val)
{
$xmlDoc .= sprintf("<%s><![CDATA[%s]]></%s>", $key, $val, $key);
}
$xmlDoc .= "</params></methodCall>";
return $xmlDoc;
}
function getXmlDoc(&$params)
{
$body = XmlGenerater::generate($params);
$buff = FileHandler::getRemoteResource($this->uri, $body, 3, "POST", "application/xml");
if(!$buff) return;
$xml = new XmlParser();
$xmlDoc = $xml->parse($buff);
return $xmlDoc;
}
}
class autoinstall extends ModuleObject {
var $uri = "http://download.xpressengine.com/";
var $original_site = "http://www.xpressengine.com/";
var $tmp_dir = './files/cache/autoinstall/';
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oDB =& DB::getInstance();
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_installed_packages.xml"))
&& $oDB->isTableExists("autoinstall_installed_packages"))
{
return true;
}
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_remote_categories.xml"))
&& $oDB->isTableExists("autoinstall_remote_categories"))
{
return true;
}
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oDB =& DB::getInstance();
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_installed_packages.xml"))
&& $oDB->isTableExists("autoinstall_installed_packages"))
{
$oDB->dropTable("autoinstall_installed_packages");
}
if(!file_exists(FileHandler::getRealPath("./modules/autoinstall/schemas/autoinstall_remote_categories.xml"))
&& $oDB->isTableExists("autoinstall_remote_categories"))
{
$oDB->dropTable("autoinstall_remote_categories");
}
return new Object(0, 'success_updated');
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
}
}
?>

View file

@ -1,185 +1,185 @@
<?php
/**
* @class autoinstallModel
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 Model class
**/
class autoinstallModel extends autoinstall {
function getCategory($category_srl)
{
$args->category_srl = $category_srl;
$output = executeQueryArray("autoinstall.getCategory", $args);
if(!$output->data) return null;
return array_shift($output->data);
}
function getPackages()
{
$output = executeQueryArray("autoinstall.getPackages");
if(!$output->data) return array();
return $output->data;
}
function getInstalledPackage($package_srl)
{
$args->package_srl = $package_srl;
$output = executeQueryArray("autoinstall.getInstalledPackage", $args);
if(!$output->data) return null;
return array_shift($output->data);
}
function getPackage($package_srl)
{
$args->package_srl = $package_srl;
$output = executeQueryArray("autoinstall.getPackage", $args);
if(!$output->data) return null;
return array_shift($output->data);
}
function getCategoryList()
{
$output = executeQueryArray("autoinstall.getCategories");
if(!$output->toBool() || !$output->data) return array();
$categoryList = array();
foreach($output->data as $category)
{
$category->children = array();
$categoryList[$category->category_srl] = $category;
}
$depth0 = array();
foreach($categoryList as $key => $category)
{
if($category->parent_srl)
{
$categoryList[$category->parent_srl]->children[] =& $categoryList[$key];
}
else
{
$depth0[] = $key;
}
}
$resultList = array();
foreach($depth0 as $category_srl)
{
$this->setDepth($categoryList[$category_srl], 0, $categoryList, $resultList);
}
return $resultList;
}
function getPackageCount($category_srl)
{
$args->category_srl = $category_srl;
$output = executeQuery("autoinstall.getPackageCount", $args);
if(!$output->data) return 0;
return $output->data->count;
}
function getInstalledPackageCount()
{
$output = executeQuery("autoinstall.getInstalledPackageCount", $args);
if(!$output->data) return 0;
return $output->data->count;
}
function setDepth(&$item, $depth, &$list, &$resultList)
{
$resultList[$item->category_srl] =& $item;
$item->depth = $depth;
$siblingList = $item->category_srl;
foreach($item->children as $child)
{
$siblingList .= ",".$this->setDepth($list[$child->category_srl], $depth+1, $list, $resultList);
}
if(count($item->children) < 1)
{
$item->nPackages = $this->getPackageCount($item->category_srl);
}
$item->childrenList = $siblingList;
return $siblingList;
}
function getLatestPackage() {
$output = executeQueryArray("autoinstall.getLatestPackage");
if(!$output->data) return null;
return array_shift($output->data);
}
function getInstalledPackages($package_list) {
$args->package_list = $package_list;
$output = executeQueryArray("autoinstall.getInstalledPackages", $args);
$result = array();
if(!$output->data) return $result;
foreach($output->data as $value)
{
$result[$value->package_srl] = $value;
}
return $result;
}
function getInstalledPackageList($page)
{
$args->page = $page;
$output = executeQueryArray("autoinstall.getInstalledPackageList", $args);
$res = array();
foreach($output->data as $val)
{
$res[$val->package_srl] = $val;
}
$output->data = $res;
return $output;
}
function getTypeFromPath($path)
{
if(!$path) return null;
if($path == ".") return "core";
$path_array = explode("/", $path);
$target_name = array_pop($path_array);
$type = substr(array_pop($path_array), 0, -1);
return $type;
}
function getConfigFilePath($type)
{
$config_file = null;
switch($type)
{
case "m.layout":
case "module":
case "addon":
case "layout":
case "widget":
$config_file = "/conf/info.xml";
break;
case "component":
$config_file = "/info.xml";
break;
case "m.skin":
case "skin":
case "widgetstyle":
case "style":
$config_file = "/skin.xml";
break;
case "drcomponent":
$config_file = "/info.xml";
break;
}
return $config_file;
}
function checkRemovable($path)
{
$path_array = explode("/", $path);
$target_name = array_pop($path_array);
$oModule =& getModule($target_name, "class");
if(!$oModule) return false;
if(method_exists($oModule, "moduleUninstall")) return true;
else return false;
}
}
?>
<?php
/**
* @class autoinstallModel
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 Model class
**/
class autoinstallModel extends autoinstall {
function getCategory($category_srl)
{
$args->category_srl = $category_srl;
$output = executeQueryArray("autoinstall.getCategory", $args);
if(!$output->data) return null;
return array_shift($output->data);
}
function getPackages()
{
$output = executeQueryArray("autoinstall.getPackages");
if(!$output->data) return array();
return $output->data;
}
function getInstalledPackage($package_srl)
{
$args->package_srl = $package_srl;
$output = executeQueryArray("autoinstall.getInstalledPackage", $args);
if(!$output->data) return null;
return array_shift($output->data);
}
function getPackage($package_srl)
{
$args->package_srl = $package_srl;
$output = executeQueryArray("autoinstall.getPackage", $args);
if(!$output->data) return null;
return array_shift($output->data);
}
function getCategoryList()
{
$output = executeQueryArray("autoinstall.getCategories");
if(!$output->toBool() || !$output->data) return array();
$categoryList = array();
foreach($output->data as $category)
{
$category->children = array();
$categoryList[$category->category_srl] = $category;
}
$depth0 = array();
foreach($categoryList as $key => $category)
{
if($category->parent_srl)
{
$categoryList[$category->parent_srl]->children[] =& $categoryList[$key];
}
else
{
$depth0[] = $key;
}
}
$resultList = array();
foreach($depth0 as $category_srl)
{
$this->setDepth($categoryList[$category_srl], 0, $categoryList, $resultList);
}
return $resultList;
}
function getPackageCount($category_srl)
{
$args->category_srl = $category_srl;
$output = executeQuery("autoinstall.getPackageCount", $args);
if(!$output->data) return 0;
return $output->data->count;
}
function getInstalledPackageCount()
{
$output = executeQuery("autoinstall.getInstalledPackageCount", $args);
if(!$output->data) return 0;
return $output->data->count;
}
function setDepth(&$item, $depth, &$list, &$resultList)
{
$resultList[$item->category_srl] =& $item;
$item->depth = $depth;
$siblingList = $item->category_srl;
foreach($item->children as $child)
{
$siblingList .= ",".$this->setDepth($list[$child->category_srl], $depth+1, $list, $resultList);
}
if(count($item->children) < 1)
{
$item->nPackages = $this->getPackageCount($item->category_srl);
}
$item->childrenList = $siblingList;
return $siblingList;
}
function getLatestPackage() {
$output = executeQueryArray("autoinstall.getLatestPackage");
if(!$output->data) return null;
return array_shift($output->data);
}
function getInstalledPackages($package_list) {
$args->package_list = $package_list;
$output = executeQueryArray("autoinstall.getInstalledPackages", $args);
$result = array();
if(!$output->data) return $result;
foreach($output->data as $value)
{
$result[$value->package_srl] = $value;
}
return $result;
}
function getInstalledPackageList($page)
{
$args->page = $page;
$output = executeQueryArray("autoinstall.getInstalledPackageList", $args);
$res = array();
foreach($output->data as $val)
{
$res[$val->package_srl] = $val;
}
$output->data = $res;
return $output;
}
function getTypeFromPath($path)
{
if(!$path) return null;
if($path == ".") return "core";
$path_array = explode("/", $path);
$target_name = array_pop($path_array);
$type = substr(array_pop($path_array), 0, -1);
return $type;
}
function getConfigFilePath($type)
{
$config_file = null;
switch($type)
{
case "m.layout":
case "module":
case "addon":
case "layout":
case "widget":
$config_file = "/conf/info.xml";
break;
case "component":
$config_file = "/info.xml";
break;
case "m.skin":
case "skin":
case "widgetstyle":
case "style":
$config_file = "/skin.xml";
break;
case "drcomponent":
$config_file = "/info.xml";
break;
}
return $config_file;
}
function checkRemovable($path)
{
$path_array = explode("/", $path);
$target_name = array_pop($path_array);
$oModule =& getModule($target_name, "class");
if(!$oModule) return false;
if(method_exists($oModule, "moduleUninstall")) return true;
else return false;
}
}
?>

View file

@ -1,26 +1,26 @@
<?php
/**
* @class autoinstallView
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 View class
**/
class autoinstallView extends autoinstall {
/**
* @brief 초기화
**/
function init() {
}
function dispAutoinstallTest(){
$file = "modules.test.tar";
$checksum = '549989037bd8401d39b83ca2393d8131';
$file = "modules.test.skins.test.tar";
$oAutoinstallAdminController = &getAdminController('autoinstall');
$output = $oAutoinstallAdminController->install($file, $checksum);
return $output;
}
}
?>
<?php
/**
* @class autoinstallView
* @author NHN (developers@xpressengine.com)
* @brief autoinstall 모듈의 View class
**/
class autoinstallView extends autoinstall {
/**
* @brief 초기화
**/
function init() {
}
function dispAutoinstallTest(){
$file = "modules.test.tar";
$checksum = '549989037bd8401d39b83ca2393d8131';
$file = "modules.test.skins.test.tar";
$oAutoinstallAdminController = &getAdminController('autoinstall');
$output = $oAutoinstallAdminController->install($file, $checksum);
return $output;
}
}
?>

View file

@ -1,30 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="0.2">
<title xml:lang="ko">쉬운 설치</title>
<title xml:lang="en">EasyInstaller</title>
<title xml:lang="vi">Cài đặt tự động</title>
<title xml:lang="zh-TW">自動安裝</title>
<title xml:lang="zh-CN">安装·更新</title>
<title xml:lang="jp">イージーインストール</title>
<title xml:lang="tr">KolayKurulum</title>
<description xml:lang="ko">관리자 모드에서 클릭으로 모듈/스킨/레이아웃/위젯/위젯스타일 등을 설치하는 모듈입니다.</description>
<description xml:lang="en">With this module, you can install and upgrade your programs including modules, skins, layouts, etc., from www.xpressengine.com by one-click.</description>
<description xml:lang="vi">Với Module này, bạn có thể cập nhật và cài đặt các phiên bản một cách tự động. Bao gồm Module, Layout, Widget, Addon, ... từ trang chủ XE bằng một bấm chuột.</description>
<description xml:lang="zh-TW">可以藉由此模組安裝、更新程式包括模組、面板、版面等。</description>
<description xml:lang="tr">Bu modül ile modüller, dış görünümler, yerleşim düzenleri.. gibi kendi programlarınızı, www.xpressengine.com adresinden tek bir tık ile kurup-düzenleyebilirsiniz. </description>
<description xml:lang="zh-CN">很方便的在线安装/更新XE相关模块(模块/皮肤/布局/控件/控件样式等)。</description>
<description xml:lang="jp">管理者モードにてクリックだけで、モジュール/スキン/レイアウト/ウィジェット/ウィジェットスタイルのインストールを可能にするモジュールです。</description>
<description xml:lang="tr">Bu modülle; modüller, dış görünümler, yerleşim düzenleri vs. gibi programlarınızı www.xpressengine.com adresinden tek tıkla kurabilir ve sürümlerini yükseltebilirsiniz. </description>
<version>0.3</version>
<date>2009-11-11</date>
<category>system</category>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NHN</name>
<name xml:lang="en">NHN</name>
<name xml:lang="vi">NHN</name>
<name xml:lang="zh-TW">NHN</name>
<name xml:lang="zh-CN">NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="tr">NHN</name>
</author>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<module version="0.2">
<title xml:lang="ko">쉬운 설치</title>
<title xml:lang="en">EasyInstaller</title>
<title xml:lang="vi">Cài đặt tự động</title>
<title xml:lang="zh-TW">自動安裝</title>
<title xml:lang="zh-CN">安装·更新</title>
<title xml:lang="jp">イージーインストール</title>
<title xml:lang="tr">KolayKurulum</title>
<description xml:lang="ko">관리자 모드에서 클릭으로 모듈/스킨/레이아웃/위젯/위젯스타일 등을 설치하는 모듈입니다.</description>
<description xml:lang="en">With this module, you can install and upgrade your programs including modules, skins, layouts, etc., from www.xpressengine.com by one-click.</description>
<description xml:lang="vi">Với Module này, bạn có thể cập nhật và cài đặt các phiên bản một cách tự động. Bao gồm Module, Layout, Widget, Addon, ... từ trang chủ XE bằng một bấm chuột.</description>
<description xml:lang="zh-TW">可以藉由此模組安裝、更新程式包括模組、面板、版面等。</description>
<description xml:lang="tr">Bu modül ile modüller, dış görünümler, yerleşim düzenleri.. gibi kendi programlarınızı, www.xpressengine.com adresinden tek bir tık ile kurup-düzenleyebilirsiniz. </description>
<description xml:lang="zh-CN">很方便的在线安装/更新XE相关模块(模块/皮肤/布局/控件/控件样式等)。</description>
<description xml:lang="jp">管理者モードにてクリックだけで、モジュール/スキン/レイアウト/ウィジェット/ウィジェットスタイルのインストールを可能にするモジュールです。</description>
<description xml:lang="tr">Bu modülle; modüller, dış görünümler, yerleşim düzenleri vs. gibi programlarınızı www.xpressengine.com adresinden tek tıkla kurabilir ve sürümlerini yükseltebilirsiniz. </description>
<version>0.3</version>
<date>2009-11-11</date>
<category>system</category>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NHN</name>
<name xml:lang="en">NHN</name>
<name xml:lang="vi">NHN</name>
<name xml:lang="zh-TW">NHN</name>
<name xml:lang="zh-CN">NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="tr">NHN</name>
</author>
</module>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) language pack (English)
**/
$lang->autoinstall = 'EasyInstall';
$lang->about_autoinstall = 'EasyInstall module will help you install/upgrade programs(skins) for XE.';
$lang->package_update = 'Recent Update';
$lang->package_downloaded_count = 'Download Count';
$lang->need_update = "Please update package list first.";
$lang->order_newest = "Newest";
$lang->order_popular = "Popular";
$lang->order_download = "Download";
$lang->success_installed = "Successfully Installed";
$lang->view_all_package = "View All";
$lang->description_ftp_note = "If FTP configuration is not set, installation would not work. Please configure FTP information";
$lang->description_update = "If you have upgraded or installed programs without EasyInstall module, please press update button to renew new information.";
$lang->install = "Install";
$lang->update = "Update";
$lang->current_version = "Version";
$lang->depending_programs = "This program is depending on ";
$lang->require_update = "Update is required.";
$lang->require_installation = "Installation is required.";
$lang->description_install = "EasyInstall will also install/update all other programs which this program is depending on";
$lang->description_download = "If FTP is unavailable, you should manually download it and extract it into target path. (if target path is ./modules/board, extract it at ./modules)";
$lang->path = "Path";
$lang->cmd_download = "Download";
$lang->view_installed_packages = "Installed Packages";
$lang->msg_ftp_password_input = "Please input FTP password.";
$lang->dependant_list = "Dependant package list of current package";
$lang->description_uninstall = "Package will be uninstalled. For modules, all data will be deleted.";
?>
<?php
/**
* @file en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) language pack (English)
**/
$lang->autoinstall = 'EasyInstall';
$lang->about_autoinstall = 'EasyInstall module will help you install/upgrade programs(skins) for XE.';
$lang->package_update = 'Recent Update';
$lang->package_downloaded_count = 'Download Count';
$lang->need_update = "Please update package list first.";
$lang->order_newest = "Newest";
$lang->order_popular = "Popular";
$lang->order_download = "Download";
$lang->success_installed = "Successfully Installed";
$lang->view_all_package = "View All";
$lang->description_ftp_note = "If FTP configuration is not set, installation would not work. Please configure FTP information";
$lang->description_update = "If you have upgraded or installed programs without EasyInstall module, please press update button to renew new information.";
$lang->install = "Install";
$lang->update = "Update";
$lang->current_version = "Version";
$lang->depending_programs = "This program is depending on ";
$lang->require_update = "Update is required.";
$lang->require_installation = "Installation is required.";
$lang->description_install = "EasyInstall will also install/update all other programs which this program is depending on";
$lang->description_download = "If FTP is unavailable, you should manually download it and extract it into target path. (if target path is ./modules/board, extract it at ./modules)";
$lang->path = "Path";
$lang->cmd_download = "Download";
$lang->view_installed_packages = "Installed Packages";
$lang->msg_ftp_password_input = "Please input FTP password.";
$lang->dependant_list = "Dependant package list of current package";
$lang->description_uninstall = "Package will be uninstalled. For modules, all data will be deleted.";
?>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file modules/autoinstall/lang/jp.lang.php
* @author NHN (developers@xpressengine.com) 翻訳:ミニミ
* @brief Autoinstall(autoinstall) 日本語基本言語パッケージ
**/
$lang->autoinstall = 'イージーインストール';
$lang->about_autoinstall = 'XpressEngineの様々なプログラムを管理者画面上で簡単にインストール・アップグレードするモジュールです。';
$lang->package_update = '最新アップデート';
$lang->package_downloaded_count = '全体ダウンロード';
$lang->need_update = "アップデートが必要です。";
$lang->order_newest = "新規登録";
$lang->order_popular = "人気";
$lang->order_download = "ダウンロード";
$lang->success_installed = "インストールが成功しました。";
$lang->view_all_package = "全てをみる";
$lang->description_ftp_note = "FTP設定が完了されないと、イージーインストールが動作しません。 FTP設定を確認して下さい。";
$lang->description_update = "新しくインストールしたモジュールバージョン情報などは「アップデート」を押すと反映されます。";
$lang->install = "インストール";
$lang->update = "アップデート";
$lang->current_version = "現インストールバージョン";
$lang->depending_programs = "依存プログラム";
$lang->require_update = "アップデートが必要です。";
$lang->require_installation = "インストールが必要です。";
$lang->description_install = "インストールに進みますと、本プログラムが依存している全てのプログラムをアップデート/インストールします。";
$lang->description_download = "FTPの利用が出来ない場合は、直接ダウンロードし、サーバー上の該当パスにてインストールして下さい。 (一つ上階層にて解凍します。 ./modules/board の場合 ./modulesにて tarを解凍して下さい。)";
$lang->path = "インストールパス";
$lang->cmd_download = "ダウンロード";
$lang->view_installed_packages = "インストールされたパッケージ";
$lang->msg_ftp_password_input = "FTPパスワードを入力して下さい。";
$lang->dependant_list = "このパッケージに依存するパッケージのリスト";
$lang->description_uninstall = "パッケージを削除します。モジュールの場合、すべてのデータを失います。";
?>
<?php
/**
* @file modules/autoinstall/lang/jp.lang.php
* @author NHN (developers@xpressengine.com) 翻訳:ミニミ
* @brief Autoinstall(autoinstall) 日本語基本言語パッケージ
**/
$lang->autoinstall = 'イージーインストール';
$lang->about_autoinstall = 'XpressEngineの様々なプログラムを管理者画面上で簡単にインストール・アップグレードするモジュールです。';
$lang->package_update = '最新アップデート';
$lang->package_downloaded_count = '全体ダウンロード';
$lang->need_update = "アップデートが必要です。";
$lang->order_newest = "新規登録";
$lang->order_popular = "人気";
$lang->order_download = "ダウンロード";
$lang->success_installed = "インストールが成功しました。";
$lang->view_all_package = "全てをみる";
$lang->description_ftp_note = "FTP設定が完了されないと、イージーインストールが動作しません。 FTP設定を確認して下さい。";
$lang->description_update = "新しくインストールしたモジュールバージョン情報などは「アップデート」を押すと反映されます。";
$lang->install = "インストール";
$lang->update = "アップデート";
$lang->current_version = "現インストールバージョン";
$lang->depending_programs = "依存プログラム";
$lang->require_update = "アップデートが必要です。";
$lang->require_installation = "インストールが必要です。";
$lang->description_install = "インストールに進みますと、本プログラムが依存している全てのプログラムをアップデート/インストールします。";
$lang->description_download = "FTPの利用が出来ない場合は、直接ダウンロードし、サーバー上の該当パスにてインストールして下さい。 (一つ上階層にて解凍します。 ./modules/board の場合 ./modulesにて tarを解凍して下さい。)";
$lang->path = "インストールパス";
$lang->cmd_download = "ダウンロード";
$lang->view_installed_packages = "インストールされたパッケージ";
$lang->msg_ftp_password_input = "FTPパスワードを入力して下さい。";
$lang->dependant_list = "このパッケージに依存するパッケージのリスト";
$lang->description_uninstall = "パッケージを削除します。モジュールの場合、すべてのデータを失います。";
?>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file ko.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) 모듈의 기본 언어팩
**/
$lang->autoinstall = '쉬운 설치';
$lang->about_autoinstall = 'XpressEngine의 여러 프로그램을 쉽게 설치/업그레이드할 수 있도록 도와주는 모듈입니다.';
$lang->package_update = '최근 업데이트';
$lang->package_downloaded_count = '전체 다운로드';
$lang->need_update = "업데이트가 필요합니다.";
$lang->order_newest = "신규 등록";
$lang->order_popular = "인기";
$lang->order_download = "다운로드";
$lang->success_installed = "설치가 성공하였습니다.";
$lang->view_all_package = "전체 보기";
$lang->description_ftp_note = "FTP 설정이 안되어있으면 설치가 진행되지 않습니다. FTP설정을 해주세요";
$lang->description_update = "새로 설치한 모듈의 버전 정보등은 업데이트를 눌러주시면 반영됩니다.";
$lang->install = "설치";
$lang->update = "업데이트";
$lang->current_version = "현재 설치 버전";
$lang->depending_programs = "의존하고 있는 프로그램";
$lang->require_update = "업데이트가 필요합니다.";
$lang->require_installation = "설치가 필요합니다.";
$lang->description_install = "설치를 진행하면, 이 프로그램이 의존하고 있는 모든 프로그램을 업데이트/설치 합니다.";
$lang->description_download = "FTP를 이용할 수 없는 경우, 직접 다운로드 하여 해당 path에 설치하셔야 합니다. (한칸 상위에서 압축을 푸시면 됩니다. ./modules/board의 경우 ./modules에서 tar를 푸세요)";
$lang->path = "설치경로";
$lang->cmd_download = "다운로드";
$lang->view_installed_packages = "설치된 패키지";
$lang->msg_ftp_password_input = "FTP 비밀번호를 입력해주세요";
$lang->dependant_list = "이 패키지에 의존하는 패키지 목록";
$lang->description_uninstall = "패키지를 삭제합니다. 모듈의 경우 모든 데이터가 사라집니다.";
?>
<?php
/**
* @file ko.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) 모듈의 기본 언어팩
**/
$lang->autoinstall = '쉬운 설치';
$lang->about_autoinstall = 'XpressEngine의 여러 프로그램을 쉽게 설치/업그레이드할 수 있도록 도와주는 모듈입니다.';
$lang->package_update = '최근 업데이트';
$lang->package_downloaded_count = '전체 다운로드';
$lang->need_update = "업데이트가 필요합니다.";
$lang->order_newest = "신규 등록";
$lang->order_popular = "인기";
$lang->order_download = "다운로드";
$lang->success_installed = "설치가 성공하였습니다.";
$lang->view_all_package = "전체 보기";
$lang->description_ftp_note = "FTP 설정이 안되어있으면 설치가 진행되지 않습니다. FTP설정을 해주세요";
$lang->description_update = "새로 설치한 모듈의 버전 정보등은 업데이트를 눌러주시면 반영됩니다.";
$lang->install = "설치";
$lang->update = "업데이트";
$lang->current_version = "현재 설치 버전";
$lang->depending_programs = "의존하고 있는 프로그램";
$lang->require_update = "업데이트가 필요합니다.";
$lang->require_installation = "설치가 필요합니다.";
$lang->description_install = "설치를 진행하면, 이 프로그램이 의존하고 있는 모든 프로그램을 업데이트/설치 합니다.";
$lang->description_download = "FTP를 이용할 수 없는 경우, 직접 다운로드 하여 해당 path에 설치하셔야 합니다. (한칸 상위에서 압축을 푸시면 됩니다. ./modules/board의 경우 ./modules에서 tar를 푸세요)";
$lang->path = "설치경로";
$lang->cmd_download = "다운로드";
$lang->view_installed_packages = "설치된 패키지";
$lang->msg_ftp_password_input = "FTP 비밀번호를 입력해주세요";
$lang->dependant_list = "이 패키지에 의존하는 패키지 목록";
$lang->description_uninstall = "패키지를 삭제합니다. 모듈의 경우 모든 데이터가 사라집니다.";
?>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) language pack (English)
**/
$lang->autoinstall = 'EasyInstall';
$lang->about_autoinstall = 'EasyInstall module will help you install/upgrade programs(skins) for XE.';
$lang->package_update = 'Recent Update';
$lang->package_downloaded_count = 'Download Count';
$lang->need_update = 'Please update package list first.';
$lang->order_newest = 'Новый';
$lang->order_popular = 'Популярный';
$lang->order_download = 'Скачать';
$lang->success_installed = 'Установлено успешно';
$lang->view_all_package = 'Показать все';
$lang->description_ftp_note = 'If FTP configuration is not set, installation would not work. Please configure FTP information';
$lang->description_update = 'If you have upgraded or installed programs without EasyInstall module, please press update button to renew new information';
$lang->install = 'Инсталлировать';
$lang->update = 'Обновить';
$lang->current_version = 'Version';
$lang->depending_programs = 'This program is depending on';
$lang->require_update = 'Update is required';
$lang->require_installation = 'Installation is required';
$lang->description_install = 'EasyInstall will also install/update all other programs which this program is depending on';
$lang->description_download = 'If FTP is unavailable, you should manually download it and extract it into target path. (if target path is ./modules/board, extract it at ./modules)';
$lang->path = 'Path';
$lang->cmd_download = 'Download';
$lang->view_installed_packages = 'Installed Packages';
$lang->msg_ftp_password_input = 'Please input FTP password';
$lang->dependant_list = "이 패키지에 의존하는 패키지 목록";
$lang->description_uninstall = "패키지를 삭제합니다. 모듈의 경우 모든 데이터가 사라집니다.";
?>
<?php
/**
* @file en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) language pack (English)
**/
$lang->autoinstall = 'EasyInstall';
$lang->about_autoinstall = 'EasyInstall module will help you install/upgrade programs(skins) for XE.';
$lang->package_update = 'Recent Update';
$lang->package_downloaded_count = 'Download Count';
$lang->need_update = 'Please update package list first.';
$lang->order_newest = 'Новый';
$lang->order_popular = 'Популярный';
$lang->order_download = 'Скачать';
$lang->success_installed = 'Установлено успешно';
$lang->view_all_package = 'Показать все';
$lang->description_ftp_note = 'If FTP configuration is not set, installation would not work. Please configure FTP information';
$lang->description_update = 'If you have upgraded or installed programs without EasyInstall module, please press update button to renew new information';
$lang->install = 'Инсталлировать';
$lang->update = 'Обновить';
$lang->current_version = 'Version';
$lang->depending_programs = 'This program is depending on';
$lang->require_update = 'Update is required';
$lang->require_installation = 'Installation is required';
$lang->description_install = 'EasyInstall will also install/update all other programs which this program is depending on';
$lang->description_download = 'If FTP is unavailable, you should manually download it and extract it into target path. (if target path is ./modules/board, extract it at ./modules)';
$lang->path = 'Path';
$lang->cmd_download = 'Download';
$lang->view_installed_packages = 'Installed Packages';
$lang->msg_ftp_password_input = 'Please input FTP password';
$lang->dependant_list = "이 패키지에 의존하는 패키지 목록";
$lang->description_uninstall = "패키지를 삭제합니다. 모듈의 경우 모든 데이터가 사라집니다.";
?>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) language pack (English)
**/
$lang->autoinstall = 'KolayKurulum';
$lang->about_autoinstall = 'KolayKurulum modülü size programların(dış görünüm), XE\'ye kurulumunda ve sürüm yükseltmesinde yardımcı olacaktır.';
$lang->package_update = 'Son Güncellemeler';
$lang->package_downloaded_count = 'İndirme Sayısı';
$lang->need_update = "Lütfen önce paket listesini güncelleyiniz.";
$lang->order_newest = "En Yeniler";
$lang->order_popular = "Popüler";
$lang->order_download = "İndirme";
$lang->success_installed = "Başarıyla Kuruldu";
$lang->view_all_package = "Tümünü Göster";
$lang->description_ftp_note = "Eğer FTP düzeni ayarlanmadıysa, kurulum çalışmayacaktır.Lütfen FTP bilgisini yapılandırınız.";
$lang->description_update = "Eğer KolayKurulum modülünü kullanmadan programları kurduysanız ya da güncelleştirdiyseniz, lütfen yeni bilgiyi uyarlamak için güncelleştir tuşuna basınız.";
$lang->install = "Kurulum";
$lang->update = "Güncelle";
$lang->current_version = "Sürüm";
$lang->depending_programs = "Bu program için aşağıdaki program(lar) gereklidir : ";
$lang->require_update = "Güncelleme gerekmektedir.";
$lang->require_installation = "Kurulum gerekmektedir.";
$lang->description_install = "KolayKurulum, bu program için gerekli olan tüm diğer programları kurup/güncelleştirecektir.";
$lang->description_download = "Eğer FTP kullanılamaz durumduysa, indirmeyi kendiniz yapmanız ve dosyaları hedef dizine çıkartmanız gerekmektedir. (eğer hedef yol ./modules/board ise, çıkarma işlemini ./modules yoluna yapınız)";
$lang->path = "Yol";
$lang->cmd_download = "İndirme";
$lang->view_installed_packages = "Kurulmuş Paketler";
$lang->msg_ftp_password_input = "Lütfen FTP şifresini giriniz.";
$lang->dependant_list = "Mevcut pakete bağlı paket listesi";
$lang->description_uninstall = "Paket kaldırılacaktır. Modüller için, tüm veriler silinecektir.";
?>
<?php
/**
* @file en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) language pack (English)
**/
$lang->autoinstall = 'KolayKurulum';
$lang->about_autoinstall = 'KolayKurulum modülü size programların(dış görünüm), XE\'ye kurulumunda ve sürüm yükseltmesinde yardımcı olacaktır.';
$lang->package_update = 'Son Güncellemeler';
$lang->package_downloaded_count = 'İndirme Sayısı';
$lang->need_update = "Lütfen önce paket listesini güncelleyiniz.";
$lang->order_newest = "En Yeniler";
$lang->order_popular = "Popüler";
$lang->order_download = "İndirme";
$lang->success_installed = "Başarıyla Kuruldu";
$lang->view_all_package = "Tümünü Göster";
$lang->description_ftp_note = "Eğer FTP düzeni ayarlanmadıysa, kurulum çalışmayacaktır.Lütfen FTP bilgisini yapılandırınız.";
$lang->description_update = "Eğer KolayKurulum modülünü kullanmadan programları kurduysanız ya da güncelleştirdiyseniz, lütfen yeni bilgiyi uyarlamak için güncelleştir tuşuna basınız.";
$lang->install = "Kurulum";
$lang->update = "Güncelle";
$lang->current_version = "Sürüm";
$lang->depending_programs = "Bu program için aşağıdaki program(lar) gereklidir : ";
$lang->require_update = "Güncelleme gerekmektedir.";
$lang->require_installation = "Kurulum gerekmektedir.";
$lang->description_install = "KolayKurulum, bu program için gerekli olan tüm diğer programları kurup/güncelleştirecektir.";
$lang->description_download = "Eğer FTP kullanılamaz durumduysa, indirmeyi kendiniz yapmanız ve dosyaları hedef dizine çıkartmanız gerekmektedir. (eğer hedef yol ./modules/board ise, çıkarma işlemini ./modules yoluna yapınız)";
$lang->path = "Yol";
$lang->cmd_download = "İndirme";
$lang->view_installed_packages = "Kurulmuş Paketler";
$lang->msg_ftp_password_input = "Lütfen FTP şifresini giriniz.";
$lang->dependant_list = "Mevcut pakete bağlı paket listesi";
$lang->description_uninstall = "Paket kaldırılacaktır. Modüller için, tüm veriler silinecektir.";
?>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file ko.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) 모듈의 기본 언어팩
**/
$lang->autoinstall = 'Cập nhật tự động';
$lang->about_autoinstall = 'Nó sẽ giúp bạn Cài đặt / Nâng cấp phiên bản tự động từ trang chủ XE.';
$lang->package_update = 'Cập nhật';
$lang->package_downloaded_count = 'Lượt Download';
$lang->need_update = "Danh sách phiên bản cần cập nhật.";
$lang->order_newest = "Mới nhất";
$lang->order_popular = "Phổ biến";
$lang->order_download = "Download";
$lang->success_installed = "Đã cài đặt thành công.";
$lang->view_all_package = "Xem tất cả";
$lang->description_ftp_note = "Nếu bạn chưa thiết lập FTP, sẽ không thể cài đặt đặt hay cập nhật. Xin hãy thiết lập thông tin FTP.";
$lang->description_update = "Nếu bạn cập nhật hay cài đặt mà không sử dụng chương trình cập nhật tự động, xin hãy bấm 'Cập nhật' tại trang quản lý để giữ lại thông tin đã cập nhật của chương trình.";
$lang->install = "Cài đặt";
$lang->update = "Cập nhật";
$lang->current_version = "Phiên bản đang dùng";
$lang->depending_programs = "Chương trình này phụ thuộc vào ";
$lang->require_update = "Yêu cầu cập nhật.";
$lang->require_installation = "Yêu cầu cài đặt.";
$lang->description_install = "Quá trình Cài đặt / Cập nhật này phụ thuộc vào ";
$lang->description_download = "Khi FTP không được mở, bạn nên tải về và giả nén, sau đó Upload theo đường dẫn. (Nếu đường dẫn là ./modules/board, thì giải nén vào ./modules)";
$lang->path = "Đường dẫn";
$lang->cmd_download = "Download";
$lang->view_installed_packages = "Những gói đã cài đặt";
$lang->msg_ftp_password_input = "Hãy nhập mật khẩu của FTP.";
$lang->dependant_list = "Gói cài đặt này phụ thuộc vào các gói khác trong danh sách";
$lang->description_uninstall = "Loại bỏ gói cài đặt. Tất cả dữ liệu của các gói sẽ đồng thời bị xóa.";
?>
<?php
/**
* @file ko.lang.php
* @author NHN (developers@xpressengine.com)
* @brief Autoinstall(autoinstall) 모듈의 기본 언어팩
**/
$lang->autoinstall = 'Cập nhật tự động';
$lang->about_autoinstall = 'Nó sẽ giúp bạn Cài đặt / Nâng cấp phiên bản tự động từ trang chủ XE.';
$lang->package_update = 'Cập nhật';
$lang->package_downloaded_count = 'Lượt Download';
$lang->need_update = "Danh sách phiên bản cần cập nhật.";
$lang->order_newest = "Mới nhất";
$lang->order_popular = "Phổ biến";
$lang->order_download = "Download";
$lang->success_installed = "Đã cài đặt thành công.";
$lang->view_all_package = "Xem tất cả";
$lang->description_ftp_note = "Nếu bạn chưa thiết lập FTP, sẽ không thể cài đặt đặt hay cập nhật. Xin hãy thiết lập thông tin FTP.";
$lang->description_update = "Nếu bạn cập nhật hay cài đặt mà không sử dụng chương trình cập nhật tự động, xin hãy bấm 'Cập nhật' tại trang quản lý để giữ lại thông tin đã cập nhật của chương trình.";
$lang->install = "Cài đặt";
$lang->update = "Cập nhật";
$lang->current_version = "Phiên bản đang dùng";
$lang->depending_programs = "Chương trình này phụ thuộc vào ";
$lang->require_update = "Yêu cầu cập nhật.";
$lang->require_installation = "Yêu cầu cài đặt.";
$lang->description_install = "Quá trình Cài đặt / Cập nhật này phụ thuộc vào ";
$lang->description_download = "Khi FTP không được mở, bạn nên tải về và giả nén, sau đó Upload theo đường dẫn. (Nếu đường dẫn là ./modules/board, thì giải nén vào ./modules)";
$lang->path = "Đường dẫn";
$lang->cmd_download = "Download";
$lang->view_installed_packages = "Những gói đã cài đặt";
$lang->msg_ftp_password_input = "Hãy nhập mật khẩu của FTP.";
$lang->dependant_list = "Gói cài đặt này phụ thuộc vào các gói khác trong danh sách";
$lang->description_uninstall = "Loại bỏ gói cài đặt. Tất cả dữ liệu của các gói sẽ đồng thời bị xóa.";
?>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file zh-CN.lang.php
* @author NHN (developers@xpressengine.com) 翻译guny(space.china@gmail.com)
* @brief 在线安装/更新(autoinstall)模块语言包
**/
$lang->autoinstall = '安装·更新';
$lang->about_autoinstall = 'Autoinstall是XpressEngine的在线安装/更新模块。';
$lang->package_update = '最新更新';
$lang->package_downloaded_count = '总下载';
$lang->need_update = "有新的更新。";
$lang->order_newest = "最新发布";
$lang->order_popular = "热门";
$lang->order_download = "下载";
$lang->success_installed = "安装成功!";
$lang->view_all_package = "查看全部";
$lang->description_ftp_note = "请务必完成FTP设置否则将无法在线安装(更新)相关模块。";
$lang->description_update = "新安装(更新)模块的版本信息点击Update按钮后才能正常显示。";
$lang->install = "安装";
$lang->update = "更新";
$lang->current_version = "现用版本";
$lang->depending_programs = "联动插件/控件";
$lang->require_update = "需要更新";
$lang->require_installation = "需要安装";
$lang->description_install = "安装时,与其联动的插件/控件也会同时被安装(更新)。";
$lang->description_download = "无法使用FTP时需得自行下载安装到指定路径。";
$lang->path = "安装路径";
$lang->cmd_download = "下载";
$lang->view_installed_packages = "已安装的数据包";
$lang->msg_ftp_password_input = "请输入FTP密码。";
$lang->dependant_list = "联动数据包列表";
$lang->description_uninstall = "确定要删除此数据包吗?如果此数据包为模块,模块中的数据将会全部消失。";
?>
<?php
/**
* @file zh-CN.lang.php
* @author NHN (developers@xpressengine.com) 翻译guny(space.china@gmail.com)
* @brief 在线安装/更新(autoinstall)模块语言包
**/
$lang->autoinstall = '安装·更新';
$lang->about_autoinstall = 'Autoinstall是XpressEngine的在线安装/更新模块。';
$lang->package_update = '最新更新';
$lang->package_downloaded_count = '总下载';
$lang->need_update = "有新的更新。";
$lang->order_newest = "最新发布";
$lang->order_popular = "热门";
$lang->order_download = "下载";
$lang->success_installed = "安装成功!";
$lang->view_all_package = "查看全部";
$lang->description_ftp_note = "请务必完成FTP设置否则将无法在线安装(更新)相关模块。";
$lang->description_update = "新安装(更新)模块的版本信息点击Update按钮后才能正常显示。";
$lang->install = "安装";
$lang->update = "更新";
$lang->current_version = "现用版本";
$lang->depending_programs = "联动插件/控件";
$lang->require_update = "需要更新";
$lang->require_installation = "需要安装";
$lang->description_install = "安装时,与其联动的插件/控件也会同时被安装(更新)。";
$lang->description_download = "无法使用FTP时需得自行下载安装到指定路径。";
$lang->path = "安装路径";
$lang->cmd_download = "下载";
$lang->view_installed_packages = "已安装的数据包";
$lang->msg_ftp_password_input = "请输入FTP密码。";
$lang->dependant_list = "联动数据包列表";
$lang->description_uninstall = "确定要删除此数据包吗?如果此数据包为模块,模块中的数据将会全部消失。";
?>

View file

@ -1,35 +1,35 @@
<?php
/**
* @file zh-TW.lang.php
* @author NHN (developers@xpressengine.com) 翻譯royallin
* @brief 自動安裝(autoinstall)模組正體中文語言
**/
$lang->autoinstall = '自動安裝';
$lang->about_autoinstall = '可幫助您安裝及更新 XE 程式和面板。';
$lang->package_update = '最近更新';
$lang->package_downloaded_count = '下載次數';
$lang->need_update = "需要更新。";
$lang->order_newest = "最新發表";
$lang->order_popular = "熱門";
$lang->order_download = "下載";
$lang->success_installed = "安裝成功";
$lang->view_all_package = "全部檢視";
$lang->description_ftp_note = "請先將 FTP 設定好,否則無法執行自動安裝功能。";
$lang->description_update = "如果您最近不是用自動安裝模組更新或安裝,請按更新按鈕更新。";
$lang->install = "安裝";
$lang->update = "更新";
$lang->current_version = "版本";
$lang->depending_programs = "此程式需要安裝";
$lang->require_update = "需要更新";
$lang->require_installation = "需要安裝";
$lang->description_install = "自動安裝也能夠同時安裝與更新其他相關程式";
$lang->description_download = "如果 FTP 無法使用的話,必須要手動下載並解壓縮到目標路徑。(假設目標路徑為 ./modules/board 的話,將檔案解壓縮到 ./modules就可以了)";
$lang->path = "路徑";
$lang->cmd_download = "下載";
$lang->view_installed_packages = "已安裝程式";
$lang->msg_ftp_password_input = "請輸入 FTP 密碼";
$lang->dependant_list = "與此程式相關程式列表";
$lang->description_uninstall = "移除模組,所有資料將會被刪除。";
?>
<?php
/**
* @file zh-TW.lang.php
* @author NHN (developers@xpressengine.com) 翻譯royallin
* @brief 自動安裝(autoinstall)模組正體中文語言
**/
$lang->autoinstall = '自動安裝';
$lang->about_autoinstall = '可幫助您安裝及更新 XE 程式和面板。';
$lang->package_update = '最近更新';
$lang->package_downloaded_count = '下載次數';
$lang->need_update = "需要更新。";
$lang->order_newest = "最新發表";
$lang->order_popular = "熱門";
$lang->order_download = "下載";
$lang->success_installed = "安裝成功";
$lang->view_all_package = "全部檢視";
$lang->description_ftp_note = "請先將 FTP 設定好,否則無法執行自動安裝功能。";
$lang->description_update = "如果您最近不是用自動安裝模組更新或安裝,請按更新按鈕更新。";
$lang->install = "安裝";
$lang->update = "更新";
$lang->current_version = "版本";
$lang->depending_programs = "此程式需要安裝";
$lang->require_update = "需要更新";
$lang->require_installation = "需要安裝";
$lang->description_install = "自動安裝也能夠同時安裝與更新其他相關程式";
$lang->description_download = "如果 FTP 無法使用的話,必須要手動下載並解壓縮到目標路徑。(假設目標路徑為 ./modules/board 的話,將檔案解壓縮到 ./modules就可以了)";
$lang->path = "路徑";
$lang->cmd_download = "下載";
$lang->view_installed_packages = "已安裝程式";
$lang->msg_ftp_password_input = "請輸入 FTP 密碼";
$lang->dependant_list = "與此程式相關程式列表";
$lang->description_uninstall = "移除模組,所有資料將會被刪除。";
?>

View file

@ -1,59 +1,59 @@
@charset "utf-8";
/* NHN (developers@xpressengine.com) */
.install{ border-top:1px solid #ddd; *zoom:1;}
.install:after{ content:""; display:block; clear:both;}
.aside { width:180px; float:left; margin-right:30px; padding-bottom:30px; }
.aside .categoryBox { background-color:#F8F8F8; padding:10px; width:160px; overflow:hidden; }
.aside .categoryBox h3 { padding:0 0 10px 0; margin:0 0 10px 0; white-space:nowrap; overflow:hidden; color:#48494E; font-size:11px; font-weight:normal;}
.aside .categoryBox .bottomLine {background:transparent url(../img/hrE1.gif) repeat-x scroll left bottom;}
.aside .categoryBox .topLine {background:transparent url(../img/hrE1.gif) repeat-x scroll left top;}
.aside .categoryBox h3 a { color:#48494E; font-size:12px; font-weight:bold; text-decoration:none; }
.aside .categoryBox ul.category { margin:10px 0 0 0; padding:0; list-style:none; }
.aside .categoryBox ul.category li { margin:0 0 10px 10px; }
.aside .categoryBox ul.category li a.selected { font-weight:bold; color:#2893BB; }
.aside .categoryBox ul.category li a { text-decoration:none; color:#7B7575; }
.aside .categoryBox ul.category li span { font-family:verdana; font-size:10px; color:#999; }
.aside .categoryBox ul.resourceManage { margin:0; padding:10px 0 0 0; list-style:none; background:transparent url(../img/hrE1.gif) repeat-x scroll left top; }
.aside .categoryBox ul.resourceManage li { background:url(../img/btnManage.gif) no-repeat 2px 2px; padding-left:14px; white-space:nowrap; overflow:hidden; margin-bottom:10px; }
.aside .categoryBox ul.resourceManage li a { text-decoration:none; color:#747474; }
.aside .categoryBox ul.resourceManage li a.selected { font-weight:bold; }
.aside .searchBox { padding:10px 0; text-align:center; }
.aside .searchBox input.input { border:1px solid #ddd; width:120px; height:16px;}
.aside .searchBox input.submit { vertical-align:middle; }
.install .content { position:relative; *zoom:1; overflow:hidden; width:auto; float:none; margin:0;}
.updateList,
.updateList th,
.updateList td{ border:0; vertical-align:top; text-align:left; padding:10px 0;}
.updateList {width:100%; height:100px; table-layout:fixed;}
.updateList th,
.updateList td{ border-bottom:1px dotted #ddd;}
.updateList th img { border:1px solid #ccc; padding:2px; overflow:hidden; *zoom:1; }
.updateList td { padding:10px 0 0 0;}
.updateList td .title{ position:relative;}
.updateList td .title h3 { padding:0; margin:0 0 5px 0; font-size:12px;}
.updateList td .title a {text-decoration:none; color:#333 !important; }
.updateList td .title .buttons{ position:absolute; top:0; right:0;}
.updateList td .info p{ margin:0 0 5px 0; line-height:1.5;}
.updateList td .info p.desc{ margin:0 100px 10px 0;}
.updateList td .info p.meta{ font-size:11px;}
.updateList td .info p.meta span{ display:inline-block; line-height:1; padding:0 5px 0 9px;}
.updateList td .info p.meta .reputation{ padding:0 5px 0 0;}
.updateList td .info p.meta .reputation img{ float:left; margin:-1px 0 0 0;}
.updateList td .info p.meta .reputation span{ padding:0 0 0 5px;}
.updateList td .info p.meta .lastUpdate{ border-left:1px solid #ddd;}
.updateList td .info p.meta .download{ border-left:1px solid #ddd;}
ul.listOrder { position:relative; overflow:hidden; margin:0; padding:10px 0; text-align:left; background:transparent url(../img/hrE1.gif) repeat-x scroll left bottom;}
ul.listOrder.asc li.arrow { background:url(../img/arrUp.gif) no-repeat right 2px; padding-right:10px; }
ul.listOrder.desc li.arrow { background:url(../img/arrDown.gif) no-repeat right 2px; padding-right:10px; }
ul.listOrder li { position:relative; left:-1px; display:inline; margin:0; padding:0 5px 0 9px; border-left:1px solid #ddd;}
ul.listOrder li.arrow a { text-decoration:none; font-weight:bold; color:#2893BB; }
ul.listOrder li a { text-decoration:none; color:#7B7575; }
p.caution strong { font-size: 1.2em; font-weight: bold; color: red; }
@charset "utf-8";
/* NHN (developers@xpressengine.com) */
.install{ border-top:1px solid #ddd; *zoom:1;}
.install:after{ content:""; display:block; clear:both;}
.aside { width:180px; float:left; margin-right:30px; padding-bottom:30px; }
.aside .categoryBox { background-color:#F8F8F8; padding:10px; width:160px; overflow:hidden; }
.aside .categoryBox h3 { padding:0 0 10px 0; margin:0 0 10px 0; white-space:nowrap; overflow:hidden; color:#48494E; font-size:11px; font-weight:normal;}
.aside .categoryBox .bottomLine {background:transparent url(../img/hrE1.gif) repeat-x scroll left bottom;}
.aside .categoryBox .topLine {background:transparent url(../img/hrE1.gif) repeat-x scroll left top;}
.aside .categoryBox h3 a { color:#48494E; font-size:12px; font-weight:bold; text-decoration:none; }
.aside .categoryBox ul.category { margin:10px 0 0 0; padding:0; list-style:none; }
.aside .categoryBox ul.category li { margin:0 0 10px 10px; }
.aside .categoryBox ul.category li a.selected { font-weight:bold; color:#2893BB; }
.aside .categoryBox ul.category li a { text-decoration:none; color:#7B7575; }
.aside .categoryBox ul.category li span { font-family:verdana; font-size:10px; color:#999; }
.aside .categoryBox ul.resourceManage { margin:0; padding:10px 0 0 0; list-style:none; background:transparent url(../img/hrE1.gif) repeat-x scroll left top; }
.aside .categoryBox ul.resourceManage li { background:url(../img/btnManage.gif) no-repeat 2px 2px; padding-left:14px; white-space:nowrap; overflow:hidden; margin-bottom:10px; }
.aside .categoryBox ul.resourceManage li a { text-decoration:none; color:#747474; }
.aside .categoryBox ul.resourceManage li a.selected { font-weight:bold; }
.aside .searchBox { padding:10px 0; text-align:center; }
.aside .searchBox input.input { border:1px solid #ddd; width:120px; height:16px;}
.aside .searchBox input.submit { vertical-align:middle; }
.install .content { position:relative; *zoom:1; overflow:hidden; width:auto; float:none; margin:0;}
.updateList,
.updateList th,
.updateList td{ border:0; vertical-align:top; text-align:left; padding:10px 0;}
.updateList {width:100%; height:100px; table-layout:fixed;}
.updateList th,
.updateList td{ border-bottom:1px dotted #ddd;}
.updateList th img { border:1px solid #ccc; padding:2px; overflow:hidden; *zoom:1; }
.updateList td { padding:10px 0 0 0;}
.updateList td .title{ position:relative;}
.updateList td .title h3 { padding:0; margin:0 0 5px 0; font-size:12px;}
.updateList td .title a {text-decoration:none; color:#333 !important; }
.updateList td .title .buttons{ position:absolute; top:0; right:0;}
.updateList td .info p{ margin:0 0 5px 0; line-height:1.5;}
.updateList td .info p.desc{ margin:0 100px 10px 0;}
.updateList td .info p.meta{ font-size:11px;}
.updateList td .info p.meta span{ display:inline-block; line-height:1; padding:0 5px 0 9px;}
.updateList td .info p.meta .reputation{ padding:0 5px 0 0;}
.updateList td .info p.meta .reputation img{ float:left; margin:-1px 0 0 0;}
.updateList td .info p.meta .reputation span{ padding:0 0 0 5px;}
.updateList td .info p.meta .lastUpdate{ border-left:1px solid #ddd;}
.updateList td .info p.meta .download{ border-left:1px solid #ddd;}
ul.listOrder { position:relative; overflow:hidden; margin:0; padding:10px 0; text-align:left; background:transparent url(../img/hrE1.gif) repeat-x scroll left bottom;}
ul.listOrder.asc li.arrow { background:url(../img/arrUp.gif) no-repeat right 2px; padding-right:10px; }
ul.listOrder.desc li.arrow { background:url(../img/arrDown.gif) no-repeat right 2px; padding-right:10px; }
ul.listOrder li { position:relative; left:-1px; display:inline; margin:0; padding:0 5px 0 9px; border-left:1px solid #ddd;}
ul.listOrder li.arrow a { text-decoration:none; font-weight:bold; color:#2893BB; }
ul.listOrder li a { text-decoration:none; color:#7B7575; }
p.caution strong { font-size: 1.2em; font-weight: bold; color: red; }

View file

@ -1,21 +1,21 @@
<!--#include("header.html")-->
<!--%import("css/autoinstall.css")-->
<!--%import("js/autoinstall.js")-->
<div class="infoText">
<!--@if($show_ftp_note)-->
<p class="warning">{$lang->description_ftp_note} <a href="{getUrl('','module','admin','act','dispAdminConfig')}#ftpSetup">FTP Setup</a> </p>
<!--@end-->
<!--@if($need_update)-->
<p class="update">{$lang->need_update}</p>
<!--@else-->
<p class="update">{$lang->description_update}</p>
<!--@end-->
<p><span class="button xLarge strong green"><button type="button" onclick="doUpdate()" title="update">Update</button></span></p>
</div>
<div class="install">
<!--#include("leftBox.html")-->
<!--@if($item_list)-->
<!--#include("list.html")-->
<!--@end-->
</div>
<!--#include("header.html")-->
<!--%import("css/autoinstall.css")-->
<!--%import("js/autoinstall.js")-->
<div class="infoText">
<!--@if($show_ftp_note)-->
<p class="warning">{$lang->description_ftp_note} <a href="{getUrl('','module','admin','act','dispAdminConfig')}#ftpSetup">FTP Setup</a> </p>
<!--@end-->
<!--@if($need_update)-->
<p class="update">{$lang->need_update}</p>
<!--@else-->
<p class="update">{$lang->description_update}</p>
<!--@end-->
<p><span class="button xLarge strong green"><button type="button" onclick="doUpdate()" title="update">Update</button></span></p>
</div>
<div class="install">
<!--#include("leftBox.html")-->
<!--@if($item_list)-->
<!--#include("list.html")-->
<!--@end-->
</div>

View file

@ -1,30 +1,30 @@
<!--#include("header.html")-->
<!--%import("css/autoinstall.css")-->
<!--%import("js/autoinstall.js")-->
<div class="infoText">
<p><strong>{$package->title}</strong> ver. <strong>{$package->version}</strong> ( <!--@if($package->installed)-->{$lang->current_version}: {$package->cur_version} <!--@if($package->need_update)--> ({$lang->require_update})<!--@end--> <!--@else-->{$lang->require_installation}<!--@end--> )</p>
<!--@foreach($package->depends as $dep)-->
<dl>
<dt><strong>{$lang->depending_programs} :</strong></dt>
<dd> {$dep->title} ver. {$dep->version} -
<!--@if($dep->installed)-->{$lang->current_version}: {$dep->cur_version} <!--@if($dep->need_update)--> ({$lang->require_update})<!--@end--> <!--@else-->{$lang->require_installation}<!--@end-->
<!--@if($show_ftp_note && ($dep->need_update || !$dep->installed))--><a href="http://download.xpressengine.com/?module=resourceapi&act=procResourceapiDownload&package_srl={$dep->package_srl}">{$lang->cmd_download}</a> ({$lang->path} : {$dep->path})<!--@end-->
</dd>
</dl>
<!--@end-->
<!--@if(!$package->installed || $package->need_update)-->
<!--@if($show_ftp_note)-->
<p class="warning">{$lang->description_download}. (<a href="{getUrl('','module','admin','act','dispAdminConfig')}#ftpSetup">FTP Setup</a>) </p>
<p>{$lang->path} : {$package->path}</p>
<p><a href="http://download.xpressengine.com/?module=resourceapi&act=procResourceapiDownload&package_srl={$package->package_srl}" class="button large green strong"><span>{$lang->cmd_download}</span></a></p>
<!--@else-->
<p>{$lang->description_install}. </p>
<!--@if($need_password)-->
<p><label for="ftp_password">FTP {$lang->password} ({$lang->about_ftp_password}):</label><input type="password" name="ftp_password" id="ftp_password" class="inputTypeText" /></p>
<!--@end-->
<p><a href="#" onclick="doInstallPackage('{$package->package_srl}')" class="button large green strong"><span>{$package->installed?$lang->update:$lang->install}</span></a></p>
<!--@end-->
<!--@end-->
</div>
<!--#include("header.html")-->
<!--%import("css/autoinstall.css")-->
<!--%import("js/autoinstall.js")-->
<div class="infoText">
<p><strong>{$package->title}</strong> ver. <strong>{$package->version}</strong> ( <!--@if($package->installed)-->{$lang->current_version}: {$package->cur_version} <!--@if($package->need_update)--> ({$lang->require_update})<!--@end--> <!--@else-->{$lang->require_installation}<!--@end--> )</p>
<!--@foreach($package->depends as $dep)-->
<dl>
<dt><strong>{$lang->depending_programs} :</strong></dt>
<dd> {$dep->title} ver. {$dep->version} -
<!--@if($dep->installed)-->{$lang->current_version}: {$dep->cur_version} <!--@if($dep->need_update)--> ({$lang->require_update})<!--@end--> <!--@else-->{$lang->require_installation}<!--@end-->
<!--@if($show_ftp_note && ($dep->need_update || !$dep->installed))--><a href="http://download.xpressengine.com/?module=resourceapi&act=procResourceapiDownload&package_srl={$dep->package_srl}">{$lang->cmd_download}</a> ({$lang->path} : {$dep->path})<!--@end-->
</dd>
</dl>
<!--@end-->
<!--@if(!$package->installed || $package->need_update)-->
<!--@if($show_ftp_note)-->
<p class="warning">{$lang->description_download}. (<a href="{getUrl('','module','admin','act','dispAdminConfig')}#ftpSetup">FTP Setup</a>) </p>
<p>{$lang->path} : {$package->path}</p>
<p><a href="http://download.xpressengine.com/?module=resourceapi&act=procResourceapiDownload&package_srl={$package->package_srl}" class="button large green strong"><span>{$lang->cmd_download}</span></a></p>
<!--@else-->
<p>{$lang->description_install}. </p>
<!--@if($need_password)-->
<p><label for="ftp_password">FTP {$lang->password} ({$lang->about_ftp_password}):</label><input type="password" name="ftp_password" id="ftp_password" class="inputTypeText" /></p>
<!--@end-->
<p><a href="#" onclick="doInstallPackage('{$package->package_srl}')" class="button large green strong"><span>{$package->installed?$lang->update:$lang->install}</span></a></p>
<!--@end-->
<!--@end-->
</div>

View file

@ -1,50 +1,50 @@
<div class="aside">
<div class="categoryBox">
<h3 class="bottomLine"><a href="{getUrl('act','dispAutoinstallAdminIndex','category_srl','')}">{$lang->view_all_package}</a> <span>({$tCount})</span></h3>
{@ $_pDepth = 0;}
<ul class="category">
<!--@foreach($categories as $key => $val)-->
<!--@if($_pDepth > $val->depth)-->
<!--@for($i=$val->depth; $i<$_pDepth; $i++)-->
</ul>
</li>
<!--@end-->
{@ $_pDepth = $val->depth}
<!--@end-->
<li>
<!--@if(count($val->children))-->
<a href="{getUrl('','module','admin','act','dispAutoinstallAdminIndex','category_srl',$val->category_srl,'childrenList',$val->childrenList)}"<!--@if($val->category_srl == $category_srl)--> class="selected"<!--@end-->>{$val->title}</a>
<!--@else-->
<a href="{getUrl('','module','admin','act','dispAutoinstallAdminIndex','category_srl',$val->category_srl,'childrenList','')}"<!--@if($val->category_srl == $category_srl)--> class="selected"<!--@end-->>{$val->title}</a>
<!--@end-->
<!--@if($val->nPackages)-->
<span>({$val->nPackages})</span>
<!--@end-->
<!--@if(count($val->children))-->
{@$_pDepth++}
<ul class="category">
<!--@else-->
</li>
<!--@end-->
<!--@end-->
<!--@for($i=0;$i<$_pDepth;$i++)-->
</ul>
<!--@end-->
</li>
</ul>
<div class="searchBox bottomLine">
<form action="{getUrl()}" method="get">
<input type="hidden" name="category_srl" value="{$category_srl}" />
<input type="hidden" name="module" value="admin" />
<input type="hidden" name="act" value="dispAutoinstallAdminIndex" />
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" class="input" />
<input type="image" src="./img/btn_search.gif" class="submit" />
</form>
</div>
<br />
<h3><a href="{getUrl('','module','admin','act','dispAutoinstallAdminInstalledPackages')}">{$lang->view_installed_packages}</a> <span>({$iCount})</span></h3>
</div>
</div>
<div class="aside">
<div class="categoryBox">
<h3 class="bottomLine"><a href="{getUrl('act','dispAutoinstallAdminIndex','category_srl','')}">{$lang->view_all_package}</a> <span>({$tCount})</span></h3>
{@ $_pDepth = 0;}
<ul class="category">
<!--@foreach($categories as $key => $val)-->
<!--@if($_pDepth > $val->depth)-->
<!--@for($i=$val->depth; $i<$_pDepth; $i++)-->
</ul>
</li>
<!--@end-->
{@ $_pDepth = $val->depth}
<!--@end-->
<li>
<!--@if(count($val->children))-->
<a href="{getUrl('','module','admin','act','dispAutoinstallAdminIndex','category_srl',$val->category_srl,'childrenList',$val->childrenList)}"<!--@if($val->category_srl == $category_srl)--> class="selected"<!--@end-->>{$val->title}</a>
<!--@else-->
<a href="{getUrl('','module','admin','act','dispAutoinstallAdminIndex','category_srl',$val->category_srl,'childrenList','')}"<!--@if($val->category_srl == $category_srl)--> class="selected"<!--@end-->>{$val->title}</a>
<!--@end-->
<!--@if($val->nPackages)-->
<span>({$val->nPackages})</span>
<!--@end-->
<!--@if(count($val->children))-->
{@$_pDepth++}
<ul class="category">
<!--@else-->
</li>
<!--@end-->
<!--@end-->
<!--@for($i=0;$i<$_pDepth;$i++)-->
</ul>
<!--@end-->
</li>
</ul>
<div class="searchBox bottomLine">
<form action="{getUrl()}" method="get">
<input type="hidden" name="category_srl" value="{$category_srl}" />
<input type="hidden" name="module" value="admin" />
<input type="hidden" name="act" value="dispAutoinstallAdminIndex" />
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" class="input" />
<input type="image" src="./img/btn_search.gif" class="submit" />
</form>
</div>
<br />
<h3><a href="{getUrl('','module','admin','act','dispAutoinstallAdminInstalledPackages')}">{$lang->view_installed_packages}</a> <span>({$iCount})</span></h3>
</div>
</div>

View file

@ -1,96 +1,96 @@
<div class="content">
<!--@if($act == "dispAutoinstallAdminIndex")-->
<ul class="listOrder {$order_type}">
<!--@if($order_target=='newest')-->
<!--@if($order_type == 'desc')-->{@$_order_type = 'asc'}<!--@else-->{@$_order_type = 'desc'}<!--@end-->
<!--@else-->
{@$_order_type = 'desc'}
<!--@end-->
<li <!--@if($order_target=='newest')-->class="arrow"<!--@end-->><a href="{getUrl('order_target','newest','order_type',$_order_type)}">{$lang->order_newest}</a></li>
<!--@if($order_target=='download')-->
<!--@if($order_type == 'desc')-->{@$_order_type = 'asc'}<!--@else-->{@$_order_type = 'desc'}<!--@end-->
<!--@else-->
{@$_order_type = 'desc'}
<!--@end-->
<li <!--@if($order_target=='download')-->class="arrow"<!--@end-->><a href="{getUrl('order_target','download','order_type',$_order_type)}">{$lang->order_download}</a></li>
<!--@if($order_target=='popular')-->
<!--@if($order_type == 'desc')-->{@$_order_type = 'asc'}<!--@else-->{@$_order_type = 'desc'}<!--@end-->
<!--@else-->
{@$_order_type = 'desc'}
<!--@end-->
<li <!--@if($order_target=='popular')-->class="arrow"<!--@end-->><a href="{getUrl('order_target','popular','order_type',$_order_type)}">{$lang->order_popular}</a></li>
</ul>
<!--@end-->
<table class="updateList" border="1" cellspacing="0">
<col width="120" /><col />
<!--@foreach($item_list as $key => $val)-->
<tr>
{@ $target_url = $original_site."?mid=download&package_srl=".$val->package_srl; }
<th><a href="{$target_url}"><img src="{str_replace('./', $uri, $val->item_screenshot_url)}" width="100" height="100" alt="" /></a></th>
<td>
<div class="title">
<h3>
<!--@if($val->category_srl)-->
<a href="{getUrl('category_srl',$val->category_srl)}">[{$categories[$val->category_srl]->title}]</a>
<!--@end-->
<a href="{$target_url}">{htmlspecialchars($val->title)} ver. {htmlspecialchars($val->item_version)}</a>
</h3>
<!--@if($val->current_version)-->
<p>{$lang->current_version} : {$val->current_version}
<!--@if($val->deps)-->
<br />
{$lang->dependant_list} :
<!--@foreach($val->deps as $package_srl)-->
{$installed[$package_srl]->title}.
<!--@endforeach-->
<!--@end-->
</p>
<div class="buttons">
<!--@if($val->avail_remove)-->
<a href="{getUrl('act','dispAutoinstallAdminUninstall','package_srl',$val->package_srl)}" class="button red strong"><span>{$lang->cmd_delete}</span></a>
<!--@end-->
<!--@if($val->need_update == 'Y')-->
<a href="{getUrl('act','dispAutoinstallAdminInstall','package_srl',$val->package_srl)}" class="button"><span>{$lang->update}</span></a>
<!--@end-->
</div>
<!--@else-->
<div class="buttons">
<a href="{getUrl('act','dispAutoinstallAdminInstall','package_srl',$val->package_srl)}" class="button"><span>{$lang->install}</span></a>
</div>
<!--@end-->
</div>
<div class="info">
<p class="desc">{cut_str(htmlspecialchars($val->package_description),200)}</p>
<p class="meta">
<span class="reputation">
<!--@for($i=0;$i<5;$i++)-->
<!--@if($i<$val->package_star)-->
<img src="./img/starOn.gif" alt="" />
<!--@else-->
<img src="./img/starOff.gif" alt="" />
<!--@end-->
<!--@end-->
<span>{sprintf("%0.1f",$val->package_voted/$val->package_voter*2)}/{number_format($val->package_voter)}</span>
</span>
<span class="lastUpdate">{$lang->package_update} {zdate($val->item_regdate, "Y-m-d H:i")}</span>
<span class="download">{$lang->package_downloaded_count} : {number_format($val->package_downloaded)}</span>
</p>
</div>
</td>
</tr>
<!--@end-->
</table>
<div class="pagination a1">
<a href="{getUrl('page','')}" class="prevEnd">{$lang->first_page}</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<strong>{$page_no}</strong>
<!--@else-->
<a href="{getUrl('page',$page_no)}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page)}" class="nextEnd">{$lang->last_page}</a>
</div>
</div>
<div class="content">
<!--@if($act == "dispAutoinstallAdminIndex")-->
<ul class="listOrder {$order_type}">
<!--@if($order_target=='newest')-->
<!--@if($order_type == 'desc')-->{@$_order_type = 'asc'}<!--@else-->{@$_order_type = 'desc'}<!--@end-->
<!--@else-->
{@$_order_type = 'desc'}
<!--@end-->
<li <!--@if($order_target=='newest')-->class="arrow"<!--@end-->><a href="{getUrl('order_target','newest','order_type',$_order_type)}">{$lang->order_newest}</a></li>
<!--@if($order_target=='download')-->
<!--@if($order_type == 'desc')-->{@$_order_type = 'asc'}<!--@else-->{@$_order_type = 'desc'}<!--@end-->
<!--@else-->
{@$_order_type = 'desc'}
<!--@end-->
<li <!--@if($order_target=='download')-->class="arrow"<!--@end-->><a href="{getUrl('order_target','download','order_type',$_order_type)}">{$lang->order_download}</a></li>
<!--@if($order_target=='popular')-->
<!--@if($order_type == 'desc')-->{@$_order_type = 'asc'}<!--@else-->{@$_order_type = 'desc'}<!--@end-->
<!--@else-->
{@$_order_type = 'desc'}
<!--@end-->
<li <!--@if($order_target=='popular')-->class="arrow"<!--@end-->><a href="{getUrl('order_target','popular','order_type',$_order_type)}">{$lang->order_popular}</a></li>
</ul>
<!--@end-->
<table class="updateList" border="1" cellspacing="0">
<col width="120" /><col />
<!--@foreach($item_list as $key => $val)-->
<tr>
{@ $target_url = $original_site."?mid=download&package_srl=".$val->package_srl; }
<th><a href="{$target_url}"><img src="{str_replace('./', $uri, $val->item_screenshot_url)}" width="100" height="100" alt="" /></a></th>
<td>
<div class="title">
<h3>
<!--@if($val->category_srl)-->
<a href="{getUrl('category_srl',$val->category_srl)}">[{$categories[$val->category_srl]->title}]</a>
<!--@end-->
<a href="{$target_url}">{htmlspecialchars($val->title)} ver. {htmlspecialchars($val->item_version)}</a>
</h3>
<!--@if($val->current_version)-->
<p>{$lang->current_version} : {$val->current_version}
<!--@if($val->deps)-->
<br />
{$lang->dependant_list} :
<!--@foreach($val->deps as $package_srl)-->
{$installed[$package_srl]->title}.
<!--@endforeach-->
<!--@end-->
</p>
<div class="buttons">
<!--@if($val->avail_remove)-->
<a href="{getUrl('act','dispAutoinstallAdminUninstall','package_srl',$val->package_srl)}" class="button red strong"><span>{$lang->cmd_delete}</span></a>
<!--@end-->
<!--@if($val->need_update == 'Y')-->
<a href="{getUrl('act','dispAutoinstallAdminInstall','package_srl',$val->package_srl)}" class="button"><span>{$lang->update}</span></a>
<!--@end-->
</div>
<!--@else-->
<div class="buttons">
<a href="{getUrl('act','dispAutoinstallAdminInstall','package_srl',$val->package_srl)}" class="button"><span>{$lang->install}</span></a>
</div>
<!--@end-->
</div>
<div class="info">
<p class="desc">{cut_str(htmlspecialchars($val->package_description),200)}</p>
<p class="meta">
<span class="reputation">
<!--@for($i=0;$i<5;$i++)-->
<!--@if($i<$val->package_star)-->
<img src="./img/starOn.gif" alt="" />
<!--@else-->
<img src="./img/starOff.gif" alt="" />
<!--@end-->
<!--@end-->
<span>{sprintf("%0.1f",$val->package_voted/$val->package_voter*2)}/{number_format($val->package_voter)}</span>
</span>
<span class="lastUpdate">{$lang->package_update} {zdate($val->item_regdate, "Y-m-d H:i")}</span>
<span class="download">{$lang->package_downloaded_count} : {number_format($val->package_downloaded)}</span>
</p>
</div>
</td>
</tr>
<!--@end-->
</table>
<div class="pagination a1">
<a href="{getUrl('page','')}" class="prevEnd">{$lang->first_page}</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<strong>{$page_no}</strong>
<!--@else-->
<a href="{getUrl('page',$page_no)}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page)}" class="nextEnd">{$lang->last_page}</a>
</div>
</div>