* @package admin * @version $Id: control.php 4460 2013-02-26 02:28:02Z chencongzhi520@gmail.com $ * @link http://www.zentao.net */ class admin extends control { /** * Index page. * @access public * @return void */ public function index() { $community = zget($this->config->global, 'community'); if(!$community or $community == 'na') { $this->view->bind = false; $this->view->account = false; $this->view->ignore = $community == 'na'; } else { $this->view->bind = true; $this->view->account = $community; $this->view->ignore = false; } $this->app->loadLang('misc'); $this->view->title = $this->lang->admin->common; $this->display(); } /** * Ignore notice of register and bind. * * @access public * @return void */ public function ignore() { $this->loadModel('setting')->setItem('system.common.global.community', 'na'); die(js::locate(inlink('index'), 'parent')); } /** * Register zentao. * * @access public * @return void */ public function register() { if($_POST) { $response = $this->admin->registerByAPI(); if($response == 'success') { $this->loadModel('setting')->setItem('system.common.global.community', $this->post->account); echo js::alert($this->lang->admin->register->success); die(js::locate(inlink('index'), 'parent')); } die($response); } $this->view->register = $this->admin->getRegisterInfo(); $this->view->sn = $this->config->global->sn; $this->display(); } /** * Bind zentao. * * @access public * @return void */ public function bind() { if($_POST) { $response = $this->admin->bindByAPI(); if($response == 'success') { $this->loadModel('setting')->setItem('system.common.global.community', $this->post->account); echo js::alert($this->lang->admin->bind->success); die(js::locate(inlink('index'), 'parent')); } die($response); } $this->view->sn = $this->config->global->sn; $this->display(); } /** * Check all tables. * * @access public * @return void */ public function checkDB() { $tables = $this->dbh->query('SHOW TABLES')->fetchAll(); foreach($tables as $table) { $tableName = current((array)$table); $result = $this->dbh->query("REPAIR TABLE $tableName")->fetch(); echo "Repairing TABLE: " . $result->Table . "\t" . $result->Msg_type . ":" . $result->Msg_text . "\n"; } } /** * Rename table for from windows to linux. * * @access public * @return void */ public function win2Unix() { $renameTables = $this->config->win2Unix->renameTables; $existTables = $this->dbh->query('SHOW TABLES')->fetchAll(); foreach($existTables as $key => $table) $existTables[$key] = current((array)$table); $existTables = array_flip($existTables); foreach($renameTables as $oldTable => $newTable) { if(isset($existTables[$newTable])) { echo "Has existed table '$newTable'\n"; } elseif(!isset($existTables[$oldTable])) { echo "No found table '$oldTable'\n"; } else { $this->dbh->query("RENAME TABLE `$oldTable` TO `$newTable`"); echo "RENAME TABLE `$oldTable` TO `$newTable`\n"; } } echo "Finish!\n"; } /** * Confirm clear data. * * @param string $confirm ''|no|yes * @access public * @return void */ public function clearData($confirm = '') { if($confirm == 'no') { die(js::confirm($this->lang->admin->confirmClearData, inlink('clearData', "confirm=yes"))); } elseif($confirm == 'yes') { $result = $this->admin->clearData(); if(!$result) die(js::alert($this->lang->admin->clearDataFailed)); js::alert($this->lang->admin->clearDataSuccessfully); die(js::locate(inLink('index'), 'parent')); } $this->display(); } /** * Set flow. * * @access public * @return void */ public function setFlow() { if($_POST) { $this->loadModel('setting')->setItem('system.common.global.flow', $this->post->flow, 0); if($this->post->flow != 'full') die(js::locate($this->createLink('extension', 'install', "extension={$this->config->admin->flow2Ext[$this->post->flow]}"), 'parent')); die(js::reload( 'parent.parent')); } $this->display(); } }