コード例 #1
0
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">&nbsp;</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;
}
コード例 #2
0
ファイル: settings_class.php プロジェクト: lmcro/fcms
 /**
  * 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>&nbsp;&nbsp; ';
     $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>';
 }
コード例 #3
0
ファイル: index.php プロジェクト: sauravpratihar/fcms
/**
 * 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>';
}
コード例 #4
0
ファイル: smarty_assign.php プロジェクト: r3-gis/EcoGIS
<?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) {