/**
  * Save the current sites {@link SiteConfig} into the database
  *
  * @param array $data
  * @param Form $form
  * @return String
  */
 public function save_siteconfig($data, $form)
 {
     $siteConfig = WebAppConfig::current_site_config();
     $form->saveInto($siteConfig);
     try {
         $siteConfig->write();
     } catch (ValidationException $ex) {
         $form->sessionMessage($ex->getResult()->message(), 'bad');
         return $this->getResponseNegotiator()->respond($this->request);
     }
     $this->response->addHeader('X-Status', rawurlencode(_t('LeftAndMain.SAVEDUP', 'Saved.')));
     return $this->getResponseNegotiator()->respond($this->request);
 }
 public function onAfterInit()
 {
     $config = WebAppConfig::current_site_config();
     $icons = $config->WebAppIcons();
     $splashScreens = $config->WebAppStartupScreens();
     $tags = '';
     $tags .= '<meta name="viewport" content="initial-scale=1, user-scalable=' . $config->UserScalable . $config->MinimalUI . '">';
     $tags .= '<meta name="apple-mobile-web-app-capable" content="' . $config->Fullscreen . '">';
     $tags .= '<meta name="apple-mobile-web-app-status-bar-style" content="' . $config->StatusBar . '">';
     $tags .= '<meta name="apple-mobile-web-app-title" content="' . $config->AppTitle . '">';
     foreach ($icons as $icon) {
         $size = $icon->Size;
         $url = $icon->Image()->URL;
         $tags .= '<link href="' . $url . '" sizes="' . $size . '" rel="apple-touch-icon">';
     }
     foreach ($splashScreens as $splashScreen) {
         $media = $splashScreen->Media;
         $url = $splashScreen->Image()->URL;
         $tags .= '<link href="' . $url . '" media="' . $media . '" rel="apple-touch-startup-image">';
     }
     Requirements::insertHeadTags($tags);
 }
 /**
  * Create SiteConfig with defaults from language file.
  *
  * @return SiteConfig
  */
 public static function make_site_config()
 {
     $config = WebAppConfig::create();
     $config->write();
     return $config;
 }