예제 #1
0
 /**
  * Dump all tables
  *
  * @return string
  */
 public function run()
 {
     $this->_currentVersion = 'v' . Craft::getVersion() . '.' . Craft::getBuild();
     $result = $this->_processHeader();
     foreach (craft()->db->getSchema()->getTables() as $tableName => $val) {
         $result .= $this->_processTable($tableName);
     }
     $result .= $this->_processConstraints();
     $result .= $this->_processFooter();
     $fileName = IOHelper::cleanFilename(Craft::getSiteName()) . '_' . gmdate('ymd_His') . '_' . $this->_currentVersion . '.sql';
     $filePath = craft()->path->getDbBackupPath() . strtolower($fileName);
     IOHelper::writeToFile($filePath, $result);
     return $filePath;
 }
예제 #2
0
 /**
  * Returns the site name.
  *
  * @return string
  */
 public function getSiteName()
 {
     return Craft::getSiteName();
 }
 /**
  * Returns a list of global variables to add to the existing list.
  *
  * @return array An array of global variables
  */
 public function getGlobals()
 {
     // Keep the 'blx' variable around for now
     $craftVariable = new CraftVariable();
     $globals['craft'] = $craftVariable;
     $globals['blx'] = $craftVariable;
     $globals['now'] = DateTimeHelper::currentUTCDateTime();
     $globals['loginUrl'] = UrlHelper::getUrl(craft()->config->getLoginPath());
     $globals['logoutUrl'] = UrlHelper::getUrl(craft()->config->getLogoutPath());
     if (Craft::isInstalled()) {
         $globals['siteName'] = Craft::getSiteName();
         $globals['siteUrl'] = Craft::getSiteUrl();
         $globals['user'] = craft()->userSession->getUser();
         if (craft()->request->isSiteRequest()) {
             foreach (craft()->globals->getAllSets() as $globalSet) {
                 $globalSet->locale = craft()->language;
                 $globals[$globalSet->handle] = $globalSet;
             }
         }
     } else {
         $globals['siteName'] = null;
         $globals['siteUrl'] = null;
         $globals['user'] = null;
     }
     return $globals;
 }