| 1 | <?php |
|---|
| 2 | |
|---|
| 3 | require_once ("HTML.php"); |
|---|
| 4 | |
|---|
| 5 | function get_pref_language_array($str_http_languages) |
|---|
| 6 | { |
|---|
| 7 | $langs = explode(',',$str_http_languages); |
|---|
| 8 | $qcandidat = 0; |
|---|
| 9 | $nblang = count($langs); |
|---|
| 10 | |
|---|
| 11 | for ($i=0; $i<$nblang; $i++) |
|---|
| 12 | { |
|---|
| 13 | for ($j=0; $j<count($langs); $j++) |
|---|
| 14 | { |
|---|
| 15 | $lang = trim($langs[$j]); // Suprime les espaces avant et après $lang |
|---|
| 16 | // Lang est de la forme langue;q=valeur |
|---|
| 17 | |
|---|
| 18 | if (!strstr($lang, ';') && $qcandidat != 1) { |
|---|
| 19 | // Si la chaine ne contient pas de valeur de préférence q |
|---|
| 20 | $candidat = $lang; |
|---|
| 21 | $qcandidat = 1; |
|---|
| 22 | $indicecandidat = $j; |
|---|
| 23 | } |
|---|
| 24 | else { |
|---|
| 25 | // On récupère l'indice q |
|---|
| 26 | $q = ereg_replace('.*;q=(.*)', '\\1', $lang); |
|---|
| 27 | |
|---|
| 28 | if ($q > $qcandidat) { |
|---|
| 29 | $candidat = ereg_replace('(.*);.*', '\\1', $lang); ; |
|---|
| 30 | $qcandidat = $q; |
|---|
| 31 | $indicecandidat = $j; |
|---|
| 32 | } |
|---|
| 33 | } |
|---|
| 34 | } |
|---|
| 35 | |
|---|
| 36 | $resultat[$i] = $candidat; |
|---|
| 37 | |
|---|
| 38 | $qcandidat=0; |
|---|
| 39 | // On supprime la valeur du tableau |
|---|
| 40 | unset($langs[$indicecandidat]); |
|---|
| 41 | $langs = array_values($langs); |
|---|
| 42 | } |
|---|
| 43 | return $resultat; |
|---|
| 44 | } |
|---|
| 45 | |
|---|
| 46 | function get_language() |
|---|
| 47 | { |
|---|
| 48 | $query = $_SERVER['QUERY_STRING']; |
|---|
| 49 | $array = explode ("&", $query); |
|---|
| 50 | foreach ($array as $i) |
|---|
| 51 | { |
|---|
| 52 | $tmp = explode ("=", $i); |
|---|
| 53 | $$tmp[0] = $tmp[1]; |
|---|
| 54 | } |
|---|
| 55 | if (isSet($lang)) |
|---|
| 56 | $preflang = array(0 => $lang); |
|---|
| 57 | elseif (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) |
|---|
| 58 | $preflang = get_pref_language_array($_SERVER["HTTP_ACCEPT_LANGUAGE"]); |
|---|
| 59 | else |
|---|
| 60 | $preflang = array(0 => 'en'); |
|---|
| 61 | $availablelang = array('fr', 'en', 'es', 'bg', 'pt-br', 'eo', 'ru', 'de', 'it'); |
|---|
| 62 | $result = array_intersect($preflang, $availablelang); |
|---|
| 63 | if (count($result) != 0) |
|---|
| 64 | $language = $result[0]; |
|---|
| 65 | else |
|---|
| 66 | $language = 'en'; |
|---|
| 67 | return $language; |
|---|
| 68 | } |
|---|
| 69 | |
|---|
| 70 | function Entete ($titre, $texte, $p="") |
|---|
| 71 | { |
|---|
| 72 | session_start(); |
|---|
| 73 | // print_r($_SERVER); |
|---|
| 74 | $language = get_language(); |
|---|
| 75 | $lang_association = array('fr' => 'fr_FR', 'fr_CA' => 'fr_FR', 'en' => 'en_US', 'en-gb' => 'en_US', 'en-us' => 'en_US', 'es' => 'es_ES', 'es_MX' => 'es_ES', 'es_AR' => 'es_ES', 'es_UY' => 'es_ES', 'bg' => 'bg_BG', 'pt' => 'pt_BR', 'pt-br' => 'pt_BR', 'eo_EO' => 'eo', 'eo_XX' => 'eo', 'eo' => 'eo', 'ru' => 'ru_RU', 'ru_SU' => 'ru_RU', 'de' => 'de_DE', 'at' => 'de_DE', 'ch' => 'de_DE', 'it' => 'it_IT'); |
|---|
| 76 | $lang = $lang_association[$language]; |
|---|
| 77 | putenv("LANG=$lang"); |
|---|
| 78 | setlocale(LC_ALL, $lang); |
|---|
| 79 | $domain = 'msg'; |
|---|
| 80 | bindtextdomain("$domain", "locale"); |
|---|
| 81 | textdomain("$domain"); |
|---|
| 82 | |
|---|
| 83 | $_SESSION['lang'] = $language; |
|---|
| 84 | |
|---|
| 85 | $menu = array (_("Home") => "index.php", |
|---|
| 86 | _("Screenshots") => "screenshots.php", |
|---|
| 87 | _("Download") => "downloads.php", |
|---|
| 88 | _("Documentation") => "docs.php", |
|---|
| 89 | _("Wiki") => "http://trac.gajim.org/wiki", |
|---|
| 90 | _("Development") => "dev.php"); |
|---|
| 91 | |
|---|
| 92 | if (strpos($_SERVER['SCRIPT_NAME'], 'downloads.php')) |
|---|
| 93 | $menu2 = array( |
|---|
| 94 | _("Debian") => "downloads.php?lang=$language#debian", |
|---|
| 95 | _("Slackware") => "downloads.php?lang=$language#slackware", |
|---|
| 96 | _("Ubuntu") => "downloads.php?lang=$language#ubuntu", |
|---|
| 97 | _("Fedora") => "downloads.php?lang=$language#fedora", |
|---|
| 98 | _("Gentoo") => "downloads.php?lang=$language#gentoo", |
|---|
| 99 | _("Archlinux") => "downloads.php?lang=$language#archlinux", |
|---|
| 100 | _("SuSE") => "downloads.php?lang=$language#suse", |
|---|
| 101 | _("PLD") => "downloads.php?lang=$language#pld", |
|---|
| 102 | _("Sourcemage") => "downloads.php?lang=$language#sourcemage", |
|---|
| 103 | _("Mandriva") => "downloads.php?lang=$language#mandriva", |
|---|
| 104 | _("Zenwalk") => "downloads.php?lang=$language#wenwalk", |
|---|
| 105 | _("FreeBSD") => "downloads.php?lang=$language#freebsd", |
|---|
| 106 | _("Autopackage") => "downloads.php?lang=$language#autopackage", |
|---|
| 107 | _("Windows installer") => "downloads.php?lang=$language#windows", |
|---|
| 108 | _("Source") => "downloads.php?lang=$language#tarball", |
|---|
| 109 | _("Subversion") => "downloads.php?lang=$language#subversion", |
|---|
| 110 | _("Daily snapshots") => "downloads.php?lang=$language#snaps", |
|---|
| 111 | _("Old releases") => "downloads.php?lang=$language#old"); |
|---|
| 112 | |
|---|
| 113 | if (strpos($_SERVER['SCRIPT_NAME'], 'docs.php')) |
|---|
| 114 | $menu2 = array( |
|---|
| 115 | _("Installation") => "docs.php?lang=$language#install", |
|---|
| 116 | _("Jabber") => "docs.php?lang=$language#jabber", |
|---|
| 117 | _("Structure") => "docs.php?lang=$language#structure"); |
|---|
| 118 | $page = $_SERVER["SCRIPT_NAME"]; |
|---|
| 119 | $p = explode("/", $page); |
|---|
| 120 | $page = $p[count($p)-1]; |
|---|
| 121 | echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1 Strict//FR\"\n"; |
|---|
| 122 | echo "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"; |
|---|
| 123 | echo "<html>\n <head>\n"; |
|---|
| 124 | echo " <meta name=\"Author\" content=\"Le Boulanger Yann (asterix)\"/>"; |
|---|
| 125 | echo " <meta name=\"description\" content=\"Gajim is a Jabber client written in PyGTK. The goal of Gajim's developers is to provide a full featured and easy to use xmpp client for the GTK+ users. Gajim does not require GNOME to run, eventhough it exists with it nicely. Gajim is released under the GNU General Public License\"/>\n"; |
|---|
| 126 | echo " <meta name=\"keywords\" content=\"gajim client jabber python gtk xmpp chat linux gnu instant messaging messenger pygtk contact transport file transfer hig chatstate bookmark avatars srv wikipedia\"/>\n"; |
|---|
| 127 | echo " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n"; |
|---|
| 128 | echo " <title>\n $titre\n </title>\n"; |
|---|
| 129 | echo " <link rel=\"stylesheet\" href=\"css/main.css\" type=\"text/css\" />\n"; |
|---|
| 130 | echo " <link rel=\"shortcut icon\" href=\"/favicon.ico\" />\n"; |
|---|
| 131 | echo " </head>\n <body>\n"; |
|---|
| 132 | echo "<div id=\"logo\">"; |
|---|
| 133 | echo "<a href=\"index.php\" ><img id=\"logo_img\" src=\"imgs/up_logo.jpg\" alt=\"Gajim !\" title=\"Home\"/></a>\n"; |
|---|
| 134 | echo " <div id=\"translator\">\n"; |
|---|
| 135 | echo _(" Language:")."<br />\n"; |
|---|
| 136 | |
|---|
| 137 | echo " <a href = \"$page?lang=bg\"><img src=\"imgs/bg_flag.png\" alt=\"bg_flag\" title=\"Страницата на български език\" /></a>\n"; |
|---|
| 138 | echo " <a href = \"$page?lang=en\"><img src=\"imgs/en_flag.png\" alt=\"en_flag\" title=\"Website in English\" /></a>\n"; |
|---|
| 139 | echo " <a href = \"$page?lang=eo\"><img src=\"imgs/eo_flag.png\" alt=\"eo_flag\" title=\"Retpaĝaro en Esperanto\" /></a>\n"; |
|---|
| 140 | echo " <a href = \"$page?lang=es\"><img src=\"imgs/es_flag.png\" alt=\"es_flag\" title=\"Web en español\" /></a>\n"; |
|---|
| 141 | echo " <a href = \"$page?lang=fr\"><img src=\"imgs/fr_flag.png\" alt=\"fr_flag\" title=\"Site en français\" /></a>\n"; |
|---|
| 142 | echo " <a href = \"$page?lang=pt-br\"><img src=\"imgs/pt_br_flag.png\" alt=\"pt_BR_flag\" title=\"site em português\" /></a>\n"; |
|---|
| 143 | echo " <a href = \"$page?lang=ru\"><img src=\"imgs/ru_flag.png\" alt=\"ru_flag\" title=\"Сайт на русском языке\" /></a>\n"; |
|---|
| 144 | echo " <a href = \"$page?lang=de\"><img src=\"imgs/de_flag.png\" alt=\"de_flag\" title=\"Webseite in Deutsch\" /></a>\n"; |
|---|
| 145 | echo " <a href = \"$page?lang=it\"><img src=\"imgs/it_flag.png\" alt=\"it_flag\" title=\"Sito in italiano\" /></a>\n"; |
|---|
| 146 | echo " </div> <!-- translator -->\n</div>\n"; |
|---|
| 147 | echo " <div style=\"text-align:left;\">\n"; |
|---|
| 148 | echo "<div class=\"menu\">\n"; |
|---|
| 149 | while ( list ($libelle, $ancre) = each ($menu)){ |
|---|
| 150 | echo " <span>\n "; |
|---|
| 151 | echo Ancre ($ancre."?lang=$language", $libelle); |
|---|
| 152 | |
|---|
| 153 | echo "\n </span>\n"; |
|---|
| 154 | } |
|---|
| 155 | echo " </div>\n"; |
|---|
| 156 | echo " </div><!-- menu -->\n"; |
|---|
| 157 | echo " <div id=\"inner\"><br />\n"; |
|---|
| 158 | |
|---|
| 159 | echo "\n <div class=\"main\">\n"; |
|---|
| 160 | if (isset($menu2)) { |
|---|
| 161 | echo "\n<div class=\"submenu\"><ul>\n"; |
|---|
| 162 | while ( list ($libelle2, $ancre2) = each ($menu2)){ |
|---|
| 163 | echo " <li>\n "; |
|---|
| 164 | echo "<img src=\"imgs/item.png\" alt=\"+\" /> "; |
|---|
| 165 | echo Ancre ($ancre2, $libelle2, "submenu_a"); |
|---|
| 166 | echo "\n </li>\n"; |
|---|
| 167 | } |
|---|
| 168 | echo " </ul></div><div id=\"main_content\">\n"; |
|---|
| 169 | } |
|---|
| 170 | |
|---|
| 171 | } |
|---|
| 172 | |
|---|
| 173 | |
|---|
| 174 | function PiedDePage () |
|---|
| 175 | { |
|---|
| 176 | echo " </div><div id=\"footer\">\n "; |
|---|
| 177 | echo _(" Site optimized for W3C Standards and realized with vim editor under GNU/Linux by Asterix (Jabber ID: asterix@jabber.lagaule.org)\n"); |
|---|
| 178 | echo " </div> <!-- footer -->\n"; |
|---|
| 179 | echo " </div> <!-- content -->\n"; |
|---|
| 180 | echo " <!-- inner -->\n"; |
|---|
| 181 | |
|---|
| 182 | |
|---|
| 183 | echo " </body>\n</html>\n"; |
|---|
| 184 | exit; |
|---|
| 185 | } |
|---|
| 186 | ?> |
|---|