* @package convert * @version $Id$ * @link http://www.zentao.net */ class convert extends control { /** * Index page of convert. * * @access public * @return void */ public function index() { $this->convert->saveState(); $this->view->header->title = $this->lang->convert->common; $this->display(); } /** * Select the source system. * * @access public * @return void */ public function selectSource() { $this->view->header->title = $this->lang->convert->common . $this->lang->colon; $this->display(); } /** * Set configs of converter. * * This is the extrance of every system. It will call the set function of corresponding module. * * @access public * @return void */ public function setConfig() { if(!$this->post->source) { echo js::alert($this->lang->convert->mustSelectSource); die(js::locate('back')); } list($sourceName, $version) = explode('_', $this->post->source); $setFunc = "set$sourceName"; $this->view->header->title = $this->lang->convert->setting; $this->view->source = $sourceName; $this->view->version = $version; $this->view->setting = $this->fetch('convert', $setFunc, "version=$version"); $this->display(); } /** * The setting page of bugfree. * * @param string $version * @access public * @return void */ public function setBugFree($version) { $this->view->source = 'BugFree'; $this->view->version = $version; $this->view->tablePrefix = $version > 1 ? 'bf_' : ''; $this->view->dbName = $version > 1 ? 'bugfree2' : 'BugFree'; $this->view->dbCharset = 'utf8'; $this->display(); } /** * Check config. Same as setConfig. * * @access public * @return void */ public function checkConfig() { $checkFunc = 'check' . $this->post->source; $this->view->header->title = $this->lang->convert->checkConfig; $this->view->source = $this->post->source; $this->view->checkResult = $this->fetch('convert', $checkFunc, "version={$this->post->version}"); $this->display(); } /** * Check settings of bugfree. * * @param int $version * @access public * @return void */ public function checkBugFree($version) { helper::import('./converter/bugfree.php'); $converter = new bugfreeConvertModel(); /* Check it. */ $checkInfo['db'] = $converter->connectDB(); //if(is_object($checkInfo['db'])) $checkInfo['table'] = $converter->checkTables(); $checkInfo['path'] = $converter->checkPath(); /* Compute the checking result. */ $result = 'pass'; if(!is_object($checkInfo['db']) or !$checkInfo['path']) $result = 'fail'; /* Assign. */ $this->view->version = $version; $this->view->source = 'bugfree'; $this->view->result = $result; $this->view->checkInfo = $checkInfo; $this->display(); } /** * Execute the converting. * * @access public * @return void */ public function execute() { $convertFunc = 'convert' . $this->post->source; $this->view->header->title = $this->lang->convert->execute; $this->view->source = $this->post->source; $this->view->version = $this->post->version; $this->view->executeResult = $this->fetch('convert', $convertFunc, "version={$this->post->version}"); $this->display(); } /** * Convert bugfree. * * @param int $version * @access public * @return void */ public function convertBugFree($version) { helper::import('./converter/bugfree.php'); helper::import("./converter/bugfree$version.php"); $className = "bugfree{$version}ConvertModel"; $converter = new $className(); $this->view->version = $version; $this->view->result = $converter->execute($version); $this->view->info = bugfreeConvertModel::$info; $this->display(); } }