mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-06 10:11:38 +09:00
Close Connection when there is no connection value.
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@13161 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
034a5c0288
commit
f70ce644ce
1410 changed files with 7188 additions and 53541 deletions
|
|
@ -136,7 +136,7 @@ class autoinstallAdminController extends autoinstall
|
|||
$type = "theme";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if(!$config_file)
|
||||
{
|
||||
continue;
|
||||
|
|
@ -144,7 +144,7 @@ class autoinstallAdminController extends autoinstall
|
|||
|
||||
$xml = new XmlParser();
|
||||
$xmlDoc = $xml->loadXmlFile($real_path . $config_file);
|
||||
|
||||
|
||||
if(!$xmlDoc)
|
||||
{
|
||||
continue;
|
||||
|
|
@ -329,7 +329,7 @@ class autoinstallAdminController extends autoinstall
|
|||
$oModel = getModel('autoinstall');
|
||||
$package = $oModel->getPackage($package_srl);
|
||||
|
||||
$this->_uninstallPackage($package);
|
||||
return $this->_uninstallPackage($package);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -340,7 +340,7 @@ class autoinstallAdminController extends autoinstall
|
|||
function uninstallPackageByPath($path)
|
||||
{
|
||||
$package->path = $path;
|
||||
$this->_uninstallPackage($package);
|
||||
return $this->_uninstallPackage($package);
|
||||
}
|
||||
|
||||
private function _uninstallPackage($package)
|
||||
|
|
@ -383,6 +383,8 @@ class autoinstallAdminController extends autoinstall
|
|||
$this->_updateinfo();
|
||||
|
||||
$this->setMessage('success_deleted', 'update');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -242,6 +242,111 @@ class autoinstallAdminModel extends autoinstall
|
|||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get install info
|
||||
*
|
||||
* @param int $packageSrl Package sequence to get info
|
||||
* @return stdClass install info
|
||||
*/
|
||||
public function getInstallInfo($packageSrl)
|
||||
{
|
||||
$params["act"] = "getResourceapiInstallInfo";
|
||||
$params["package_srl"] = $packageSrl;
|
||||
$xmlDoc = XmlGenerater::getXmlDoc($params);
|
||||
$oModel = getModel('autoinstall');
|
||||
|
||||
$targetpackages = array();
|
||||
if($xmlDoc)
|
||||
{
|
||||
$xmlPackage = $xmlDoc->response->package;
|
||||
$package = new stdClass();
|
||||
$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 = new stdClass();
|
||||
$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;
|
||||
|
||||
if($dep->path === '.')
|
||||
{
|
||||
$package->contain_core = TRUE;
|
||||
}
|
||||
}
|
||||
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, ">");
|
||||
}
|
||||
|
||||
if($package->path === '.')
|
||||
{
|
||||
$package->contain_core = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return $package;
|
||||
}
|
||||
|
||||
/**
|
||||
* get install info (act)
|
||||
*/
|
||||
public function getAutoInstallAdminInstallInfo()
|
||||
{
|
||||
$packageSrl = Context::get('package_srl');
|
||||
if(!$packageSrl)
|
||||
{
|
||||
return new Object(-1, 'msg_invalid_request');
|
||||
}
|
||||
|
||||
$package = $this->getInstallInfo($packageSrl);
|
||||
$this->add('package', $package);
|
||||
}
|
||||
|
||||
}
|
||||
/* End of file autoinstall.admin.model.php */
|
||||
/* Location: ./modules/autoinstall/autoinstall.admin.model.php */
|
||||
|
|
|
|||
|
|
@ -272,6 +272,8 @@ class autoinstallAdminView extends autoinstall
|
|||
}
|
||||
|
||||
Context::set('installed', $installed);
|
||||
$oSecurity = new Security();
|
||||
$oSecurity->encodeHTML('installed..');
|
||||
|
||||
foreach($installed as $key => $val)
|
||||
{
|
||||
|
|
@ -354,85 +356,11 @@ class autoinstallAdminView extends autoinstall
|
|||
return $this->dispAutoinstallAdminIndex();
|
||||
}
|
||||
|
||||
$params["act"] = "getResourceapiInstallInfo";
|
||||
$params["package_srl"] = $package_srl;
|
||||
$xmlDoc = XmlGenerater::getXmlDoc($params);
|
||||
$oModel = getModel('autoinstall');
|
||||
$oAdminModel = getAdminModel('autoinstall');
|
||||
$package = $oAdminModel->getInstallInfo($package_srl);
|
||||
|
||||
$targetpackages = array();
|
||||
if($xmlDoc)
|
||||
{
|
||||
$xmlPackage = & $xmlDoc->response->package;
|
||||
$package = new stdClass();
|
||||
$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 = new stdClass();
|
||||
$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;
|
||||
|
||||
if($dep->path === '.')
|
||||
{
|
||||
Context::set('contain_core', TRUE);
|
||||
}
|
||||
}
|
||||
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($package->path === '.')
|
||||
{
|
||||
Context::set('contain_core', TRUE);
|
||||
}
|
||||
}
|
||||
Context::set("package", $package);
|
||||
Context::set('contain_core', $package->contain_core);
|
||||
|
||||
if(!$_SESSION['ftp_password'])
|
||||
{
|
||||
|
|
@ -545,7 +473,7 @@ class autoinstallAdminView extends autoinstall
|
|||
}
|
||||
|
||||
$security = new Security();
|
||||
$security->encodeHTML('package.', 'package.depends..');
|
||||
$security->encodeHTML('package.', 'package.depends..', 'item_list..');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -375,7 +375,7 @@ class SFTPModuleInstaller extends ModuleInstaller
|
|||
$ftp_host = "127.0.0.1";
|
||||
}
|
||||
$this->connection = ssh2_connect($ftp_host, $this->ftp_info->ftp_port);
|
||||
if(!ssh2_auth_password($this->connection, $this->ftp_info->ftp_user, $this->ftp_password))
|
||||
if(!@ssh2_auth_password($this->connection, $this->ftp_info->ftp_user, $this->ftp_password))
|
||||
{
|
||||
return new Object(-1, 'msg_ftp_invalid_auth_info');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -225,6 +225,10 @@ class autoinstallModel extends autoinstall
|
|||
$args->page = $page;
|
||||
$args->list_count = 10;
|
||||
$args->page_count = 5;
|
||||
if(Context::getDBType() == 'mssql')
|
||||
{
|
||||
$args->sort_index = 'package_srl';
|
||||
}
|
||||
$output = executeQueryArray("autoinstall.getInstalledPackageList", $args);
|
||||
$res = array();
|
||||
if($output->data)
|
||||
|
|
@ -282,6 +286,7 @@ class autoinstallModel extends autoinstall
|
|||
case "addon":
|
||||
case "layout":
|
||||
case "widget":
|
||||
case 'theme': // for backward compatibility
|
||||
$config_file = "/conf/info.xml";
|
||||
break;
|
||||
case "component":
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
<action name="getAutoinstallAdminLayoutPackageList" type="model" />
|
||||
<action name="getAutoinstallAdminSkinPackageList" type="model" />
|
||||
<action name="getAutoinstallAdminIsAuthed" type="model" />
|
||||
<action name="getAutoInstallAdminInstallInfo" type="model" />
|
||||
</actions>
|
||||
<menus>
|
||||
<menu name="easyInstall">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<load target="./css/autoinstall.css" index="11" />
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->autoinstall} <a class="x_icon-question-sign" href="./help/index.html#UMAN_advanced_easyinstall" target="_blank">{$lang->help}</a></h1>
|
||||
<h1>{$lang->autoinstall} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_advanced_easyinstall" target="_blank">{$lang->help}</a></h1>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,18 @@
|
|||
<include target="header.html" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
{@
|
||||
$from_id = array(
|
||||
'modules/autoinstall/tpl/install/1' => 1,
|
||||
'modules/autoinstall/tpl/index/1' => 1,
|
||||
'modules/autoinstall/tpl/uninstall/1' => 1
|
||||
);
|
||||
}
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && isset($from_id[$XE_VALIDATOR_ID])" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="" method="post">
|
||||
<input type="hidden" name="module" value="autoinstall" />
|
||||
<input type="hidden" name="act" value="procAutoinstallAdminUpdateinfo" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/autoinstall/tpl/index/1" />
|
||||
<p>
|
||||
<block cond="$show_ftp_note">
|
||||
{@$ftp_link = sprintf('<a href="%s">%s</a>', getUrl('', 'module', 'admin', 'act', 'dispAdminConfigFtp'), $lang->ftp_setup)}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<p><a class="x_btn x_btn-primary x_pull-right" href="{_XE_DOWNLOAD_SERVER_}?module=resourceapi&act=procResourceapiDownload&package_srl={$package->package_srl}">{$lang->cmd_download}</a>
|
||||
</div>
|
||||
<div cond="!$show_ftp_note">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="x_alert x_alert-error">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/autoinstall/tpl/install/1'" class="message error">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="./" class="x_form-horizontal" method="post" ruleset="ftp">
|
||||
|
|
@ -41,6 +41,7 @@
|
|||
<input type="hidden" name="package_srl" value="{$package->package_srl}" />
|
||||
<input type="hidden" name="return_url" value="{$return_url}" />
|
||||
<input cond="!$need_password" type="hidden" name="ftp_password" value="dummy" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/autoinstall/tpl/install/1" />
|
||||
|
||||
<block cond="$need_password">
|
||||
<div class="x_control-group">
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@
|
|||
<!--@else-->
|
||||
{@$_popular_order_type = 'desc'}
|
||||
<!--@end-->
|
||||
<a href="{getUrl('order_target','newest','order_type',$_newest_order_type)}" class="active"|cond="$order_target == 'newest'">{$lang->order_newest} <i cond="$order_target == 'newest'" class="x_icon-circle-arrow-down"|cond="$_newest_order_type == 'asc'" class="x_icon-circle-arrow-up"|cond="$_newest_order_type == 'desc'">{$_newest_order_type}</i></a>
|
||||
<a href="{getUrl('order_target','newest','order_type',$_newest_order_type,page,'')}" class="active"|cond="$order_target == 'newest'">{$lang->order_newest} <i cond="$order_target == 'newest'" class="x_icon-circle-arrow-down"|cond="$_newest_order_type == 'asc'" class="x_icon-circle-arrow-up"|cond="$_newest_order_type == 'desc'">{$_newest_order_type}</i></a>
|
||||
<i>|</i>
|
||||
<a href="{getUrl('order_target','download','order_type',$_download_order_type)}" class="active"|cond="$order_target == 'download'">{$lang->order_download} <i cond="$order_target == 'download'" class="x_icon-circle-arrow-down"|cond="$_download_order_type == 'asc'" class="x_icon-circle-arrow-up"|cond="$_download_order_type == 'desc'">{$_download_order_type}</i></a>
|
||||
<a href="{getUrl('order_target','download','order_type',$_download_order_type,page,'')}" class="active"|cond="$order_target == 'download'">{$lang->order_download} <i cond="$order_target == 'download'" class="x_icon-circle-arrow-down"|cond="$_download_order_type == 'asc'" class="x_icon-circle-arrow-up"|cond="$_download_order_type == 'desc'">{$_download_order_type}</i></a>
|
||||
<i>|</i>
|
||||
<a href="{getUrl('order_target','popular','order_type',$_popular_order_type)}" class="active"|cond="$order_target == 'popular'">{$lang->order_popular} <i cond="$order_target == 'popular'" class="x_icon-circle-arrow-down"|cond="$_popular_order_type == 'asc'" class="x_icon-circle-arrow-up"|cond="$_popular_order_type == 'desc'">{$_popular_order_type}</i></a></li>
|
||||
<a href="{getUrl('order_target','popular','order_type',$_popular_order_type,page,'')}" class="active"|cond="$order_target == 'popular'">{$lang->order_popular} <i cond="$order_target == 'popular'" class="x_icon-circle-arrow-down"|cond="$_popular_order_type == 'asc'" class="x_icon-circle-arrow-up"|cond="$_popular_order_type == 'desc'">{$_popular_order_type}</i></a></li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
<img src="{str_replace('./', $uri, $item->item_screenshot_url)}" alt="" style="width:80px;height:80px" />
|
||||
</div>
|
||||
<div class="text">
|
||||
<h3><span class="x_label x_label-info">{$item->category}</span> <a href="{$target_url}" title="{htmlspecialchars($item->title)}" target="_blank">{htmlspecialchars($item->title)}</a></h3>
|
||||
<h3><span class="x_label x_label-info">{$item->category}</span> <a href="{$target_url}" title="{$item->title}" target="_blank">{$item->title}</a></h3>
|
||||
<p>
|
||||
<block cond="(int)$item->package_voter > 0">
|
||||
<span class="starRating"><span style="width:{sprintf("%d",$item->package_voted/$item->package_voter*20)}%">{sprintf("%0.1f",$item->package_voted/$item->package_voter*2)}{sprintf($lang->rate, $item->package_start)}</span></span>
|
||||
|
|
@ -97,8 +97,8 @@
|
|||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p><span class="x_label x_label-info">{$item->category}</span> <a href="{$target_url}" target="_blank">{htmlspecialchars($item->title)}</a></p>
|
||||
<p style="margin:5px 0">{cut_str(htmlspecialchars($item->package_description),200)}</p>
|
||||
<p><span class="x_label x_label-info">{$item->category}</span> <a href="{$target_url}" target="_blank">{$item->title}</a></p>
|
||||
<p style="margin:5px 0">{cut_str($item->package_description,200)}</p>
|
||||
<p style="margin:5px 0">
|
||||
<block cond="(int)$item->package_voter > 0">
|
||||
<span class="starRating"><span style="width:{sprintf("%d",$item->package_voted/$item->package_voter*20)}%">{sprintf("%0.1f",$item->package_voted/$item->package_voter*2)}{sprintf($lang->rate, $item->package_start)}</span></span>
|
||||
|
|
@ -118,8 +118,8 @@
|
|||
<li loop="$item->deps => $package_srl">{$installed[$package_srl]->title}</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>{htmlspecialchars($item->item_version)}</td>
|
||||
<td>{htmlspecialchars($item->current_version)}</td>
|
||||
<td>{$item->item_version}</td>
|
||||
<td>{$item->current_version}</td>
|
||||
<td>
|
||||
<span class="x_btn-group">
|
||||
<a cond="$item->current_version && $item->need_update != 'Y'" class="x_btn x_disabled" href="#">{$lang->installed}</a>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<p>{$lang->description_uninstall}</p>
|
||||
</div>
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="x_alert x_alert-error">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/autoinstall/tpl/uninstall/1'" class="message error">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="./" class="x_form-horizontal" method="post" ruleset="ftp">
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
<input type="hidden" name="package_srl" value="{$package_srl}" />
|
||||
<input type="hidden" name="return_url" value="{$return_url}" />
|
||||
<input cond="!$need_password" type="hidden" name="ftp_password" value="dummy" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/autoinstall/tpl/uninstall/1" />
|
||||
|
||||
<block cond="$need_password">
|
||||
<div class="x_control-group">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue