예제 #1
0
 /**
  * @param $version
  * @param $build
  * @param $releaseDate
  * @return bool
  */
 public function setNewCraftInfo($version, $build, $releaseDate)
 {
     $info = Craft::getInfo();
     $info->version = $version;
     $info->build = $build;
     $info->releaseDate = $releaseDate;
     // TODO: Deprecate after next breakpoint release.
     $info->track = 'stable';
     return Craft::saveInfo($info);
 }
 /**
  * Saves the general settings.
  */
 public function actionSaveGeneralSettings()
 {
     $this->requirePostRequest();
     $info = Craft::getInfo();
     $info->on = (bool) craft()->request->getPost('on');
     $info->siteName = craft()->request->getPost('siteName');
     $info->siteUrl = craft()->request->getPost('siteUrl');
     $info->timezone = craft()->request->getPost('timezone');
     if (Craft::saveInfo($info)) {
         craft()->userSession->setNotice(Craft::t('General settings saved.'));
         $this->redirectToPostedUrl();
     } else {
         craft()->userSession->setError(Craft::t('Couldn’t save general settings.'));
         // Send the info back to the template
         craft()->urlManager->setRouteVariables(array('info' => $info));
     }
 }
예제 #3
0
 /**
  * Populates the info table with install and environment information.
  *
  * @access private
  * @param $inputs
  * @throws Exception
  */
 private function _createAndPopulateInfoTable($inputs)
 {
     Craft::log('Creating the info table.');
     craft()->db->createCommand()->createTable('info', array('version' => array('column' => ColumnType::Char, 'length' => 15, 'null' => false), 'build' => array('column' => ColumnType::Int, 'length' => 11, 'unsigned' => true, 'null' => false), 'packages' => array('column' => ColumnType::Varchar, 'length' => 200), 'releaseDate' => array('column' => ColumnType::DateTime, 'null' => false), 'siteName' => array('column' => ColumnType::Varchar, 'length' => 100, 'null' => false), 'siteUrl' => array('column' => ColumnType::Varchar, 'length' => 255, 'null' => false), 'timezone' => array('column' => ColumnType::Varchar, 'length' => 30), 'on' => array('column' => ColumnType::TinyInt, 'length' => 1, 'unsigned' => true, 'default' => false, 'null' => false), 'maintenance' => array('column' => ColumnType::TinyInt, 'length' => 1, 'unsigned' => true, 'default' => false, 'null' => false), 'track' => array('column' => ColumnType::Varchar, 'maxLength' => 40, 'required' => true)));
     Craft::log('Finished creating the info table.');
     Craft::log('Populating the info table.');
     $info = new InfoModel(array('version' => CRAFT_VERSION, 'build' => CRAFT_BUILD, 'releaseDate' => CRAFT_RELEASE_DATE, 'siteName' => $inputs['siteName'], 'siteUrl' => $inputs['siteUrl'], 'on' => 1, 'maintenance' => 0, 'track' => 'stable'));
     if (Craft::saveInfo($info)) {
         Craft::log('Info table populated successfully.');
     } else {
         Craft::log('Could not populate the info table.', LogLevel::Error);
         throw new Exception(Craft::t('There was a problem saving to the info table:') . $this->_getFlattenedErrors($info->getErrors()));
     }
 }