public function GetOutput()
 {
     $yams = YAMS::GetInstance();
     $YEM = YamsErrorMgr::GetInstance();
     $YLM = YamsLangMgr::GetInstance();
     // Load the module template
     $tpl = new Templator();
     $success = $tpl->LoadTemplateFromFile('yams/module/yams.module.tpl.html');
     if (!$success) {
         return;
     }
     if (YamsUtils::IsHTTPS()) {
         $protocol = 'https://';
     } else {
         $protocol = 'http://';
     }
     $requestURL = YamsUtils::Escape($protocol . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
     // Define the placholders
     $tpl->RegisterPlaceholder('form_action', '[+request_url+]');
     $tpl->RegisterPlaceholder('error_messages', $YEM->GetOutput());
     $tpl->RegisterPlaceholder('lang_chooser', $YLM->GetOutput());
     // Parse non-language placeholders
     $tpl->Parse(NULL, true);
     $tpl->ClearStoredPlaceholders();
     // Register global placeholders...
     $tpl->RegisterPlaceholder('request_url', $requestURL);
     $tpl->RegisterPlaceholder('modx_manager_theme', $modx->config['manager_theme']);
     $tpl->RegisterPlaceholder('modx_site_url', $modx->config['site_url']);
     $tpl->RegisterPlaceholder('modx_charset', $modx->config['modx_charset']);
     $tpl->RegisterPlaceholder('yams_contact_en_url', 'http://nashi.podzone.org/en/contact.xhtml');
     $tpl->RegisterPlaceholder('yams_contact_fr_url', 'http://nashi.podzone.org/fr/contact.xhtml');
     $tpl->RegisterPlaceholder('yams_contact_ja_url', 'http://nashi.podzone.org/ja/contact.xhtml');
     $tpl->RegisterPlaceholder('yams_donate_en_url', 'http://nashi.podzone.org/en/donate.xhtml');
     $tpl->RegisterPlaceholder('yams_donate_fr_url', 'http://nashi.podzone.org/fr/donate.xhtml');
     $tpl->RegisterPlaceholder('yams_donate_ja_url', 'http://nashi.podzone.org/ja/donate.xhtml');
     $tpl->RegisterPlaceholder('yams_package_url', 'http://modxcms.com/extras/package/?package=543');
     $tpl->RegisterPlaceholder('yams_forums_url', 'http://modxcms.com/forums/index.php/board,381.0.html');
     $tpl->RegisterPlaceholder('yams_author_url', 'http://modxcms.com/forums/index.php?action=profile;u=12570');
     $tpl->RegisterPlaceholder('yams_author', '<a href="[+yams_author_url+]" target="_blank">PMS</a>');
     $tpl->RegisterPlaceholder('yams_copyright', '<a href="http://nashi.podzone.org/" target="_blank">Nashi Power</a> 2009');
     $tpl->RegisterPlaceholder('yams_licence', 'GPL v3');
     $tpl->RegisterPlaceholder('yams_version', YamsUtils::Escape($yams->GetVersion()));
     // Parse language text...
     $YLM->ParseLanguageText($tpl);
     // Temporarily comment out this line so it's easy to find missing placeholders...
     // $tpl->RemovePlaceholdersFromTpl( NULL, true );
     return $tpl->GetTpl();
 }
 public function GetOutput()
 {
     $yams = YAMS::GetInstance();
     $errorList = '';
     if (count($this->itsErrorMessages) > 0) {
         $errorList .= '<ul>';
         foreach ($this->itsErrorMessages as $msg) {
             $errorList .= '<li>' . YamsUtils::Escape($msg) . '</li>';
         }
         $errorList .= '</ul>';
     }
     $tpl = new Templator();
     $tpl->LoadTemplateFromFile('yams/module/yams.error.tpl.html');
     $tpl->RegisterPlaceholder('error_list', $errorList);
     return $tpl->Parse();
 }
 public function GetOutput()
 {
     $yams = YAMS::GetInstance();
     $langChooserOptions = '';
     foreach ($this->itsAvailableLangs as $lang) {
         if ($lang == $this->itsCurrentLang) {
             $selected = 'selected="selected"';
         } else {
             $selected = '';
         }
         $langDetails = $this->GetLangDetails($lang);
         $cleanName = YamsUtils::Clean($langDetails['name']);
         $langDir = YamsUtils::Clean($langDetails['dir']);
         $langChooserOptions .= '<option ' . $selected . ' value="' . $lang . '" dir="' . $langDir . '">' . $cleanName . '</option>';
     }
     $tpl = new Templator();
     $tpl->LoadTemplateFromFile('yams/module/yams.lang.chooser.tpl.html');
     $tpl->RegisterPlaceholder('lang_chooser_options', $langChooserOptions);
     $tpl->RegisterPlaceholder('lang_post_param', YamsUtils::Escape($this->itsGetLangPostParam));
     return $tpl->Parse();
 }
예제 #4
0
 public function ConstructURL($langId = NULL, $docId = NULL, $includeRootName = TRUE, $includeTrailingSlash = TRUE, $includeVirtualPath = TRUE, $includeGetParams = TRUE, $includeQueryParam = TRUE, $stripChangeLangQueryParam = FALSE, $isHTMLOutput = TRUE)
 {
     if (!$this->IsActiveLangId($langId) && !is_null($langId)) {
         return '';
     }
     // Get the servername and port
     $isHTTPS = YamsUtils::IsHTTPS();
     if ($isHTTPS) {
         $protocol = 'https://';
     } else {
         $protocol = 'http://';
     }
     //      $stripPort =
     //        ( $_SERVER['SERVER_PORT'] != 80 )
     //        && ( ! $isHTTPS );
     $serverNameAndPort = $this->GetActiveServerName($langId);
     // Get the MODx subdirectory
     $modxSubdirectory = $this->GetMODxSubdirectory(false, true);
     // Get the root name
     $rootName = '';
     if ($includeRootName) {
         $rootName = $this->GetActiveRootName($langId);
         if ($rootName != '') {
             $rootName = '/' . $rootName;
         }
     }
     // Get the trailing slash, if required.
     $trailingSlash = '/';
     if ($includeVirtualPath || !$includeTrailingSlash) {
         $trailingSlash = '';
     }
     $get = array();
     $virtualPath = '';
     if ($includeVirtualPath) {
         // Get the document virtual path
         $virtualPath = $this->GetDocumentAlias($docId, $langId, $this->itsShowSiteStartAlias);
         if ($virtualPath === FALSE) {
             return '';
         }
         $virtualPath = '/' . $virtualPath;
     }
     if ($includeGetParams) {
         $get = YamsUtils::GetGET();
         if (!YamsUtils::IsValidId($docId)) {
             return '';
         }
         if (array_key_exists($this->itsLangQueryParam, $get)) {
             unset($get[$this->itsLangQueryParam]);
         }
         if ($stripChangeLangQueryParam) {
             if (array_key_exists($this->itsChangeLangQueryParam, $get)) {
                 unset($get[$this->itsChangeLangQueryParam]);
             }
         }
     }
     if ($includeQueryParam && $this->itsUseLanguageQueryParam) {
         // $decodedQueryParams[ $this->itsLangQueryParam ] = $langId;
         $get = array($this->itsLangQueryParam => $langId) + $get;
     }
     if (array_key_exists('q', $get)) {
         unset($get['q']);
     }
     if (array_key_exists('id', $get)) {
         unset($get['id']);
     }
     if ($includeVirtualPath) {
         if (!$this->itsMODx->config['friendly_urls']) {
             $get = array('id' => $docId) + $get;
             // $decodedQueryParams[ 'id' ] = $docId;
         }
     }
     $requestURI = '';
     if (count($get) > 0) {
         $encodedQueryParams = array();
         foreach ($get as $name => $value) {
             $encodedQueryParams[] = YamsUtils::UrlEncode($name) . '=' . YamsUtils::UrlEncode($value);
         }
         unset($get);
         $querySeparator = $this->itsInputQuerySeparator;
         $requestURI = '?' . implode($querySeparator, $encodedQueryParams);
     }
     $url = $protocol . $serverNameAndPort . $modxSubdirectory . $rootName . $trailingSlash . $virtualPath . $requestURI;
     if ($isHTMLOutput) {
         return YamsUtils::Escape($url);
     }
     return $url;
 }
예제 #5
0
?>
"><a href="http://svn.modxcms.com/docs/display/ADDON/YAMS+Configuration#YAMSConfiguration-ChangeLanguageParam" target="_blank">Change Language Param</a></th>
                  </tr>
<?php 
YamsAlternateRow($rowClass);
?>
                  <tr>
                    <td class="<?php 
echo $rowClass;
?>
">
                      <?php 
$MODxSubdirectory = $yams->GetMODxSubdirectory(FALSE, FALSE, FALSE);
?>
                      <input name="yams_modx_subdirectory" type="text" value="<?php 
echo YamsUtils::Escape($MODxSubdirectory);
?>
"></input>
                    </td>
                    <th class="<?php 
echo $rowClass;
?>
"><a href="http://svn.modxcms.com/docs/display/ADDON/YAMS+Configuration#YAMSConfiguration-MODxSubdirectory" target="_blank">MODx Subdirectory</a></th>
                  </tr>
<?php 
YamsAlternateRow($rowClass);
?>
                  <tr>
                    <td class="<?php 
echo $rowClass;
?>