public function render($arguments, $caption = null, $parser = null)
 {
     if (!array_key_exists('field', $arguments) || !$arguments['field']) {
         return '';
     }
     $field = $arguments['field'];
     $siteConfig = \SiteConfig::current_site_config();
     if (!$siteConfig->hasField($field)) {
         return '';
     }
     $value = $siteConfig->obj($field);
     if ($value instanceof DBField) {
         if (isset($arguments['type']) && $value->hasMethod($arguments['type'])) {
             $cast = $arguments['type'];
         } else {
             $cast = 'Nice';
         }
         $value = $value->{$cast}();
     }
     if ($parser) {
         $caption = $parser->parse($caption);
         $value = $parser->parse($value);
     }
     if (isset($arguments['caption'])) {
         $caption = $arguments['caption'];
     }
     if (!$caption) {
         $caption = $value;
     }
     if (!$value && isset($fields['default'])) {
         $value = $parser->parse($fields['default']);
     }
     if (Email::validEmailAddress($value) && !isset($arguments['nolink'])) {
         return '<a href="mailto:' . $value . '">' . $caption . '</a>';
     }
     if (filter_var($value, FILTER_VALIDATE_URL) && !isset($arguments['nolink'])) {
         return '<a href="' . Director::absoluteURL($value) . '">' . $caption . '</a>';
     }
     return $value;
 }
 protected function inlineFiles($inlines, $setVar = 'customCSS', $unsetVar = 'css', $replaceString = '%s', $id = 'Inline-CSS')
 {
     if (count($inlines)) {
         $this->removeIfFound($id, $setVar);
         $items = [];
         $isDev = Director::isDev();
         foreach ($inlines as $file => $data) {
             if (!Director::is_absolute_url($file)) {
                 $file = Director::getAbsFile($file);
             }
             $key = Utilities::clean_cache_key($file);
             $content = singleton('require')->cache()->load($key);
             if ($content === false) {
                 $content = @file_get_contents($file);
                 if ($content && !$isDev) {
                     $content = singleton('require')->minify_contents_according_to_type($content, $file);
                 }
                 if (!$isDev) {
                     singleton('require')->cache()->save($content, $key);
                 }
             }
             if ($content) {
                 $items[$file] = $content;
                 $this->removeIfFound($id, $unsetVar);
             }
         }
         if (count($items)) {
             if ($setVar == 'customHeadTags') {
                 $this->insertHeadTags(sprintf($replaceString, implode("\n\n", $items)), $id);
             } elseif ($setVar == 'customScript') {
                 $this->customScript(sprintf($replaceString, implode("\n\n", $items)), $id);
             } elseif ($setVar == 'customCSS') {
                 $this->customCSS(sprintf($replaceString, implode("\n\n", $items)), $id);
             }
         }
     }
 }
 public static function placeIMG($width = 400, $height = 300, $categories = 'any', $filters = '')
 {
     return Controller::join_links(CoreDirector::protocol() . 'placeimg.com', $width, $height, $categories, $filters);
 }
 public static function protocol()
 {
     return parent::protocol();
 }
 public static function adminEmail($prepend = '')
 {
     if ($email = Config::inst()->get('Email', 'admin_email')) {
         return $prepend ? $prepend . '+' . $email : $email;
     }
     $name = $prepend ? $prepend . '+no-reply' : 'no-reply';
     return $name . '@' . CoreDirector::baseWebsiteURL();
 }
 public static function utilities_js()
 {
     if (Director::isDev()) {
         $script = @file_get_contents(Director::getAbsFile(SS_MWM_DIR . '/js/mwm.utilities.js'));
     } else {
         $script = static::cache()->load('JS__utilities');
         if (!$script) {
             require_once THIRDPARTY_PATH . DIRECTORY_SEPARATOR . 'jsmin' . DIRECTORY_SEPARATOR . 'jsmin.php';
             $script = \JSMin::minify(@file_get_contents(\Director::getAbsFile(SS_MWM_DIR . '/js/mwm.utilities.js')));
             static::cache()->save($script, 'JS__utilities');
         }
     }
     static::insertHeadTags('<script>' . $script . '</script>', 'JS-MWM-Utilities');
 }