public function actionGetSlice($num) { $parser = new MySQLParser(); $parser->fileName = $this->getFilePath(); $sql = $parser->getSlice($num); if ($sql) { $arrReplace = array('{adminName}', '{adminPass}', '{adminSalt}', '{adminEmail}', '{dbPrefix}', '{siteName}', '{siteKeywords}', '{siteDescription}'); $arrReplaceVal = array(Yii::app()->user->getState('adminName'), Yii::app()->user->getState('adminPass'), Yii::app()->user->getState('adminSalt'), Yii::app()->user->getState('adminEmail'), Yii::app()->user->getState('dbPrefix'), Yii::app()->user->getState('siteName'), Yii::app()->user->getState('siteKeywords'), Yii::app()->user->getState('siteDescription')); $sql = str_replace($arrReplace, $arrReplaceVal, $sql); $matched = preg_match("/CREATE TABLE IF NOT EXISTS `([^`]+)`/", $sql, $matches); if (!$matched) { $matched = preg_match("/CREATE TABLE `([^`]+)`/", $sql, $matches); } if ($matched) { echo 'Creating table `' . $matches[1] . '` ... '; } $command = Yii::app()->db->createCommand($sql); $command->execute(); $command->reset(); if ($matched) { echo 'OK<br/>'; } } }