/** * Handle the event. * * @param UserWasCreated $event * @return void */ public function handle(PasswordResetEvent $event) { $user = $event->user; \Mail::send('Common::emails.' . getlocale() . '.password', ['user' => $user], function ($message) use($user) { $message->to($user->getEmail(), $user->getFullname())->subject(trans('site.Reset password')); }); }
/** * Handle the event. * * @param UserWasRegistered $event * @return void */ public function handle(UserWasRegistered $event) { $user = $event->user; \Mail::send('Common::emails.' . getlocale() . '.welcome', ['user' => $user], function ($message) use($user) { $message->to($user->getEmail(), $user->getFullname())->subject(trans('site.Welcome to Uzem Manas')); }); }
function prefs_save() { $prefnames = safe_column("name", "txp_prefs", "prefs_id='1'"); $post = doSlash(stripPost()); if (empty($post['tempdir'])) { $post['tempdir'] = doSlash(find_temp_dir()); } if (!empty($post['language'])) { $post['locale'] = doSlash(getlocale($post['language'])); } foreach ($prefnames as $prefname) { if (isset($post[$prefname])) { if ($prefname == 'lastmod') { safe_update("txp_prefs", "val=now()", "name='lastmod'"); } else { if ($prefname == 'siteurl') { $post[$prefname] = str_replace("http://", '', $post[$prefname]); $post[$prefname] = rtrim($post[$prefname], "/"); } safe_update("txp_prefs", "val = '" . $post[$prefname] . "'", "name = '{$prefname}' and prefs_id ='1'"); } } } prefs_list(gTxt('preferences_saved')); }
public function __construct() { $this->locale = getlocale(\Input::get('locale')); }
function list_languages($message = '') { global $prefs, $locale, $txpcfg, $textarray; require_once txpath . '/lib/IXRClass.php'; // Select and save active language if (!$message && ps('step') == 'list_languages' && ps('language')) { $locale = doSlash(getlocale(ps('language'))); safe_update("txp_prefs", "val='" . doSlash(ps('language')) . "'", "name='language'"); safe_update("txp_prefs", "val='" . $locale . "'", "name='locale'"); $textarray = load_lang(doSlash(ps('language'))); $locale = setlocale(LC_ALL, $locale); $message = gTxt('preferences_saved'); } $active_lang = safe_field('val', 'txp_prefs', "name='language'"); $lang_form = tda(form(gTxt('active_language') . ' ' . languages('language', $active_lang) . ' ' . fInput('submit', 'Submit', gTxt('save_button'), '') . eInput('prefs') . sInput('list_languages'), 'display:inline;'), ' style="text-align:center" colspan="3"'); $client = new IXR_Client(RPC_SERVER); #$client->debug = true; $available_lang = array(); $rpc_connect = false; $show_files = false; # Get items from RPC @set_time_limit(90); if (gps('force') != 'file' && $client->query('tups.listLanguages', $prefs['blog_uid'])) { $rpc_connect = true; $response = $client->getResponse(); foreach ($response as $language) { $available_lang[$language['language']]['rpc_lastmod'] = gmmktime($language['lastmodified']->hour, $language['lastmodified']->minute, $language['lastmodified']->second, $language['lastmodified']->month, $language['lastmodified']->day, $language['lastmodified']->year); } } elseif (gps('force') != 'file') { $msg = gTxt('rpc_connect_error') . "<!--" . $client->getErrorCode() . ' ' . $client->getErrorMessage() . "-->"; } # Get items from Filesystem $files = get_lang_files(); if (gps('force') == 'file' || !$rpc_connect) { $show_files = true; } if ($show_files && is_array($files) && !empty($files)) { foreach ($files as $file) { if ($fp = @fopen(txpath . DS . 'lang' . DS . $file, 'r')) { $name = str_replace('.txt', '', $file); $firstline = fgets($fp, 4069); fclose($fp); if (strpos($firstline, '#@version') !== false) { @(list($fversion, $ftime) = explode(';', trim(substr($firstline, strpos($firstline, ' ', 1))))); } else { $fversion = $ftime = NULL; } $available_lang[$name]['file_note'] = isset($fversion) ? $fversion : 0; $available_lang[$name]['file_lastmod'] = isset($ftime) ? $ftime : 0; } } } # Get installed items from the database # I'm affraid we need a value here for the language itself, not for each one of the rows $rows = safe_rows('lang, UNIX_TIMESTAMP(MAX(lastmod)) as lastmod', 'txp_lang', "1 GROUP BY lang ORDER BY lastmod DESC"); foreach ($rows as $language) { $available_lang[$language['lang']]['db_lastmod'] = $language['lastmod']; } $list = ''; # Show the language table foreach ($available_lang as $langname => $langdat) { $file_updated = isset($langdat['db_lastmod']) && @$langdat['file_lastmod'] > $langdat['db_lastmod']; $rpc_updated = @$langdat['rpc_lastmod'] > @$langdat['db_lastmod']; $rpc_install = tda(strong(eLink('prefs', 'get_language', 'lang_code', $langname, isset($langdat['db_lastmod']) ? gTxt('update') : gTxt('install'), 'updating', isset($langdat['db_lastmod']))) . br . safe_strftime('%d %b %Y %X', @$langdat['rpc_lastmod']), isset($langdat['db_lastmod']) ? ' style="color:red;text-align:center;background-color:#FFFFCC;"' : ' style="color:#667;vertical-align:middle;text-align:center"'); $list .= tr(tda(gTxt($langname) . tag(isset($langdat['db_lastmod']) ? br . ' ' . safe_strftime('%d %b %Y %X', $langdat['db_lastmod']) : '', 'span', ' style="color:#aaa;font-style:italic"'), isset($langdat['db_lastmod']) && $rpc_updated ? ' nowrap="nowrap" style="color:red;background-color:#FFFFCC;"' : ' nowrap="nowrap" style="vertical-align:middle"') . n . ($rpc_updated ? $rpc_install : tda(isset($langdat['rpc_lastmod']) ? gTxt('updated') : '-', ' style="vertical-align:middle;text-align:center"')) . n . ($show_files ? tda(tag(isset($langdat['file_lastmod']) ? eLink('prefs', 'get_language', 'lang_code', $langname, $file_updated ? gTxt('update') : gTxt('install'), 'force', 'file') . br . ' ' . safe_strftime($prefs['archive_dateformat'], $langdat['file_lastmod']) : ' ', 'span', $file_updated ? ' style="color:#667;"' : ' style="color:#aaa;font-style:italic"'), ' class="langfile" style="text-align:center;vertical-align:middle"') . n : '')) . n . n; } // Output Table + Content pagetop(gTxt('update_languages'), $message); if (isset($msg) && $msg) { echo tag($msg, 'p', ' style="text-align:center;color:red;width:50%;margin: 2em auto"'); } echo startTable('list'), tr(tdcs(hed(gTxt('manage_languages'), 1), 3)), tr(tdcs(sLink('prefs', 'prefs_list', gTxt('site_prefs'), 'navlink') . sp . sLink('prefs', 'advanced_prefs', gTxt('advanced_preferences'), 'navlink') . sp . sLink('prefs', 'list_languages', gTxt('manage_languages'), 'navlink-active'), '3')), tr(tda(' ', ' colspan="3" style="font-size:0.25em"')), tr($lang_form), tr(tda(' ', ' colspan="3" style="font-size:0.25em"')), tr(tda(gTxt('language')) . tda(gTxt('from_server')) . ($show_files ? tda(gTxt('from_file')) : ''), ' style="font-weight:bold"'); echo $list; if (!$show_files) { $linktext = gTxt('from_file') . ' (' . gTxt('experts_only') . ')'; echo tr(tda(' ', ' colspan="3" style="font-size:0.25em"')) . tr(tda(strong(eLink('prefs', 'list_languages', 'force', 'file', $linktext)), ' colspan="3" style="text-align:center"')); } elseif (gps('force') == 'file') { echo tr(tda(' ', ' colspan="3" style="font-size:0.25em"')) . tr(tda(sLink('prefs', 'list_languages', strong(gTxt('from_server'))), ' colspan="3" style="text-align:center"')); } echo endTable(); $install_langfile = gTxt('install_langfile', array('{url}' => strong('<a href="' . RPC_SERVER . '/lang/">' . RPC_SERVER . '/lang/</a>'))); if ($install_langfile == 'install_langfile') { $install_langfile = 'To install new languages from file you can download them from <b><a href="' . RPC_SERVER . '/lang/">' . RPC_SERVER . '/lang/</a></b> and place them inside your ./textpattern/lang/ directory.'; } echo tag($install_langfile, 'p', ' style="text-align:center;width:50%;margin: 2em auto"'); }
$create_sql[] = "INSERT INTO `" . PFX . "txp_link` VALUES (4, NOW(), 'textpattern', 'http://textpattern.com/@textpattern', '@textpattern', '40', '', '')"; $create_sql[] = "INSERT INTO `" . PFX . "txp_link` VALUES (5, NOW(), 'textpattern', 'http://textpattern.com/+', '+Textpattern CMS', '50', '', '')"; $create_sql[] = "INSERT INTO `" . PFX . "txp_link` VALUES (6, NOW(), 'textpattern', 'http://textpattern.com/facebook', 'Textpattern Facebook Group', '60', '', '')"; $create_sql[] = "CREATE TABLE `" . PFX . "txp_log` (\n id INT NOT NULL AUTO_INCREMENT,\n time DATETIME NOT NULL,\n host VARCHAR(255) NOT NULL DEFAULT '',\n page VARCHAR(255) NOT NULL DEFAULT '',\n refer MEDIUMTEXT NOT NULL,\n status INT NOT NULL DEFAULT '200',\n method VARCHAR(16) NOT NULL DEFAULT 'GET',\n ip VARCHAR(45) NOT NULL DEFAULT '',\n\n PRIMARY KEY (id),\n INDEX time (time),\n INDEX ip (ip)\n) {$tabletype} "; $create_sql[] = "CREATE TABLE `" . PFX . "txp_page` (\n name VARCHAR(255) NOT NULL DEFAULT '',\n user_html TEXT NOT NULL,\n\n PRIMARY KEY (name(250))\n) {$tabletype} "; foreach (scandir($themedir . DS . 'pages') as $pagefile) { if (preg_match('/^(\\w+)\\.txp$/', $pagefile, $match)) { $page = doSlash(file_get_contents($themedir . DS . 'pages' . DS . $pagefile)); $create_sql[] = "INSERT INTO `" . PFX . "txp_page`(name, user_html) VALUES('" . $match[1] . "', '" . $page . "')"; } } $create_sql[] = "CREATE TABLE `" . PFX . "txp_plugin` (\n name VARCHAR(64) NOT NULL DEFAULT '',\n status INT NOT NULL DEFAULT '1',\n author VARCHAR(128) NOT NULL DEFAULT '',\n author_uri VARCHAR(128) NOT NULL DEFAULT '',\n version VARCHAR(255) NOT NULL DEFAULT '1.0',\n description TEXT NOT NULL,\n help TEXT NOT NULL,\n code MEDIUMTEXT NOT NULL,\n code_restore MEDIUMTEXT NOT NULL,\n code_md5 VARCHAR(32) NOT NULL DEFAULT '',\n type INT NOT NULL DEFAULT '0',\n load_order TINYINT UNSIGNED NOT NULL DEFAULT '5',\n flags SMALLINT UNSIGNED NOT NULL DEFAULT '0',\n\n UNIQUE name (name),\n INDEX status_type_idx (status, type)\n) {$tabletype} "; $create_sql[] = "CREATE TABLE `" . PFX . "txp_prefs` (\n prefs_id INT NOT NULL DEFAULT '1',\n name VARCHAR(255) NOT NULL DEFAULT '',\n val TEXT NOT NULL,\n type SMALLINT UNSIGNED NOT NULL DEFAULT '2',\n event VARCHAR(255) NOT NULL DEFAULT 'publish',\n html VARCHAR(255) NOT NULL DEFAULT 'text_input',\n position SMALLINT UNSIGNED NOT NULL DEFAULT '0',\n user_name VARCHAR(64) NOT NULL DEFAULT '',\n\n UNIQUE prefs_idx (prefs_id, name(185), user_name),\n INDEX name (name(250)),\n INDEX user_name (user_name)\n) {$tabletype} "; $blog_uid = md5(uniqid(rand(), true)); $gmtoffset = sprintf("%+d", gmmktime(0, 0, 0) - mktime(0, 0, 0)); $prefs = array('admin' => array(array(0, 20, 'text_input', 'img_dir', 'images'), array(0, 40, 'text_input', 'file_base_path', dirname(txpath) . DS . 'files'), array(0, 60, 'text_input', 'file_max_upload_size', '2000000'), array(0, 80, 'text_input', 'tempdir', find_temp_dir()), array(0, 100, 'text_input', 'plugin_cache_dir', ''), array(0, 110, 'text_input', 'smtp_from', ''), array(0, 115, 'text_input', 'publisher_email', ''), array(0, 120, 'yesnoradio', 'override_emailcharset', '0'), array(0, 130, 'yesnoradio', 'enable_xmlrpc_server', '0'), array(0, 150, 'default_event', 'default_event', 'article'), array(0, 160, 'themename', 'theme_name', $theme)), 'category' => array(array(2, 0, 'yesnoradio', 'show_article_category_count', '1')), 'comments' => array(array(0, 20, 'yesnoradio', 'comments_on_default', '0'), array(0, 40, 'text_input', 'comments_default_invite', $setup_comment_invite), array(0, 60, 'yesnoradio', 'comments_moderate', '1'), array(0, 80, 'weeks', 'comments_disabled_after', '42'), array(0, 100, 'yesnoradio', 'comments_auto_append', '0'), array(0, 120, 'commentmode', 'comments_mode', '0'), array(0, 140, 'dateformats', 'comments_dateformat', '%b %d, %I:%M %p'), array(0, 160, 'commentsendmail', 'comments_sendmail', '0'), array(0, 180, 'yesnoradio', 'comments_are_ol', '1'), array(0, 200, 'yesnoradio', 'comment_means_site_updated', '1'), array(0, 220, 'yesnoradio', 'comments_require_name', '1'), array(0, 240, 'yesnoradio', 'comments_require_email', '1'), array(0, 260, 'yesnoradio', 'never_display_email', '1'), array(0, 280, 'yesnoradio', 'comment_nofollow', '1'), array(0, 300, 'yesnoradio', 'comments_disallow_images', '0'), array(0, 320, 'yesnoradio', 'comments_use_fat_textile', '0'), array(0, 340, 'text_input', 'spam_blacklists', '')), 'custom' => array(array(0, 1, 'custom_set', 'custom_1_set', 'custom1'), array(0, 2, 'custom_set', 'custom_2_set', 'custom2'), array(0, 3, 'custom_set', 'custom_3_set', ''), array(0, 4, 'custom_set', 'custom_4_set', ''), array(0, 5, 'custom_set', 'custom_5_set', ''), array(0, 6, 'custom_set', 'custom_6_set', ''), array(0, 7, 'custom_set', 'custom_7_set', ''), array(0, 8, 'custom_set', 'custom_8_set', ''), array(0, 9, 'custom_set', 'custom_9_set', ''), array(0, 10, 'custom_set', 'custom_10_set', '')), 'feeds' => array(array(0, 20, 'yesnoradio', 'syndicate_body_or_excerpt', '1'), array(0, 40, 'text_input', 'rss_how_many', '5'), array(0, 60, 'yesnoradio', 'show_comment_count_in_feed', '1'), array(0, 80, 'yesnoradio', 'include_email_atom', '1'), array(0, 100, 'yesnoradio', 'use_mail_on_feeds_id', '0')), 'publish' => array(array(0, 20, 'yesnoradio', 'title_no_widow', '0'), array(0, 40, 'yesnoradio', 'articles_use_excerpts', '1'), array(0, 60, 'yesnoradio', 'allow_form_override', '1'), array(0, 80, 'yesnoradio', 'attach_titles_to_permalinks', '1'), array(0, 100, 'yesnoradio', 'permalink_title_format', '1'), array(0, 120, 'yesnoradio', 'send_lastmod', '1'), array(0, 130, 'yesnoradio', 'publish_expired_articles', '0'), array(0, 140, 'yesnoradio', 'lastmod_keepalive', '0'), array(0, 160, 'yesnoradio', 'ping_weblogsdotcom', '0'), array(0, 200, 'pref_text', 'use_textile', '1'), array(0, 220, 'yesnoradio', 'use_dns', '0'), array(0, 260, 'yesnoradio', 'use_plugins', '1'), array(0, 280, 'yesnoradio', 'admin_side_plugins', '1'), array(0, 300, 'yesnoradio', 'allow_page_php_scripting', '1'), array(0, 320, 'yesnoradio', 'allow_article_php_scripting', '1'), array(0, 340, 'text_input', 'max_url_len', '1000'), array(2, 0, 'text_input', 'blog_mail_uid', $_SESSION['email']), array(2, 0, 'text_input', 'blog_time_uid', '2005'), array(2, 0, 'text_input', 'blog_uid', $blog_uid), array(2, 0, 'text_input', 'dbupdatetime', '0'), array(2, 0, 'languages', 'language', LANG), array(2, 0, 'text_input', 'lastmod', '2005-07-23 16:24:10'), array(2, 0, 'text_input', 'locale', getlocale(LANG)), array(2, 0, 'text_input', 'path_from_root', '/'), array(2, 0, 'text_input', 'path_to_site', dirname(txpath)), array(2, 0, 'text_input', 'prefs_id', '1'), array(2, 0, 'text_input', 'searchable_article_fields', 'Title, Body'), array(2, 0, 'text_input', 'textile_updated', '1'), array(2, 0, 'text_input', 'timeoffset', '0'), array(2, 0, 'text_input', 'timezone_key', ''), array(2, 0, 'text_input', 'url_mode', '1'), array(2, 0, 'text_input', 'use_categories', '1'), array(2, 0, 'text_input', 'use_sections', '1'), array(2, 0, 'text_input', 'version', '4.5.7')), 'section' => array(array(2, 0, 'text_input', 'default_section', 'articles')), 'site' => array(array(0, 20, 'text_input', 'sitename', gTxt('my_site')), array(0, 40, 'text_input', 'siteurl', $siteurl), array(0, 60, 'text_input', 'site_slogan', gTxt('my_slogan')), array(0, 80, 'prod_levels', 'production_status', 'testing'), array(0, 100, 'gmtoffset_select', 'gmtoffset', $gmtoffset), array(0, 115, 'yesnoradio', 'auto_dst', '0'), array(0, 120, 'is_dst', 'is_dst', '0'), array(0, 140, 'dateformats', 'dateformat', 'since'), array(0, 160, 'dateformats', 'archive_dateformat', '%b %d, %I:%M %p'), array(0, 180, 'permlinkmodes', 'permlink_mode', $permlink_mode), array(0, 190, 'doctypes', 'doctype', 'html5'), array(0, 220, 'logging', 'logging', 'none'), array(0, 230, 'text_input', 'expire_logs_after', '7'), array(0, 240, 'yesnoradio', 'use_comments', '1'))); foreach ($prefs as $event => $event_prefs) { foreach ($event_prefs as $p) { $create_sql[] = "INSERT INTO `" . PFX . "txp_prefs` (event, type, position, html, name, val) " . "VALUES ('" . $event . "', " . $p[0] . ", " . $p[1] . ", '" . $p[2] . "', '" . $p[3] . "', '" . doSlash($p[4]) . "')"; } } $create_sql[] = "CREATE TABLE `" . PFX . "txp_section` (\n name VARCHAR(255) NOT NULL DEFAULT '',\n page VARCHAR(255) NOT NULL DEFAULT '',\n css VARCHAR(255) NOT NULL DEFAULT '',\n description VARCHAR(255) NOT NULL DEFAULT '',\n in_rss INT NOT NULL DEFAULT '1',\n on_frontpage INT NOT NULL DEFAULT '1',\n searchable INT NOT NULL DEFAULT '1',\n title VARCHAR(255) NOT NULL DEFAULT '',\n\n PRIMARY KEY (name(250))\n) {$tabletype} "; $create_sql[] = "INSERT INTO `" . PFX . "txp_section` VALUES ('articles', 'archive', 'default', 1, 1, 1, 1, 'Articles')"; $create_sql[] = "INSERT INTO `" . PFX . "txp_section` VALUES ('default', 'default', 'default', 0, 1, 1, 1, 'Default')"; $create_sql[] = "CREATE TABLE `" . PFX . "txp_users` (\n user_id INT NOT NULL AUTO_INCREMENT,\n name VARCHAR(64) NOT NULL DEFAULT '',\n pass VARCHAR(128) NOT NULL,\n RealName VARCHAR(255) NOT NULL DEFAULT '',\n email VARCHAR(254) NOT NULL DEFAULT '',\n privs TINYINT NOT NULL DEFAULT '1',\n last_access DATETIME NULL DEFAULT NULL,\n nonce VARCHAR(64) NOT NULL DEFAULT '',\n\n PRIMARY KEY (user_id),\n UNIQUE name (name)\n) {$tabletype} "; $create_sql[] = "INSERT INTO `" . PFX . "txp_users` VALUES (\n 1,\n '" . doSlash($_SESSION['name']) . "',\n '" . doSlash(txp_hash_password($_SESSION['pass'])) . "',\n '" . doSlash($_SESSION['realname']) . "',\n '" . doSlash($_SESSION['email']) . "',\n 1,\n NOW(),\n '" . md5(uniqid(rand(), true)) . "')"; $create_sql[] = "CREATE TABLE `" . PFX . "txp_token` (\n id INT NOT NULL AUTO_INCREMENT,\n reference_id INT NOT NULL DEFAULT 0,\n type VARCHAR(255) NOT NULL DEFAULT '',\n selector VARCHAR(12) NOT NULL DEFAULT '',\n token VARCHAR(255) NOT NULL DEFAULT '',\n expires DATETIME NULL DEFAULT NULL,\n\n PRIMARY KEY (id)\n) {$tabletype} "; $GLOBALS['txp_install_successful'] = true; $GLOBALS['txp_err_count'] = 0; $GLOBALS['txp_err_html'] = ''; foreach ($create_sql as $query) {
function list_languages($message = '') { global $prefs, $locale, $textarray; require_once txpath . '/lib/IXRClass.php'; // Select and save active language if (!$message && ps('step') == 'list_languages' && ps('language')) { $locale = doSlash(getlocale(ps('language'))); safe_update("txp_prefs", "val='" . doSlash(ps('language')) . "'", "name='language'"); safe_update("txp_prefs", "val='" . $locale . "'", "name='locale'"); $textarray = load_lang(doSlash(ps('language'))); $locale = setlocale(LC_ALL, $locale); $message = gTxt('preferences_saved'); } $active_lang = safe_field('val', 'txp_prefs', "name='language'"); $lang_form = '<div id="language_control" class="txp-control-panel">' . form(graf(gTxt('active_language') . languages('language', $active_lang) . n . fInput('submit', 'Submit', gTxt('save'), 'publish') . eInput('prefs') . sInput('list_languages'))) . '</div>'; $client = new IXR_Client(RPC_SERVER); //$client->debug = true; $available_lang = array(); $rpc_connect = false; $show_files = false; // Get items from RPC @set_time_limit(90); if ($client->query('tups.listLanguages', $prefs['blog_uid'])) { $rpc_connect = true; $response = $client->getResponse(); foreach ($response as $language) { $available_lang[$language['language']]['rpc_lastmod'] = gmmktime($language['lastmodified']->hour, $language['lastmodified']->minute, $language['lastmodified']->second, $language['lastmodified']->month, $language['lastmodified']->day, $language['lastmodified']->year); } } elseif (gps('force') != 'file') { $msg = gTxt('rpc_connect_error') . "<!--" . $client->getErrorCode() . ' ' . $client->getErrorMessage() . "-->"; } // Get items from Filesystem $files = get_lang_files(); if (is_array($files) && !empty($files)) { foreach ($files as $file) { if ($fp = @fopen(txpath . DS . 'lang' . DS . $file, 'r')) { $name = str_replace('.txt', '', $file); $firstline = fgets($fp, 4069); fclose($fp); if (strpos($firstline, '#@version') !== false) { @(list($fversion, $ftime) = explode(';', trim(substr($firstline, strpos($firstline, ' ', 1))))); } else { $fversion = $ftime = NULL; } $available_lang[$name]['file_note'] = isset($fversion) ? $fversion : 0; $available_lang[$name]['file_lastmod'] = isset($ftime) ? $ftime : 0; } } } // Get installed items from the database // We need a value here for the language itself, not for each one of the rows $rows = safe_rows('lang, UNIX_TIMESTAMP(MAX(lastmod)) as lastmod', 'txp_lang', "1 GROUP BY lang ORDER BY lastmod DESC"); $installed_lang = array(); foreach ($rows as $language) { $available_lang[$language['lang']]['db_lastmod'] = $language['lastmod']; if ($language['lang'] != $active_lang) { $installed_lang[] = $language['lang']; } } $list = ''; // Show the language table foreach ($available_lang as $langname => $langdat) { $file_updated = isset($langdat['db_lastmod']) && @$langdat['file_lastmod'] > $langdat['db_lastmod']; $rpc_updated = @$langdat['rpc_lastmod'] > @$langdat['db_lastmod']; $rpc_install = tda($rpc_updated ? strong(eLink('prefs', 'get_language', 'lang_code', $langname, isset($langdat['db_lastmod']) ? gTxt('update') : gTxt('install'), 'updating', isset($langdat['db_lastmod']), '')) . n . '<span class="date modified">' . safe_strftime('%d %b %Y %X', @$langdat['rpc_lastmod']) . '</span>' : (isset($langdat['rpc_lastmod']) ? gTxt('updated') : '-') . (isset($langdat['db_lastmod']) ? n . '<span class="date modified">' . safe_strftime('%d %b %Y %X', $langdat['db_lastmod']) . '</span>' : ''), isset($langdat['db_lastmod']) && $rpc_updated ? ' class="highlight lang-value"' : ' class="lang-value"'); $lang_file = tda(isset($langdat['file_lastmod']) ? strong(eLink('prefs', 'get_language', 'lang_code', $langname, $file_updated ? gTxt('update') : gTxt('install'), 'force', 'file', '')) . n . '<span class="date ' . ($file_updated ? 'created' : 'modified') . '">' . safe_strftime($prefs['archive_dateformat'], $langdat['file_lastmod']) . '</span>' : '-', ' class="lang-value languages_detail' . (isset($langdat['db_lastmod']) && $rpc_updated ? ' highlight' : '') . '"'); $list .= tr(tda(gTxt($langname), isset($langdat['db_lastmod']) && $rpc_updated ? ' class="highlight lang-label"' : ' class="lang-label"') . n . $rpc_install . n . $lang_file . n . tda(in_array($langname, $installed_lang) ? dLink('prefs', 'remove_language', 'lang_code', $langname, 1) : '-', ' class="languages_detail' . (isset($langdat['db_lastmod']) && $rpc_updated ? ' highlight' : '') . '"')) . n . n; } // Output Table + Content // TODO: tab_languages when this panel is moved to its own tab pagetop(gTxt('update_languages'), $message); //TODO: tab_languages when this panel is moved to its own tab echo '<h1 class="txp-heading">' . gTxt('update_languages') . '</h1>'; echo n . '<div id="language_container" class="txp-container">'; if (isset($msg) && $msg) { echo tag($msg, 'p', ' class="error lang-msg"'); } echo n . '<p class="nav-tertiary">' . sLink('prefs', 'prefs_list', gTxt('site_prefs'), 'navlink') . sLink('prefs', 'advanced_prefs', gTxt('advanced_preferences'), 'navlink') . sLink('prefs', 'list_languages', gTxt('manage_languages'), 'navlink-active') . n . '</p>'; echo $lang_form; echo n, '<div class="txp-listtables">', startTable('', '', 'txp-list'), '<thead>', tr(hCell(gTxt('language')) . hCell(gTxt('from_server') . n . popHelp('install_lang_from_server')) . hCell(gTxt('from_file') . n . popHelp('install_lang_from_file'), '', ' class="languages_detail"') . hCell(gTxt('remove_lang') . n . popHelp('remove_lang'), '', ' class="languages_detail"')), '</thead>'; echo '<tbody>' . $list . '</tbody>', endTable(), n, '</div>'; echo graf(toggle_box('languages_detail'), ' class="detail-toggle"'); echo hed(gTxt('install_from_textpack'), 3) . n . form(graf('<label for="textpack-install">' . gTxt('install_textpack') . '</label>' . n . popHelp('get_textpack') . n . '<textarea id="textpack-install" class="code" name="textpack" cols="' . INPUT_LARGE . '" rows="' . INPUT_XSMALL . '"></textarea>' . n . fInput('submit', 'install_new', gTxt('upload')) . eInput('prefs') . sInput('get_textpack')), '', '', 'post', 'edit-form', '', 'text_uploader'); echo '</div>'; // end language_container }
function list_languages_post() { global $locale, $textarray; // Select and save active language $language = $this->ps('active_language'); $locale = doSlash(getlocale($language)); update_pref('language', $language); update_pref('locale', $locale); $textarray = load_lang($language); $locale = setlocale(LC_ALL, $locale); $this->_message(gTxt('preferences_saved')); }
function safe_strftime($format, $time = '', $gmt = 0, $override_locale = '') { global $locale; $old_locale = $locale; if (!$time) { $time = time(); } # we could add some other formats here if ($format == 'iso8601' or $format == 'w3cdtf') { $format = '%Y-%m-%dT%H:%M:%SZ'; $gmt = 1; } elseif ($format == 'rfc822') { $format = '%a, %d %b %Y %H:%M:%S GMT'; $gmt = 1; $override_locale = 'en-gb'; } if ($override_locale) { getlocale($override_locale); } if ($format == 'since') { $str = since($time); } elseif ($gmt) { $str = gmstrftime($format, $time); } else { $str = strftime($format, $time + tz_offset($time)); } @(list($lang, $charset) = explode('.', $locale)); if (empty($charset)) { $charset = 'ISO-8859-1'; } elseif (IS_WIN and is_numeric($charset)) { // Score -1 for consistent naming conventions $charset = 'Windows-' . $charset; } if ($charset != 'UTF-8' and $format != 'since') { $new = ''; if (is_callable('iconv')) { $new = @iconv($charset, 'UTF-8', $str); } if ($new) { $str = $new; } elseif (is_callable('utf8_encode')) { $str = utf8_encode($str); } } # revert to the old locale if ($override_locale) { $locale = setlocale(LC_ALL, $old_locale); } return $str; }
public function getDescription($locale = '') { return $this['description_' . getlocale($locale)]; }
function _l10n_set_browse_language($short_code, $debug = false) { # # Call this function with the SHORT language code. # # Takes care of storing the global language variable and also tries to do extra stuff like # setting up the correct locale for the requested language. # global $l10n_language; $result = false; $site_langs = LanguageHandler::get_site_langs(); $tmp = LanguageHandler::expand_code($short_code); if ($debug) { echo br, "_l10n_set_browse_language( {$short_code} ) ... \$site_langs=", var_dump($site_langs), ", \$tmp='{$tmp}'"; } if (isset($tmp) and in_array($tmp, $site_langs)) { if ($debug) { echo " ... in IF() ... "; } $l10n_language = LanguageHandler::compact_code($tmp); if (empty($l10n_language['long'])) { $l10n_language['long'] = $tmp; } $result = true; getlocale($l10n_language['long']); if ($debug) { echo "\$tmp [{$tmp}] used to set \$l10n_language to ", var_dump($l10n_language['long']), " returning TRUE", br; } } else { if ($debug) { echo " ... in ELSE ... "; } if (!isset($l10n_language) or !in_array($l10n_language['long'], $site_langs)) { $l10n_language = LanguageHandler::compact_code(LanguageHandler::get_site_default_lang()); getlocale($l10n_language['long']); $result = !empty($tmp); } } if ($debug) { echo br, "Input='{$short_code}', Site Language set to ", var_dump($l10n_language), " Returning ", var_dump($result), br; } return $result; }
<?php session_start(); header('Access-Control-Allow-Origin: *'); header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Content-type: text/plain'); $results = array(); $current_object = null; function getlocale($category) { return setlocale($category, NULL); } $old_locale = getlocale(LC_ALL); setlocale(LC_ALL, 'C'); $mailq_path = 'mailq'; $current_object = array(); $pipe = popen($mailq_path, 'r'); while ($pipe) { $line = fgets($pipe); if (trim($line) == 'Mail queue is empty') { echo '<a>pas de mail en cours d\'envoi</a>'; pclose($pipe); setlocale(LC_ALL, $old_locale); exit(1); } else { if ($line === false) { break; } if (strncmp($line, '-', 1) === 0) { continue;
function createTxp() { $email = ps('email'); if (!is_valid_email($email)) { exit(graf(gTxt('email_required'))); } $carry = $this->postDecode(ps('carry')); $this->vars =& $carry; extract($carry); require txpath . '/config.php'; $GLOBALS['txpcfg'] = $txpcfg; $dbb = $txpcfg['db']; $duser = $txpcfg['user']; $dpass = $txpcfg['pass']; $dhost = $txpcfg['host']; $dprefix = $txpcfg['table_prefix']; $GLOBALS['txpcfg']['dbtype'] = $txpcfg['dbtype']; include_once txpath . '/lib/mdb.php'; $GLOBALS['textarray'] = $this->_load_lang(); $siteurl = str_replace("http://", '', $siteurl); $siteurl = rtrim($siteurl, "/"); define("PFX", trim($dprefix)); define('TXP_INSTALL', 1); $name = addslashes(gps('name')); include_once txpath . '/lib/txplib_update.php'; #include_once txpath.'/setup/txpsql.php'; include txpath . '/setup/tables.php'; // This has to come after txpsql.php, because otherwise we can't call mysql_real_escape_string if (MDB_TYPE == 'pdo_sqlite') { extract(gpsa(array('name', 'pass', 'RealName', 'email'))); } else { extract($this->sDoSlash(gpsa(array('name', 'pass', 'RealName', 'email')))); } $nonce = md5(uniqid(rand(), true)); $DB->query("INSERT INTO " . PFX . "txp_users VALUES\n\t\t\t(1,'{$name}',password(lower('{$pass}')),'{$RealName}','{$email}',1,now(),'{$nonce}')"); $DB->query("update " . PFX . "txp_prefs set val = '{$siteurl}' where name='siteurl'"); $DB->query("update " . PFX . "txp_prefs set val = '{$lang}' where name='language'"); $DB->query("update " . PFX . "txp_prefs set val = '" . getlocale($lang) . "' where name='locale'"); $this->_step_view = $this->fbCreate(); }
function createTxp() { $email = ps('email'); if (!is_valid_email($email)) { exit(graf(gTxt('email_required'))); } $carry = ps('carry'); extract(postDecode($carry)); require txpath . '/config.php'; $dbb = $txpcfg['db']; $duser = $txpcfg['user']; $dpass = $txpcfg['pass']; $dhost = $txpcfg['host']; $dprefix = $txpcfg['table_prefix']; $GLOBALS['txpcfg']['dbtype'] = $txpcfg['dbtype']; $dbcharset = $txpcfg['dbcharset']; include_once txpath . '/lib/mdb.php'; $GLOBALS['textarray'] = setup_load_lang($lang); $siteurl = str_replace("http://", '', $siteurl); $siteurl = rtrim($siteurl, "/"); define("PFX", trim($dprefix)); define('TXP_INSTALL', 1); $name = addslashes(gps('name')); include_once txpath . '/lib/txplib_update.php'; include txpath . '/setup/txpsql.php'; extract(gpsa(array('name', 'pass', 'RealName', 'email'))); $nonce = md5(uniqid(rand(), true)); global $DB; $DB =& mdb_factory($dhost, $ddb, $duser, $dpass, $dbcharset); $DB->query("INSERT INTO " . PFX . "txp_users VALUES\n\t\t\t(1,'" . $DB->escape($name) . "',password(lower('" . $DB->escape($pass) . "')),'" . $DB->escape($RealName) . "','" . $DB->escape($email) . "',1,now(),'" . $DB->escape($nonce) . "')"); $DB->query("update " . PFX . "txp_prefs set val = '" . $DB->escape($siteurl) . "' where name='siteurl'"); $DB->query("update " . PFX . "txp_prefs set val = '" . $DB->escape($lang) . "' where name='language'"); $DB->query("update " . PFX . "txp_prefs set val = '" . $DB->escape(getlocale($lang)) . "' where name='locale'"); echo fbCreate(); }
public function getName($locale = '') { return $this['name_' . getlocale($locale)]; }
function createTxp() { $GLOBALS['textarray'] = setup_load_lang(ps('lang')); if (ps('name') == '') { echo n . '<div id="setup_container" class="txp-container">' . txp_setup_progress_meter(3) . n . '<div class="txp-setup">' . n . graf('<span class="error">' . setup_gTxt('name_required') . '</span>') . n . setup_back_button() . n . '</div>' . n . '</div>'; exit; } if (!ps('pass')) { echo n . '<div id="setup_container" class="txp-container">' . txp_setup_progress_meter(3) . n . '<div class="txp-setup">' . n . graf('<span class="error">' . setup_gTxt('pass_required') . '</span>') . n . setup_back_button() . n . '</div>' . n . '</div>'; exit; } if (!is_valid_email(ps('email'))) { echo n . '<div id="setup_container" class="txp-container">' . txp_setup_progress_meter(3) . n . '<div class="txp-setup">' . n . graf('<span class="error">' . setup_gTxt('email_required') . '</span>') . n . setup_back_button() . n . '</div>' . n . '</div>'; exit; } global $txpcfg; if (!isset($txpcfg['db'])) { require txpath . '/config.php'; } $ddb = $txpcfg['db']; $duser = $txpcfg['user']; $dpass = $txpcfg['pass']; $dhost = $txpcfg['host']; $dclient_flags = isset($txpcfg['client_flags']) ? $txpcfg['client_flags'] : 0; $dprefix = $txpcfg['table_prefix']; $dbcharset = $txpcfg['dbcharset']; $siteurl = str_replace("http://", '', ps('siteurl')); $siteurl = rtrim($siteurl, "/"); $urlpath = preg_replace('#^[^/]+#', '', $siteurl); define("PFX", trim($dprefix)); define('TXP_INSTALL', 1); include_once txpath . '/lib/txplib_update.php'; include txpath . '/setup/txpsql.php'; // This has to come after txpsql.php, because otherwise we can't call mysql_real_escape_string extract(doSlash(psa(array('name', 'pass', 'RealName', 'email', 'theme')))); $nonce = md5(uniqid(rand(), true)); $hash = doSlash(txp_hash_password($pass)); mysql_query("INSERT INTO `" . PFX . "txp_users` VALUES\n\t\t\t(1,'{$name}','{$hash}','{$RealName}','{$email}',1,now(),'{$nonce}')"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . doSlash($siteurl) . "' where `name`='siteurl'"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . LANG . "' where `name`='language'"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . getlocale(LANG) . "' where `name`='locale'"); mysql_query("update `" . PFX . "textpattern` set Body = replace(Body, 'siteurl', '" . doSlash($urlpath) . "'), Body_html = replace(Body_html, 'siteurl', '" . doSlash($urlpath) . "') WHERE ID = 1"); // cf. update/_to_4.2.0.php. // TODO: Position might need altering when prefs panel layout is altered $theme = $theme ? $theme : 'classic'; mysql_query("insert `" . PFX . "txp_prefs` set prefs_id = 1, name = 'theme_name', val = '" . doSlash($theme) . "', type = '1', event = 'admin', html = 'themename', position = '160'"); echo fbCreate(); }
function createTxp() { $GLOBALS['textarray'] = setup_load_lang($_SESSION['lang']); $_SESSION['name'] = ps('name'); $_SESSION['realname'] = ps('RealName'); $_SESSION['pass'] = ps('pass'); $_SESSION['email'] = ps('email'); $_SESSION['theme'] = ps('theme'); if ($_SESSION['name'] == '') { echo n . '<div id="setup_container" class="txp-container">' . txp_setup_progress_meter(3) . n . '<div class="txp-setup">' . n . graf('<span class="error">' . setup_gTxt('name_required') . '</span>') . n . setup_back_button(__FUNCTION__) . n . '</div>' . n . '</div>'; exit; } if (!$_SESSION['pass']) { echo n . '<div id="setup_container" class="txp-container">' . txp_setup_progress_meter(3) . n . '<div class="txp-setup">' . n . graf('<span class="error">' . setup_gTxt('pass_required') . '</span>') . n . setup_back_button(__FUNCTION__) . n . '</div>' . n . '</div>'; exit; } if (!is_valid_email($_SESSION['email'])) { echo n . '<div id="setup_container" class="txp-container">' . txp_setup_progress_meter(3) . n . '<div class="txp-setup">' . n . graf('<span class="error">' . setup_gTxt('email_required') . '</span>') . n . setup_back_button(__FUNCTION__) . n . '</div>' . n . '</div>'; exit; } global $txpcfg; if (!isset($txpcfg['db'])) { if (!is_readable(txpath . '/config.php')) { $problems[] = graf('<span class="error">' . setup_gTxt('config_php_not_found', array('{file}' => txpspecialchars(txpath . '/config.php')), 'raw') . '</span>'); } else { @(include txpath . '/config.php'); } } if (!isset($txpcfg) || $txpcfg['db'] != $_SESSION['ddb'] || $txpcfg['table_prefix'] != $_SESSION['dprefix']) { $problems[] = graf('<span class="error">' . setup_gTxt('config_php_does_not_match_input', 'raw') . '</span>'); echo txp_setup_progress_meter(3) . n . '<div class="txp-setup">' . n . join(n, $problems) . n . setup_config_contents() . n . '</div>' . n . '</div>'; exit; } $ddb = $txpcfg['db']; $duser = $txpcfg['user']; $dpass = $txpcfg['pass']; $dhost = $txpcfg['host']; $dclient_flags = isset($txpcfg['client_flags']) ? $txpcfg['client_flags'] : 0; $dprefix = $txpcfg['table_prefix']; $dbcharset = $txpcfg['dbcharset']; $siteurl = str_replace("http://", '', $_SESSION['siteurl']); $siteurl = str_replace(' ', '%20', rtrim($siteurl, "/")); $urlpath = preg_replace('#^[^/]+#', '', $siteurl); define("PFX", trim($dprefix)); define('TXP_INSTALL', 1); include_once txpath . '/lib/txplib_update.php'; include txpath . '/setup/txpsql.php'; $nonce = md5(uniqid(rand(), true)); $hash = doSlash(txp_hash_password($_SESSION['pass'])); mysql_query("INSERT INTO `" . PFX . "txp_users` VALUES\n\t\t\t(1,\n\t\t\t'" . doSlash($_SESSION['name']) . "',\n\t\t\t'{$hash}',\n\t\t\t'" . doSlash($_SESSION['realname']) . "',\n\t\t\t'" . doSlash($_SESSION['email']) . "',\n\t\t\t1,\n\t\t\tnow(),\n\t\t\t'{$nonce}')"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . doSlash($siteurl) . "' where `name`='siteurl'"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . LANG . "' where `name`='language'"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . getlocale(LANG) . "' where `name`='locale'"); mysql_query("update `" . PFX . "textpattern` set Body = replace(Body, 'siteurl', '" . doSlash($urlpath) . "'), Body_html = replace(Body_html, 'siteurl', '" . doSlash($urlpath) . "') WHERE ID = 1"); // cf. update/_to_4.2.0.php. // TODO: Position might need altering when prefs panel layout is altered $theme = $_SESSION['theme'] ? $_SESSION['theme'] : 'classic'; mysql_query("insert `" . PFX . "txp_prefs` set prefs_id = 1, name = 'theme_name', val = '" . doSlash($theme) . "', type = '1', event = 'admin', html = 'themename', position = '160'"); echo fbCreate(); }
function createTxp() { $carry = isPost('carry'); extract(postDecode($carry)); require txpath . '/config.php'; $dbb = $txpcfg['db']; $duser = $txpcfg['user']; $dpass = $txpcfg['pass']; $dhost = $txpcfg['host']; $dprefix = $txpcfg['table_prefix']; $GLOBALS['textarray'] = setup_load_lang($lang); $siteurl = str_replace("http://", '', $siteurl); $siteurl = rtrim($siteurl, "/"); define("PFX", trim($dprefix)); define('TXP_INSTALL', 1); include_once txpath . '/lib/txplib_update.php'; include txpath . '/setup/txpsql.php'; // This has to come after txpsql.php, because otherwise we can't call mysql_real_escape_string extract(sDoSlash(gpsa(array('name', 'pass', 'RealName', 'email')))); $nonce = md5(uniqid(rand(), true)); mysql_query("INSERT INTO " . PFX . "txp_users VALUES\n\t\t\t(1,'{$name}',password(lower('{$pass}')),'{$RealName}','{$email}',1,now(),'{$nonce}')"); mysql_query("update " . PFX . "txp_prefs set val = '{$siteurl}' where `name`='siteurl'"); mysql_query("update " . PFX . "txp_prefs set val = '{$lang}' where `name`='language'"); mysql_query("update " . PFX . "txp_prefs set val = '" . getlocale($lang) . "' where `name`='locale'"); echo fbCreate(); }
function createTxp() { $GLOBALS['textarray'] = setup_load_lang(ps('lang')); if (!is_valid_email(ps('email'))) { exit(graf(gTxt('email_required'))); } require txpath . '/config.php'; $ddb = $txpcfg['db']; $duser = $txpcfg['user']; $dpass = $txpcfg['pass']; $dhost = $txpcfg['host']; $dprefix = $txpcfg['table_prefix']; $dbcharset = $txpcfg['dbcharset']; $siteurl = str_replace("http://", '', ps('siteurl')); $siteurl = rtrim($siteurl, "/"); define("PFX", trim($dprefix)); define('TXP_INSTALL', 1); include_once txpath . '/lib/txplib_update.php'; include txpath . '/setup/txpsql.php'; // This has to come after txpsql.php, because otherwise we can't call mysql_real_escape_string extract(doSlash(psa(array('name', 'pass', 'RealName', 'email')))); $nonce = md5(uniqid(rand(), true)); mysql_query("INSERT INTO `" . PFX . "txp_users` VALUES\n\t\t\t(1,'{$name}',password(lower('{$pass}')),'{$RealName}','{$email}',1,now(),'{$nonce}')"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . doSlash($siteurl) . "' where `name`='siteurl'"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . LANG . "' where `name`='language'"); mysql_query("update `" . PFX . "txp_prefs` set val = '" . getlocale(LANG) . "' where `name`='locale'"); echo fbCreate(); }
public function setLocale($locale = 'tr') { return redirect()->back()->withCookie(cookie()->forever('locale', getlocale($locale))); }