From 455091f7e8a3b4a77c42af940216eda65461ffcd Mon Sep 17 00:00:00 2001 From: flyskyko Date: Wed, 30 May 2012 07:34:19 +0000 Subject: [PATCH] Adds comments for phpDoc git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@10753 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../autoinstall.admin.controller.php | 62 ++++- .../autoinstall/autoinstall.admin.view.php | 155 ++++++++++- modules/autoinstall/autoinstall.class.php | 49 +++- modules/autoinstall/autoinstall.lib.php | 242 +++++++++++++++++- modules/autoinstall/autoinstall.model.php | 117 ++++++++- modules/autoinstall/autoinstall.view.php | 13 +- 6 files changed, 609 insertions(+), 29 deletions(-) diff --git a/modules/autoinstall/autoinstall.admin.controller.php b/modules/autoinstall/autoinstall.admin.controller.php index a1d3d34bb..672deb1ba 100644 --- a/modules/autoinstall/autoinstall.admin.controller.php +++ b/modules/autoinstall/autoinstall.admin.controller.php @@ -1,29 +1,47 @@ download_path); } + /** + * Update easy install information + * + * @return Object + */ function procAutoinstallAdminUpdateinfo() { $this->_updateinfo(); @@ -31,6 +49,11 @@ $this->setRedirectUrl(Context::get('error_return_url')); } + /** + * Update easy install information + * + * @return void + */ function _updateinfo(){ $oModel = &getModel('autoinstall'); $item = $oModel->getLatestPackage(); @@ -49,6 +72,11 @@ $this->checkInstalled(); } + /** + * Update installed package information + * + * @return void + */ function checkInstalled() { executeQuery("autoinstall.deleteInstalledPackage"); @@ -122,6 +150,11 @@ } } + /** + * Install package + * + * @return Object + */ function procAutoinstallAdminPackageinstall() { @set_time_limit(0); @@ -175,6 +208,12 @@ } } + /** + * Update package informations using recieved data from server + * + * @param object $xmlDoc Recieved data + * @return void + */ function updatePackages(&$xmlDoc) { $oModel =& getModel('autoinstall'); @@ -207,6 +246,12 @@ } } + /** + * Update category using recived data from server. + * + * @param object $xmlDoc Recived data + * @return void + */ function updateCategory(&$xmlDoc) { executeQuery("autoinstall.deleteCategory"); @@ -227,6 +272,11 @@ } } + /** + * Uninstall package + * + * @return Object + */ function procAutoinstallAdminUninstallPackage() { $package_srl = Context::get('package_srl'); diff --git a/modules/autoinstall/autoinstall.admin.view.php b/modules/autoinstall/autoinstall.admin.view.php index fa79de62f..b5ac7e5f3 100644 --- a/modules/autoinstall/autoinstall.admin.view.php +++ b/modules/autoinstall/autoinstall.admin.view.php @@ -1,16 +1,27 @@ module_path); Context::set('original_site', _XE_LOCATION_SITE_); @@ -28,6 +39,45 @@ Context::set('iCount', $oModel->getInstalledPackageCount()); } + /** + * Rearrange one item + * + *
+		 * $item:
+		 * stdClass Object
+		 * (
+		 *	[category_srl] => stdClass Object
+		 *		(
+		 *			[body] => xxx
+		 *		)
+		 *	[package_srl] => stdClass Object
+		 *		(
+		 *			[body] => xxx
+		 *		)
+		 *	...
+		 *	[depfrom] => stdClass Object
+		 *		(
+		 *			[body] => xxx
+		 *		)
+		 * )
+		 *
+		 * $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');
+		 *
+		 * returns:
+		 * stdClass Object
+		 * (
+		 *	[category_srl] => xxx
+		 *	[package_srl] => xxx
+		 *	...
+		 *	[depfrom] => xxx
+		 * )
+		 * 
+ * + * @param object $item + * @param object $targets + * @return object + */ function rearrange(&$item, &$targets) { $ret = null; @@ -38,6 +88,76 @@ return $ret; } + /** + * Rearrage all item + * + *
+		 * $items:
+		 * Array
+		 * (
+		 *	[0] => stdClass Object
+		 *		(
+		 *			[category_srl] => stdClass Object
+		 *				(
+		 *					[body] => xxx
+		 *				)
+		 *			[package_srl] => stdClass Object
+		 *				(
+		 *					[body] => xxx
+		 *				)
+		 *			...
+		 *			[depfrom] => stdClass Object
+		 *				(
+		 *					[body] => xxx
+		 *				)
+		 *		)
+		 *	[1] => stdClass Object
+		 *		(
+		 *			...
+		 *		)
+		 *	...
+		 * )
+		 *
+		 * $packages:
+		 * Array
+		 * (
+		 *	[package_srl] => stdClass Object
+		 *		(
+		 *			[current_version] => xxx
+		 *			[need_update] => xxx
+		 *			[path] => xxx
+		 *			...
+		 *		)
+		 *	...
+		 * )
+		 *
+		 * return:
+		 * Array
+		 * (
+		 *	[package_srl] => stdClass Object
+		 *		(
+		 *			[category_srl] => xxx
+		 *			[package_srl] => xxx
+		 *			...
+		 *			[category] => xxx
+		 *			[current_version] => xxx
+		 *			[type] => xxx
+		 *			[need_update] => xxx
+		 *			[avail_remove] => xxx
+		 *			[deps] => Array
+		 *				(
+		 *					[0] => xxx
+		 *					...
+		 *				)
+		 *		)
+		 *	...
+		 * )
+		 * 
+ * + * @param object $items Recived data from server + * @param object $packages Local data + * @return object + */ function rearranges($items, $packages = null) { if(!is_array($items)) $items = array($items); @@ -113,6 +233,11 @@ return $item_list; } + /** + * Display installed packages + * + * @return Object + */ function dispAutoinstallAdminInstalledPackages() { $page = Context::get('page'); @@ -146,6 +271,11 @@ $security->encodeHTML('item_list..'); } + /** + * Display install package + * + * @return Object + */ function dispAutoinstallAdminInstall() { $package_srl = Context::get('package_srl'); if(!$package_srl) return $this->dispAutoinstallAdminIndex(); @@ -219,6 +349,11 @@ $security->encodeHTML('package.' , 'package.depends..'); } + /** + * Display package list + * + * @return Object + */ function dispAutoinstallAdminIndex() { $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('autoinstall'); @@ -254,7 +389,7 @@ return; } } - unset($_SESSION['__XE_EASYiNSTALL_REDIRECT__']); + unset($_SESSION['__XE_EASYINSTALL_REDIRECT__']); $page = Context::get('page'); if(!$page) $page = 1; @@ -299,6 +434,11 @@ } + /** + * Display category + * + * @return void + */ function dispCategory() { $oModel = &getModel('autoinstall'); @@ -306,6 +446,11 @@ Context::set('categories', $this->categories); } + /** + * Display uninstall package + * + * @return Object + */ function dispAutoinstallAdminUninstall() { $package_srl = Context::get('package_srl'); diff --git a/modules/autoinstall/autoinstall.class.php b/modules/autoinstall/autoinstall.class.php index 648ff56f6..c99bd2302 100644 --- a/modules/autoinstall/autoinstall.class.php +++ b/modules/autoinstall/autoinstall.class.php @@ -1,11 +1,15 @@ '; @@ -19,6 +23,12 @@ return $xmlDoc; } + /** + * Request data to server and returns result + * + * @param array $params Request data + * @return object + */ function getXmlDoc(&$params) { $body = XmlGenerater::generate($params); @@ -30,9 +40,21 @@ } } + /** + * High class of the autoinstall module + * @author NHN (developers@xpressengine.com) + **/ class autoinstall extends ModuleObject { + /** + * Temporary directory path + */ var $tmp_dir = './files/cache/autoinstall/'; + /** + * Constructor + * + * @return void + */ function autoinstall() { $oModuleModel = &getModel('module'); @@ -44,7 +66,9 @@ } /** - * @brief for additional tasks required when installing + * For additional tasks required when installing + * + * @return Object **/ function moduleInstall() { $oModuleController = &getController('module'); @@ -54,7 +78,9 @@ } /** - * @brief method to check if installation is succeeded + * Method to check if installation is succeeded + * + * @return bool **/ function checkUpdate() { $oDB =& DB::getInstance(); @@ -82,7 +108,9 @@ } /** - * @brief Execute update + * Execute update + * + * @return Object **/ function moduleUpdate() { $oDB =& DB::getInstance(); @@ -118,7 +146,8 @@ } /** - * @brief Re-generate the cache file + * Re-generate the cache file + * @return Object **/ function recompileCache() { } diff --git a/modules/autoinstall/autoinstall.lib.php b/modules/autoinstall/autoinstall.lib.php index 42ffe36a5..d2210ba17 100644 --- a/modules/autoinstall/autoinstall.lib.php +++ b/modules/autoinstall/autoinstall.lib.php @@ -1,21 +1,75 @@ base_url = $url; } + /** + * Uninstall + * + * @return Object + */ function uninstall() { $oModel =& getModel('autoinstall'); @@ -33,11 +87,22 @@ return $output; } + /** + * Set a FTP password + * + * @param string $ftp_password The password to set. + * @return void + */ function setPassword($ftp_password) { $this->ftp_password = $ftp_password; } + /** + * Download file from server + * + * @return void + */ function _download() { if($this->package->path == ".") @@ -64,6 +129,13 @@ FileHandler::writeFile($this->download_file, $buff); } + /** + * Uninstall module. + * + * Call module's moduleUninstall() and drop all tables related module + * + * @return Object + */ function uninstallModule() { $path_array = explode("/", $this->package->path); @@ -87,6 +159,13 @@ return new Object(); } + /** + * Install module + * + * Call module's moduleInstall(), moduleUpdate() and create tables. + * + * @return void + */ function installModule() { $path = $this->package->path; @@ -116,6 +195,13 @@ } } + /** + * Install module. + * + * Download file and install module + * + * @return Object + */ function install() { $this->_download(); @@ -132,6 +218,11 @@ return new Object(); } + /** + * Untar a downloaded tar ball + * + * @return array Returns file list + */ function _unPack(){ require_once(_XE_PATH_.'libs/tar.class.php'); @@ -150,6 +241,12 @@ return $file_list; } + /** + * Remove directory + * + * @param string $path Path to remove + * @return Object + */ function _removeDir($path) { $real_path = FileHandler::getRealPath($path); $oDir = dir($path); @@ -179,17 +276,46 @@ } + /** + * Module installer for SFTP + * @author NHN (developers@xpressengine.com) + */ class SFTPModuleInstaller extends ModuleInstaller { + /** + * FTP information + * @var object + */ var $ftp_info = null; + + /** + * SFTP connection + * @var resource + */ var $connection = null; + + /** + * SFTP resource + * @var resource + */ var $sftp = null; + /** + * Constructor + * + * @param object $package Package information + * @return void + */ function SFTPModuleInstaller(&$package) { $this->package =& $package; $this->ftp_info = Context::getFTPInfo(); } + /** + * Connect to SFTP + * + * @return Object + */ function _connect() { if(!function_exists('ssh2_connect')) { @@ -216,9 +342,20 @@ return new Object(); } + /** + * Close + * + * @return void + */ function _close() { } + /** + * Remove file + * + * @param string $path Path to remove + * @return Object + */ function _removeFile($path) { if(substr($path, 0, 2) == "./") $path = substr($path, 2); @@ -231,6 +368,12 @@ return new Object(); } + /** + * Remove Directory + * + * @param string $path Path to remove + * @return Object + */ function _removeDir_real($path) { if(substr($path, 0, 2) == "./") $path = substr($path, 2); @@ -243,6 +386,12 @@ return new Object(); } + /** + * Copy directory + * + * @param array $file_list File list to copy + * @return Object + */ function _copyDir(&$file_list){ if(!$this->ftp_password) return new Object(-1,'msg_ftp_password_input'); @@ -270,17 +419,40 @@ } } - + /** + * Module installer for PHP FTP + * @author NHN (developers@xpressengine.com) + */ class PHPFTPModuleInstaller extends ModuleInstaller { + /** + * FTP information + * @var object + */ var $ftp_info = null; + + /** + * FTP connection + * @var resource + */ var $connection = null; + /** + * Constructor + * + * @param object $package Package information + * @var void + */ function PHPFTPModuleInstaller(&$package) { $this->package =& $package; $this->ftp_info = Context::getFTPInfo(); } + /** + * Connect to FTP + * + * @return Object + */ function _connect() { if($this->ftp_info->ftp_host) @@ -313,6 +485,12 @@ return new Object(); } + /** + * Remove file + * + * @param string $path Path to remove + * @return Object + */ function _removeFile($path) { if(substr($path, 0, 2) == "./") $path = substr($path, 2); @@ -325,6 +503,12 @@ return new Object(); } + /** + * Remove directory + * + * @param string $path Path to remove + * @return Object + */ function _removeDir_real($path) { if(substr($path, 0, 2) == "./") $path = substr($path, 2); @@ -338,10 +522,21 @@ } + /** + * Close + * + * @return void + */ function _close() { ftp_close($this->connection); } + /** + * Copy directory + * + * @param array $file_list File list to copy + * @return Object + */ function _copyDir(&$file_list) { if(!$this->ftp_password) return new Object(-1,'msg_ftp_password_input'); @@ -402,16 +597,39 @@ } } + /** + * Module installer for FTP + * @author NHN (developers@xpressengine.com) + */ class FTPModuleInstaller extends ModuleInstaller { + /** + * FTP instance + * @var FTP + */ var $oFtp = null; + + /** + * FTP information + * @var object + */ var $ftp_info = null; + /** + * Constructor + * + * @param object $package Package information + */ function FTPModuleInstaller(&$package) { $this->package =& $package; $this->ftp_info = Context::getFTPInfo(); } + /** + * Connect to FTP + * + * @return Object + */ function _connect() { if($this->ftp_info->ftp_host) { @@ -435,6 +653,12 @@ return new Object(); } + /** + * Remove file + * + * @param string $path Path to remove + * @return Object + */ function _removeFile($path) { if(substr($path, 0, 2) == "./") $path = substr($path, 2); @@ -447,6 +671,11 @@ return new Object(); } + /** + * Remove directory + * @param string $path Path to remove + * @return Object + */ function _removeDir_real($path) { if(substr($path, 0, 2) == "./") $path = substr($path, 2); @@ -459,10 +688,21 @@ return new Object(); } + /** + * Close + * + * @return void + */ function _close() { $this->oFtp->ftp_quit(); } + /** + * Copy directory + * + * @param array $file_list File list to copy + * @return Object + */ function _copyDir(&$file_list){ if(!$this->ftp_password) return new Object(-1,'msg_ftp_password_input'); diff --git a/modules/autoinstall/autoinstall.model.php b/modules/autoinstall/autoinstall.model.php index 38dabeaf0..9f512e78d 100644 --- a/modules/autoinstall/autoinstall.model.php +++ b/modules/autoinstall/autoinstall.model.php @@ -1,12 +1,16 @@ category_srl = $category_srl; @@ -15,6 +19,11 @@ return array_shift($output->data); } + /** + * Get packages information + * + * @return array + */ function getPackages() { $output = executeQueryArray("autoinstall.getPackages"); @@ -22,6 +31,12 @@ return $output->data; } + /** + * Get installed packages information + * + * @param int $package_srl The sequence of package to get information + * @return object + */ function getInstalledPackage($package_srl) { $args->package_srl = $package_srl; @@ -30,6 +45,12 @@ return array_shift($output->data); } + /** + * Get one package information + * + * @param int $package_srl The sequence of package to get information + * @return object + */ function getPackage($package_srl) { $args->package_srl = $package_srl; @@ -38,6 +59,11 @@ return array_shift($output->data); } + /** + * Get category list + * + * @return array + */ function getCategoryList() { $output = executeQueryArray("autoinstall.getCategories"); @@ -70,6 +96,12 @@ return $resultList; } + /** + * Get pcakge count in category + * + * @param int $category_srl The sequence of category to get count + * @return int + */ function getPackageCount($category_srl) { $args->category_srl = $category_srl; @@ -78,6 +110,11 @@ return $output->data->count; } + /** + * Get installed package count + * + * @return int + */ function getInstalledPackageCount() { $output = executeQuery("autoinstall.getInstalledPackageCount", $args); @@ -85,6 +122,15 @@ return $output->data->count; } + /** + * Set depth, children list and package count of category + * + * @param object $item Category information + * @param int $depth Depth of category + * @param array $list Category list + * @param array $resultList Final result list + * @return string $siblingList Comma seperated list + */ function setDepth(&$item, $depth, &$list, &$resultList) { $resultList[$item->category_srl] =& $item; @@ -102,12 +148,23 @@ return $siblingList; } + /** + * Get lastest package information + * + * @return object Returns lastest package information. If no result returns null. + */ function getLatestPackage() { $output = executeQueryArray("autoinstall.getLatestPackage"); if(!$output->data) return null; return array_shift($output->data); } + /** + * Get installed package informations + * + * @param array $package_list Package sequence list to get information + * @return array Returns array contains pacakge information. If no result returns empty array. + */ function getInstalledPackages($package_list) { $args->package_list = $package_list; $output = executeQueryArray("autoinstall.getInstalledPackages", $args); @@ -120,6 +177,12 @@ return $result; } + /** + * Get installed package list + * + * @param int $page + * @return Object + */ function getInstalledPackageList($page) { $args->page = $page; @@ -138,6 +201,12 @@ return $output; } + /** + * Get type using path + * + * @param string $path Path to get type + * @return string + */ function getTypeFromPath($path) { if(!$path) return null; @@ -148,6 +217,12 @@ return $type; } + /** + * Get config file path by type + * + * @param string $type Type to get config file path + * @return string + */ function getConfigFilePath($type) { $config_file = null; @@ -176,6 +251,12 @@ return $config_file; } + /** + * Returns target is removable + * + * @param string $path Path + * @return bool + */ function checkRemovable($path) { $path_array = explode("/", $path); @@ -186,6 +267,12 @@ else return false; } + /** + * Get sequence of package by path + * + * @param string $path Path to get sequence + * @return int + */ function getPackageSrlByPath($path) { if (!$path) return; @@ -203,6 +290,12 @@ return $GLOBLAS['XE_AUTOINSTALL_PACKAGE_SRL_BY_PATH'][$path]; } + /** + * Get remove url by package srl + * + * @param int $packageSrl Sequence of pakcage to get url + * @return string + */ function getRemoveUrlByPackageSrl($packageSrl) { $ftp_info = Context::getFTPInfo(); @@ -213,6 +306,12 @@ return getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAutoinstallAdminUninstall', 'package_srl', $packageSrl); } + /** + * Get remove url by path + * + * @param string $path Path to get url + * @return string + */ function getRemoveUrlByPath($path) { if (!$path) return; @@ -226,6 +325,12 @@ return getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAutoinstallAdminUninstall', 'package_srl', $packageSrl); } + /** + * Get update url by package srl + * + * @param int $packageSrl Sequence to get url + * @return string + */ function getUpdateUrlByPackageSrl($packageSrl) { if (!$packageSrl) return; @@ -233,6 +338,12 @@ return getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAutoinstallAdminInstall', 'package_srl', $packageSrl); } + /** + * Get update url by path + * + * @param string $path Path to get url + * @return string + */ function getUpdateUrlByPath($path) { if (!$path) return; diff --git a/modules/autoinstall/autoinstall.view.php b/modules/autoinstall/autoinstall.view.php index dc8b10307..97b788bcc 100644 --- a/modules/autoinstall/autoinstall.view.php +++ b/modules/autoinstall/autoinstall.view.php @@ -1,19 +1,24 @@