X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Futil.php;h=cfc95cc360479066b344793d7107a77f1e6597c4;hb=2dd4857dacc144a9622d7ce49d7924abaf2e6d6c;hp=9589ea03557c8546a2cb148fc1b2c25d65a18eb8;hpb=f2ae665e13f9eec7183709e85fec04009eff41ec;p=quix0rs-gnu-social.git diff --git a/lib/util.php b/lib/util.php index 9589ea0355..cfc95cc360 100644 --- a/lib/util.php +++ b/lib/util.php @@ -131,60 +131,46 @@ function common_end_xml() { $xw->flush(); } -define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2'); - -function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=NULL) { - global $config, $xw; - +function common_init_language() { + mb_internal_encoding('UTF-8'); $language = common_language(); # So we don't have to make people install the gettext locales putenv('LANGUAGE='.$language); - putenv('LANG='.$language); + putenv('LANG='.$language); $locale_set = setlocale(LC_ALL, $language . ".utf8", $language . ".UTF8", $language . ".utf-8", $language . ".UTF-8", $language); - bindtextdomain("laconica", $config['site']['locale_path']); + bindtextdomain("laconica", common_config('site','locale_path')); bind_textdomain_codeset("laconica", "UTF-8"); textdomain("laconica"); - - $httpaccept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : NULL; - - # XXX: allow content negotiation for RDF, RSS, or XRDS - - $type = common_negotiate_type(common_accept_to_prefs($httpaccept), - common_accept_to_prefs(PAGE_TYPE_PREFS)); - - if (!$type) { - common_user_error(_('This page is not available in a media type you accept'), 406); - exit(0); + setlocale(LC_CTYPE, 'C'); + if(!$locale_set) { + common_log(LOG_INFO,'Language requested:'.$language.' - locale could not be set:',__FILE__); } +} - header('Content-Type: '.$type); - - common_start_xml('html', - '-//W3C//DTD XHTML 1.0 Strict//EN', - 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'); - - # FIXME: correct language for interface +define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2'); - common_element_start('html', array('xmlns' => 'http://www.w3.org/1999/xhtml', - 'xml:lang' => $language, - 'lang' => $language)); +function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=NULL) { + + global $config, $xw; + common_start_html(); + common_element_start('head'); common_element('title', NULL, $pagetitle . " - " . $config['site']['name']); common_element('link', array('rel' => 'stylesheet', 'type' => 'text/css', - 'href' => theme_path('display.css'), + 'href' => theme_path('display.css') . '?version=' . LACONICA_VERSION, 'media' => 'screen, projection, tv')); foreach (array(6,7) as $ver) { if (file_exists(theme_file('ie'.$ver.'.css'))) { # Yes, IE people should be put in jail. $xw->writeComment('[if lte IE '.$ver.']> common_path('js/jquery.min.js')), ' '); common_element('script', array('type' => 'text/javascript', - 'src' => common_path('js/util.js')), + 'src' => common_path('js/jquery.form.js')), + ' '); + common_element('script', array('type' => 'text/javascript', + 'src' => common_path('js/util.js?version='.LACONICA_VERSION)), ' '); common_element('link', array('rel' => 'search', 'type' => 'application/opensearchdescription+xml', 'href' => common_local_url('opensearch', array('type' => 'people')), @@ -243,6 +232,37 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall= common_element_start('div', array('id' => 'content')); } +function common_start_html($type=NULL) { + + if (!$type) { + $httpaccept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : NULL; + + # XXX: allow content negotiation for RDF, RSS, or XRDS + + $type = common_negotiate_type(common_accept_to_prefs($httpaccept), + common_accept_to_prefs(PAGE_TYPE_PREFS)); + + if (!$type) { + common_user_error(_('This page is not available in a media type you accept'), 406); + exit(0); + } + } + + header('Content-Type: '.$type); + + common_start_xml('html', + '-//W3C//DTD XHTML 1.0 Strict//EN', + 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'); + + # FIXME: correct language for interface + + $language = common_language(); + + common_element_start('html', array('xmlns' => 'http://www.w3.org/1999/xhtml', + 'xml:lang' => $language, + 'lang' => $language)); +} + function common_show_footer() { global $xw, $config; common_element_end('div'); # content div @@ -293,14 +313,13 @@ function common_nav_menu() { common_menu_item(common_local_url('all', array('nickname' => $user->nickname)), _('Home')); } - common_menu_item(common_local_url('public'), _('Public')); common_menu_item(common_local_url('peoplesearch'), _('Search')); common_menu_item(common_local_url('tags'), _('Tags')); - common_menu_item(common_local_url('doc', array('title' => 'help')), - _('Help')); if ($user) { common_menu_item(common_local_url('profilesettings'), _('Settings')); + common_menu_item(common_local_url('invite'), + _('Invite')); common_menu_item(common_local_url('logout'), _('Logout')); } else { @@ -315,6 +334,8 @@ function common_nav_menu() { function common_foot_menu() { common_element_start('ul', array('id' => 'nav_sub')); + common_menu_item(common_local_url('doc', array('title' => 'help')), + _('Help')); common_menu_item(common_local_url('doc', array('title' => 'about')), _('About')); common_menu_item(common_local_url('doc', array('title' => 'faq')), @@ -359,7 +380,7 @@ function common_input($id, $label, $value=NULL,$instructions=NULL) { common_element_end('p'); } -function common_checkbox($id, $label, $checked=false, $instructions=NULL, $value='true') +function common_checkbox($id, $label, $checked=false, $instructions=NULL, $value='true', $disabled=false) { common_element_start('p'); $attrs = array('name' => $id, @@ -372,6 +393,9 @@ function common_checkbox($id, $label, $checked=false, $instructions=NULL, $value if ($checked) { $attrs['checked'] = 'checked'; } + if ($disabled) { + $attrs['disabled'] = 'true'; + } common_element('input', $attrs); # XXX: use a