function manageLanguagesBlock() { global $site; function copyLanguage() { $newLangName = get_magic_quotes_gpc() ? $_POST['CopyLanguage_Name'] : addslashes($_POST['CopyLanguage_Name']); $sFlag = htmlspecialchars_adv($_POST['Flag']); $sourceLangID = (int) $_POST['CopyLanguage_SourceLangID']; if (strlen($newLangName) <= 0) { return '<font color="red">Error: please specify a name for the new language.</font>'; } mysql_query("\r\n\t\t\tINSERT INTO `LocalizationLanguages`\r\n\t\t\t(`Name`, `Flag`) VALUES\r\n\t\t\t('{$newLangName}', '{$sFlag}')\r\n\t\t"); if (mysql_affected_rows() <= 0) { return '<font color="red">Error: could not add a new language to the database.</font>'; } $newLangID = mysql_insert_id(); $resSourceLangStrings = mysql_query("\r\n\t\t\tSELECT\t`IDKey`, `String`\r\n\t\t\tFROM\t`LocalizationStrings`\r\n\t\t\tWHERE\t`IDLanguage` = {$sourceLangID}\r\n\t\t"); while ($arr = mysql_fetch_assoc($resSourceLangStrings)) { $arr['String'] = addslashes($arr['String']); mysql_query("\r\n\t\t\t\tINSERT INTO `LocalizationStrings`\r\n\t\t\t\t(`IDKey`, `IDLanguage`, `String`) VALUES\r\n\t\t\t\t('{$arr['IDKey']}', {$newLangID}, '{$arr['String']}')\r\n\t\t\t\t"); if (mysql_affected_rows() <= 0) { return '<font color="red">Error: could not add a language string to the database.</font>'; } } return '<font color="green"><b>' . htmlspecialchars(stripslashes($newLangName)) . '</b> language has been successfully created.</font>'; } function getLangName($langID) { $langName = mysql_query('SELECT `Name` FROM `LocalizationLanguages` WHERE `ID` = ' . (int) $langID); $langName = mysql_fetch_row($langName); return $langName[0]; } if ($_POST['CopyLanguage']) { $resultMsg = copyLanguage(); } else { if (isset($_POST['CompileLanguage'])) { $langName = getLangName($_POST['CompileLanguage']); if (compileLanguage((int) $_POST['CompileLanguage'])) { $resultMsg = '<font color="green"><b>' . htmlspecialchars($langName) . '</b> language has been successfully compiled.</font>'; } else { $resultMsg = '<font color="red>Error: could not compile a language.</font>'; } } else { if (isset($_POST['DeleteLanguage'])) { $langName = getLangName($_POST['DeleteLanguage']); if ($langName == getParam('lang_default')) { $resultMsg = '<font color="red">Cannot delete the default language. You have to set another default language for the site in <b>global settings -> Change language settings</b> to be able to delete this one.</font>'; } else { if (deleteLanguage((int) $_POST['DeleteLanguage'])) { $resultMsg = '<font color="green"><b>' . htmlspecialchars($langName) . '</b> language has been successfully removed.</font>'; } else { $resultMsg = '<font color="red">Error: could not delete a language.</font>'; } } } } } ob_start(); $arrLangs = getLocalizationLanguages(); displayLanguageSettings(); $contents = ob_get_contents(); ob_end_clean(); $sCon1 = panelSection('Language', $contents); ob_start(); ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?> " method="post" style="margin:0px"> New language: <input type="text" name="CopyLanguage_Name" style="width: 80px" /> Copy from: <select name="CopyLanguage_SourceLangID" style="width: 80px"> <?php foreach ($arrLangs as $langID => $langName) { ?> <option value="<?php echo $langID; ?> "><?php echo htmlspecialchars($langName); ?> </option> <?php } ?> </select> Flag: <?php echo showLangIcons(); ?> <br /> <br /> <center> <input type="submit" name="CopyLanguage" value="Create" /> </center> </form> <br /> <?php if (strlen($resultMsg) > 0) { echo $resultMsg . '<br /><br />'; } ?> <table class="LanguagesStrings" cellpadding="0" cellspacing="0"> <tr class="HeaderRow"> <td width="85%" align="left">Language</td> <td width="15%" align="left">Flag</td> <td colspan="3"> </td> </tr> <?php $resLangs = mysql_query(' SELECT `ID`, `Name`, `Flag` FROM `LocalizationLanguages` ORDER BY `Name` '); $defaultLangName = getParam('lang_default'); while ($arrLang = mysql_fetch_assoc($resLangs)) { ?> <tr> <td class="Left"><?php echo htmlspecialchars($arrLang['Name']) . ($arrLang['Name'] == $defaultLangName ? '<font color="red"> (default)</font>' : ''); ?> </td> <td><img src="<?php echo $site['flags'] . $arrLang['Flag'] . '.gif'; ?> "></td> <td><a href="javascript:void(0)" onclick="popupForm('<?php echo $_SERVER['PHP_SELF']; ?> ?view=editLanguage&editLanguageID=<?php echo $arrLang['ID']; ?> ', 500, 300, 300, 200, 'no'); return false;">Edit</a></td> <td> <form id="CompileForm_<?php echo $arrLang['ID']; ?> " action="<?php echo $_SERVER['PHP_SELF']; ?> " method="post" style="padding: 0px; margin: 0px"> <input type="hidden" name="CompileLanguage" value="<?php echo $arrLang['ID']; ?> " /> </form> <a href="javascript:void(0)" onclick="document.getElementById('CompileForm_<?php echo $arrLang['ID']; ?> ').submit(); return false;">Compile</a> </td> <td> <form id="DeleteForm_<?php echo $arrLang['ID']; ?> " action="<?php echo $_SERVER['PHP_SELF']; ?> " method="post" style="padding: 0px; margin: 0px"> <input type="hidden" name="DeleteLanguage" value="<?php echo $arrLang['ID']; ?> " /> </form> <a href="javascript:void(0)" onclick="document.getElementById('DeleteForm_<?php echo $arrLang['ID']; ?> ').submit(); return false;"><font color="red">Delete</font></a> </td> </tr> <?php } ?> </table> <?php $contents = ob_get_contents(); ob_end_clean(); $sCon2 = panelSection('Language Files', $contents); return $sCon1 . $sCon2; }
/** * displaySettings * * @return void */ function displaySettings() { $sql = "SELECT `displayname`, `language`,\n `dst`, `timezone`, `boardsort`, `frontpage`\n FROM `fcms_user_settings`\n WHERE `user` = '" . $this->fcmsUser->id . "'"; $row = $this->fcmsDatabase->getRow($sql, $this->fcmsUser->id); if ($row === false) { $this->fcmsError->displayError(); return; } // Display Name $displayname_list = array("1" => T_('First Name'), "2" => T_('First and Last Name'), "3" => T_('Username')); $displayname_options = buildHtmlSelectOptions($displayname_list, $row['displayname']); // Language $lang_dir = "language/"; $lang_options = ''; if (is_dir($lang_dir)) { if ($dh = opendir($lang_dir)) { $arr = array(); while (($file = readdir($dh)) !== false) { // Skip directories that start with a period if ($file[0] === '.') { continue; } // Skip files (messages.pot) if (!is_dir("{$lang_dir}{$file}")) { continue; } // Skip directories that don't include a messages.mo file if (!file_exists($lang_dir . $file . '/LC_MESSAGES/messages.mo')) { continue; } $arr[$file] = getLangName($file); } closedir($dh); asort($arr); foreach ($arr as $key => $val) { $sel = $row['language'] == $key ? 'selected="selected"' : ''; $lang_options .= '<option value="' . $key . '" ' . $sel . '>' . $val . '</option>'; } } } // Timezone $tz_list = getTimezoneList(); $tz_options = buildHtmlSelectOptions($tz_list, $row['timezone']); // DST $yc = $row['dst'] == 1 ? 'checked="checked"' : ''; $nc = $row['dst'] == 0 ? 'checked="checked"' : ''; $dst_options = '<input type="radio" name="dst" id="dst_on" value="on" ' . $yc . '>'; $dst_options .= '<label class="radio_label" for="dst_on">' . T_('On') . '</label> '; $dst_options .= '<input type="radio" name="dst" id="dst_off" value="off" ' . $nc . '>'; $dst_options .= '<label class="radio_label" for="dst_off">' . T_('Off') . '</label>'; // Front Page $frontpage_list = array("1" => T_('All (by date)'), "2" => T_('Last 5 (by plugin)')); $frontpage_options = buildHtmlSelectOptions($frontpage_list, $row['frontpage']); echo ' <script type="text/javascript" src="ui/js/livevalidation.js"></script> <form id="frm" action="settings.php?view=settings" method="post"> <fieldset> <legend><span>' . T_('Langugage and Time') . '</span></legend> <div class="field-row"> <div class="field-label"><label for="language"><b>' . T_('Language') . '</b></label></div> <div class="field-widget"> <select name="language" id="language" title="' . T_('What language do you speak?') . '"> ' . $lang_options . ' </select> </div> </div> <div class="field-row"> <div class="field-label"><label for="timezone"><b>' . T_('Timezone') . '</b></label></div> <div class="field-widget"> <select name="timezone" id="timezone" title="' . T_('What timezone do you live in?') . '"> ' . $tz_options . ' </select> </div> </div> <div class="field-row"> <div class="field-label"><label for="dst"><b>' . T_('Daylight Savings Time') . '</b></label></div> <div class="field-widget"> ' . $dst_options . '<br/> <small>' . T_('You will need to manually change this off and on if your City/Town makes use of DST.') . '</small> </div> </div> </fieldset> <fieldset> <legend><span>' . T_('Preferences') . '</span></legend> <div class="field-row"> <div class="field-label"><label for="displayname"><b>' . T_('Display Name') . '</b></label></div> <div class="field-widget"> <select name="displayname" id="displayname" title="' . T_('How do you want your name to display?') . '"> ' . $displayname_options . ' </select> </div> </div> <div class="field-row"> <div class="field-label"><label for="frontpage"><b>' . T_('Frontpage') . '</b></label></div> <div class="field-widget"> <select name="frontpage" id="frontpage" title="' . T_('How do you want the latest information to display on the frontpage?') . '"> ' . $frontpage_options . ' </select> </div> </div> <p><input class="sub1" type="submit" name="submit" id="submit" value="' . T_('Submit') . '"/></p> </fieldset> </form>'; }
/** * displayLogin * * @return void */ function displayLogin() { $sitename = getSiteName(); if (isset($_GET['url'])) { $hidden = '<input type="hidden" name="url" id="url" value="' . cleanOutput($_GET['url']) . '"/>'; } else { $hidden = ''; } // Get available languages $lang_dir = "language/"; $lang_options = ''; if (is_dir($lang_dir)) { if ($dh = opendir($lang_dir)) { while (($file = readdir($dh)) !== false) { // Skip directories that start with a period if ($file[0] === '.') { continue; } // Skip files (messages.pot) if (!is_dir("{$lang_dir}{$file}")) { continue; } // Skip directories that don't include a messages.mo file if (!file_exists($lang_dir . $file . '/LC_MESSAGES/messages.mo')) { continue; } $arr[$file] = getLangName($file); } closedir($dh); asort($arr); foreach ($arr as $key => $val) { $lang_options .= '<option value="' . $key . '"'; if (isset($_SESSION['language'])) { if ($_SESSION['language'] == $key) { $lang_options .= ' selected="selected"'; } } $lang_options .= '>' . $val . '</option>'; } } } $forgotPassLink = '<a href="lostpw.php">' . T_('Forgot Password?') . '</a>'; $registerLink = ''; $facebookLogin = ''; if (isRegistrationOn()) { $registerLink = ' | <a href="register.php">' . T_('Register') . '</a>'; } $fbData = getFacebookConfigData(); $params = array('scope' => 'user_about_me,user_birthday,user_location,email,publish_stream,offline_access'); // Print the facebook register button if (!empty($fbData['fb_app_id']) && !empty($fbData['fb_secret'])) { $facebook = new Facebook(array('appId' => $fbData['fb_app_id'], 'secret' => $fbData['fb_secret'])); $facebookLogin = '******' . $facebook->getLoginUrl($params) . '" title="' . T_('Login using Facebook') . '"><img src="ui/img/facebook_tiny.png"/></a>'; } echo ' <div id="login_box"> <h1 id="login_header">' . T_('Login to') . ' ' . $sitename . '</h1> <form action="index.php" method="post"> <div style="float:right"> <select style="background-color:#e9f3fb; border:none;" onchange="window.location.href=\'?lang=\'+this.options[this.selectedIndex].value;"> <option>' . T_('Language') . ':</option> ' . $lang_options . ' </select> </div> <p><label for="user">' . T_('Username') . ':</label><input type="text" name="user" id="user"/></p> <p><label for="pass">' . T_('Password') . ':</label><input type="password" name="pass" id="pass"/></p> <p> <label class="rem" for="rem">' . T_('Remember Me') . '</label> <input class="rem" name="rem" id="rem" type="checkbox" value="1"/> ' . $hidden . ' <input type="submit" name="submit" id="submit" value="' . T_('Login') . '"/> </p> <div class="clear"></div> </form> <p style="text-align:center; margin-bottom:20px;">' . $forgotPassLink . $registerLink . '</p> <div style="color:silver; font-size:11px; float:left;">' . getCurrentVersion() . '</div> <div style="float:right"> ' . $facebookLogin . ' </div> </div> </body> </html>'; }
<?php /* ------------------------------ PHP configuration assignment ------------------------------ */ $smarty->assign('config', array('precision' => ini_get('precision'), 'safe_mode' => ini_get('precision'), 'max_execution_time ' => ini_get('max_execution_time '), 'max_input_time' => ini_get('max_input_time'), 'memory_limit' => ini_get('memory_limit'), 'error_reporting' => ini_get('error_reporting'), 'display_errors' => ini_get('display_errors'), 'post_max_size' => ini_get('post_max_size'), 'default_mimetype' => ini_get('default_mimetype'), 'default_charset' => ini_get('default_charset'), 'file_uploads' => ini_get('file_uploads'), 'upload_max_filesize' => ini_get('upload_max_filesize'))); /* ------------------------------ CONSTANT ------------------------------ */ $smarty->assign('LANG_NAME_SHORT_FMT_1', getLangNameShort(1)); $smarty->assign('LANG_NAME_SHORT_FMT_2', getLangNameShort(2)); $smarty->assign('LANG_NAME_SHORT_FMT_3', getLangNameShort(3)); $smarty->assign('LANG_NAME_1', getLangName(1, true)); $smarty->assign('LANG_NAME_2', getLangName(2, true)); $smarty->assign('LANG_NAME_3', getLangName(3, true)); $smarty->assign('R3_CSS_URL', R3_CSS_URL); $smarty->assign('R3_JS_URL', R3_JS_URL); $smarty->assign('R3_ICONS_URL', R3_ICONS_URL); /* ------------------------------ Permission & DB settings assignment ------------------------------ */ if (isset($auth) && ($auth->isAuth() || $auth->getStatus() == AUTH_PASSWORD_EXPIRED || $auth->getStatus() == AUTH_PASSWORD_REPLACE)) { // Some user information $smarty->assign('USER_ID', $auth->getUID()); $smarty->assign('USER_MUNICIPALITY', $auth->getParam('mu_id')); $smarty->assign('USER_LOGIN', $auth->getLogin()); $smarty->assign('USER_NAME', $auth->getParam('us_name')); if ($auth->getParam('mu_id') != '') { $smarty->assign('USER_MUNICIPALITY', R3EcoGisHelper::getMunicipalityName($auth->getParam('mu_id'))); } $smarty->assign('USER_IP', $auth->getParam('us_last_ip')); $smarty->assign('DOMAIN_NAME', $auth->getDomainName()); $smarty->assign('APPLICATION_CODE', $auth->getParam('app_code')); $smarty->assign('APPLICATION_NAME', $auth->getParam('app_name')); $numLanguages = $auth->getConfigValue('APPLICATION', 'NUM_LANGUAGES'); /** Permission */ foreach ($auth->getAllPermsAsString() as $_value) {