codes****@googl*****
codes****@googl*****
2009年 2月 8日 (日) 02:01:12 JST
Author: tacahi Date: Sat Feb 7 08:26:59 2009 New Revision: 1145 Added: trunk/geeklog-1-jp-extended/sql/updates/mssql_1.5.1_to_1.5.2.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/sql/updates/mssql_1.5.1_to_1.5.2.php trunk/geeklog-1-jp-extended/sql/updates/mysql_1.5.1_to_1.5.2.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/sql/updates/mysql_1.5.1_to_1.5.2.php trunk/geeklog-1-jp-extended/system/pear/Archive/Zip.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Archive/Zip.php trunk/geeklog-1-jp-extended/system/pear/Auth/ - copied from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/ trunk/geeklog-1-jp-extended/system/pear/Auth/SASL/ - copied from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL/ trunk/geeklog-1-jp-extended/system/pear/Auth/SASL.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL.php trunk/geeklog-1-jp-extended/system/pear/Auth/SASL/Anonymous.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL/Anonymous.php trunk/geeklog-1-jp-extended/system/pear/Auth/SASL/Common.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL/Common.php trunk/geeklog-1-jp-extended/system/pear/Auth/SASL/CramMD5.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL/CramMD5.php trunk/geeklog-1-jp-extended/system/pear/Auth/SASL/DigestMD5.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL/DigestMD5.php trunk/geeklog-1-jp-extended/system/pear/Auth/SASL/Login.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL/Login.php trunk/geeklog-1-jp-extended/system/pear/Auth/SASL/Plain.php - copied unchanged from r1144, /externals/geeklog-1.5.2rc1/system/pear/Auth/SASL/Plain.php Modified: trunk/geeklog-1-jp-extended/language/german.php trunk/geeklog-1-jp-extended/language/german_formal.php trunk/geeklog-1-jp-extended/language/german_formal_utf-8.php trunk/geeklog-1-jp-extended/language/german_utf-8.php trunk/geeklog-1-jp-extended/language/polish.php trunk/geeklog-1-jp-extended/language/polish_utf-8.php trunk/geeklog-1-jp-extended/plugins/calendar/functions.inc trunk/geeklog-1-jp-extended/plugins/links/functions.inc trunk/geeklog-1-jp-extended/plugins/links/language/slovenian.php trunk/geeklog-1-jp-extended/plugins/links/language/slovenian_utf-8.php trunk/geeklog-1-jp-extended/plugins/polls/functions.inc trunk/geeklog-1-jp-extended/plugins/polls/install_defaults.php trunk/geeklog-1-jp-extended/plugins/polls/templates/admin/polleditor.thtml trunk/geeklog-1-jp-extended/plugins/spamx/functions.inc trunk/geeklog-1-jp-extended/plugins/spamx/language/hebrew_utf-8.php trunk/geeklog-1-jp-extended/plugins/staticpages/functions.inc trunk/geeklog-1-jp-extended/plugins/staticpages/language/japanese_utf-8.php trunk/geeklog-1-jp-extended/plugins/staticpages/services.inc.php trunk/geeklog-1-jp-extended/plugins/staticpages/templates/printable.thtml trunk/geeklog-1-jp-extended/public_html/article.php trunk/geeklog-1-jp-extended/public_html/calendar/event.php trunk/geeklog-1-jp-extended/public_html/calendar/index.php trunk/geeklog-1-jp-extended/public_html/docs/changes.html trunk/geeklog-1-jp-extended/public_html/docs/config.html trunk/geeklog-1-jp-extended/public_html/docs/history trunk/geeklog-1-jp-extended/public_html/docs/theme.html trunk/geeklog-1-jp-extended/public_html/layout/professional/admin/config/configuration.thtml trunk/geeklog-1-jp-extended/public_html/layout/professional/article/printable.thtml trunk/geeklog-1-jp-extended/public_html/layout/professional/style.css trunk/geeklog-1-jp-extended/public_html/lib-common.php trunk/geeklog-1-jp-extended/public_html/links/index.php trunk/geeklog-1-jp-extended/public_html/profiles.php trunk/geeklog-1-jp-extended/public_html/siteconfig.php trunk/geeklog-1-jp-extended/public_html/staticpages/index.php trunk/geeklog-1-jp-extended/public_html/users.php trunk/geeklog-1-jp-extended/public_html/usersettings.php trunk/geeklog-1-jp-extended/readme trunk/geeklog-1-jp-extended/sql/mssql_tableanddata.php trunk/geeklog-1-jp-extended/sql/mysql_tableanddata.php trunk/geeklog-1-jp-extended/sql/updates/mssql_1.4.1_to_1.5.0.php trunk/geeklog-1-jp-extended/sql/updates/mysql_1.3.9_to_1.3.10.php trunk/geeklog-1-jp-extended/sql/updates/mysql_1.4.1_to_1.5.0.php trunk/geeklog-1-jp-extended/system/classes/calendar.class.php trunk/geeklog-1-jp-extended/system/classes/config.class.php trunk/geeklog-1-jp-extended/system/classes/downloader.class.php trunk/geeklog-1-jp-extended/system/classes/sanitize.class.php trunk/geeklog-1-jp-extended/system/classes/story.class.php trunk/geeklog-1-jp-extended/system/classes/syndication/feedparserbase.class.php trunk/geeklog-1-jp-extended/system/classes/upload.class.php trunk/geeklog-1-jp-extended/system/lib-admin.php trunk/geeklog-1-jp-extended/system/lib-comment.php trunk/geeklog-1-jp-extended/system/lib-plugins.php trunk/geeklog-1-jp-extended/system/lib-story.php trunk/geeklog-1-jp-extended/system/lib-syndication.php trunk/geeklog-1-jp-extended/system/pear/HTTP/Request.php trunk/geeklog-1-jp-extended/system/pear/HTTP/Request/Listener.php trunk/geeklog-1-jp-extended/system/pear/Net/SMTP.php Log: geeklog-1.5.1とgeeklog-1.5.2rc1の差分をマージします。 Modified: trunk/geeklog-1-jp-extended/language/german.php ============================================================================== --- trunk/geeklog-1-jp-extended/language/german.php (original) +++ trunk/geeklog-1-jp-extended/language/german.php Sat Feb 7 08:26:59 2009 @@ -1514,7 +1514,7 @@ 'records_found' => 'Eintr�ge', 'addchild' => 'Add child', 'list' => 'auflisten', - 'list_all' => 'alle auflisten' + 'list_all' => 'Alle auflisten' ); # Localisation of the texts for the various drop-down menus that are actually @@ -1788,7 +1788,7 @@ 'sg_site' => 'Site', 'sg_stories' => 'Artikel und Trackbacks', 'sg_theme' => 'Theme', - 'sg_blocks' => 'Blocks', + 'sg_blocks' => 'Bl�cke', 'sg_users' => 'User und Beitr�ge', 'sg_images' => 'Images', 'sg_locale' => 'Sprache und Lokalisierung', Modified: trunk/geeklog-1-jp-extended/language/german_formal.php ============================================================================== --- trunk/geeklog-1-jp-extended/language/german_formal.php (original) +++ trunk/geeklog-1-jp-extended/language/german_formal.php Sat Feb 7 08:26:59 2009 @@ -1515,7 +1515,7 @@ 'records_found' => 'Eintr�ge', 'addchild' => 'Add child', 'list' => 'auflisten', - 'list_all' => 'alle auflisten' + 'list_all' => 'Alle auflisten' ); # Localisation of the texts for the various drop-down menus that are actually @@ -1789,7 +1789,7 @@ 'sg_site' => 'Site', 'sg_stories' => 'Artikel und Trackbacks', 'sg_theme' => 'Theme', - 'sg_blocks' => 'Blocks', + 'sg_blocks' => 'Bl�cke', 'sg_users' => 'User und Beitr�ge', 'sg_images' => 'Images', 'sg_locale' => 'Sprache und Lokalisierung', Modified: trunk/geeklog-1-jp-extended/language/german_formal_utf-8.php ============================================================================== --- trunk/geeklog-1-jp-extended/language/german_formal_utf-8.php (original) +++ trunk/geeklog-1-jp-extended/language/german_formal_utf-8.php Sat Feb 7 08:26:59 2009 @@ -1515,7 +1515,7 @@ 'records_found' => 'Einträge', 'addchild' => 'Add child', 'list' => 'auflisten', - 'list_all' => 'alle auflisten' + 'list_all' => 'Alle auflisten' ); # Localisation of the texts for the various drop-down menus that are actually @@ -1789,7 +1789,7 @@ 'sg_site' => 'Site', 'sg_stories' => 'Artikel und Trackbacks', 'sg_theme' => 'Theme', - 'sg_blocks' => 'Blocks', + 'sg_blocks' => 'Blöcke', 'sg_users' => 'User und Beiträge', 'sg_images' => 'Images', 'sg_locale' => 'Sprache und Lokalisierung', Modified: trunk/geeklog-1-jp-extended/language/german_utf-8.php ============================================================================== --- trunk/geeklog-1-jp-extended/language/german_utf-8.php (original) +++ trunk/geeklog-1-jp-extended/language/german_utf-8.php Sat Feb 7 08:26:59 2009 @@ -1514,7 +1514,7 @@ 'records_found' => 'Einträge', 'addchild' => 'Add child', 'list' => 'auflisten', - 'list_all' => 'alle auflisten' + 'list_all' => 'Alle auflisten' ); # Localisation of the texts for the various drop-down menus that are actually @@ -1788,7 +1788,7 @@ 'sg_site' => 'Site', 'sg_stories' => 'Artikel und Trackbacks', 'sg_theme' => 'Theme', - 'sg_blocks' => 'Blocks', + 'sg_blocks' => 'Blöcke', 'sg_users' => 'User und Beiträge', 'sg_images' => 'Images', 'sg_locale' => 'Sprache und Lokalisierung', Modified: trunk/geeklog-1-jp-extended/language/polish.php ============================================================================== --- trunk/geeklog-1-jp-extended/language/polish.php (original) +++ trunk/geeklog-1-jp-extended/language/polish.php Sat Feb 7 08:26:59 2009 @@ -2,7 +2,7 @@ ############################################################################### # polish.php -# This is the Polish language page for GeekLog! +# This is the Polish language file for Geeklog! # Special thanks to Robert Stadnik geekl****@geekl***** for his work on this project # # Copyright (C) 2000 Jason Whittenburg @@ -80,7 +80,7 @@ 37 => 'Brak artyku��w u�ytkownika', 38 => 'Syndykacja Tre�ci', 39 => 'Od�wie�', - 40 => 'Masz <tt>register_globals = Off</tt> w pliku <tt>php.ini</tt>. Niestety, Geeklog wymaga <tt>register_globals</tt> aby by�y ustawione na <strong>on</strong>. Prosz� zminie� ustawienia na <strong>on</strong> i restartowa� serwer www.', + 40 => 'Masz <tt>register_globals = Off</tt> w pliku <tt>php.ini</tt>. Niestety, Geeklog wymaga <tt>register_globals</tt> aby by�y ustawione na <strong>on</strong>. Prosz� zmienie� ustawienia na <strong>on</strong> i restartowa� serwer www.', 41 => 'Go��', 42 => 'Autor:', 43 => 'Odpowiedz', @@ -1579,90 +1579,90 @@ 'sections' => 'Configuration Sections', 'restore' => 'Restore', 'add_element' => 'Add Element', - 'save_changes' => 'Save Changes', - 'reset_form' => 'Reset Form', + 'save_changes' => 'Zapisz zmiany', + 'reset_form' => 'Resetuj zmiany', 'changes_made' => 'Changes were successfully made to', - 'title' => 'Configuration Manager', - 'disable' => 'Click to disable this option' + 'title' => 'Menad�er ustawie�', + 'disable' => 'Kliknij aby wy��czy� t� opcj�' ); $LANG_configsections['Core'] = array( 'label' => 'Geeklog', - 'title' => 'Geeklog Configuration' + 'title' => 'Konfiguracja Geeklog-a' ); $LANG_confignames['Core'] = array( - 'path_html' => 'HTML Path', - 'site_url' => 'Site URL', - 'site_admin_url' => 'Admin URL', - 'site_mail' => 'Site E-Mail', - 'noreply_mail' => 'No-Reply E-Mail', - 'site_name' => 'Site Name', + 'path_html' => '�cie�ka HTML', + 'site_url' => 'Adres URL', + 'site_admin_url' => 'Adres panelu administracyjnego', + 'site_mail' => 'E-Mail strony', + 'noreply_mail' => 'E-Mail w jedn� stron�', + 'site_name' => 'Nazwa strony', 'site_slogan' => 'Slogan', - 'microsummary_short' => 'Microsummary', + 'microsummary_short' => 'Mikro streszczenie', 'path_log' => 'Log', - 'path_language' => 'Language', - 'backup_path' => 'Backup', - 'path_data' => 'Data', - 'path_images' => 'Images', - 'path_pear' => 'Path Pear', - 'have_pear' => 'Have Pear?', - 'mail_settings' => 'Mail Settings', - 'allow_mysqldump' => 'Allow MySQL Dump', - 'mysqldump_path' => 'Path of Executable', - 'mysqldump_options' => 'MySQL Dump Options', - 'theme' => 'Theme', - 'menu_elements' => 'Menu Elements', - 'path_themes' => 'Themes Path', - 'disable_new_user_registration' => 'Disable New Registrations', - 'allow_user_themes' => 'Allow User Themes', - 'allow_user_language' => 'Allow User Language', - 'allow_user_photo' => 'Allow User Photo', - 'allow_username_change' => 'Allow Username Changes', - 'allow_account_delete' => 'Allow Account Deletion', - 'hide_author_exclusion' => 'Allow Hide Author', - 'show_fullname' => 'Show Fullname', - 'show_servicename' => 'Show Service Name', - 'custom_registration' => 'Enable Custom Registration', - 'user_login_method' => 'User Login Method', - 'spamx' => 'Spam-X Actions', - 'sort_admin' => 'Sort Links', - 'language' => 'Language', - 'locale' => 'Locale', - 'date' => 'Date Format', - 'daytime' => 'Daytime Format', - 'shortdate' => 'Short Date Format', - 'dateonly' => 'Date Only Format', - 'timeonly' => 'Time Only Format', - 'week_start' => 'Week Start', - 'hour_mode' => 'Hour Mode', - 'thousand_separator' => 'Thousands Separator', - 'decimal_separator' => 'Decimal Separator', - 'decimal_count' => 'Decimal Count', - 'language_files' => 'Language Files', - 'languages' => 'Languages', - 'timezone' => 'Timezone', - 'site_disabled_msg' => 'Site Disabled Message or URL', + 'path_language' => 'J�zyk', + 'backup_path' => 'Kopia zapasowa', + 'path_data' => 'Dane', + 'path_images' => 'Zdj�cia', + 'path_pear' => '�cie�ka do Pear', + 'have_pear' => 'Czy jest biblioteka Pear?', + 'mail_settings' => 'Ustawienia poczty', + 'allow_mysqldump' => 'Zezwalaj na zrzut MySQL', + 'mysqldump_path' => '�cie�ka do plik�w wykonawczych', + 'mysqldump_options' => 'Opcje zrzutu MySQL', + 'theme' => 'Layout', + 'menu_elements' => 'Elementy Menu', + 'path_themes' => '�cie�ka do katalogu z layoutami', + 'disable_new_user_registration' => 'Wy��cz rejestracj� nowych u�ytkownik�w', + 'allow_user_themes' => 'U�ytkownik mo�e zmienia� layout', + 'allow_user_language' => 'U�ytkownik mo�e zmienia� j�zyk', + 'allow_user_photo' => 'U�ytkownik mo�e doda� swoje zdj�cie', + 'allow_username_change' => 'U�ytkownik mo�e zmieni� nazw� konta', + 'allow_account_delete' => 'U�ytkownik mo�e usun�� swoje', + 'hide_author_exclusion' => 'Zezwalaj na ukrycie autora', + 'show_fullname' => 'Poka� pe�n� nazw� u�ytkwonika', + 'show_servicename' => 'Pokazuj nazw� us�ugi', + 'custom_registration' => 'W��cz w�asn� rejestracj�', + 'user_login_method' => 'Metoda logowania u�ytkownika', + 'spamx' => 'Spam-X ustawienia', + 'sort_admin' => 'Sortowanie odno�nik�w', + 'language' => 'J�zyk', + 'locale' => 'Opcje regionalne', + 'date' => 'Format Daty', + 'daytime' => 'Format daty dziennej', + 'shortdate' => 'Format daty kr�tkiej', + 'dateonly' => 'Tylko data - format', + 'timeonly' => 'Tylko godzina - format', + 'week_start' => 'Pocz�tek Tygodnia', + 'hour_mode' => 'Tryb godzinowy', + 'thousand_separator' => 'Separator tysi�czny', + 'decimal_separator' => 'Separator dziesi�tny', + 'decimal_count' => 'Liczenie dziesi�tne', + 'language_files' => 'Pliki j�zykowe', + 'languages' => 'J�zyki', + 'timezone' => 'Strefa czasowa', + 'site_disabled_msg' => 'Komunikat lub odno�nik podczas wy��czenia strony', 'rootdebug' => 'Root Debugging', - 'cookie_session' => 'Session Cookie Name', - 'cookie_name' => 'Permanent Cookie Name', - 'cookie_password' => 'Password Cookie Name', - 'cookie_theme' => 'Theme Cookie Name', - 'cookie_language' => 'Language Cookie Name', - 'cookie_tzid' => 'Timezone Cookie Name', - 'cookie_ip' => 'Cookies embed IP?', - 'default_perm_cookie_timeout' => 'Permanent Timeout', - 'session_cookie_timeout' => 'Session Timeout', - 'cookie_path' => 'Cookie Path', - 'cookiedomain' => 'Cookie Domain', + 'cookie_session' => 'Nazwa ciasteczka sesji', + 'cookie_name' => 'Nazwa ciasteczka sta�ego', + 'cookie_password' => 'Nazwa ciasteczka z has�em', + 'cookie_theme' => 'Nazwa ciasteczka layoutu', + 'cookie_language' => 'Nazwa ciasteczka j�zykowego', + 'cookie_tzid' => 'Nazwa ciasteczka strefy czasowej', + 'cookie_ip' => 'Czy ciasteczko ma zawiera� adres IP?', + 'default_perm_cookie_timeout' => 'Sta�e wyga�ni�cie', + 'session_cookie_timeout' => 'Wyga�ni�cie sesji', + 'cookie_path' => '�cie�ka ciasteczek', + 'cookiedomain' => 'Domena ciasteczek', 'cookiesecure' => 'Cookie Secure', - 'lastlogin' => 'Record Last Login?', - 'pdf_enabled' => 'PDF Enabled?', - 'num_search_results' => 'Number of Search Results', - 'loginrequired' => 'Login Required?', - 'submitloginrequired' => 'Submit Login Required?', - 'commentsloginrequired' => 'Comment Login Required?', - 'statsloginrequired' => 'Stats Login Required?', + 'lastlogin' => 'Zarejestrowa� ostatnie logowanie?', + 'pdf_enabled' => 'PDF w��czony?', + 'num_search_results' => 'Liczba wynik�w z wyszukiwarki', + 'loginrequired' => 'Wymagane zalogowanie?', + 'submitloginrequired' => 'Wymagane zalogowanie do przes�ania materia��w?', + 'commentsloginrequired' => 'Wymagane zalogowanie do skomentowania?', + 'statsloginrequired' => 'Wymagane zalogowanie do przegl�dania statystyk?', 'searchloginrequired' => 'Search Login Required?', 'profileloginrequired' => 'Profile Login Required?', 'emailuserloginrequired' => 'E-Mail User Login Required?', @@ -1708,33 +1708,33 @@ 'pingback_excerpt' => 'Create Pingback Excerpt?', 'link_documentation' => 'Link to Documentation?', 'link_versionchecker' => 'Link to Version Checker?', - 'maximagesperarticle' => 'Max Images per Article', - 'limitnews' => 'Stories per Page', - 'minnews' => 'Min. Stories per Page', - 'contributedbyline' => 'Show "Contributed By"?"', - 'hideviewscount' => 'Hide Views Count?', - 'hideemailicon' => 'Hide E-Mail Icon?', - 'hideprintericon' => 'Hide Print Icon?', - 'allow_page_breaks' => 'Allow Page Breaks?', - 'page_break_comments' => 'Comments on Multi-Page Articles', - 'article_image_align' => 'Topic Icon Alignment', - 'show_topic_icon' => 'Show Topic Icon?', + 'maximagesperarticle' => 'Maks. liczba zdj�� w artykule', + 'limitnews' => 'Liczba artyku��w na stron�', + 'minnews' => 'Min. liczba artyku��w na stron�', + 'contributedbyline' => 'Poka� "Autor"?"', + 'hideviewscount' => 'Ukryj liczb� ods�on?', + 'hideemailicon' => 'Ukryj ikon� emaila?', + 'hideprintericon' => 'Ukryj ikon� drukowania?', + 'allow_page_breaks' => 'Zezwalaj na �amanie stron?', + 'page_break_comments' => 'Komentarze dla artyku��w wielostronicowych', + 'article_image_align' => 'Wyr�wnywanie ikon sekcji', + 'show_topic_icon' => 'Poka� ikon� sekcji?', 'draft_flag' => 'Draft Flag Default', 'frontpage' => 'Frontpage Default', 'hide_no_news_msg' => 'Hide "No News" Message?', 'hide_main_page_navigation' => 'Hide Main Page Navigation?', 'onlyrootfeatures' => 'Only Root can Feature?', - 'aftersave_story' => 'After Saving Story', - 'aftersave_user' => 'After Saving User', - 'show_right_blocks' => 'Always Show Right Blocks?', - 'showfirstasfeatured' => 'Show First Story as Featured?', - 'backend' => 'Enable Feeds?', - 'rdf_file' => 'Syndication Output Folder', - 'rdf_limit' => 'Feed Limit', - 'rdf_storytext' => 'Length of Stories in Feed', - 'rdf_language' => 'Feed Language', - 'syndication_max_headlines' => 'Max. Number of Headlines (portal blocks)', - 'copyrightyear' => 'Copyright Year', + 'aftersave_story' => 'Po zapisaniu artyku�u', + 'aftersave_user' => 'Po zapisaniu u�ytkownika', + 'show_right_blocks' => 'Zawsze pokazuj prawe bloki?', + 'showfirstasfeatured' => 'Poka� pierwszy artyku� jako Artyku� Dnia?', + 'backend' => 'W��cz kana�y RSS?', + 'rdf_file' => 'Katalog z plikami do syndykacji tre�ci', + 'rdf_limit' => 'Limit kana��w RSS', + 'rdf_storytext' => 'D�ugo�� artyku�u w pliku RSS', + 'rdf_language' => 'J�zyk kana�u RSS', + 'syndication_max_headlines' => 'Maks. liczba tytu��w (bloki portalowe)', + 'copyrightyear' => 'Prawa Autorskie Rok', 'image_lib' => 'Image Library', 'path_to_mogrify' => 'Path to Mogrify', 'path_to_netpbm' => 'Path to Netpbm', @@ -1770,7 +1770,7 @@ 'censorreplace' => 'Censor Replace Text', 'censorlist' => 'Censor List', 'ip_lookup' => 'IP Lookup', - 'url_rewrite' => 'Enable URL Rewrite', + 'url_rewrite' => 'W��cz przyjazne adresy URL', 'default_permissions_block' => 'Block Default Permissions', 'default_permissions_story' => 'Story Default Permissions', 'default_permissions_topic' => 'Topic Default Permissions', @@ -1780,80 +1780,80 @@ ); $LANG_configsubgroups['Core'] = array( - 'sg_site' => 'Site', - 'sg_stories' => 'Stories and Trackback', - 'sg_theme' => 'Theme', - 'sg_blocks' => 'Blocks', - 'sg_users' => 'Users and Submissions', - 'sg_images' => 'Images', - 'sg_locale' => 'Languages and Locale', - 'sg_misc' => 'Miscellaneous' + 'sg_site' => 'Strona', + 'sg_stories' => 'Artyku�y i Powiadomienia Zwrotne', + 'sg_theme' => 'Layout', + 'sg_blocks' => 'Bloki', + 'sg_users' => 'U�ytkownicy i Przes�ane materia�y', + 'sg_images' => 'Zdj�cia', + 'sg_locale' => 'J�zyki i Ustawienia regionalne', + 'sg_misc' => 'R�ne' ); $LANG_fs['Core'] = array( - 'fs_site' => 'Site', - 'fs_paths' => 'Paths', - 'fs_theme' => 'Theme', - 'fs_mail' => 'Mail', + 'fs_site' => 'Strona', + 'fs_paths' => '�cie�ki', + 'fs_theme' => 'Layout', + 'fs_mail' => 'Poczta', 'fs_pear' => 'Pear', 'fs_mysql' => 'MySQL', - 'fs_users' => 'Users', - 'fs_misc' => 'Miscellaneous', + 'fs_users' => 'U�ytkownicy', + 'fs_misc' => 'R�ne', 'fs_spamx' => 'Spam-X', 'fs_admin_block' => 'Admin Block', - 'fs_locale' => 'Locale', - 'fs_language' => 'Language', + 'fs_locale' => 'Ustawienia regionalne', + 'fs_language' => 'J�zyk', 'fs_debug' => 'Debug', - 'fs_cookies' => 'Cookies', - 'fs_login' => 'Login Settings', - 'fs_search' => 'Search', - 'fs_user_submission' => 'User Submission', - 'fs_submission' => 'Submission Settings', - 'fs_topics_block' => 'Topics Block', + 'fs_cookies' => 'Ciasteczka', + 'fs_login' => 'Ustawienia logowania', + 'fs_search' => 'Szukaj', + 'fs_user_submission' => 'Materia�y u�ytkownik�w', + 'fs_submission' => 'Ustawienia przesy�ania materia��w', + 'fs_topics_block' => 'Blok sekcji', 'fs_whosonline_block' => 'Who\'s Online Block', 'fs_daily_digest' => 'Daily Digest', - 'fs_whatsnew_block' => 'What\'s New Block', + 'fs_whatsnew_block' => 'Nowo�ci', 'fs_trackback' => 'Trackback', 'fs_pingback' => 'Pingback', - 'fs_story' => 'Story', - 'fs_theme_advanced' => 'Advanced Settings', - 'fs_syndication' => 'Syndication', - 'fs_imagelib' => 'Image Library', - 'fs_upload' => 'Upload', - 'fs_articleimg' => 'Images in Articles', - 'fs_topicicon' => 'Topic Icons', - 'fs_userphoto' => 'Photos', + 'fs_story' => 'Artyku�', + 'fs_theme_advanced' => 'Ustawienia zaawansowane', + 'fs_syndication' => 'Syndykacja tre�ci', + 'fs_imagelib' => 'Katalog zdj��', + 'fs_upload' => '�aduj', + 'fs_articleimg' => 'Zdj�cia w artyku�ach', + 'fs_topicicon' => 'Ikony sekcji', + 'fs_userphoto' => 'Zdj�cia', 'fs_gravatar' => 'Gravatar', - 'fs_comments' => 'Comments', - 'fs_htmlfilter' => 'HTML Filtering', - 'fs_censoring' => 'Censoring', - 'fs_iplookup' => 'IP Lookup', - 'fs_perm_story' => 'Story Default Permission', - 'fs_perm_topic' => 'Topic Default Permission', - 'fs_perm_block' => 'Block Default Permission', - 'fs_webservices' => 'Webservices' + 'fs_comments' => 'Komentarze', + 'fs_htmlfilter' => 'Filtrowanie HTML', + 'fs_censoring' => 'Cenzura', + 'fs_iplookup' => 'Podgl�d IP', + 'fs_perm_story' => 'Domy�lne ustawienia dla artyku��w', + 'fs_perm_topic' => 'Domy�lne ustawienia dla sekcji', + 'fs_perm_block' => 'Domy�lne ustawienia dla blok�w', + 'fs_webservices' => 'Us�ugi WWW' ); $LANG_configselects['Core'] = array( - 0 => array('True' => 1, 'False' => 0), - 1 => array('True' => true, 'False' => false), - 2 => array('Reject' => 0, 'Only Keep Latest' => 1, 'Allow Multiple Posts' => 2), - 3 => array('Trackback Enabled' => 0, 'Trackback Disabled' => -1), - 4 => array('Don\'t Check Anything' => 0, 'Check against Site URL' => 1, 'Check full URL' => 2, 'Check against Site URL and full URL' => 3, 'Check IP against Site IP' => 4, 'Check IP and Site URL' => 5, 'Check IP and Full URL' => 6, 'Check IP, Full URL, and Site URL' => 7), - 5 => array('Plain Old Text' => 'plaintext', 'HTML Formatted' => 'html'), + 0 => array('Tak' => 1, 'Nie' => 0), + 1 => array('Tak' => true, 'Nie' => false), + 2 => array('Odrzu�' => 0, 'Tylko Najnowsze' => 1, 'Zezwalaj na Wiele Post�w' => 2), + 3 => array('Trackback W��czony' => 0, 'Trackback Wy��czony' => -1), + 4 => array('Nie sprawdzaj Niczego' => 0, 'Sprawd� wedle adresu strony' => 1, 'Sprawd� ca�y URL' => 2, 'Sprawd� wedle adresu strony i kompletnego URL' => 3, 'Check IP against Site IP' => 4, 'Sprawd� IP i URL strony' => 5, 'Sprawd� IP i pe�ny URL' => 6, 'Sprawd� IP, pe�ny URL, i URL strony' => 7), + 5 => array('Tekst' => 'plaintext', 'HTML' => 'html'), 6 => array('12' => 12, '24' => 24), - 7 => array('Last Page' => 'last', 'First Page' => 'first', 'Every Page' => 'all'), - 8 => array('Right' => 'right', 'Left' => 'left'), - 9 => array('Forward to page' => 'item', 'Display List' => 'list', 'Display Home' => 'home', 'Display Admin' => 'admin'), - 10 => array('None' => '', 'Netpbm' => 'netpbm', 'ImageMagick' => 'imagemagick', 'gdLib' => 'gdlib'), - 11 => array('Flat' => 'flat', 'Nested' => 'nested', 'Threaded' => 'threaded', 'No Comments' => 'nocomment'), - 12 => array('No access' => 0, 'Read-Only' => 2, 'Read-Write' => 3), - 13 => array('Skip' => 0, 'Allow, with speedlimit' => 1, 'Allow, no speedlimit' => 2), - 14 => array('Sunday' => 'Sun', 'Monday' => 'Mon'), - 15 => array('By Number' => 'sortnum', 'Alphabetically' => 'alpha'), - 16 => array('No Login required' => 0, 'Advanced Search only' => 1, 'Simple + Advanced Search' => 2), - 17 => array('Comments Enabled' => 0, 'Comments Disabled' => -1), - 18 => array('Disabled' => 0, 'Enabled (Exact Match)' => 1, 'Enabled (Word Beginning)' => 2, 'Enabled (Word Fragment)' => 3) + 7 => array('Ostatnia Strona' => 'last', 'Pierwsza Strona' => 'first', 'Wszystkie Strony' => 'all'), + 8 => array('Prawa' => 'right', 'Lewa' => 'left'), + 9 => array('Id� do strony' => 'item', 'Poka� list�' => 'list', 'Poka� stron� g��wn�' => 'home', 'Poka� panel sterowania' => 'admin'), + 10 => array('Brak' => '', 'Netpbm' => 'netpbm', 'ImageMagick' => 'imagemagick', 'gdLib' => 'gdlib'), + 11 => array('Lista' => 'flat', 'Chronologicznie' => 'nested', 'Wg w�tku' => 'threaded', 'Bez komentarzy' => 'nocomment'), + 12 => array('Brak dost�pu' => 0, 'Tylko do Odczytu' => 2, 'Odczyt-Zapis' => 3), + 13 => array('Pomi�' => 0, 'Allow, with speedlimit' => 1, 'Allow, no speedlimit' => 2), + 14 => array('Niedziela' => 'Sun', 'Poniedzia�ek' => 'Mon'), + 15 => array('Liczbowo' => 'sortnum', 'Alfabetycznie' => 'alpha'), + 16 => array('Login nie wymagany' => 0, 'Tylko wyszukiwanie zaawansowane' => 1, 'Wyszukiwanie proste + zaawansowane' => 2), + 17 => array('Komentarze w��czone' => 0, 'Komentarze wy��czone' => -1), + 18 => array('Wy��czone' => 0, 'W��czone (Dok�adne trafienie)' => 1, 'W��czone (Pocz�tek s�owa)' => 2, 'W��czone (Fragment s�owa)' => 3) ); -?> \ No newline at end of file +?> Modified: trunk/geeklog-1-jp-extended/language/polish_utf-8.php ============================================================================== --- trunk/geeklog-1-jp-extended/language/polish_utf-8.php (original) +++ trunk/geeklog-1-jp-extended/language/polish_utf-8.php Sat Feb 7 08:26:59 2009 @@ -2,7 +2,7 @@ ############################################################################### # polish_utf-8.php -# This is the Polish language page for GeekLog! +# This is the Polish language file for Geeklog! # Special thanks to Robert Stadnik geekl****@geekl***** for his work on this project # # Copyright (C) 2000 Jason Whittenburg @@ -80,7 +80,7 @@ 37 => 'Brak artykułów użytkownika', 38 => 'Syndykacja Treści', 39 => 'Odśwież', - 40 => 'Masz <tt>register_globals = Off</tt> w pliku <tt>php.ini</tt>. Niestety, Geeklog wymaga <tt>register_globals</tt> aby były ustawione na <strong>on</strong>. Proszę zminieć ustawienia na <strong>on</strong> i restartować serwer www.', + 40 => 'Masz <tt>register_globals = Off</tt> w pliku <tt>php.ini</tt>. Niestety, Geeklog wymaga <tt>register_globals</tt> aby były ustawione na <strong>on</strong>. Proszę zmienieć ustawienia na <strong>on</strong> i restartować serwer www.', 41 => 'Gość', 42 => 'Autor:', 43 => 'Odpowiedz', @@ -1579,90 +1579,90 @@ 'sections' => 'Configuration Sections', 'restore' => 'Restore', 'add_element' => 'Add Element', - 'save_changes' => 'Save Changes', - 'reset_form' => 'Reset Form', + 'save_changes' => 'Zapisz zmiany', + 'reset_form' => 'Resetuj zmiany', 'changes_made' => 'Changes were successfully made to', - 'title' => 'Configuration Manager', - 'disable' => 'Click to disable this option' + 'title' => 'Menadżer ustawień', + 'disable' => 'Kliknij aby wyłączyć tą opcję' ); $LANG_configsections['Core'] = array( 'label' => 'Geeklog', - 'title' => 'Geeklog Configuration' + 'title' => 'Konfiguracja Geeklog-a' ); $LANG_confignames['Core'] = array( - 'path_html' => 'HTML Path', - 'site_url' => 'Site URL', - 'site_admin_url' => 'Admin URL', - 'site_mail' => 'Site E-Mail', - 'noreply_mail' => 'No-Reply E-Mail', - 'site_name' => 'Site Name', + 'path_html' => 'Ścieżka HTML', + 'site_url' => 'Adres URL', + 'site_admin_url' => 'Adres panelu administracyjnego', + 'site_mail' => 'E-Mail strony', + 'noreply_mail' => 'E-Mail w jedną stronę', + 'site_name' => 'Nazwa strony', 'site_slogan' => 'Slogan', - 'microsummary_short' => 'Microsummary', + 'microsummary_short' => 'Mikro streszczenie', 'path_log' => 'Log', - 'path_language' => 'Language', - 'backup_path' => 'Backup', - 'path_data' => 'Data', - 'path_images' => 'Images', - 'path_pear' => 'Path Pear', - 'have_pear' => 'Have Pear?', - 'mail_settings' => 'Mail Settings', - 'allow_mysqldump' => 'Allow MySQL Dump', - 'mysqldump_path' => 'Path of Executable', - 'mysqldump_options' => 'MySQL Dump Options', - 'theme' => 'Theme', - 'menu_elements' => 'Menu Elements', - 'path_themes' => 'Themes Path', - 'disable_new_user_registration' => 'Disable New Registrations', - 'allow_user_themes' => 'Allow User Themes', - 'allow_user_language' => 'Allow User Language', - 'allow_user_photo' => 'Allow User Photo', - 'allow_username_change' => 'Allow Username Changes', - 'allow_account_delete' => 'Allow Account Deletion', - 'hide_author_exclusion' => 'Allow Hide Author', - 'show_fullname' => 'Show Fullname', - 'show_servicename' => 'Show Service Name', - 'custom_registration' => 'Enable Custom Registration', - 'user_login_method' => 'User Login Method', - 'spamx' => 'Spam-X Actions', - 'sort_admin' => 'Sort Links', - 'language' => 'Language', - 'locale' => 'Locale', - 'date' => 'Date Format', - 'daytime' => 'Daytime Format', - 'shortdate' => 'Short Date Format', - 'dateonly' => 'Date Only Format', - 'timeonly' => 'Time Only Format', - 'week_start' => 'Week Start', - 'hour_mode' => 'Hour Mode', - 'thousand_separator' => 'Thousands Separator', - 'decimal_separator' => 'Decimal Separator', - 'decimal_count' => 'Decimal Count', - 'language_files' => 'Language Files', - 'languages' => 'Languages', - 'timezone' => 'Timezone', - 'site_disabled_msg' => 'Site Disabled Message or URL', + 'path_language' => 'Język', + 'backup_path' => 'Kopia zapasowa', + 'path_data' => 'Dane', + 'path_images' => 'Zdjęcia', + 'path_pear' => 'Ścieżka do Pear', + 'have_pear' => 'Czy jest biblioteka Pear?', + 'mail_settings' => 'Ustawienia poczty', + 'allow_mysqldump' => 'Zezwalaj na zrzut MySQL', + 'mysqldump_path' => 'Ścieżka do plików wykonawczych', + 'mysqldump_options' => 'Opcje zrzutu MySQL', + 'theme' => 'Layout', + 'menu_elements' => 'Elementy Menu', + 'path_themes' => 'Ścieżka do katalogu z layoutami', + 'disable_new_user_registration' => 'Wyłącz rejestrację nowych użytkowników', + 'allow_user_themes' => 'Użytkownik może zmieniać layout', + 'allow_user_language' => 'Użytkownik może zmieniać język', + 'allow_user_photo' => 'Użytkownik może dodać swoje zdjęcie', + 'allow_username_change' => 'Użytkownik może zmienić nazwę konta', + 'allow_account_delete' => 'Użytkownik może usunąć swoje', + 'hide_author_exclusion' => 'Zezwalaj na ukrycie autora', + 'show_fullname' => 'Pokaż pełną nazwę użytkwonika', + 'show_servicename' => 'Pokazuj nazwę usługi', + 'custom_registration' => 'Włącz własną rejestrację', + 'user_login_method' => 'Metoda logowania użytkownika', + 'spamx' => 'Spam-X ustawienia', + 'sort_admin' => 'Sortowanie odnośników', + 'language' => 'Język', + 'locale' => 'Opcje regionalne', + 'date' => 'Format Daty', + 'daytime' => 'Format daty dziennej', + 'shortdate' => 'Format daty krótkiej', + 'dateonly' => 'Tylko data - format', + 'timeonly' => 'Tylko godzina - format', + 'week_start' => 'Początek Tygodnia', + 'hour_mode' => 'Tryb godzinowy', + 'thousand_separator' => 'Separator tysięczny', + 'decimal_separator' => 'Separator dziesiętny', + 'decimal_count' => 'Liczenie dziesiętne', + 'language_files' => 'Pliki językowe', + 'languages' => 'Języki', + 'timezone' => 'Strefa czasowa', + 'site_disabled_msg' => 'Komunikat lub odnośnik podczas wyłączenia strony', 'rootdebug' => 'Root Debugging', - 'cookie_session' => 'Session Cookie Name', - 'cookie_name' => 'Permanent Cookie Name', - 'cookie_password' => 'Password Cookie Name', - 'cookie_theme' => 'Theme Cookie Name', - 'cookie_language' => 'Language Cookie Name', - 'cookie_tzid' => 'Timezone Cookie Name', - 'cookie_ip' => 'Cookies embed IP?', - 'default_perm_cookie_timeout' => 'Permanent Timeout', - 'session_cookie_timeout' => 'Session Timeout', - 'cookie_path' => 'Cookie Path', - 'cookiedomain' => 'Cookie Domain', + 'cookie_session' => 'Nazwa ciasteczka sesji', + 'cookie_name' => 'Nazwa ciasteczka stałego', + 'cookie_password' => 'Nazwa ciasteczka z hasłem', + 'cookie_theme' => 'Nazwa ciasteczka layoutu', + 'cookie_language' => 'Nazwa ciasteczka językowego', + 'cookie_tzid' => 'Nazwa ciasteczka strefy czasowej', + 'cookie_ip' => 'Czy ciasteczko ma zawierać adres IP?', + 'default_perm_cookie_timeout' => 'Stałe wygaśnięcie', + 'session_cookie_timeout' => 'Wygaśnięcie sesji', + 'cookie_path' => 'Ścieżka ciasteczek', + 'cookiedomain' => 'Domena ciasteczek', 'cookiesecure' => 'Cookie Secure', - 'lastlogin' => 'Record Last Login?', - 'pdf_enabled' => 'PDF Enabled?', - 'num_search_results' => 'Number of Search Results', - 'loginrequired' => 'Login Required?', - 'submitloginrequired' => 'Submit Login Required?', - 'commentsloginrequired' => 'Comment Login Required?', - 'statsloginrequired' => 'Stats Login Required?', + 'lastlogin' => 'Zarejestrować ostatnie logowanie?', + 'pdf_enabled' => 'PDF włączony?', + 'num_search_results' => 'Liczba wyników z wyszukiwarki', + 'loginrequired' => 'Wymagane zalogowanie?', + 'submitloginrequired' => 'Wymagane zalogowanie do przesłania materiałów?', + 'commentsloginrequired' => 'Wymagane zalogowanie do skomentowania?', + 'statsloginrequired' => 'Wymagane zalogowanie do przeglądania statystyk?', 'searchloginrequired' => 'Search Login Required?', 'profileloginrequired' => 'Profile Login Required?', 'emailuserloginrequired' => 'E-Mail User Login Required?', @@ -1708,33 +1708,33 @@ 'pingback_excerpt' => 'Create Pingback Excerpt?', 'link_documentation' => 'Link to Documentation?', 'link_versionchecker' => 'Link to Version Checker?', - 'maximagesperarticle' => 'Max Images per Article', - 'limitnews' => 'Stories per Page', - 'minnews' => 'Min. Stories per Page', - 'contributedbyline' => 'Show "Contributed By"?"', - 'hideviewscount' => 'Hide Views Count?', - 'hideemailicon' => 'Hide E-Mail Icon?', - 'hideprintericon' => 'Hide Print Icon?', - 'allow_page_breaks' => 'Allow Page Breaks?', - 'page_break_comments' => 'Comments on Multi-Page Articles', - 'article_image_align' => 'Topic Icon Alignment', - 'show_topic_icon' => 'Show Topic Icon?', + 'maximagesperarticle' => 'Maks. liczba zdjęć w artykule', + 'limitnews' => 'Liczba artykułów na stronę', + 'minnews' => 'Min. liczba artykułów na stronę', + 'contributedbyline' => 'Pokaż "Autor"?"', + 'hideviewscount' => 'Ukryj liczbę odsłon?', + 'hideemailicon' => 'Ukryj ikonę emaila?', + 'hideprintericon' => 'Ukryj ikonę drukowania?', + 'allow_page_breaks' => 'Zezwalaj na łamanie stron?', + 'page_break_comments' => 'Komentarze dla artykułów wielostronicowych', + 'article_image_align' => 'Wyrównywanie ikon sekcji', + 'show_topic_icon' => 'Pokaż ikonę sekcji?', 'draft_flag' => 'Draft Flag Default', 'frontpage' => 'Frontpage Default', 'hide_no_news_msg' => 'Hide "No News" Message?', 'hide_main_page_navigation' => 'Hide Main Page Navigation?', 'onlyrootfeatures' => 'Only Root can Feature?', - 'aftersave_story' => 'After Saving Story', - 'aftersave_user' => 'After Saving User', - 'show_right_blocks' => 'Always Show Right Blocks?', - 'showfirstasfeatured' => 'Show First Story as Featured?', - 'backend' => 'Enable Feeds?', - 'rdf_file' => 'Syndication Output Folder', - 'rdf_limit' => 'Feed Limit', - 'rdf_storytext' => 'Length of Stories in Feed', - 'rdf_language' => 'Feed Language', - 'syndication_max_headlines' => 'Max. Number of Headlines (portal blocks)', - 'copyrightyear' => 'Copyright Year', + 'aftersave_story' => 'Po zapisaniu artykułu', + 'aftersave_user' => 'Po zapisaniu użytkownika', + 'show_right_blocks' => 'Zawsze pokazuj prawe bloki?', + 'showfirstasfeatured' => 'Pokaż pierwszy artykuł jako Artykuł Dnia?', + 'backend' => 'Włącz kanały RSS?', + 'rdf_file' => 'Katalog z plikami do syndykacji treści', + 'rdf_limit' => 'Limit kanałów RSS', + 'rdf_storytext' => 'Długość artykułu w pliku RSS', + 'rdf_language' => 'Język kanału RSS', + 'syndication_max_headlines' => 'Maks. liczba tytułów (bloki portalowe)', + 'copyrightyear' => 'Prawa Autorskie Rok', 'image_lib' => 'Image Library', 'path_to_mogrify' => 'Path to Mogrify', 'path_to_netpbm' => 'Path to Netpbm', @@ -1770,7 +1770,7 @@ 'censorreplace' => 'Censor Replace Text', 'censorlist' => 'Censor List', 'ip_lookup' => 'IP Lookup', - 'url_rewrite' => 'Enable URL Rewrite', + 'url_rewrite' => 'Włącz przyjazne adresy URL', 'default_permissions_block' => 'Block Default Permissions', 'default_permissions_story' => 'Story Default Permissions', 'default_permissions_topic' => 'Topic Default Permissions', @@ -1780,80 +1780,80 @@ ); $LANG_configsubgroups['Core'] = array( - 'sg_site' => 'Site', - 'sg_stories' => 'Stories and Trackback', - 'sg_theme' => 'Theme', - 'sg_blocks' => 'Blocks', - 'sg_users' => 'Users and Submissions', - 'sg_images' => 'Images', - 'sg_locale' => 'Languages and Locale', - 'sg_misc' => 'Miscellaneous' + 'sg_site' => 'Strona', + 'sg_stories' => 'Artykuły i Powiadomienia Zwrotne', + 'sg_theme' => 'Layout', + 'sg_blocks' => 'Bloki', + 'sg_users' => 'Użytkownicy i Przesłane materiały', + 'sg_images' => 'Zdjęcia', + 'sg_locale' => 'Języki i Ustawienia regionalne', + 'sg_misc' => 'Różne' ); $LANG_fs['Core'] = array( - 'fs_site' => 'Site', - 'fs_paths' => 'Paths', - 'fs_theme' => 'Theme', - 'fs_mail' => 'Mail', + 'fs_site' => 'Strona', + 'fs_paths' => 'Ścieżki', + 'fs_theme' => 'Layout', + 'fs_mail' => 'Poczta', 'fs_pear' => 'Pear', 'fs_mysql' => 'MySQL', - 'fs_users' => 'Users', - 'fs_misc' => 'Miscellaneous', + 'fs_users' => 'Użytkownicy', + 'fs_misc' => 'Różne', 'fs_spamx' => 'Spam-X', 'fs_admin_block' => 'Admin Block', - 'fs_locale' => 'Locale', - 'fs_language' => 'Language', + 'fs_locale' => 'Ustawienia regionalne', + 'fs_language' => 'Język', 'fs_debug' => 'Debug', - 'fs_cookies' => 'Cookies', - 'fs_login' => 'Login Settings', - 'fs_search' => 'Search', - 'fs_user_submission' => 'User Submission', - 'fs_submission' => 'Submission Settings', - 'fs_topics_block' => 'Topics Block', + 'fs_cookies' => 'Ciasteczka', + 'fs_login' => 'Ustawienia logowania', + 'fs_search' => 'Szukaj', + 'fs_user_submission' => 'Materiały użytkowników', + 'fs_submission' => 'Ustawienia przesyłania materiałów', + 'fs_topics_block' => 'Blok sekcji', 'fs_whosonline_block' => 'Who\'s Online Block', 'fs_daily_digest' => 'Daily Digest', - 'fs_whatsnew_block' => 'What\'s New Block', + 'fs_whatsnew_block' => 'Nowości', 'fs_trackback' => 'Trackback', 'fs_pingback' => 'Pingback', - 'fs_story' => 'Story', - 'fs_theme_advanced' => 'Advanced Settings', - 'fs_syndication' => 'Syndication', - 'fs_imagelib' => 'Image Library', - 'fs_upload' => 'Upload', - 'fs_articleimg' => 'Images in Articles', - 'fs_topicicon' => 'Topic Icons', - 'fs_userphoto' => 'Photos', + 'fs_story' => 'Artykuł', + 'fs_theme_advanced' => 'Ustawienia zaawansowane', + 'fs_syndication' => 'Syndykacja treści', + 'fs_imagelib' => 'Katalog zdjęć', + 'fs_upload' => 'Ładuj', + 'fs_articleimg' => 'Zdjęcia w artykułach', + 'fs_topicicon' => 'Ikony sekcji', + 'fs_userphoto' => 'Zdjęcia', 'fs_gravatar' => 'Gravatar', - 'fs_comments' => 'Comments', - 'fs_htmlfilter' => 'HTML Filtering', - 'fs_censoring' => 'Censoring', - 'fs_iplookup' => 'IP Lookup', - 'fs_perm_story' => 'Story Default Permission', - 'fs_perm_topic' => 'Topic Default Permission', - 'fs_perm_block' => 'Block Default Permission', - 'fs_webservices' => 'Webservices' + 'fs_comments' => 'Komentarze', + 'fs_htmlfilter' => 'Filtrowanie HTML', + 'fs_censoring' => 'Cenzura', + 'fs_iplookup' => 'Podgląd IP', + 'fs_perm_story' => 'Domyślne ustawienia dla artykułów', + 'fs_perm_topic' => 'Domyślne ustawienia dla sekcji', + 'fs_perm_block' => 'Domyślne ustawienia dla bloków', + 'fs_webservices' => 'Usługi WWW' ); $LANG_configselects['Core'] = array( - 0 => array('True' => 1, 'False' => 0), - 1 => array('True' => true, 'False' => false), - 2 => array('Reject' => 0, 'Only Keep Latest' => 1, 'Allow Multiple Posts' => 2), - 3 => array('Trackback Enabled' => 0, 'Trackback Disabled' => -1), - 4 => array('Don\'t Check Anything' => 0, 'Check against Site URL' => 1, 'Check full URL' => 2, 'Check against Site URL and full URL' => 3, 'Check IP against Site IP' => 4, 'Check IP and Site URL' => 5, 'Check IP and Full URL' => 6, 'Check IP, Full URL, and Site URL' => 7), - 5 => array('Plain Old Text' => 'plaintext', 'HTML Formatted' => 'html'), + 0 => array('Tak' => 1, 'Nie' => 0), + 1 => array('Tak' => true, 'Nie' => false), + 2 => array('Odrzuć' => 0, 'Tylko Najnowsze' => 1, 'Zezwalaj na Wiele Postów' => 2), + 3 => array('Trackback Włączony' => 0, 'Trackback Wyłączony' => -1), + 4 => array('Nie sprawdzaj Niczego' => 0, 'Sprawdź wedle adresu strony' => 1, 'Sprawdź cały URL' => 2, 'Sprawdź wedle adresu strony i kompletnego URL' => 3, 'Check IP against Site IP' => 4, 'Sprawdź IP i URL strony' => 5, 'Sprawdź IP i pełny URL' => 6, 'Sprawdź IP, pełny URL, i URL strony' => 7), + 5 => array('Tekst' => 'plaintext', 'HTML' => 'html'), 6 => array('12' => 12, '24' => 24), - 7 => array('Last Page' => 'last', 'First Page' => 'first', 'Every Page' => 'all'), - 8 => array('Right' => 'right', 'Left' => 'left'), - 9 => array('Forward to page' => 'item', 'Display List' => 'list', 'Display Home' => 'home', 'Display Admin' => 'admin'), - 10 => array('None' => '', 'Netpbm' => 'netpbm', 'ImageMagick' => 'imagemagick', 'gdLib' => 'gdlib'), - 11 => array('Flat' => 'flat', 'Nested' => 'nested', 'Threaded' => 'threaded', 'No Comments' => 'nocomment'), - 12 => array('No access' => 0, 'Read-Only' => 2, 'Read-Write' => 3), - 13 => array('Skip' => 0, 'Allow, with speedlimit' => 1, 'Allow, no speedlimit' => 2), - 14 => array('Sunday' => 'Sun', 'Monday' => 'Mon'), - 15 => array('By Number' => 'sortnum', 'Alphabetically' => 'alpha'), - 16 => array('No Login required' => 0, 'Advanced Search only' => 1, 'Simple + Advanced Search' => 2), - 17 => array('Comments Enabled' => 0, 'Comments Disabled' => -1), - 18 => array('Disabled' => 0, 'Enabled (Exact Match)' => 1, 'Enabled (Word Beginning)' => 2, 'Enabled (Word Fragment)' => 3) + 7 => array('Ostatnia Strona' => 'last', 'Pierwsza Strona' => 'first', 'Wszystkie Strony' => 'all'), + 8 => array('Prawa' => 'right', 'Lewa' => 'left'), + 9 => array('Idź do strony' => 'item', 'Pokaż listę' => 'list', 'Pokaż stronę główną' => 'home', 'Pokaż panel sterowania' => 'admin'), + 10 => array('Brak' => '', 'Netpbm' => 'netpbm', 'ImageMagick' => 'imagemagick', 'gdLib' => 'gdlib'), + 11 => array('Lista' => 'flat', 'Chronologicznie' => 'nested', 'Wg wątku' => 'threaded', 'Bez komentarzy' => 'nocomment'), + 12 => array('Brak dostępu' => 0, 'Tylko do Odczytu' => 2, 'Odczyt-Zapis' => 3), + 13 => array('Pomiń' => 0, 'Allow, with speedlimit' => 1, 'Allow, no speedlimit' => 2), + 14 => array('Niedziela' => 'Sun', 'Poniedziałek' => 'Mon'), + 15 => array('Liczbowo' => 'sortnum', 'Alfabetycznie' => 'alpha'), + 16 => array('Login nie wymagany' => 0, 'Tylko wyszukiwanie zaawansowane' => 1, 'Wyszukiwanie proste + zaawansowane' => 2), + 17 => array('Komentarze włączone' => 0, 'Komentarze wyłączone' => -1), + 18 => array('Wyłączone' => 0, 'Włączone (Dokładne trafienie)' => 1, 'Włączone (Początek słowa)' => 2, 'Włączone (Fragment słowa)' => 3) ); -?> \ No newline at end of file +?> Modified: trunk/geeklog-1-jp-extended/plugins/calendar/functions.inc ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/calendar/functions.inc (original) +++ trunk/geeklog-1-jp-extended/plugins/calendar/functions.inc Sat Feb 7 08:26:59 2009 @@ -10,7 +10,7 @@ // | API method and 2) implements all the common code needed by the CAlendar | // | plugin' PHP files. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2000-2008 by the following authors: | +// | Copyright (C) 2000-2009 by the following authors: | // | | // | Authors: Tony Bibbs - tony AT tonybibbs DOT com | // | Tom Willett - twillett AT users DOT sourceforge DOT net | @@ -33,8 +33,6 @@ // | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | // | | // +---------------------------------------------------------------------------+ -// -// $Id: functions.inc,v 1.95 2008/09/21 08:37:07 dhaun Exp $ if (strpos(strtolower($_SERVER['PHP_SELF']), 'functions.inc') !== false) { die('This file can not be used on its own.'); @@ -59,7 +57,7 @@ $_CA_CONF = $ca_config->get_config('calendar'); } -$_CA_CONF['version'] = '1.0.2'; +$_CA_CONF['version'] = '1.0.3'; // +---------------------------------------------------------------------------+ // | Geeklog Plugin API Implementations | @@ -830,7 +828,7 @@ DB_delete($_TABLES['events'], 'eid', $eid); DB_delete($_TABLES['personal_events'], 'eid', $eid); - COM_rdfUpToDateCheck('geeklog', 'calendar', $eid); + COM_rdfUpToDateCheck('calendar'); return COM_refresh($_CONF['site_admin_url'] . '/plugins/calendar/index.php?msg=18'); } elseif ($type == 'submission') { Modified: trunk/geeklog-1-jp-extended/plugins/links/functions.inc ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/links/functions.inc (original) +++ trunk/geeklog-1-jp-extended/plugins/links/functions.inc Sat Feb 7 08:26:59 2009 @@ -10,7 +10,7 @@ // | API method and 2) implements all the common code needed by the Links | // | Plugins' PHP files. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2000-2008 by the following authors: | +// | Copyright (C) 2000-2009 by the following authors: | // | | // | Authors: Tony Bibbs - tony AT tonybibbs DOT com | // | Mark Limburg - mlimb****@users***** DOT net | @@ -35,8 +35,6 @@ // | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | // | | // +---------------------------------------------------------------------------+ -// -// $Id: functions.inc,v 1.111 2008/09/21 08:37:08 dhaun Exp $ if (strpos(strtolower($_SERVER['PHP_SELF']), 'functions.inc') !== false) { die('This file can not be used on its own.'); @@ -61,7 +59,7 @@ $_LI_CONF = $li_config->get_config('links'); } -$_LI_CONF['version'] = '2.0.0'; +$_LI_CONF['version'] = '2.0.1'; // +---------------------------------------------------------------------------+ // | Geeklog Plugin API Implementation | @@ -363,13 +361,13 @@ // link search $select = 'SELECT lid,title,url,owner_id,hits,UNIX_TIMESTAMP(date) AS day'; - $sql = " FROM {$_TABLES['links']} WHERE date <> 1 "; + $sql = " FROM {$_TABLES['links']} WHERE date <> 1"; if (!empty ($query)) { if ($keyType == 'phrase') { $mysearchterm = addslashes ($query); - $sql .= " AND (description LIKE '%$mysearchterm%')" - . " OR (title LIKE '%$mysearchterm%')"; + $sql .= " AND ((description LIKE '%$mysearchterm%')" + . " OR (title LIKE '%$mysearchterm%'))"; } else if ($keyType == 'all') { $mywords = explode (' ', $query); $sql .= ' AND ('; @@ -377,8 +375,8 @@ foreach ($mywords AS $mysearchterm) { $mysearchterm = addslashes (trim ($mysearchterm)); if (!empty ($mysearchterm)) { - $tmp .= "(description LIKE '%$mysearchterm%')" - . " OR (title LIKE '%$mysearchterm%') AND "; + $tmp .= "((description LIKE '%$mysearchterm%')" + . " OR (title LIKE '%$mysearchterm%')) AND "; } } $tmp = substr ($tmp, 0, strlen ($tmp) - 5); @@ -390,16 +388,16 @@ foreach ($mywords AS $mysearchterm) { $mysearchterm = addslashes (trim ($mysearchterm)); if (!empty ($mysearchterm)) { - $tmp .= "(description LIKE '%$mysearchterm%')" - . " OR (title LIKE '%$mysearchterm%') OR "; + $tmp .= "((description LIKE '%$mysearchterm%')" + . " OR (title LIKE '%$mysearchterm%')) OR "; } } $tmp = substr ($tmp, 0, strlen ($tmp) - 4); $sql .= $tmp . ')'; } else { // quick search $mysearchterm = addslashes ($query); - $sql .= " AND (description LIKE '%$mysearchterm%')" - . " OR (title LIKE '%$mysearchterm%')"; + $sql .= " AND ((description LIKE '%$mysearchterm%')" + . " OR (title LIKE '%$mysearchterm%'))"; } } @@ -415,9 +413,9 @@ } if (!empty ($author)) { - $sql .= "AND (owner_id = '$author')"; + $sql .= " AND (owner_id = '$author')"; } - $sql .= COM_getPermSQL ('AND'); + $sql .= COM_getPermSQL('AND'); $sql .= ' GROUP BY date, lid, cid, url, description, title, hits, owner_id, group_id, perm_owner, perm_group, perm_members, perm_anon ORDER BY date DESC'; $l = ($perpage * $page) - $perpage; $sql .= ' LIMIT ' . $l . ',' . $perpage; Modified: trunk/geeklog-1-jp-extended/plugins/links/language/slovenian.php ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/links/language/slovenian.php (original) +++ trunk/geeklog-1-jp-extended/plugins/links/language/slovenian.php Sat Feb 7 08:26:59 2009 @@ -1,7 +1,7 @@ <?php ############################################################################### -# slovenian.php - version 1.4.1 +# slovenian.php - version 1.5.1 # This is the slovenian language file for the Geeklog Links Plugin # language file for geeklog version 1.4.1 beta by mb # gape****@gape***** ; za pripombe, predloge ipd ... pi�i na email @@ -43,16 +43,16 @@ 88 => 'Ni nedavnih novih povezav', 114 => 'Povezave', 116 => 'Dodaj povezavo', - 117 => 'Report Broken Link', - 118 => 'Broken Link Report', - 119 => 'The following link has been reported to be broken: ', - 120 => 'To edit the link, click here: ', - 121 => 'The broken Link was reported by: ', - 122 => 'Thank you for reporting this broken link. The administrator will correct the problem as soon as possible', - 123 => 'Thank you', + 117 => 'Prijavi napako v povezavi', + 118 => 'Prijava napake v povezavi', + 119 => 'Te povezave so prijavljene kot nedelujo�e: ', + 120 => 'Da popravi� povezavo klikni tukj: ', + 121 => 'Napako v povezavi je prijavil: ', + 122 => 'Hvala da ste prijavili to napako v povezavi. Administrator bo odpravil te�avo takoj ko bo mogo�e.', + 123 => 'Hvala', 124 => 'Go', - 125 => 'Categories', - 126 => 'You are here:', + 125 => 'Kategorije', + 126 => 'Ti si tukaj:', 'root' => 'Root' ); @@ -60,10 +60,10 @@ # for stats $LANG_LINKS_STATS = array( - 'links' => 'Links (Clicks) in the System', - 'stats_headline' => 'Top Ten Links', - 'stats_page_title' => 'Links', - 'stats_hits' => 'Hits', + 'links' => 'Povezave (Kliki) v Sistemu', + 'stats_headline' => '10 najbolj popularnih povezav', + 'stats_page_title' => 'Povezave', + 'stats_hits' => 'Zadetki', 'stats_no_hits' => 'Izgleda, da na tem mestu ni povezav ali pa �e nikoli ni nih�e kliknil na nobeno.' ); @@ -74,7 +74,7 @@ 'results' => 'Rezultati povezav', 'title' => 'Naslov', 'date' => 'Dodani datum', - 'author' => 'Odposlal:', + 'author' => 'Avtor:', 'hits' => 'Kliki' ); @@ -102,20 +102,20 @@ $PLG_links_MESSAGE2 = 'Tvoja povezava je uspe�no shranjena.'; $PLG_links_MESSAGE3 = 'Povezava je uspe�no izbrisana.'; $PLG_links_MESSAGE4 = "Hvala, da si povezavo oddal/a na spletno mesto {$_CONF['site_name']}. Sedaj jo lahko vidi� v razdelku <a href={$_CONF['site_url']}/links/index.php>povezave</a>."; -$PLG_links_MESSAGE5 = 'You do not have sufficient access rights to view this category.'; -$PLG_links_MESSAGE6 = 'You do not have sufficient rights to edit this category.'; -$PLG_links_MESSAGE7 = 'Please enter a Category Name and Description.'; -$PLG_links_MESSAGE10 = 'Your category has been successfully saved.'; -$PLG_links_MESSAGE11 = 'You are not allowed to set the id of a category to "site" or "user" - these are reserved for internal use.'; +$PLG_links_MESSAGE5 = 'Nima� zadosti visokih pravic za prikaz te kategorije.'; +$PLG_links_MESSAGE6 = 'Nima� zadosti visokih pravic za urejanje te kategorije.'; +$PLG_links_MESSAGE7 = 'Prosim vpi�i ime kategorije in njen opis.'; +$PLG_links_MESSAGE10 = 'Kategorija je bila uspe�no shranjena.'; +$PLG_links_MESSAGE11 = 'Ni dovoljeno uporabiti imen "site" ali "user" za kategorijo - ta so rezervirana za notranjo uporabo.'; $PLG_links_MESSAGE12 = 'You are trying to make a parent category the child of it\'s own subcategory. This would create an orphan category, so please first move the child category or categories up to a higher level.'; -$PLG_links_MESSAGE13 = 'The category has been successfully deleted.'; -$PLG_links_MESSAGE14 = 'Category contains links and/or categories. Please remove these first.'; -$PLG_links_MESSAGE15 = 'You do not have sufficient rights to delete this category.'; -$PLG_links_MESSAGE16 = 'No such category exists.'; -$PLG_links_MESSAGE17 = 'This category id is already in use.'; +$PLG_links_MESSAGE13 = 'Kategorija je bila uspe�no izbrisana.'; +$PLG_links_MESSAGE14 = 'Kategorija vsebuje povezave in ali kategorije. Prosim da jih prej izbri�e�.'; +$PLG_links_MESSAGE15 = 'Nima� dovolj visokih pravic za izbris te kategorije.'; +$PLG_links_MESSAGE16 = 'Kategorija s tem imenom ne obstaja.'; +$PLG_links_MESSAGE17 = 'Ime (id) te kategorije je �e uporabljeno.'; // Messages for the plugin upgrade -$PLG_links_MESSAGE3001 = 'Plugin upgrade not supported.'; +$PLG_links_MESSAGE3001 = 'Nadgradnja vti�nika ni podprta.'; $PLG_links_MESSAGE3002 = $LANG32[9]; ############################################################################### @@ -141,7 +141,7 @@ 21 => 'shrani', 22 => 'prekli�i', 23 => 'izbri�i', - 24 => 'Link not found', + 24 => 'Ne najdem povezave', 25 => 'The link you selected for editing could not be found.', 26 => 'Validate Links', 27 => 'HTML Status', @@ -258,4 +258,4 @@ 12 => array('No access' => 0, 'Read-Only' => 2, 'Read-Write' => 3) ); -?> \ No newline at end of file +?> Modified: trunk/geeklog-1-jp-extended/plugins/links/language/slovenian_utf-8.php ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/links/language/slovenian_utf-8.php (original) +++ trunk/geeklog-1-jp-extended/plugins/links/language/slovenian_utf-8.php Sat Feb 7 08:26:59 2009 @@ -1,7 +1,7 @@ <?php ############################################################################### -# slovenian.php - version 1.4.1 +# slovenian_utf-8.php - version 1.5.1 # This is the slovenian language file for the Geeklog Links Plugin # language file for geeklog version 1.4.1 beta by mb # gape****@gape***** ; za pripombe, predloge ipd ... piši na email @@ -43,16 +43,16 @@ 88 => 'Ni nedavnih novih povezav', 114 => 'Povezave', 116 => 'Dodaj povezavo', - 117 => 'Report Broken Link', - 118 => 'Broken Link Report', - 119 => 'The following link has been reported to be broken: ', - 120 => 'To edit the link, click here: ', - 121 => 'The broken Link was reported by: ', - 122 => 'Thank you for reporting this broken link. The administrator will correct the problem as soon as possible', - 123 => 'Thank you', + 117 => 'Prijavi napako v povezavi', + 118 => 'Prijava napake v povezavi', + 119 => 'Te povezave so prijavljene kot nedelujoče: ', + 120 => 'Da popraviš povezavo klikni tukj: ', + 121 => 'Napako v povezavi je prijavil: ', + 122 => 'Hvala da ste prijavili to napako v povezavi. Administrator bo odpravil težavo takoj ko bo mogoče.', + 123 => 'Hvala', 124 => 'Go', - 125 => 'Categories', - 126 => 'You are here:', + 125 => 'Kategorije', + 126 => 'Ti si tukaj:', 'root' => 'Root' ); @@ -60,10 +60,10 @@ # for stats $LANG_LINKS_STATS = array( - 'links' => 'Links (Clicks) in the System', - 'stats_headline' => 'Top Ten Links', - 'stats_page_title' => 'Links', - 'stats_hits' => 'Hits', + 'links' => 'Povezave (Kliki) v Sistemu', + 'stats_headline' => '10 najbolj popularnih povezav', + 'stats_page_title' => 'Povezave', + 'stats_hits' => 'Zadetki', 'stats_no_hits' => 'Izgleda, da na tem mestu ni povezav ali pa še nikoli ni nihče kliknil na nobeno.' ); @@ -74,7 +74,7 @@ 'results' => 'Rezultati povezav', 'title' => 'Naslov', 'date' => 'Dodani datum', - 'author' => 'Odposlal:', + 'author' => 'Avtor:', 'hits' => 'Kliki' ); @@ -102,20 +102,20 @@ $PLG_links_MESSAGE2 = 'Tvoja povezava je uspešno shranjena.'; $PLG_links_MESSAGE3 = 'Povezava je uspešno izbrisana.'; $PLG_links_MESSAGE4 = "Hvala, da si povezavo oddal/a na spletno mesto {$_CONF['site_name']}. Sedaj jo lahko vidiš v razdelku <a href={$_CONF['site_url']}/links/index.php>povezave</a>."; -$PLG_links_MESSAGE5 = 'You do not have sufficient access rights to view this category.'; -$PLG_links_MESSAGE6 = 'You do not have sufficient rights to edit this category.'; -$PLG_links_MESSAGE7 = 'Please enter a Category Name and Description.'; -$PLG_links_MESSAGE10 = 'Your category has been successfully saved.'; -$PLG_links_MESSAGE11 = 'You are not allowed to set the id of a category to "site" or "user" - these are reserved for internal use.'; +$PLG_links_MESSAGE5 = 'Nimaš zadosti visokih pravic za prikaz te kategorije.'; +$PLG_links_MESSAGE6 = 'Nimaš zadosti visokih pravic za urejanje te kategorije.'; +$PLG_links_MESSAGE7 = 'Prosim vpiši ime kategorije in njen opis.'; +$PLG_links_MESSAGE10 = 'Kategorija je bila uspešno shranjena.'; +$PLG_links_MESSAGE11 = 'Ni dovoljeno uporabiti imen "site" ali "user" za kategorijo - ta so rezervirana za notranjo uporabo.'; $PLG_links_MESSAGE12 = 'You are trying to make a parent category the child of it\'s own subcategory. This would create an orphan category, so please first move the child category or categories up to a higher level.'; -$PLG_links_MESSAGE13 = 'The category has been successfully deleted.'; -$PLG_links_MESSAGE14 = 'Category contains links and/or categories. Please remove these first.'; -$PLG_links_MESSAGE15 = 'You do not have sufficient rights to delete this category.'; -$PLG_links_MESSAGE16 = 'No such category exists.'; -$PLG_links_MESSAGE17 = 'This category id is already in use.'; +$PLG_links_MESSAGE13 = 'Kategorija je bila uspešno izbrisana.'; +$PLG_links_MESSAGE14 = 'Kategorija vsebuje povezave in ali kategorije. Prosim da jih prej izbrišeš.'; +$PLG_links_MESSAGE15 = 'Nimaš dovolj visokih pravic za izbris te kategorije.'; +$PLG_links_MESSAGE16 = 'Kategorija s tem imenom ne obstaja.'; +$PLG_links_MESSAGE17 = 'Ime (id) te kategorije je že uporabljeno.'; // Messages for the plugin upgrade -$PLG_links_MESSAGE3001 = 'Plugin upgrade not supported.'; +$PLG_links_MESSAGE3001 = 'Nadgradnja vtičnika ni podprta.'; $PLG_links_MESSAGE3002 = $LANG32[9]; ############################################################################### @@ -141,7 +141,7 @@ 21 => 'shrani', 22 => 'prekliči', 23 => 'izbriši', - 24 => 'Link not found', + 24 => 'Ne najdem povezave', 25 => 'The link you selected for editing could not be found.', 26 => 'Validate Links', 27 => 'HTML Status', Modified: trunk/geeklog-1-jp-extended/plugins/polls/functions.inc ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/polls/functions.inc (original) +++ trunk/geeklog-1-jp-extended/plugins/polls/functions.inc Sat Feb 7 08:26:59 2009 @@ -10,7 +10,7 @@ // | API method and 2) implements all the common code needed by the Polls | // | plugin' PHP files. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2000-2008 by the following authors: | +// | Copyright (C) 2000-2009 by the following authors: | // | | // | Authors: Tony Bibbs - tony AT tonybibbs DOT com | // | Tom Willett - twillett AT users DOT sourceforge DOT net | @@ -33,8 +33,6 @@ // | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | // | | // +---------------------------------------------------------------------------+ -// -// $Id: functions.inc,v 1.92 2008/09/21 08:37:08 dhaun Exp $ if (strpos(strtolower($_SERVER['PHP_SELF']), 'functions.inc') !== false) { die('This file can not be used on its own.'); @@ -59,7 +57,7 @@ $_PO_CONF = $po_config->get_config('polls'); } -$_PO_CONF['version'] = '2.0.1'; +$_PO_CONF['version'] = '2.0.2'; // +---------------------------------------------------------------------------+ // | Geeklog Plugin API Implementations | Modified: trunk/geeklog-1-jp-extended/plugins/polls/install_defaults.php ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/polls/install_defaults.php (original) +++ trunk/geeklog-1-jp-extended/plugins/polls/install_defaults.php Sat Feb 7 08:26:59 2009 @@ -10,7 +10,7 @@ // | records. These settings are only used during the initial installation | // | and not referenced any more once the plugin is installed. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2008 by the following authors: | +// | Copyright (C) 2009 by the following authors: | // | | // | Authors: Dirk Haun - dirk AT haun-online DOT de | // +---------------------------------------------------------------------------+ @@ -30,8 +30,6 @@ // | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | // | | // +---------------------------------------------------------------------------+ -// -// $Id: install_defaults.php,v 1.8 2008/09/21 08:37:08 dhaun Exp $ if (strpos(strtolower($_SERVER['PHP_SELF']), 'install_defaults.php') !== false) { die('This file can not be used on its own!'); @@ -54,8 +52,8 @@ // Set to 1 to hide the "Polls" entry from the top menu: $_PO_DEFAULT['hidepollsmenu'] = 0; -$_PO_DEFAULT['maxquestions'] = 10; // max. number of questions in a poll -$_PO_DEFAULT['maxanswers'] = 10; // max. number of options in a question +$_PO_DEFAULT['maxquestions'] = 5; // max. number of questions in a poll +$_PO_DEFAULT['maxanswers'] = 8; // max. number of options in a question // 'submitorder' is the order in which answers are saved in admin/poll.php // 'voteorder' will list answers ordered by number of votes (highest->lowest); Modified: trunk/geeklog-1-jp-extended/plugins/polls/templates/admin/polleditor.thtml ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/polls/templates/admin/polleditor.thtml (original) +++ trunk/geeklog-1-jp-extended/plugins/polls/templates/admin/polleditor.thtml Sat Feb 7 08:26:59 2009 @@ -42,5 +42,10 @@ <p>{lang_permissionskey}</p> <div>{permissions_editor}</div> <p>{lang_permissions_msg}</p> - <p><input type="submit" name="mode" value="{lang_save}"{xhtml}><input type="submit" name="mode" value="{lang_cancel}"{xhtml}>{delete_option}<input type="hidden" name="{gltoken_name}" value="{gltoken}"{xhtml}></p> + <p> + <input type="submit" name="mode" value="{lang_save}"{xhtml}> + <input type="submit" name="mode" value="{lang_cancel}"{xhtml}>{delete_option} + <input type="hidden" name="{gltoken_name}" value="{gltoken}"{xhtml}> + <input type="hidden" value="{poll_id}" name="old_pid"{xhtml}> + </p> </form> Modified: trunk/geeklog-1-jp-extended/plugins/spamx/functions.inc ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/spamx/functions.inc (original) +++ trunk/geeklog-1-jp-extended/plugins/spamx/functions.inc Sat Feb 7 08:26:59 2009 @@ -4,13 +4,12 @@ * File: functions.inc * This is the functions.inc for the Geeklog Spam-X plugin * - * Copyright (C) 2004-2008 by the following authors: + * Copyright (C) 2004-2009 by the following authors: * Authors Tom Willett tomw AT pigstye DOT net * Dirk Haun dirk AT haun-online DOT de * * Licensed under GNU General Public License * - * $Id: functions.inc,v 1.37 2008/09/21 08:37:08 dhaun Exp $ */ if (strpos(strtolower($_SERVER['PHP_SELF']), 'functions.inc') !== false) { @@ -39,7 +38,7 @@ $_SPX_CONF = $spx_config->get_config('spamx'); } -$_SPX_CONF['version'] = '1.1.1'; +$_SPX_CONF['version'] = '1.1.2'; // +---------------------------------------------------------------------------+ // | Geeklog Plugin API Implementations | Modified: trunk/geeklog-1-jp-extended/plugins/spamx/language/hebrew_utf-8.php ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/spamx/language/hebrew_utf-8.php (original) +++ trunk/geeklog-1-jp-extended/plugins/spamx/language/hebrew_utf-8.php Sat Feb 7 08:26:59 2009 @@ -105,7 +105,7 @@ 'import_success' => '<p>יובאו בהצלחה %d פרטי רשימות שחורות.', 'import_failure' => '<p><strong>שגיאה:</strong> לא נמצאו פריטים.', 'allow_url_fopen' => '<p>מצטערים, כיוון השרת שלכם לא מרשה לקרוא קבצים לא מקומיים (<code>allow_url_fopen</code> הוא במצב off). אנא הורידו את הרשימה השחורה מהכתובת הבאה והעלו אותה לספריית ה-"data" של התוכנה, <tt>%s</tt>, לפנו שתנסו שוב:', - 'documentation' => 'הדוקומנצטיה של ה-Spam-X Plugin', + 'documentation' => 'הדוקומנטציה של ה-Spam-X Plugin', 'emailmsg' => "פריט ספאם חדש נשלח ב: \"%s\"\nקוד זיהוי משתמש: \"%s\"\n\nתוכן:\"%s\"", 'emailsubject' => 'פריט ספאם ב: %s', 'ipblack' => 'הרשימה השחורה של כתובות IP של Spam-X', Modified: trunk/geeklog-1-jp-extended/plugins/staticpages/functions.inc ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/staticpages/functions.inc (original) +++ trunk/geeklog-1-jp-extended/plugins/staticpages/functions.inc Sat Feb 7 08:26:59 2009 @@ -10,7 +10,7 @@ // | API method and 2) implements all the common code needed by the Static | // | Pages' PHP files. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2000-2008 by the following authors: | +// | Copyright (C) 2000-2009 by the following authors: | // | | // | Authors: Tony Bibbs - tony AT tonybibbs DOT com | // | Tom Willett - twillett AT users DOT sourceforge DOT net | @@ -33,8 +33,6 @@ // | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | // | | // +---------------------------------------------------------------------------+ -// -// $Id: functions.inc,v 1.127 2008/09/21 08:37:08 dhaun Exp $ if (strpos(strtolower($_SERVER['PHP_SELF']), 'functions.inc') !== false) { die('This file can not be used on its own.'); @@ -59,7 +57,7 @@ $_SP_CONF = $sp_config->get_config('staticpages'); } -$_SP_CONF['version'] = '1.5.0'; +$_SP_CONF['version'] = '1.5.1'; // +---------------------------------------------------------------------------+ // | Plugin API - Services | @@ -260,14 +258,15 @@ /** * Prepare static page for display. * -* @param string $page static page id -* @param array $A static page data -* @param string comment_order sorting of comments -* @param string comment_mode -* @return string HTML for the static page +* @param string $page static page id +* @param array $A static page data +* @param string $comment_order sorting of comments +* @param string $comment_mode comment mode (nested, flat, etc.) +* @param int $msg optional message number +* @return string HTML for the static page * */ -function SP_displayPage ($page, $A, $comment_order = 'ASC', $comment_mode ='nested') +function SP_displayPage ($page, $A, $comment_order = 'ASC', $comment_mode = 'nested', $msg = 0) { global $_CONF, $_TABLES, $_USER, $LANG01, $LANG11, $LANG_STATIC, $_IMAGE_TYPE, $_SP_CONF; @@ -281,6 +280,9 @@ $retval .= COM_siteHeader ('none'); } } + if ($msg > 0) { + $retval .= COM_showMessage($msg, 'staticpages'); + } if (($A['sp_inblock'] == 1) && ($A['sp_format'] != 'blankpage')) { $retval .= COM_startBlock (stripslashes ($A['sp_title']), $A['sp_help'], COM_getBlockTemplate ('_staticpages_block', 'header')); @@ -391,59 +393,66 @@ * @return string HTML for the static page * */ -function SP_printPage ($page, $A) +function SP_printPage($page, $A) { - global $_CONF, $LANG01, $_TABLES; + global $_CONF, $_TABLES, $LANG01, $LANG_DIRECTION; - $template_path = staticpages_templatePath (); - $print = new Template ($template_path); - $print->set_file (array ('print' => 'printable.thtml')); - $print->set_var ('site_url', $_CONF['site_url']); - $print->set_var ('site_name', $_CONF['site_name']); - $print->set_var ('site_slogan', $_CONF['site_slogan']); - - $print->set_var ('page_title', $_CONF['site_name'] . ' - ' - . stripslashes ($A['sp_title'])); - $sp_url = COM_buildUrl ($_CONF['site_url'] - . '/staticpages/index.php?page=' . $page); - $print->set_var ('sp_url', $sp_url); - $print->set_var ('sp_title', stripslashes ($A['sp_title'])); - $print->set_var ('sp_content', - SP_render_content (stripslashes ($A['sp_content']), $A['sp_php'])); - $print->set_var ('sp_hits', COM_numberFormat ($A['sp_hits'])); + $template_path = staticpages_templatePath(); + $print = new Template($template_path); + $print->set_file(array('print' => 'printable.thtml')); + $print->set_var('site_url', $_CONF['site_url']); + $print->set_var('site_admin_url', $_CONF['site_admin_url']); + $print->set_var('layout_url', $_CONF['layout_url']); + $print->set_var('site_name', $_CONF['site_name']); + $print->set_var('site_slogan', $_CONF['site_slogan']); + + $print->set_var('direction', $LANG_DIRECTION); + COM_setLangIdAndAttribute($print); + $print->set_var('xhtml', XHTML); + $print->set_var('page_title', $_CONF['site_name'] . ' - ' + . stripslashes($A['sp_title'])); + $sp_url = COM_buildUrl($_CONF['site_url'] + . '/staticpages/index.php?page=' . $page); + $print->set_var('sp_url', $sp_url); + $print->set_var('sp_title', stripslashes($A['sp_title'])); + $print->set_var('sp_content', + SP_render_content(stripslashes($A['sp_content']), $A['sp_php'])); + $print->set_var('sp_hits', COM_numberFormat($A['sp_hits'])); if ($A['commentcode'] >= 0) { $commentsUrl = $sp_url . '#comments'; $comments = DB_count($_TABLES['comments'], array('sid', 'type'), array($page, 'staticpages')); - $numComments = COM_numberFormat ($comments); - $print->set_var ('story_comments', $numComments); - $print->set_var ('comments_url', $commentsUrl); - $print->set_var ('comments_text', $numComments . ' ' . $LANG01[3]); - $print->set_var ('comments_count', $numComments); - $print->set_var ('lang_comments', $LANG01[3]); - $comments_with_count = sprintf ($LANG01[121], $numComments); + $numComments = COM_numberFormat($comments); + $print->set_var('story_comments', $numComments); + $print->set_var('comments_url', $commentsUrl); + $print->set_var('comments_text', $numComments . ' ' . $LANG01[3]); + $print->set_var('comments_count', $numComments); + $print->set_var('lang_comments', $LANG01[3]); + $comments_with_count = sprintf($LANG01[121], $numComments); if ($comments > 0) { - $comments_with_count = COM_createLink($comments_with_count, $commentsUrl); + $comments_with_count = COM_createLink($comments_with_count, + $commentsUrl); } - $print->set_var ('comments_with_count', $comments_with_count); + $print->set_var('comments_with_count', $comments_with_count); } - $print->parse ('output', 'print'); + $print->parse('output', 'print'); - return $print->finish ($print->get_var ('output')); + return $print->finish($print->get_var('output')); } /** * Prepare static page for display * -* @param string $page static page id -* @param string $mode type of display to return ('', 'print', 'autotag' -* @param string comment_order sorting of comments -* @param string comment_mode -* @return string HTML for the static page +* @param string $page static page id +* @param string $mode type of display to return ('', 'print', 'autotag' +* @param string $comment_order sorting of comments +* @param string $comment_mode comment mode (nested, flat, etc.) +* @param int $msg optional message number +* @return string HTML for the static page * */ -function SP_returnStaticpage($page='', $mode='', $comment_order = 'ASC', $comment_mode ='nested') +function SP_returnStaticpage($page='', $mode='', $comment_order = 'ASC', $comment_mode = 'nested', $msg = 0) { global $_CONF, $_TABLES, $LANG_ACCESS, $LANG_STATIC, $LANG_LOGIN; @@ -462,7 +471,7 @@ } else if ($mode =='autotag') { $retval = SP_render_content(stripslashes($retval['sp_content']), $retval['sp_php']); } else { - $retval = SP_displayPage($page, $retval, $comment_order, $comment_mode); + $retval = SP_displayPage($page, $retval, $comment_order, $comment_mode, $msg); } // increment hit counter for page Modified: trunk/geeklog-1-jp-extended/plugins/staticpages/language/japanese_utf-8.php ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/staticpages/language/japanese_utf-8.php (original) +++ trunk/geeklog-1-jp-extended/plugins/staticpages/language/japanese_utf-8.php Sat Feb 7 08:26:59 2009 @@ -163,4 +163,4 @@ 12 => array('アクセス不可' => 0, '表示' => 2, '表示・編集' => 3) ); -?> \ No newline at end of file +?> Modified: trunk/geeklog-1-jp-extended/plugins/staticpages/services.inc.php ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/staticpages/services.inc.php (original) +++ trunk/geeklog-1-jp-extended/plugins/staticpages/services.inc.php Sat Feb 7 08:26:59 2009 @@ -51,6 +51,8 @@ global $_CONF, $_TABLES, $_USER, $LANG_ACCESS, $LANG12, $LANG_STATIC, $LANG_LOGIN, $_GROUPS, $_SP_CONF; + require_once $_CONF['path_system'] . '/lib-webservices.php'; + $output = ''; if (!SEC_hasRights('staticpages.edit')) { @@ -101,7 +103,9 @@ } } - $args['sp_uid'] = $_USER['uid']; + if (!isset($args['sp_uid'])) { + $args['sp_uid'] = $_USER['uid']; + } if (empty($args['sp_title']) && !empty($args['title'])) { $args['sp_title'] = $args['title']; @@ -116,7 +120,9 @@ $args['sp_tid'] = $args['category'][0]; } - $args['owner_id'] = $_USER['uid']; + if (!isset($args['owner_id'])) { + $args['owner_id'] = $_USER['uid']; + } if (empty($args['group_id'])) { $args['group_id'] = SEC_getFeatureGroup('staticpages.edit', $_USER['uid']); @@ -125,7 +131,11 @@ $args['sp_id'] = COM_sanitizeID($args['sp_id']); if (!$gl_edit) { if (strlen($args['sp_id']) > STATICPAGE_MAX_ID_LENGTH) { - $args['sp_id'] = WS_makeId($args['slug'], STATICPAGE_MAX_ID_LENGTH); + $slug = ''; + if (isset($args['slug'])) { + $slug = $args['slug']; + } + $args['sp_id'] = WS_makeId($slug, STATICPAGE_MAX_ID_LENGTH); } } Modified: trunk/geeklog-1-jp-extended/plugins/staticpages/templates/printable.thtml ============================================================================== --- trunk/geeklog-1-jp-extended/plugins/staticpages/templates/printable.thtml (original) +++ trunk/geeklog-1-jp-extended/plugins/staticpages/templates/printable.thtml Sat Feb 7 08:26:59 2009 @@ -1,9 +1,9 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html {lang_attribute}> <head> - <title>{page_title}</title> + <title>{page_title}</title> </head> -<body> +<body dir="{direction}"> <h1>{sp_title}</h1> <p>{sp_content}</p> @@ -13,6 +13,6 @@ <p>{site_name}<br{xhtml}> <a href="{sp_url}">{sp_url}</a> </p> -({comments_text}) +<p>({comments_text})</p> </body> </html> Modified: trunk/geeklog-1-jp-extended/public_html/article.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/article.php (original) +++ trunk/geeklog-1-jp-extended/public_html/article.php Sat Feb 7 08:26:59 2009 @@ -8,7 +8,7 @@ // | | // | Shows articles in various formats. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2000-2008 by the following authors: | +// | Copyright (C) 2000-2009 by the following authors: | // | | // | Authors: Tony Bibbs - tony AT tonybibbs DOT com | // | Jason Whittenburg - jwhitten AT securitygeeks DOT com | @@ -31,15 +31,13 @@ // | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | // | | // +---------------------------------------------------------------------------+ -// -// $Id: article.php,v 1.99 2008/07/27 09:11:29 dhaun Exp $ /** * This page is responsible for showing a single article in different modes which * may, or may not, include the comments attached * * @author Jason Whittenburg -* @author Tony Bibbbs <tony****@tonyb*****> +* @author Tony Bibbbs <tony AT tonybibbs DOT com> * @author Vincent Furia <vinny01 AT users DOT sourceforge DOT net> */ @@ -136,96 +134,65 @@ } elseif ( $output == STORY_INVALID_SID ) { $display .= COM_refresh($_CONF['site_url'] . '/index.php'); } elseif (($mode == 'print') && ($_CONF['hideprintericon'] == 0)) { - $story_template = new Template ($_CONF['path_layout'] . 'article'); - $story_template->set_file ('article', 'printable.thtml'); - $story_template->set_var ('xhtml', XHTML); - $story_template->set_var ('page_title', + $story_template = new Template($_CONF['path_layout'] . 'article'); + $story_template->set_file('article', 'printable.thtml'); + $story_template->set_var('xhtml', XHTML); + $story_template->set_var('direction', $LANG_DIRECTION); + $story_template->set_var('page_title', $_CONF['site_name'] . ': ' . $story->displayElements('title')); - $story_template->set_var ( 'story_title', $story->DisplayElements( 'title' ) ); - header ('Content-Type: text/html; charset=' . COM_getCharset ()); - $story_template->set_var ('story_date', $story->displayElements('date')); + $story_template->set_var('story_title', + $story->DisplayElements('title')); + header('Content-Type: text/html; charset=' . COM_getCharset()); + $story_template->set_var('story_date', $story->displayElements('date')); if ($_CONF['contributedbyline'] == 1) { - $story_template->set_var ('lang_contributedby', $LANG01[1]); - $authorname = COM_getDisplayName ($story->displayElements('uid')); - $story_template->set_var ('author', $authorname); - $story_template->set_var ('story_author', $authorname); - $story_template->set_var ('story_author_username', $story->DisplayElements('username')); + $story_template->set_var('lang_contributedby', $LANG01[1]); + $authorname = COM_getDisplayName($story->displayElements('uid')); + $story_template->set_var('author', $authorname); + $story_template->set_var('story_author', $authorname); + $story_template->set_var('story_author_username', + $story->DisplayElements('username')); } - $story_template->set_var ('story_introtext', - $story->DisplayElements('introtext')); - $story_template->set_var ('story_bodytext', - $story->DisplayElements('bodytext')); - - $story_template->set_var ('site_url', $_CONF['site_url']); - $story_template->set_var ('layout_url', $_CONF['layout_url']); - $story_template->set_var ('site_name', $_CONF['site_name']); - $story_template->set_var ('site_slogan', $_CONF['site_slogan']); - $story_template->set_var ('story_id', $story->getSid()); - $articleUrl = COM_buildUrl ($_CONF['site_url'] - . '/article.php?story=' . $story->getSid()); + $story_template->set_var('story_introtext', + $story->DisplayElements('introtext')); + $story_template->set_var('story_bodytext', + $story->DisplayElements('bodytext')); + + $story_template->set_var('site_url', $_CONF['site_url']); + $story_template->set_var('site_admin_url', $_CONF['site_admin_url']); + $story_template->set_var('layout_url', $_CONF['layout_url']); + $story_template->set_var('site_name', $_CONF['site_name']); + $story_template->set_var('site_slogan', $_CONF['site_slogan']); + $story_template->set_var('story_id', $story->getSid()); + $articleUrl = COM_buildUrl($_CONF['site_url'] + . '/article.php?story=' . $story->getSid()); if ($story->DisplayElements('commentcode') >= 0) { $commentsUrl = $articleUrl . '#comments'; $comments = $story->DisplayElements('comments'); - $numComments = COM_numberFormat ($comments); - $story_template->set_var ('story_comments', $numComments); - $story_template->set_var ('comments_url', $commentsUrl); - $story_template->set_var ('comments_text', + $numComments = COM_numberFormat($comments); + $story_template->set_var('story_comments', $numComments); + $story_template->set_var('comments_url', $commentsUrl); + $story_template->set_var('comments_text', $numComments . ' ' . $LANG01[3]); - $story_template->set_var ('comments_count', $numComments); - $story_template->set_var ('lang_comments', $LANG01[3]); - $comments_with_count = sprintf ($LANG01[121], $numComments); + $story_template->set_var('comments_count', $numComments); + $story_template->set_var('lang_comments', $LANG01[3]); + $comments_with_count = sprintf($LANG01[121], $numComments); if ($comments > 0) { - $comments_with_count = COM_createLink($comments_with_count, $commentsUrl); + $comments_with_count = COM_createLink($comments_with_count, + $commentsUrl); } - $story_template->set_var ('comments_with_count', $comments_with_count); + $story_template->set_var('comments_with_count', + $comments_with_count); } $story_template->set_var ('lang_full_article', $LANG08[33]); $story_template->set_var ('article_url', $articleUrl); - $langAttr = ''; - if( !empty( $_CONF['languages'] ) && !empty( $_CONF['language_files'] )) - { - $langId = COM_getLanguageId(); - } - else - { - // try to derive the language id from the locale - $l = explode( '.', $_CONF['locale'] ); - $langId = $l[0]; - } - if( !empty( $langId )) - { - $l = explode( '-', str_replace( '_', '-', $langId )); - if(( count( $l ) == 1 ) && ( strlen( $langId ) == 2 )) - { - $langAttr = 'lang="' . $langId . '"'; - } - else if( count( $l ) == 2 ) - { - if(( $l[0] == 'i' ) || ( $l[0] == 'x' )) - { - $langId = implode( '-', $l ); - $langAttr = 'lang="' . $langId . '"'; - } - else if( strlen( $l[0] ) == 2 ) - { - $langId = implode( '-', $l ); - $langAttr = 'lang="' . $langId . '"'; - } - else - { - $langId = $l[0]; - } - } - } - $story_template->set_var( 'lang_id', $langId ); - $story_template->set_var( 'lang_attribute', $langAttr ); + COM_setLangIdAndAttribute($story_template); - $story_template->parse ('output', 'article'); - $display = $story_template->finish ($story_template->get_var('output')); + $story_template->parse('output', 'article'); + $display = $story_template->finish($story_template->get_var('output')); } else { // Set page title $pagetitle = $story->DisplayElements('title'); @@ -246,8 +213,15 @@ } $display .= COM_siteHeader ('menu', $pagetitle, $rdf); - if (isset ($_GET['msg'])) { - $display .= COM_showMessage (COM_applyFilter ($_GET['msg'], true)); + if (isset($_GET['msg'])) { + $msg = COM_applyFilter($_GET['msg'], true); + if ($msg > 0) { + $plugin = ''; + if (isset($_GET['plugin'])) { + $plugin = COM_applyFilter($_GET['plugin']); + } + $display .= COM_showMessage($msg, $plugin); + } } DB_query ("UPDATE {$_TABLES['stories']} SET hits = hits + 1 WHERE (sid = '".$story->getSid()."') AND (date <= NOW()) AND (draft_flag = 0)"); @@ -307,6 +281,15 @@ array('type' => $feedType, 'class' => $feedClass)); } + } + if ($_CONF['trackback_enabled'] && + ($story->displayElements('trackbackcode') >= 0) && + SEC_hasRights('story.ping') && + ($story->displayElements('draft_flag') == 0) && + ($story->displayElements('day') < time ())) { + $url = $_CONF['site_admin_url'] + . '/trackback.php?mode=sendall&id=' . $story->getSid(); + $story_options[] = COM_createLink($LANG_TRB['send_trackback'], $url); } $related = STORY_whatsRelated($story->displayElements('related'), $story->displayElements('uid'), Modified: trunk/geeklog-1-jp-extended/public_html/calendar/event.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/calendar/event.php (original) +++ trunk/geeklog-1-jp-extended/public_html/calendar/event.php Sat Feb 7 08:26:59 2009 @@ -553,6 +553,7 @@ $event_title = stripslashes($A['title']); if (!empty($A['url'])) { $event_title = COM_createLink($event_title, $A['url']); + $cal_templates->set_var('event_url', $A['url']); } $cal_templates->set_var('event_title', $event_title); if (($_CA_CONF['personalcalendars'] == 1) Modified: trunk/geeklog-1-jp-extended/public_html/calendar/index.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/calendar/index.php (original) +++ trunk/geeklog-1-jp-extended/public_html/calendar/index.php Sat Feb 7 08:26:59 2009 @@ -801,8 +801,8 @@ break; case 'addentry': - $display .= plugin_submit_calendar($mode); - $display .= COM_siteFooter(); + $display .= plugin_submit_calendar($mode); + $display .= COM_siteFooter(); break; case 'savepersonal': Modified: trunk/geeklog-1-jp-extended/public_html/docs/changes.html ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/docs/changes.html (original) +++ trunk/geeklog-1-jp-extended/public_html/docs/changes.html Sat Feb 7 08:26:59 2009 @@ -16,6 +16,43 @@ <p>このドキュメントでは最も重要な変更点や目につく変更点を簡潔に説明していま す。変更点の詳細なリストは、 <a href="history">ChangeLog</a>をご覧ください。 <tt>docs/changed-files</tt>には、前回リリース以来変更されたファイルの一覧が あります。</p> +<h2><a name="changes152">Geeklog 1.5.2</a></h2> + +<h3>Bugfixes</h3> + +<ul> +<li>Fixed a bug in the story preview where the story content was lost when + previewing a story with a duplicate story ID.</li> +<li>The Trackback editor didn't work since the security token was missing from + the editor template.</li> +<li>Fixed issues with clickable links in plain text postings.</li> +<li>Fixed various problems with updating feeds, e.g. when changing topic + permissions.</li> +</ul> + +<h3>Fixes in the bundled Plugins</h3> + +<ul> +<li>Calendar: You couldn't add a new event to your personal calendar.</li> +<li>Links: Changing a link's ID to one that was already in use overwrote the + other link.</li> +<li>Polls: Changing a poll's ID created a new poll. Also fixed an SQL error + when the poll question contained single quotes.</li> +<li>Static Pages: Saving a static page changed the owner to the user who saved + it.</li> +</ul> + +<h3>Other Changes</h3> + +<ul> +<li>Improved image quality when using gdlib to rescale uploaded images.</li> +<li>Theme changes are documented in the <a href="theme.html#changes">theme + documentation</a>, as usual. There are 4 bugfixes (one of which is in the + templates for the Polls plugin) that should be applied to all themes for + the 1.5.x series.</li> +</ul> + + <h2><a name="changes151">Geeklog 1.5.1</a></h2> <p>Geeklog 1.5.1の大半はバグ修正リリースであり、Geeklog 1.5.0のユーザにはア ップグレードをお勧めします。小さなものですが、いくつか機能追加もあります。 </p> Modified: trunk/geeklog-1-jp-extended/public_html/docs/config.html ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/docs/config.html (original) +++ trunk/geeklog-1-jp-extended/public_html/docs/config.html Sat Feb 7 08:26:59 2009 @@ -74,7 +74,7 @@ <strong>注:</strong>実際にサイトを閉鎖するかどうかを決める設定は、 <tt>siteconfig.php</tt>ファイルにある。</td></tr> <tr> <td valign="top"><a name="desc_copyrightyear">コピーライトの年 (copyrightyear)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> + <td valign="top"><i>(無効)</i></td> <td valign="top">サイトのフッタに表示するcopyrightの年を設定する。設定し ない場合、現在の年が使われる。</td></tr> <tr> <td valign="top"><a name="desc_url_rewrite">URLリライト (url_rewrite)</a></td> @@ -763,13 +763,13 @@ <td valign="top">画像ライブラリを「ImageMagick」、「Netpbm」、「GDライブ ラリ」から選ぶ。画像アップロード時にリサイズしたくない場合や、画像ライブラリ を使えない場合は「なし」にする。</td></tr> <tr> <td valign="top"><a name="desc_path_to_mogrify">Mogrifyへのパス (path_to_mogrify)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> - <td valign="top">上記の「画像ライブラリ」にImageMagickを選んだ場合、 mogrifyバイナリの<strong>完全なパス</strong>を '/usr/bin/mogrify' のように指 定する。<br> + <td valign="top"><i>(無効)</i></td> + <td valign="top">上記の「画像ライブラリ」にimagemagickを選んだ場合、 mogrifyバイナリの<strong>完全なパス</strong>を '/usr/bin/mogrify' のように指 定する。<br> かなり新しいバージョンの<a href="http://www.imagemagick.org/">ImageMagick</a>が必要(バージョン5.4.9以 降推奨)。</td></tr> <tr> <td valign="top"><a name="desc_path_to_netpbm">Netpbmへのパス (path_to_netpbm)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> - <td valign="top">上記の「画像ライブラリ」に Netpbm を選んだ場合、Netpbmの バイナリがある<em>ディレクトリ</em>の完全なパスを <code>'/usr/bin/netpbm/'</code> のように指定する。パスの最後はスラッシ ュ'/'でなければならない。<br>様々なプラットフォーム用にコンパイルされた etpbmバイナリのパッケージは、<a href="http://sourceforge.net/projects/gallery/">Homepage of the Gallery project</a>からダウンロードできる。</td></tr> + <td valign="top"><i>(無効)</i></td> + <td valign="top">上記の「画像ライブラリ」にnetpbmを選んだ場合、Netpbmのバ イナリがある<em>ディレクトリ</em>の完全なパスを <code>'/usr/bin/netpbm/'</code> のように指定する。パスの最後はスラッシ ュ'/'でなければならない。<br>様々なプラットフォーム用にコンパイルされたバイ ナリのパッケージは、<a href="http://netpbm.sourceforge.net/">Netpbm homepage</a>からダウンロードできる。</td></tr> </table> <h3><a name="images_upload">画像: アップロード</a></h3> @@ -788,8 +788,8 @@ <td valign="top">はい(1)にすると、上記のように元画像を保存する場合、記事 の中でリサイズされた画像を使えるようになる。言い換えると、記事中で (<code>[image<i>X</i>]</code> に加えて)<code>[unscaled<i>X</i>]</code> タ グを使えるようになる。</td></tr> <tr> <td valign="top"><a name="desc_debug_image_upload">画像アップロードのデバ ッグを行う(debug_image_upload)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> - <td valign="top">コメントアウトされておらず、はい(<code>true</code>)にす ると、画像のアップロード中に,デバッグ情報がGeeklogの<tt>error.log</tt>に書き 込まれる。画像アップロード時の問題を解明する際に役立つ。</td></tr> + <td valign="top"><i>いいえ(false)</i></td> + <td valign="top">はい(<code>true</code>)にすると、画像のアップロード中 に,デバッグ情報がGeeklogの<tt>error.log</tt>に書き込まれる。画像アップロード 時の問題を解明する際に役立つ。</td></tr> </table> <h3><a name="images_articles">画像: 記事の画像</a></h3> @@ -852,11 +852,11 @@ <td valign="top">ファイルサイズの最大値。この数値を超えた場合は、リサイズ 用の画像ライブラリを使っていても、その画像ファイルは拒否される。</td></tr> <tr> <td valign="top"><a name="desc_force_photo_width">幅を固定する (force_photo_width)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> + <td valign="top"><i>(無効)</i></td> <td valign="top">この設定を有効にしても、ユーザの写真を<em>表示する </em>ときにしか適用されない。写真表示用の <code><img></code>タグがここ で指定されたサイズで出力される。つまり、実際の写真のサイズはより大きなものか もしれないが、小さな(ここで指定された)サイズでしか表示されないということで ある。(掲示板などで)奇妙な形をしたユーザの写真がページのレイアウトを台無し にするのを防ぎたい場合に役に立つ。</td></tr> <tr> <td valign="top"><a name="desc_default_photo">デフォルトの写真 (default_photo)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> + <td valign="top"><i>(無効)</i></td> <td valign="top">有効にする場合には、画像ファイルの完全なURLを指定する。 写真のないユーザの場合、このデフォルトの写真が表示される。この設定が無効で ユーザが写真もアバターを持っていない場合、何も表示されない。</td></tr> </table> @@ -873,7 +873,7 @@ このオプションを有効にすると、(掲示板のスレッドなどの)複数ユーザの多 数の写真を表示するページでは、スピードダウンする可能性があることに注意。 </td></tr> <tr> <td valign="top"><a name="desc_gravatar_rating">Gravatar評価を許可 (gravatar_rating)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> + <td valign="top"><i>(無効)</i></td> <td valign="top">gravatar.comへ投稿されたアバターは、(米国で)映画用に使 われている評価システム<br> <ul> <li>(G = General:一般向け</li> @@ -881,7 +881,7 @@ <li>R = Restriced:保護者同伴で入場可</li> <li>X = Banned:17歳未満入場禁止</li> </ul> - で<a href="http://gravatar.com/rating.php">評価される</a>。このオプション は表示されるアバターの<em>最も厳しい</em> ランクを設定する。たとえば、Rと設 定すると、G, PG, Rランクのアバターは表示されるが、Xランクのアバターは一切表 示されなくなる。</td></tr> + で評価される。このオプションは表示されるアバターの<em>最も厳しい</em> ラ ンクを設定する。たとえば、Rと設定すると、G, PG, Rランクのアバターは表示され るが、Xランクのアバターは一切表示されなくなる。</td></tr> </table> @@ -899,11 +899,11 @@ <td valign="top">言語ファイル名。追加の言語ファイルは<a href="http://www.geeklog.net/">http://www.geeklog.net</a>でダウンロードでき る。言語ファイルを翻訳した場合は、送ってください。下記の<a href="#Localization">ローカリゼーション</a>も参照してください。</td></tr> <tr> <td valign="top"><a name="desc_language_files">言語ファイル[多言語モード ](language_files)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> + <td valign="top"><i>(無効)</i></td> <td valign="top">多言語サイト用。言語の短縮形('en', 'de', 'ja'など)と言語 ファイルの対応関係を指定する。</td></tr> <tr> <td valign="top"><a name="desc_languages">言語名[多言語モード ](languages)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> + <td valign="top"><i>(無効)</i></td> <td valign="top">多言語サイト用。言語の短縮形('en', 'de', 'ja'など)と言語 名("English", "Deutsch", "Japanese"など)の対応関係を指定する。</td></tr> </table> @@ -961,7 +961,7 @@ <td valign="top">小数点以下で表示する桁数</td></tr> <tr> <td valign="top"><a name="desc_timezone">タイムゾーン(timezone)</a></td> - <td valign="top"><i>(コメントアウトされている)</i></td> + <td valign="top"><i>(無効)</i></td> <td valign="top">サーバが異なるタイムゾーンに配置されている場合、時刻が正 しく表示されるようにローカルのタイムゾーンを設定する。この設定は、<a href="http://www.geeklog.net/forum/viewtopic.php?showtopic=21232">タイムゾー ンハック(timezone hack)</a>という名前で知られており、サーバによっては機能し ない場合がある。</td></tr> </table> Modified: trunk/geeklog-1-jp-extended/public_html/docs/history ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/docs/history (original) +++ trunk/geeklog-1-jp-extended/public_html/docs/history Sat Feb 7 08:26:59 2009 @@ -1,5 +1,121 @@ Geeklog History/Changes: +Jan 24, 2009 (1.5.2rc1) +------------ + +- Fixed various issues with COM_makeClickableLinks (bug #0000767, #0000793, + #0000796) [Sami] +- The comment submission form didn't show the user's full name when + $_CONF['show_fullname'] was enabled [Dirk] +- Comments were always showing the username, even when $_CONF['show_fullname'] + was enabled (reported and patch provided by mystral-kk, bug #0000800) +- Fixed story preview losing the story when the sid already existed (bug + #0000789) [Dirk] +- Fixed wrong use of str_replace in STORY_extractLinks (bug #0000794) [Dirk] +- Added "Send Pings" to the Story Options block (if enabled and allowed for the + current user) [Dirk] +- Don't let the user enable plugins when there's no functions.inc for the + plugin [Dirk] +- When the install script can't find db-config.php, that message was always + displayed in English, i.e. you could not change the language for that screen + [Dirk] +- When upgrading from a Geeklog version prior to 1.5.0, the plugin config.php + files are no longer renamed [Dirk] +- Admin lists allowed non-sortable columns to be sortable (reported and patch + provided by hiroron, bug #0000791) +- Fixed STORY_getItemInfo - need to check the draft flag and for a publish date + in the future [mystral-kk, Dirk] +- Fixed wrong use of COM_isAnonUser in COM_getPermSQL (since 1.5.0) [Dirk] +- When calling COM_getYearFormOptions with a $startoffset parameter, the list + of years was off by one (bug #0000783; patch provided by hiroron) +- Fixed updating feeds after changing topic permissions (bug #0000779) [Dirk] +- The security token was missing from the trackback editor template file + (reported and patch provided by hiroron, bug #0000778) +- Removed rel="tag" from topic links in lib-story.php as that would indicate a + Microformat with a slightly different meaning [Dirk] +- Don't include X-Originating-IP header in emails sent from the site's admin + area (bug #0000701) [Dirk] +- Check if COM_errorLog exists before using it in the config class (for possible + problems during installation, bug #0000768) [Dirk] +- Fixed filling out the Site Email / No-Reply Email fields in the install + script, which was overwriting the correct values from config.php during + upgrades (bug #0000759) [Dirk] +- Set language direction in templates for printable versions of articles and + static pages. Also set $LANG_DIRECTION to 'ltr' now if the language file does + not already define it (bug #0000762) [Dirk] +- Removing an element from the middle of the censorlist caused the censoring + to act up (bug #0000763) [Dirk] +- Saving a story tried to update a feed of type 'geeklog' instead of 'article' + (reported by Tom Homer) +- Delete a feed's file when deleting a feed (bug #0000758) [Dirk] +- When using gdlib, use imagecopyresampled instead or imagecopyresized to scale + images. This should result in better image quality (part of Feature request + #0000720) [Dirk] +- The {start_storylink_anchortag} variable in the story templates was missing + a '>' (reported by Michael Brusletten) [Dirk] +- Display a "Service" column in the Admin's list of users when remote auth is + activated [Dirk] +- Introduced new function COM_showMessageText to display a free-form text in a + "System Message" box (feature request #0000676) [Dirk] +- Introduced new function COM_showMessageFromParameter for easy and consistent + display of messages passed in the URL, including plugin messages (second + attempt to fix bug #0000618) [Dirk] +- Display confirmation message when emailing a story (feature request #0000689) + [Dirk] +- Implemented new function COM_renderWikiText to convert wiki-formatted text + to (X)HTML (feature request #0000643) [Dirk] +- Added support for CUSTOM_formatEmailAddress and CUSTOM_emailEscape functions + (feature request #0000727) [Dirk] +- Fixed 'cookiedomain' being reported as changed in the Configuration + (bug #0000638) [Dirk] +- Reverted fix for bug #0000618 (COM_showMessage automatically picking up a + 'plugin' parameter) as it's causing problems when displaying more than one + message on the same page [Dirk] +- Added missing check for allowed IP addresses in downloader class + (bug #0000709) [Dirk] +- Force a refresh after uninstalling a plugin so that the plugin's entry + disappears from the Admins block [Dirk] +- Fixed an issue with story expiry dates on PHP 4/Windows (reported by zeb) + [Mike] + +- Updated Hebrew language file for the install script and Spam-X plugin, + provided by LWC +- Updated Japanese language files, provided by the Geeklog.jp group +- Updated Polish language files, provided by Robert Stadnik +- Updated Slovenian language file for the Links plugin, provided by gape + +Calendar plugin +--------------- +- Fix for calendar plugin - unable to add personal event [Blaine] +- Make {event_url} available in eventdetails.thtml [Dirk] + +Links plugin +------------ +- Missing parentheses my have resulted in incorrect search results [Dirk] +- Added urlencoded versions of {link_actual_url} and {link_name} [Dirk] +- Prevent overwriting existing links when changing the link ID [Dirk] + +Polls plugin +------------ +- Lowered the default number of questions per poll to 5 and the number of + answers per question to 8 to avoid running into Suhosin's default + post.max_vars limit (for new installs only) [Dirk] +- Fixed SQL error when poll questions contained single quotes (bug #0000756) + [Dirk] +- Fixed handling of poll IDs in Polls editor (bug #0000753) [Dirk] + +Spam-X +------ +- Fixed compatibility check in the plugin install script [Dirk] + +Static Pages plugin +------------------- +- The owner of a static page changed to the user who last edited it + (bug #0000777) [Dirk] +- Fixed call to WS_makeId when sp_id was longer than STATICPAGE_MAX_ID_LENGTH + (found by Marc Maier) [Dirk] + + Sep 22, 2008 (1.5.1) ------------ Modified: trunk/geeklog-1-jp-extended/public_html/docs/theme.html ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/docs/theme.html (original) +++ trunk/geeklog-1-jp-extended/public_html/docs/theme.html Sat Feb 7 08:26:59 2009 @@ -103,7 +103,51 @@ </ol> -<h2><a name="changes">Geeklog 1.5.1でのテーマの変更点</a></h2> +<h2><a name="changes">Theme changes in Geeklog 1.5.2</a></h2> + +<p>Note: Themes made for Geeklog 1.5.0 or 1.5.1 should work just fine with +Geeklog 1.5.2. In this release, we only fixed a few problems in the themes +(detailed below) that also affected 1.5.0 and 1.5.1. The other changes listed +here are optional.</p> + +<h3>Bugfixes</h3> + +<p>These changes are actual bugs in the template files that also exist in +Geeklog 1.5.0 and 1.5.1. We recommend making these changes to all custom +themes.</p> + +<ul> +<li>The security token was missing from the trackback editor template file, + <tt>admin/trackback/trackbackeditor.thtml</tt></li> +<li>The <code>{start_storylink_anchortag}</code> variable in the story templates + was missing the closing '>'. This caused the story title to disappear + on some themes. (This was a bug in Geeklog's code, so no theme changes + required)</li> +<li>The <code>{site_admin_url}</code> was missing from the Configuration form + action in <tt>admin/config/configuration.thtml</tt>. This may have caused + problems making configuration changes on some setups.</li> +<li>Added a hidden <code>old_pid</code> input field to the polls editor template + file, <tt>plugins/polls/templates/admin/polleditor.thtml</tt>, to fix + problems when changing a poll's ID.</li> +</ul> + +<h3>Other changes</h3> + +<p>These changes are optional. They fix cosmetic issues or issues that only +affect some setups.</p> + +<ul> +<li>Cosmetics: In the Professional theme, the last menu entry isn't different + from the other entries, so the + <code>.header-navigation-container li.last</code> rule in <tt>style.css</tt> + is not needed for this theme.</li> +<li>Internationalisation: The language direction variable, + <code>{direction}</code>, was not available in the printer-friendly + templates for articles and static pages.</li> +</ul> + + +<h2><a name="changes151">Geeklog 1.5.1でのテーマの変更点</a></h2> <p>注意: Geeklog 1.5.0用に作成されたテーマはたいていの場合、Geeklog 1.5.1と 互換性があります。必ず変更しなければならないのは管理者メニューのコンフィギュ レーション用のものが1つあるだけで、以下に列挙する変更点はすべて任意か、特別 な設定時(多言語サイトや、右から左へと表示する言語など)のものです。詳細は以 下をご覧ください。</p> Modified: trunk/geeklog-1-jp-extended/public_html/layout/professional/admin/config/configuration.thtml ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/layout/professional/admin/config/configuration.thtml (original) +++ trunk/geeklog-1-jp-extended/public_html/layout/professional/admin/config/configuration.thtml Sat Feb 7 08:26:59 2009 @@ -1,6 +1,6 @@ <script type="text/javascript" src="{site_url}/javascript/configmanager.js"></script> -<form method="post" action="configuration.php" name="group"> +<form method="post" action="{site_admin_url}/configuration.php" name="group"> <input type="hidden" value="{open_group}" name="conf_group"{xhtml}> <input type="hidden" value="" name="subgroup"{xhtml}> <input type="hidden" name="{gltoken_name}" value="{gltoken}"{xhtml}> @@ -16,7 +16,7 @@ {change_block} </div> - <form action="configuration.php" method="post" name="subgroup"> + <form action="{site_admin_url}/configuration.php" method="post" name="subgroup"> <input type="hidden" name="conf_group" value="{open_group}"{xhtml}> <input type="hidden" name="sub_group" value="{open_sg}"{xhtml}> <input type="hidden" name="{gltoken_name}" value="{gltoken}"{xhtml}> Modified: trunk/geeklog-1-jp-extended/public_html/layout/professional/article/printable.thtml ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/layout/professional/article/printable.thtml (original) +++ trunk/geeklog-1-jp-extended/public_html/layout/professional/article/printable.thtml Sat Feb 7 08:26:59 2009 @@ -3,7 +3,7 @@ <head> <title>{page_title}</title> </head> -<body> +<body dir="{direction}"> <h1>{story_title}</h1> <h3>{story_date}</h3> <b>{lang_contributedby} {story_author}</b> Modified: trunk/geeklog-1-jp-extended/public_html/layout/professional/style.css ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/layout/professional/style.css (original) +++ trunk/geeklog-1-jp-extended/public_html/layout/professional/style.css Sat Feb 7 08:26:59 2009 @@ -532,11 +532,6 @@ font-size:.9em; border-left: 1px dotted #FFFFFF; } - -.header-navigation-container li.last { - border:none; -} - .header-navigation-container a:link { color:#0000FF; } Modified: trunk/geeklog-1-jp-extended/public_html/lib-common.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/lib-common.php (original) +++ trunk/geeklog-1-jp-extended/public_html/lib-common.php Sat Feb 7 08:26:59 2009 @@ -394,7 +394,12 @@ * */ -require_once( $_CONF['path_language'] . $_CONF['language'] . '.php' ); +require_once $_CONF['path_language'] . $_CONF['language'] . '.php'; + +if (empty($LANG_DIRECTION)) { + // default to left-to-right + $LANG_DIRECTION = 'ltr'; +} COM_switchLocaleSettings(); @@ -1011,48 +1016,7 @@ } $header->set_var('page_title_and_site_name', $title_and_name); - $langAttr = ''; - if( !empty( $_CONF['languages'] ) && !empty( $_CONF['language_files'] )) - { - $langId = COM_getLanguageId(); - } - else - { - // try to derive the language id from the locale - $l = explode( '.', $_CONF['locale'] ); - $langId = $l[0]; - } - if( !empty( $langId )) - { - $l = explode( '-', str_replace( '_', '-', $langId )); - if(( count( $l ) == 1 ) && ( strlen( $langId ) == 2 )) - { - $langAttr = 'lang="' . $langId . '"'; - } - else if( count( $l ) == 2 ) - { - if(( $l[0] == 'i' ) || ( $l[0] == 'x' )) - { - $langId = implode( '-', $l ); - $langAttr = 'lang="' . $langId . '"'; - } - else if( strlen( $l[0] ) == 2 ) - { - $langId = implode( '-', $l ); - $langAttr = 'lang="' . $langId . '"'; - } - else - { - $langId = $l[0]; - } - } - } - $header->set_var('lang_id', $langId ); - if (!empty($_CONF['languages']) && !empty($_CONF['language_files'])) { - $header->set_var('lang_attribute', $langAttr); - } else { - $header->set_var('lang_attribute', ''); - } + COM_setLangIdAndAttribute($header); $header->set_var( 'background_image', $_CONF['layout_url'] . '/images/bg.' . $_IMAGE_TYPE ); @@ -1084,16 +1048,8 @@ $header->set_var( 'css_url', $_CONF['layout_url'] . '/style.css' ); $header->set_var( 'theme', $_CONF['theme'] ); - $header->set_var( 'charset', COM_getCharset()); - if( empty( $LANG_DIRECTION )) - { - // default to left-to-right - $header->set_var( 'direction', 'ltr' ); - } - else - { - $header->set_var( 'direction', $LANG_DIRECTION ); - } + $header->set_var('charset', COM_getCharset()); + $header->set_var('direction', $LANG_DIRECTION); // Now add variables for buttons like e.g. those used by the Yahoo theme $header->set_var( 'button_home', $LANG_BUTTONS[1] ); @@ -2873,10 +2829,11 @@ break; } - $censor_entries = count( $_CONF['censorlist'] ); - for( $i = 0; $i < $censor_entries; $i++ ) - { - $EditedMessage = MBYTE_eregi_replace( $RegExPrefix . $_CONF['censorlist'][$i] . $RegExSuffix, "\\1$Replacement\\2", $EditedMessage ); + foreach ($_CONF['censorlist'] as $c) { + if (!empty($c)) { + $EditedMessage = MBYTE_eregi_replace($RegExPrefix . $c + . $RegExSuffix, "\\1$Replacement\\2", $EditedMessage); + } } } } @@ -3126,14 +3083,8 @@ { global $_CONF; - /** - * @author geeklog.jp - * @note This hack is to return a string WITHOUT being escaped when - * CUSTOM_mail() is defined. The string will be escaped later in - * CUSTOM_emailEscape((). - */ - if (function_exists('CUSTOM_mail')) { - return $string; + if (function_exists('CUSTOM_emailEscape')) { + return CUSTOM_emailEscape($string); } $charset = COM_getCharset(); @@ -3173,15 +3124,10 @@ */ function COM_formatEmailAddress( $name, $address ) { - /** - * @author geeklog.jp - * @note This hack is to return an email address WITHOUT being escaped - * when CUSTOM_mail() is defined. The email address will be - * escaped and formatted later in CUSTOM_formatEmailAddress(). - */ - if (function_exists('CUSTOM_mail')) { - return $name . ' <' . $address . '>'; + if (function_exists('CUSTOM_formatEmailAddress')) { + return CUSTOM_formatEmailAddress($name, $address); } + $formatted_name = COM_emailEscape( $name ); // if the name comes back unchanged, it's not UTF-8, so preg_match is fine @@ -3290,7 +3236,11 @@ if (!empty($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['SERVER_ADDR']) && ($_SERVER['REMOTE_ADDR'] != $_SERVER['SERVER_ADDR'])) { - $headers['X-Originating-IP'] = $_SERVER['REMOTE_ADDR']; + $url = COM_getCurrentURL(); + if (substr($url, 0, strlen($_CONF['site_admin_url'])) + != $_CONF['site_admin_url']) { + $headers['X-Originating-IP'] = $_SERVER['REMOTE_ADDR']; + } } $retval = $mailobj->send( $to, $headers, $message ); @@ -4477,6 +4427,35 @@ return $retval; } +/** +* Displays a message text in a "System Message" block +* +* @param string $message Message text; may contain HTML +* @param string $title (optional) alternative block title +* @return string HTML block with message +* +*/ +function COM_showMessageText($message, $title = '') +{ + global $_CONF, $MESSAGE, $_IMAGE_TYPE; + + $retval = ''; + + if (!empty($message)) { + if (empty($title)) { + $title = $MESSAGE[40]; + } + $timestamp = strftime($_CONF['daytime']); + $retval .= COM_startBlock($title . ' - ' . $timestamp, '', + COM_getBlockTemplate('_msg_block', 'header')) + . '<p class="sysmessage"><img src="' . $_CONF['layout_url'] + . '/images/sysmessage.' . $_IMAGE_TYPE . '" alt="" ' . XHTML + . '>' . $message . '</p>' + . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer')); + } + + return $retval; +} /** * Displays a message on the webpage @@ -4484,22 +4463,17 @@ * Pulls $msg off the URL string and gets the corresponding message and returns * it for display on the calling page * -* @param int $msg ID of message to show -* @param string $plugin Optional Name of plugin to lookup plugin defined message -* @return string HTML block with message +* @param int $msg ID of message to show +* @param string $plugin Optional Name of plugin to lookup plugin defined message +* @return string HTML block with message */ - function COM_showMessage($msg, $plugin = '') { - global $_CONF, $MESSAGE, $_IMAGE_TYPE; + global $MESSAGE; $retval = ''; - if (empty($plugin) AND !empty($_REQUEST['plugin'])) { - $plugin = COM_applyFilter($_REQUEST['plugin']); - }; if ($msg > 0) { - $timestamp = strftime($_CONF['daytime']); if (!empty($plugin)) { $var = 'PLG_' . $plugin . '_MESSAGE' . $msg; global $$var; @@ -4513,17 +4487,41 @@ $message = $MESSAGE[$msg]; } - $retval .= COM_startBlock($MESSAGE[40] . ' - ' . $timestamp, '', - COM_getBlockTemplate('_msg_block', 'header')) - . '<p class="sysmessage"><img src="' . $_CONF['layout_url'] - . '/images/sysmessage.' . $_IMAGE_TYPE . '" alt="" ' . XHTML - . '>' . $message . '</p>' - . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer')); + if (!empty($message)) { + $retval .= COM_showMessageText($message); + } } return $retval; } +/** +* Displays a message, as defined by URL parameters +* +* Helper function to display a message, if URL parameters 'msg' and 'plugin' +* (optional) are defined. Only for GET requests, but that's what Geeklog uses +* everywhere anyway. +* +* @return string HTML block with message +* +*/ +function COM_showMessageFromParameter() +{ + $retval = ''; + + if (isset($_GET['msg'])) { + $msg = COM_applyFilter($_GET['msg'], true); + if ($msg > 0) { + $plugin = ''; + if (isset($_GET['plugin'])) { + $plugin = COM_applyFilter($_GET['plugin']); + } + $retval .= COM_showMessage($msg, $plugin); + } + } + + return $retval; +} /** * Prints Google(tm)-like paging navigation @@ -4901,34 +4899,23 @@ * @return string HTML years as option values */ -function COM_getYearFormOptions( $selected = '', $startoffset=0, $endoffset=5 ) +function COM_getYearFormOptions($selected = '', $startoffset = -1, $endoffset = 5) { $year_options = ''; - if ($startoffset != 0) - { - $start_year = date ( 'Y' ) + $startoffset; - } - else - { - $start_year = date( 'Y', time() ); - } - $cur_year = date( 'Y', time() ); + $start_year = date('Y') + $startoffset; + $cur_year = date('Y', time()); $finish_year = $cur_year + $endoffset; - if( !empty( $selected )) - { - if( $selected < $cur_year ) - { + if (!empty($selected)) { + if ($selected < $cur_year) { $start_year = $selected; } } - for( $i = $start_year - 1; $i <= $finish_year; $i++ ) - { + for ($i = $start_year; $i <= $finish_year; $i++) { $year_options .= '<option value="' . $i . '"'; - if( $i == $selected ) - { + if ($i == $selected) { $year_options .= ' selected="selected"'; } @@ -5402,7 +5389,7 @@ } $UserGroups = array(); - if( COM_isAnonUser() || ( $uid == $_USER['uid'] )) + if(( empty( $_USER['uid'] ) && ( $uid == 1 )) || ( $uid == $_USER['uid'] )) { if( empty( $_GROUPS )) { @@ -5715,19 +5702,42 @@ * Detect links in a plain-ascii text and turn them into clickable links. * Will detect links starting with "http:", "https:", "ftp:", and "www.". * -* Derived from a newsgroup posting by Andreas Schwarz in -* news:de.comp.lang.php <aieq4p$12jn2i$3****@ID-16*****> -* * @param string $text the (plain-ascii) text string * @return string the same string, with links enclosed in <a>...</a> tags * */ function COM_makeClickableLinks( $text ) { - $regex = '/((ht|f)tp(s?)\:\/\/|~\/| \/)?([\w]+:\w+@)?(([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5}))(:[\d]{1,5})?((\/?\w+\/)+| \/?)([\w\-%]+(\.[\w]{3,4})?)?((\?|&|&)[\w\-%]+=[\w\-%]+)*)/is'; + // These regular expressions will work for this purpuse, but + // they should NOT be used for validating links. + + // matches anything starting with http:// or https:// or ftp:// or ftps:// + $regex[] = '/(?<=^|[\n\r\t\s\(\)\[\]<>";])((?:(?:ht| f)tps?:\/{2})(?:[^\n\r\t\s\(\)\[\]<>"&]+(?:&)?)+)(?=[\n\r\t\s\(\)\[\]<>"&]| $)/ei'; + $replace[] = "COM_makeClickableLinksCallback('', '\\1')"; + + // matches anything containing a top level domain: xxx.com or xxx.yyy.net/stuff.php or xxx.yyy.zz + // list taken from: http://en.wikipedia.org/wiki/List_of_Internet_TLDs + $regex[] = '/(?<=^| [\n\r\t\s\(\)\[\]<>";])((?:[a-z0-9]+\.)*[a-z0-9]+\.(?:aero|asia|biz|cat|com| coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel| [a-z]{2})(?:[\/?#](?:[^\n\r\t\s\(\)\[\]<>"&]+(?:&)?)*)?)(?=[\n\r\t\s\(\)\[\]<>"&]| $)/ei'; + $replace[] = "COM_makeClickableLinksCallback('http://', '\\1')"; + + $text = preg_replace( $regex, $replace, $text ); + + return $text; +} + +/** +* Callback function to help format links in COM_makeClickableLinks +* +* @param string $http set to 'http://' when not aleady in the url +* @param string $link the url +* @return string link enclosed in <a>...</a> tags +* +*/ +function COM_makeClickableLinksCallback( $http, $link ) +{ + $text = COM_truncate( $link, 50, '...', '10' ); - $text = preg_replace( $regex, '<a href="\\1\\5">\\6</a>', $text ); - return $text; + return "<a href=\"$http$link\">$text</a>"; } /** @@ -6484,22 +6494,23 @@ * e.g. '...', to indicate the truncation. * This function is multi-byte string aware, based on a patch by Yusuke Sakata. * -* @param string $text the text string to truncate -* @param int $maxlen max. number of characters in the truncated string -* @param string $filler optional filler string, e.g. '...' -* @return string truncated string +* @param string $text the text string to truncate +* @param int $maxlen max. number of characters in the truncated string +* @param string $filler optional filler string, e.g. '...' +* @param int $endchars number of characters to show after the filler +* @return string truncated string * * @note The truncated string may be shorter but will never be longer than * $maxlen characters, i.e. the $filler string is taken into account. * */ -function COM_truncate( $text, $maxlen, $filler = '' ) +function COM_truncate( $text, $maxlen, $filler = '', $endchars = 0 ) { $newlen = $maxlen - MBYTE_strlen( $filler ); $len = MBYTE_strlen( $text ); if( $len > $maxlen ) { - $text = MBYTE_substr( $text, 0, $newlen ) . $filler; + $text = MBYTE_substr( $text, 0, $newlen - $endchars ) . $filler . MBYTE_substr( $text, $len - $endchars, $endchars ); } return $text; @@ -6557,34 +6568,45 @@ global $_CONF, $_USER; // Handle @ operator - if( error_reporting() == 0 ) - { + if (error_reporting() == 0) { return; } - /* If in PHP4, then respect error_reporting */ - if( (PHP_VERSION < 5) && (($errno & error_reporting()) == 0) ) return; + // If in PHP4, then respect error_reporting + if ((PHP_VERSION < 5) && (($errno & error_reporting()) == 0)) { + return; + } /* * If we have a root user, then output detailed error message: */ - if( ( is_array($_USER) && function_exists('SEC_inGroup') ) || (isset($_CONF['rootdebug']) && $_CONF['rootdebug']) ) - { - if($_CONF['rootdebug'] || SEC_inGroup('Root')) - { + if ((is_array($_USER) && function_exists('SEC_inGroup')) + || (isset($_CONF['rootdebug']) && $_CONF['rootdebug'])) { + if ($_CONF['rootdebug'] || SEC_inGroup('Root')) { + + header('HTTP/1.1 500 Internal Server Error'); + header('Status: 500 Internal Server Error'); + + $title = 'An Error Occurred'; + if (!empty($_CONF['site_name'])) { + $title = $_CONF['site_name'] . ' - ' . $title; + } + echo("<html><head><title>$title</title></head>\n<body>\n"); + echo('<h1>An error has occurred:</h1>'); - if($_CONF['rootdebug']) { + if ($_CONF['rootdebug']) { echo('<h2 style="color: red">This is being displayed as "Root Debugging" is enabled in your Geeklog configuration.</h2><p>If this is a production website you <strong><em>must disable</em></strong> this option once you have resolved any issues you are investigating.</p>'); } else { - echo('(This text is only displayed to users in the group \'Root\')<br>'); + echo('<p>(This text is only displayed to users in the group \'Root\')</p>'); } - echo("$errno - $errstr @ $errfile line $errline<br>"); - if(!SEC_inGroup('Root')) { - if('force' != ''.$_CONF['rootdebug']) { + echo("<p>$errno - $errstr @ $errfile line $errline</p>"); + + if (!function_exists('SEC_inGroup') || !SEC_inGroup('Root')) { + if ('force' != ''.$_CONF['rootdebug']) { $errcontext = COM_rootDebugClean($errcontext); } else { echo('<h2 style="color: red">Root Debug is set to "force", this @@ -6597,7 +6619,7 @@ var_dump($errcontext); $errcontext = htmlspecialchars(ob_get_contents()); ob_end_clean(); - echo("$errcontext</pre>"); + echo("$errcontext</pre></body></html>"); exit; } } @@ -6605,15 +6627,12 @@ /* If there is a custom error handler, fail over to that, but only * if the error wasn't in lib-custom.php */ - if( is_array($_CONF) && !(strstr($errfile, 'lib-custom.php'))) - { - if( array_key_exists('path_system', $_CONF) ) - { - if (file_exists($_CONF['path_system'].'lib-custom.php')) { - require_once($_CONF['path_system'].'lib-custom.php'); + if (is_array($_CONF) && !(strstr($errfile, 'lib-custom.php'))) { + if (array_key_exists('path_system', $_CONF)) { + if (file_exists($_CONF['path_system'] . 'lib-custom.php')) { + require_once $_CONF['path_system'] . 'lib-custom.php'; } - if( function_exists('CUSTOM_handleError') ) - { + if (function_exists('CUSTOM_handleError')) { CUSTOM_handleError($errno, $errstr, $errfile, $errline, $errcontext); exit; } @@ -6623,14 +6642,17 @@ // if we do not throw the error back to an admin, still log it in the error.log COM_errorLog("$errno - $errstr @ $errfile line $errline", 1); - /* Does the theme implement an error message html file? */ + header('HTTP/1.1 500 Internal Server Error'); + header('Status: 500 Internal Server Error'); + + // Does the theme implement an error message html file? if (!empty($_CONF['path_layout']) && file_exists($_CONF['path_layout'] . 'errormessage.html')) { // NOTE: NOT A TEMPLATE! JUST HTML! include $_CONF['path_layout'] . 'errormessage.html'; } else { - /* Otherwise, display simple error message */ - $title = "An Error Occurred"; + // Otherwise, display simple error message + $title = 'An Error Occurred'; if (!empty($_CONF['site_name'])) { $title = $_CONF['site_name'] . ' - ' . $title; } @@ -6711,20 +6733,93 @@ } } -// Now include all plugin functions -foreach( $_PLUGINS as $pi_name ) +/** +* Convert wiki-formatted text to (X)HTML +* +* @param string $wikitext wiki-formatted text +* @return string XHTML formatted text +* +*/ +function COM_renderWikiText($wikitext) { - require_once( $_CONF['path'] . 'plugins/' . $pi_name . '/functions.inc' ); + global $_CONF; + + if (!$_CONF['wikitext_editor']) { + return $wikitext; + } + + require_once 'Text/Wiki.php'; + + $wiki = &new Text_Wiki(); + $wiki->disableRule('wikilink'); + $wiki->disableRule('freelink'); + $wiki->disableRule('interwiki'); + + return $wiki->transform($wikitext, 'Xhtml'); +} + +/** +* Set the {lang_id} and {lang_attribute} variables for a template +* +* @param ref $template template to use +* @return void +* @note {lang_attribute} is only set in multi-language environments. +* +*/ +function COM_setLangIdAndAttribute(&$template) +{ + global $_CONF; + + $langAttr = ''; + $langId = ''; + + if (!empty($_CONF['languages']) && !empty($_CONF['language_files'])) { + $langId = COM_getLanguageId(); + } else { + // try to derive the language id from the locale + $l = explode('.', $_CONF['locale']); // get rid of character set + $langId = $l[0]; + $l = explode('@', $langId); // get rid of '@euro', etc. + $langId = $l[0]; + } + + if (!empty($langId)) { + $l = explode('-', str_replace('_', '-', $langId)); + if ((count($l) == 1) && (strlen($langId) == 2)) { + $langAttr = 'lang="' . $langId . '"'; + } else if (count($l) == 2) { + if (($l[0] == 'i') || ($l[0] == 'x')) { + $langId = implode('-', $l); + $langAttr = 'lang="' . $langId . '"'; + } else if (strlen($l[0]) == 2) { + $langId = implode('-', $l); + $langAttr = 'lang="' . $langId . '"'; + } else { + $langId = $l[0]; + // this isn't a valid lang attribute, so don't set $langAttr + } + } + } + $template->set_var('lang_id', $langId); + + if (!empty($_CONF['languages']) && !empty($_CONF['language_files'])) { + $template->set_var('lang_attribute', $langAttr); + } else { + $template->set_var('lang_attribute', ''); + } +} + +// Now include all plugin functions +foreach ($_PLUGINS as $pi_name) { + require_once $_CONF['path'] . 'plugins/' . $pi_name . '/functions.inc'; } // Check and see if any plugins (or custom functions) // have scheduled tasks to perform -if( $_CONF['cron_schedule_interval'] > 0 ) -{ - if(( DB_getItem( $_TABLES['vars'], 'value', "name='last_scheduled_run'" ) - + $_CONF['cron_schedule_interval'] ) <= time()) - { - DB_query( "UPDATE {$_TABLES['vars']} SET value=UNIX_TIMESTAMP() WHERE name='last_scheduled_run'" ); +if ($_CONF['cron_schedule_interval'] > 0) { + if ((DB_getItem($_TABLES['vars'], 'value', "name='last_scheduled_run'") + + $_CONF['cron_schedule_interval']) <= time()) { + DB_query("UPDATE {$_TABLES['vars']} SET value=UNIX_TIMESTAMP() WHERE name='last_scheduled_run'"); PLG_runScheduledTask(); } } Modified: trunk/geeklog-1-jp-extended/public_html/links/index.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/links/index.php (original) +++ trunk/geeklog-1-jp-extended/public_html/links/index.php Sat Feb 7 08:26:59 2009 @@ -348,7 +348,9 @@ . '/links/portal.php?what=link&item=' . $A['lid']); $template->set_var ('link_url', $url); $template->set_var ('link_actual_url', $A['url']); + $template->set_var ('link_actual_url_encoded', urlencode($A['url'])); $template->set_var ('link_name', stripslashes ($A['title'])); + $template->set_var ('link_name_encoded', urlencode($A['title'])); $template->set_var ('link_hits', COM_numberFormat ($A['hits'])); $template->set_var ('link_description', nl2br (stripslashes ($A['description']))); Modified: trunk/geeklog-1-jp-extended/public_html/profiles.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/profiles.php (original) +++ trunk/geeklog-1-jp-extended/public_html/profiles.php Sat Feb 7 08:26:59 2009 @@ -2,14 +2,14 @@ /* Reminder: always indent with 4 spaces (no tabs). */ // +---------------------------------------------------------------------------+ -// | Geeklog 1.4 | +// | Geeklog 1.5 | // +---------------------------------------------------------------------------+ // | profiles.php | // | | // | This pages lets GL users communicate with each other without risk of | // | their email address being intercepted by spammers. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2000-2006 by the following authors: | +// | Copyright (C) 2000-2009 by the following authors: | // | | // | Authors: Tony Bibbs - tony AT tonybibbs DOT com | // | Mark Limburg - mlimburg AT users DOT sourceforge DOT net | @@ -32,10 +32,8 @@ // | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | // | | // +---------------------------------------------------------------------------+ -// -// $Id: profiles.php,v 1.56 2008/02/20 20:32:37 mjervis Exp $ -require_once ('lib-common.php'); +require_once 'lib-common.php'; /** * Mails the contents of the contact form to that user @@ -54,10 +52,10 @@ $retval = ''; // check for correct $_CONF permission - if (empty ($_USER['username']) && - (($_CONF['loginrequired'] == 1) || ($_CONF['emailuserloginrequired'] == 1)) - && ($uid != 2)) { - return COM_refresh ($_CONF['site_url'] . '/index.php'); + if (COM_isAnonUser() && (($_CONF['loginrequired'] == 1) || + ($_CONF['emailuserloginrequired'] == 1)) + && ($uid != 2)) { + return COM_refresh($_CONF['site_url'] . '/index.php?msg=85'); } // check for correct 'to' user preferences @@ -70,13 +68,13 @@ } if ((($P['emailfromadmin'] != 1) && $isAdmin) || (($P['emailfromuser'] != 1) && !$isAdmin)) { - return COM_refresh ($_CONF['site_url'] . '/index.php'); + return COM_refresh ($_CONF['site_url'] . '/index.php?msg=85'); } // check mail speedlimit COM_clearSpeedlimit ($_CONF['speedlimit'], 'mail'); if (COM_checkSpeedlimit ('mail') > 0) { - return COM_refresh ($_CONF['site_url'] . '/index.php'); + return COM_refresh ($_CONF['site_url'] . '/index.php?msg=85'); } if (!empty($author) && !empty($subject) && !empty($message)) { @@ -86,8 +84,9 @@ // Append the user's signature to the message $sig = ''; - if (isset ($_USER['uid']) && ($_USER['uid'] > 1)) { - $sig = DB_getItem ($_TABLES['users'], 'sig', "uid={$_USER['uid']}"); + if (!COM_isAnonUser()) { + $sig = DB_getItem($_TABLES['users'], 'sig', + "uid={$_USER['uid']}"); if (!empty ($sig)) { $sig = strip_tags (COM_stripslashes ($sig)); $sig = "\n\n-- \n" . $sig; @@ -125,10 +124,12 @@ } $from = COM_formatEmailAddress ($author, $authoremail); - COM_mail ($to, $subject, $message, $from); - COM_updateSpeedlimit ('mail'); + $sent = COM_mail($to, $subject, $message, $from); + COM_updateSpeedlimit('mail'); - $retval .= COM_refresh($_CONF['site_url'] . '/index.php?msg=27'); + $retval .= COM_refresh($_CONF['site_url'] + . '/users.php?mode=profile&uid=' . $uid + . '&msg=' . ($sent ? '27' : '85')); } else { $subject = strip_tags ($subject); $subject = substr ($subject, 0, strcspn ($subject, "\r\n")); @@ -166,8 +167,8 @@ $retval = ''; - if (empty ($_USER['username']) && - (($_CONF['loginrequired'] == 1) || ($_CONF['emailuserloginrequired'] == 1))) { + if (COM_isAnonUser() && (($_CONF['loginrequired'] == 1) || + ($_CONF['emailuserloginrequired'] == 1))) { $retval = COM_startBlock ($LANG_LOGIN[1], '', COM_getBlockTemplate ('_msg_block', 'header')); $login = new Template($_CONF['path_layout'] . 'submit'); @@ -202,7 +203,7 @@ $mail_template->set_var ('site_url', $_CONF['site_url']); $mail_template->set_var ('lang_description', $LANG08[26]); $mail_template->set_var ('lang_username', $LANG08[11]); - if (empty ($_USER['username'])) { + if (COM_isAnonUser()) { $sender = ''; if (isset ($_POST['author'])) { $sender = strip_tags ($_POST['author']); @@ -216,7 +217,7 @@ $_USER['fullname'])); } $mail_template->set_var ('lang_useremail', $LANG08[12]); - if (empty ($_USER['email'])) { + if (COM_isAnonUser()) { $email = ''; if (isset ($_POST['authoremail'])) { $email = strip_tags ($_POST['authoremail']); @@ -271,16 +272,20 @@ * this code * */ -function mailstory ($sid, $to, $toemail, $from, $fromemail, $shortmsg) +function mailstory($sid, $to, $toemail, $from, $fromemail, $shortmsg) { - global $_CONF, $_TABLES, $_USER, $LANG01, $LANG08; + global $_CONF, $_TABLES, $LANG01, $LANG08; - $retval = COM_refresh (COM_buildUrl ($_CONF['site_url'] - . '/article.php?story=' . $sid)); + $storyurl = COM_buildUrl($_CONF['site_url'] . '/article.php?story=' . $sid); + if ($_CONF['url_rewrite']) { + $retval = COM_refresh($storyurl . '?msg=85'); + } else { + $retval = COM_refresh($storyurl . '&msg=85'); + } // check for correct $_CONF permission - if (empty ($_USER['username']) && - (($_CONF['loginrequired'] == 1) || ($_CONF['emailstoryloginrequired'] == 1))) { + if (COM_isAnonUser() && (($_CONF['loginrequired'] == 1) || + ($_CONF['emailstoryloginrequired'] == 1))) { return $retval; } @@ -290,8 +295,8 @@ } // check mail speedlimit - COM_clearSpeedlimit ($_CONF['speedlimit'], 'mail'); - if (COM_checkSpeedlimit ('mail') > 0) { + COM_clearSpeedlimit($_CONF['speedlimit'], 'mail'); + if (COM_checkSpeedlimit('mail') > 0) { return $retval; } @@ -338,12 +343,18 @@ $mailfrom = COM_formatEmailAddress ($from, $fromemail); $subject = COM_undoSpecialChars(strip_tags(stripslashes('Re: '.$A['title']))); - COM_mail ($mailto, $subject, $mailtext, $mailfrom); + $sent = COM_mail ($mailto, $subject, $mailtext, $mailfrom); COM_updateSpeedlimit ('mail'); // Increment numemails counter for story DB_query ("UPDATE {$_TABLES['stories']} SET numemails = numemails + 1 WHERE sid = '$sid'"); + if ($_CONF['url_rewrite']) { + $retval = COM_refresh($storyurl . '?msg=' . ($sent ? '27' : '85')); + } else { + $retval = COM_refresh($storyurl . '&msg=' . ($sent ? '27' : '85')); + } + return $retval; } @@ -361,8 +372,8 @@ $retval = ''; - if (empty ($_USER['username']) && - (($_CONF['loginrequired'] == 1) || ($_CONF['emailstoryloginrequired'] == 1))) { + if (COM_isAnonUser() && (($_CONF['loginrequired'] == 1) || + ($_CONF['emailstoryloginrequired'] == 1))) { $retval = COM_startBlock ($LANG_LOGIN[1], '', COM_getBlockTemplate ('_msg_block', 'header')); $login = new Template($_CONF['path_layout'] . 'submit'); @@ -386,7 +397,7 @@ } if (empty ($from) && empty ($fromemail)) { - if (!empty ($_USER['username'])) { + if (!COM_isAnonUser()) { $from = COM_getDisplayName ($_USER['uid'], $_USER['username'], $_USER['fullname']); $fromemail = DB_getItem ($_TABLES['users'], 'email', @@ -481,7 +492,7 @@ $_POST['shortmsg']) . COM_siteFooter (); } else { - $msg = PLG_itemPreSave ('emailstory', $message); + $msg = PLG_itemPreSave ('emailstory', $_POST['shortmsg']); if (!empty ($msg)) { $display .= COM_siteHeader ('menu', '') . COM_errorLog ($msg, 2) Modified: trunk/geeklog-1-jp-extended/public_html/siteconfig.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/siteconfig.php (original) +++ trunk/geeklog-1-jp-extended/public_html/siteconfig.php Sat Feb 7 08:26:59 2009 @@ -20,7 +20,7 @@ // If you have errors on your site, can't login, or can't get to the // config UI, then you can comment this in to set the root debug option // on and get detailed error messages. You can set this to 'force' (which the -// Config UI won't allow you to do, to override hiding of password and cookie +// Config UI won't allow you to do) to override hiding of password and cookie // items in the debug trace. // $_CONF['rootdebug'] = true; @@ -38,7 +38,7 @@ define('LB',"\n"); } if (!defined('VERSION')) { - define('VERSION', '1.5.1'); + define('VERSION', '1.5.2rc1'); } ?> Modified: trunk/geeklog-1-jp-extended/public_html/staticpages/index.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/staticpages/index.php (original) +++ trunk/geeklog-1-jp-extended/public_html/staticpages/index.php Sat Feb 7 08:26:59 2009 @@ -65,7 +65,19 @@ $display_mode = ''; } -$retval = SP_returnStaticpage($page, $display_mode, $comment_order, $comment_mode); +$msg = 0; +if (isset($_GET['msg'])) { + $msg = COM_applyFilter($_GET['msg'], true); + if ($msg <= 0) { + $msg = 0; + } +} + +$retval = SP_returnStaticpage($page, $display_mode, $comment_order, $comment_mode, $msg); + +if ($display_mode == 'print') { + header('Content-Type: text/html; charset=' . COM_getCharset()); +} echo $retval; Modified: trunk/geeklog-1-jp-extended/public_html/users.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/users.php (original) +++ trunk/geeklog-1-jp-extended/public_html/users.php Sat Feb 7 08:26:59 2009 @@ -63,10 +63,11 @@ * * @param int $user User ID of profile to get * @param int $msg Message to display (if != 0) +* @param string $plugin optional plugin name for message * @return string HTML for user profile page * */ -function userprofile ($user, $msg = 0) +function userprofile($user, $msg = 0, $plugin = '') { global $_CONF, $_TABLES, $_USER, $LANG01, $LANG04, $LANG09, $LANG28, $LANG_LOGIN; @@ -109,7 +110,7 @@ $retval .= COM_siteHeader ('menu', $LANG04[1] . ' ' . $display_name); if ($msg > 0) { - $retval .= COM_showMessage ($msg); + $retval .= COM_showMessage($msg, $plugin); } // format date/time to user preference @@ -867,10 +868,14 @@ $uid = COM_applyFilter ($_GET['uid'], true); if (is_numeric ($uid) && ($uid > 0)) { $msg = 0; - if (isset ($_GET['msg'])) { - $msg = COM_applyFilter ($_GET['msg'], true); + if (isset($_GET['msg'])) { + $msg = COM_applyFilter($_GET['msg'], true); } - $display .= userprofile ($uid, $msg); + $plugin = ''; + if (($msg > 0) && isset($_GET['plugin'])) { + $plugin = COM_applyFilter($_GET['plugin']); + } + $display .= userprofile($uid, $msg, $plugin); } else { $display .= COM_refresh ($_CONF['site_url'] . '/index.php'); } @@ -1109,6 +1114,7 @@ $_CONF['site_url'], // Trust root. null, "email,nickname,fullname")); // Required fields. + exit; } } elseif (isset($query['openid.mode']) || isset($query['openid_mode'])) { $openid_mode = ''; Modified: trunk/geeklog-1-jp-extended/public_html/usersettings.php ============================================================================== --- trunk/geeklog-1-jp-extended/public_html/usersettings.php (original) +++ trunk/geeklog-1-jp-extended/public_html/usersettings.php Sat Feb 7 08:26:59 2009 @@ -1511,14 +1511,8 @@ break; default: // also if $mode == 'edit', 'preferences', or 'comments' - $display .= COM_siteHeader ('menu', $LANG04[16]); - $msg = 0; - if (isset ($_GET['msg'])) { - $msg = COM_applyFilter ($_GET['msg'], true); - if ($msg > 0) { - $display .= COM_showMessage ($msg); - } - } + $display .= COM_siteHeader('menu', $LANG04[16]); + $display .= COM_showMessageFromParameter(); $display .= edituser(); $display .= COM_siteFooter(); break; Modified: trunk/geeklog-1-jp-extended/readme ============================================================================== --- trunk/geeklog-1-jp-extended/readme (original) +++ trunk/geeklog-1-jp-extended/readme Sat Feb 7 08:26:59 2009 @@ -124,9 +124,7 @@ All known issues are tracked in our bug tracker. If you identify a bug please let us know by filling out a bug report at: -http://project.geeklog.net/tracker/?group_id=6&atid=105 - -*** Currently down for maintenance for an undefined period of time, Tony! *** +http://project.geeklog.net/tracking/ 4) System Requirements and Installation Modified: trunk/geeklog-1-jp-extended/sql/mssql_tableanddata.php ============================================================================== --- trunk/geeklog-1-jp-extended/sql/mssql_tableanddata.php (original) +++ trunk/geeklog-1-jp-extended/sql/mssql_tableanddata.php Sat Feb 7 08:26:59 2009 @@ -1568,7 +1568,7 @@ INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (18,'staticpages.delete','Ability to delete static pages',0) INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (19,'story.submit','May skip the story submission queue',1) INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (21,'calendar.submit','May skip the event submission queue',1) -INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (22,'staticpages.PHP','Ability use PHP in static pages',0) +INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (22,'staticpages.PHP','Ability to use PHP in static pages',0) INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (23,'spamx.admin', 'Full access to Spam-X plugin', 0) INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (24,'story.ping', 'Ability to send pings, pingbacks, or trackbacks for stories', 1) INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (3,'links.moderate','Ability to moderate pending links',0) @@ -1670,11 +1670,11 @@ -$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('staticpages', '1.5','1.4.1',1,'http://www.geeklog.net/')"; -$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('spamx', '1.1.1','1.4.1',1,'http://www.pigstye.net/gplugs/staticpages/index.php/spamx')"; -$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('links', '2.0', '1.4.1', 1, 'http://www.geeklog.net/')"; -$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('polls', '2.0.1', '1.4.1', '1', 'http://www.geeklog.net/')"; -$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('calendar', '1.0.2', '1.4.1', '1', 'http://www.geeklog.net/')"; +$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('staticpages', '1.5.1','1.5.0',1,'http://www.geeklog.net/')"; +$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('spamx', '1.1.2','1.5.0',1,'http://www.pigstye.net/gplugs/staticpages/index.php/spamx')"; +$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('links', '2.0.1', '1.5.0', 1, 'http://www.geeklog.net/')"; +$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('polls', '2.0.2', '1.5.0', '1', 'http://www.geeklog.net/')"; +$_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('calendar', '1.0.3', '1.5.0', '1', 'http://www.geeklog.net/')"; $_DATA[] = "INSERT INTO `{$_TABLES['pollquestions']}` (`pid`, `qid`, `question`) VALUES ('geeklogfeaturepoll', 0, 'What is the best new feature of Geeklog?');"; $_DATA[] = "INSERT INTO `{$_TABLES['pollquestions']}` (`pid`, `qid`, `question`) VALUES ('geeklogfeaturepoll', 1, 'What is the all-time best feature of Geeklog?');"; Modified: trunk/geeklog-1-jp-extended/sql/mysql_tableanddata.php ============================================================================== --- trunk/geeklog-1-jp-extended/sql/mysql_tableanddata.php (original) +++ trunk/geeklog-1-jp-extended/sql/mysql_tableanddata.php Sat Feb 7 08:26:59 2009 @@ -840,7 +840,7 @@ $_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (19,'story.submit','May skip the story submission queue',1) "; $_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (20,'links.submit','May skip the links submission queue',0) "; $_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (21,'calendar.submit','May skip the event submission queue',1) "; -$_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (22,'staticpages.PHP','Ability use PHP in static pages',0) "; +$_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (22,'staticpages.PHP','Ability to use PHP in static pages',0) "; $_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (23,'spamx.admin', 'Full access to Spam-X plugin', 0) "; $_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (24,'story.ping', 'Ability to send pings, pingbacks, or trackbacks for stories', 1) "; $_DATA[] = "INSERT INTO {$_TABLES['features']} (ft_id, ft_name, ft_descr, ft_gl_core) VALUES (25,'syndication.edit', 'Access to Content Syndication', 1) "; @@ -918,11 +918,11 @@ $_DATA[] = "INSERT INTO {$_TABLES['pingservice']} (pid, name, site_url, ping_url, method, is_enabled) VALUES (1, 'Ping-O-Matic', 'http://pingomatic.com/', 'http://rpc.pingomatic.com/', 'weblogUpdates.ping', 1)"; -$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('staticpages', '1.5.0','1.5.0',1,'http://www.geeklog.net/') "; -$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('spamx', '1.1.1','1.5.0',1,'http://www.pigstye.net/gplugs/staticpages/index.php/spamx') "; -$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('links', '2.0.0', '1.5.0', 1, 'http://www.geeklog.net/')"; -$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('polls', '2.0.1', '1.5.0', '1', 'http://www.geeklog.net/')"; -$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('calendar', '1.0.2', '1.5.0', '1', 'http://www.geeklog.net/')"; +$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('staticpages', '1.5.1','1.5.0',1,'http://www.geeklog.net/') "; +$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('spamx', '1.1.2','1.5.0',1,'http://www.pigstye.net/gplugs/staticpages/index.php/spamx') "; +$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('links', '2.0.1', '1.5.0', 1, 'http://www.geeklog.net/')"; +$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('polls', '2.0.2', '1.5.0', '1', 'http://www.geeklog.net/')"; +$_DATA[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('calendar', '1.0.3', '1.5.0', '1', 'http://www.geeklog.net/')"; $_DATA[] = "INSERT INTO `{$_TABLES['pollanswers']}` (`pid`, `qid`, `aid`, `answer`, `votes`, `remark`) VALUES ('geeklogfeaturepoll', 0, 1, 'MS SQL support', 0, '');"; $_DATA[] = "INSERT INTO `{$_TABLES['pollanswers']}` (`pid`, `qid`, `aid`, `answer`, `votes`, `remark`) VALUES ('geeklogfeaturepoll', 0, 2, 'Multi-language support', 0, '');"; Modified: trunk/geeklog-1-jp-extended/sql/updates/mssql_1.4.1_to_1.5.0.php ============================================================================== --- trunk/geeklog-1-jp-extended/sql/updates/mssql_1.4.1_to_1.5.0.php (original) +++ trunk/geeklog-1-jp-extended/sql/updates/mssql_1.4.1_to_1.5.0.php Sat Feb 7 08:26:59 2009 @@ -459,12 +459,6 @@ } } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -503,12 +497,6 @@ } } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -558,12 +546,6 @@ } } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -595,12 +577,6 @@ return false; } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -696,12 +672,6 @@ echo "Error inserting categories into linkcategories table"; return false; } - } - - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); } return true; Modified: trunk/geeklog-1-jp-extended/sql/updates/mysql_1.3.9_to_1.3.10.php ============================================================================== --- trunk/geeklog-1-jp-extended/sql/updates/mysql_1.3.9_to_1.3.10.php (original) +++ trunk/geeklog-1-jp-extended/sql/updates/mysql_1.3.9_to_1.3.10.php Sat Feb 7 08:26:59 2009 @@ -111,7 +111,7 @@ } $rel[] = '<a href="' . $matches[1][$i] . '">' - . str_replace ("/(\015\012)|(\015)|(\012)/", '', $matches[2][$i]) + . str_replace(array("\015", "\012"), '', $matches[2][$i]) . '</a>'; } Modified: trunk/geeklog-1-jp-extended/sql/updates/mysql_1.4.1_to_1.5.0.php ============================================================================== --- trunk/geeklog-1-jp-extended/sql/updates/mysql_1.4.1_to_1.5.0.php (original) +++ trunk/geeklog-1-jp-extended/sql/updates/mysql_1.4.1_to_1.5.0.php Sat Feb 7 08:26:59 2009 @@ -422,12 +422,6 @@ } } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -466,12 +460,6 @@ } } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -521,12 +509,6 @@ } } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -558,12 +540,6 @@ return false; } - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); - } - return true; } @@ -655,12 +631,6 @@ echo "Error inserting categories into linkcategories table"; return false; } - } - - if (file_exists($plugin_path . 'config.php')) { - // Rename the existing config.php as it's not needed any more - $ren = @rename($plugin_path . 'config.php', - $plugin_path . 'config-pre1.5.0.php'); } return true; Modified: trunk/geeklog-1-jp-extended/system/classes/calendar.class.php ============================================================================== --- trunk/geeklog-1-jp-extended/system/classes/calendar.class.php (original) +++ trunk/geeklog-1-jp-extended/system/classes/calendar.class.php Sat Feb 7 08:26:59 2009 @@ -87,7 +87,7 @@ */ function isHoliday() { - return $this->holdiayflag; + return $this->holidayflag; } /** Modified: trunk/geeklog-1-jp-extended/system/classes/config.class.php ============================================================================== --- trunk/geeklog-1-jp-extended/system/classes/config.class.php (original) +++ trunk/geeklog-1-jp-extended/system/classes/config.class.php Sat Feb 7 08:26:59 2009 @@ -118,7 +118,9 @@ !array_key_exists($row[0], $this->config_array[$row[2]])) { $value = @unserialize($row[1]); if (($value === false) && ($row[1] != $false_str)) { - COM_errorLog("Unable to unserialize {$row[1]} for {$row[2]}:{$row[0]}"); + if (function_exists('COM_errorLog')) { + COM_errorLog("Unable to unserialize {$row[1]} for {$row[2]}:{$row[0]}"); + } } else { $this->config_array[$row[2]][$row[0]] = $value; } @@ -574,14 +576,11 @@ function _UI_perm_denied() { - global $MESSAGE; + global $_USER, $MESSAGE; $display = COM_siteHeader('menu', $MESSAGE[30]) - . COM_startBlock($MESSAGE[30], '', - COM_getBlockTemplate ('_msg_block', 'header')) - . $MESSAGE[96] - . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer')) - . COM_siteFooter(); + . COM_showMessageText($MESSAGE[96], $MESSAGE[30]) + . COM_siteFooter(); COM_accessLog("User {$_USER['username']} tried to illegally access the config administration screen."); return $display; @@ -738,6 +737,14 @@ $value = DB_getItem($_TABLES['conf_values'], 'value', "group_name='Core' AND name='language'"); $this->config_array['Core']['language'] = unserialize($value); + + /** + * Same with $_CONF['cookiedomain'], which is overwritten in + * in lib-sessions.php (if empty). + */ + $value = DB_getItem($_TABLES['conf_values'], 'value', + "group_name='Core' AND name='cookiedomain'"); + $this->config_array['Core']['cookiedomain'] = unserialize($value); } $success_array = array(); Modified: trunk/geeklog-1-jp-extended/system/classes/downloader.class.php ============================================================================== --- trunk/geeklog-1-jp-extended/system/classes/downloader.class.php (original) +++ trunk/geeklog-1-jp-extended/system/classes/downloader.class.php Sat Feb 7 08:26:59 2009 @@ -32,8 +32,9 @@ // $Id: downloader.class.php,v 1.15 2008/08/11 14:11:21 dhaun Exp $ /** -* This class allows you to download a file from outside the web tree. Many hooks -* around security and file types have been added for customization within any app +* This class allows you to download a file from outside the web tree. Many +* hooks around security and file types have been added for customization within +* any app. * * @author Tony Bibbs * @@ -85,7 +86,7 @@ * @access private */ var $_limitByIP; // Boolean - + /** * Constructor * @@ -105,7 +106,7 @@ $this->_setAvailableExtensions (); } - + // PRIVATE METHODS /** @@ -124,7 +125,7 @@ $this->_logItem('Warning',$warningText); } } - + /** * Adds an error that was encountered * @@ -158,7 +159,7 @@ $this->_logItem('Debug',$debugText); } } - + /** * Logs an item to the log file * @@ -171,7 +172,7 @@ function _logItem($logtype, $text) { $timestamp = strftime("%c"); - if (!$file = fopen($this->_logFile,a)) { + if (!$file = fopen($this->_logFile, 'a')) { // couldn't open log file for writing so let's disable logging and add an error $this->setLogging(false); $this->_addError('Error writing to log file: ' . $this->_logFile . '. Logging has been disabled'); @@ -181,7 +182,7 @@ fclose($file); return true; } - + /** * Defines superset of available Mime types. * @@ -193,30 +194,30 @@ if (sizeof($extensions) == 0) { $this->_availableMimeTypes = array( - 'tgz' => 'application/x-gzip-compressed', - 'gz' => 'application/x-gzip-compressed', - 'zip' => 'application/x-zip-compresseed', - 'tar' => 'application/x-tar', - 'php' => 'text/plain', + 'tgz' => 'application/x-gzip-compressed', + 'gz' => 'application/x-gzip-compressed', + 'zip' => 'application/x-zip-compresseed', + 'tar' => 'application/x-tar', + 'php' => 'text/plain', 'phps' => 'text/plain', - 'txt' => 'text/plain', + 'txt' => 'text/plain', 'html' => 'text/html', - 'htm' => 'text/html', - 'bmp' => 'image/bmp', - 'ico' => 'image/bmp', - 'gif' => 'image/gif', - 'jpg' => 'image/jpeg', + 'htm' => 'text/html', + 'bmp' => 'image/bmp', + 'ico' => 'image/bmp', + 'gif' => 'image/gif', + 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', - 'png' => 'image/png', - 'png' => 'image/x-png', - 'mp3' => 'audio/mpeg', - 'wav' => 'audio/wav', - 'pdf' => 'application/pdf', - 'swf' => 'application/x-shockwave-flash', - 'doc' => 'application/msword', - 'xls' => 'application/vnd.ms-excel', - 'exe' => 'application/octet-stream', - 'sql' => 'text/plain' + 'png' => 'image/png', + 'png' => 'image/x-png', + 'mp3' => 'audio/mpeg', + 'wav' => 'audio/wav', + 'pdf' => 'application/pdf', + 'swf' => 'application/x-shockwave-flash', + 'doc' => 'application/msword', + 'xls' => 'application/vnd.ms-excel', + 'exe' => 'application/octet-stream', + 'sql' => 'text/plain' ); } else { $this->_availableMimeTypes = $extensions; @@ -227,9 +228,9 @@ $this->_availableExtensions[] = $ext; } } - + // Public Methods - + /** * Extra security option that forces all attempts to upload a file to be done * so from a set of VERY specific IP's. This is only good for those who are @@ -250,7 +251,7 @@ return false; } } - + /** * Sets log file * @@ -269,7 +270,7 @@ $this->_logFile = $logFile; return true; } - + /** * Enables/disables logging of errors and warnings * @@ -298,7 +299,7 @@ { return $this->_doLogging; } - + /** * Will force the debug messages in this class to be * printed @@ -316,7 +317,7 @@ $this->_debug = false; } } - + /** * This function will print any errors out. This is useful in debugging * @@ -341,7 +342,7 @@ return $retval; } } - + /** * This function will print any warnings out. This is useful in debugging * @@ -357,7 +358,7 @@ } } } - + /** * This function will print any debmug messages out. * @@ -373,7 +374,7 @@ } } } - + /** * Returns if any errors have been encountered thus far * @@ -388,7 +389,7 @@ return false; } } - + /** * Sets allowed mime types for this instance * @@ -408,7 +409,7 @@ } $this->_allowedExtensions = $validExtensions; } - + /** * Gets allowed mime types for this instance * @@ -419,7 +420,7 @@ { return $this->_allowedExtensions; } - + /** * Checks to see that mime type for current file is allowed for upload * @@ -436,7 +437,7 @@ return true; } } - + /** * Sets file upload path * @@ -460,7 +461,7 @@ return true; } - + /** * Returns directory to upload to * @@ -471,7 +472,7 @@ { return $this->_sourceDirectory; } - + /** * Attempts to dowload a file * @@ -481,6 +482,16 @@ */ function downloadFile($fileName) { + // Before we do anything, let's see if we are limiting file downloads by + // IP address and, if so, verify the user is originating from one of + // those places + if ($this->_limitByIP) { + if (!in_array($_SERVER['REMOTE_ADDR'], $this->_allowedIPS)) { + $this->_addError('The IP, ' . $_SERVER['REMOTE_ADDR'] . ' is not in the list of accepted IP addresses. Refusing to allow file download(s)'); + return false; + } + } + if (strstr( PHP_OS, "WIN")) { // Added as test1 below was failing on Windows platforms $strPathSeparator = '\\'; $this->_sourceDirectory = str_replace('/','\\',$this->_sourceDirectory); @@ -515,14 +526,21 @@ if ($this->checkExtension($fextension)) { // Display file inside browser. header('Content-Type: ' . $this->_availableMimeTypes[$fextension]); - header('Content-transfer-encoding: binary'); - header('Content-length: ' . filesize($this->_sourceDirectory . $fileName)); - header('Content-Disposition: attachment; filename="' . $fileName . '"'); + header('Content-Transfer-Encoding: binary'); + header('Content-Length: ' + . filesize($this->_sourceDirectory . $fileName)); + + // send images as 'inline' everything else as 'attachment' + if (substr($this->_availableMimeTypes[$fextension], 0, 6) == 'image/') { + header('Content-Disposition: inline; filename="' . $fileName . '"'); + } else { + header('Content-Disposition: attachment; filename="' . $fileName . '"'); + } // Send file contents. $fp = fopen($this->_sourceDirectory . $fileName, 'rb'); - - fpassthru( $fp ); + fpassthru($fp); + fclose($fp); } return true; Modified: trunk/geeklog-1-jp-extended/system/classes/sanitize.class.php ============================================================================== --- trunk/geeklog-1-jp-extended/system/classes/sanitize.class.php (original) +++ trunk/geeklog-1-jp-extended/system/classes/sanitize.class.php Sat Feb 7 08:26:59 2009 @@ -2,17 +2,14 @@ /* Reminder: always indent with 4 spaces (no tabs). */ // +---------------------------------------------------------------------------+ -// | Geeklog 1.5 | +// | Geeklog 1.4 | // +---------------------------------------------------------------------------+ // | sanitize.class.php | // | | // | Geeklog data filtering or sanitizing class library. | // +---------------------------------------------------------------------------+ -// | Copyright (C) 2002-2008 by the following authors: | -// | | -// | Authors: Tony Bibbs - tony AT tonybibbs DOT com | -// | Dirk Haun - dirk AT haun-online DOT de | -// | Blaine Lang - blaine AT portalparts DOT com | +// | Copyright (C) 2007-2009 by the following authors: | +// | Authors: Blaine Lang - blaine AT portalparts DOT com | // +---------------------------------------------------------------------------+ // | | // | This program is free software; you can redistribute it and/or | @@ -32,293 +29,464 @@ // +---------------------------------------------------------------------------+ // -/* Class derived from original procedural code in Geeklog 1.3.x lib-common.php -* Jan 2005: Blaine Lang +/* This class can be used to filter a single variable or an array of data +* Three filtering modes are currently supported but the class can easily be extended +* Mode int: will return integer value or 0 if NULL or non-integer +* Mode char: strong character filter that will remove any HTML or quotes +* Mode text: Use for text fields and will use the site HTML filtering functions and user allowable HTML returned as well as quotes +* +* Data can be returned filtered or optionally prep'ed for DB or Web use +* Usage Examples: +* $filter = new sanitizer(); +* +* Example 1: Load up data to be filtered and then call method to return data prep'ed for DB, Web or default format +* Better if you have a lot of data to filter and if you want to return it for DB and Web Presentation format + + $filter = new sanitizer(); + $charvars = array( + 'id' => $_REQUEST['id'], + 'mode' => $_REQUEST['mode'] + ); + $textvars = array( + 'title' => $_REQUEST['movietitle'], // Able to change the key that will be used in filtered return array + 'desc' => $_REQUEST['moviedesc'], + 'keywords' => $_REQUEST['keywords'], + ); + + // Initialize the filter and load the data and types to be filtered + $filter = new nexfilter(); + $filter->cleanData('char',$charvars); + $filter->cleanData('text',$textvars); + + $dbData = $filter->getDbData(); // Filtered data is prep'ed for SQL use - addslashes added + $webData = $filter->getWebData(); // Filtered data like text filtered data with stripslashes already done + + $title = $dbData['title']; + DB_query("UPDATE {$_TABLES['media']} SET title='{$dbData['title']} WHERE id='{$dbData['id']}'"); + + +* Example 2: Define the variables to be filtered, mode and returns sanitized data +* Not able to specify SUPER GLOBAL to filter data from unless you call multiple methods +* but you can specify multiple filtering modes + + $filter = new sanitizer(); + $clean = $filter->cleanPostData(array('movietitle' => 'text', 'id' => 'int')); + DB_query("UPDATE {$_TABLES['media']} SET title='{$clean['movietitle']} WHERE id='{$clean['id']}'"); + +* Example 3: Pass in multiple variables but a single filtering mode + $clean = $filter->getCleanData('text', array('title' => $_POST['movietitle'],'desc' => $_POST['moviedesc'] )); + +* Example 4: Pass in a single variable to sanitize + $id = $filter->getCleanData('int',$_GET['id']); + +* How to extend allowable types - add a new function +* Example Type: Int -- function _cleanInt(), so adding a function called _cleanDate could be added for a date filter + */ -if (strpos(strtolower($_SERVER['PHP_SELF']), 'sanitize.class.php') !== false) { - die('This file can not be used on its own.'); + +if (strpos ($_SERVER['PHP_SELF'], 'sanitize.class.php') !== false) { + die ('This file can not be used on its own.'); } -/** - * Include the base kses class if not already loaded - */ -require_once $_CONF['path_system'] . 'classes/kses.class.php'; - -class sanitize extends kses { - - var $string = ''; - var $_parmissions = ''; - var $_isnumeric = false; - var $_logging = false; - var $_setglobal = false; - var $_censordata = false; - /* Filter or sanitize single parm */ - function filterparm ($parm) { +class sanitizer { + + var $_dirtydata = array(); // Data to be filtered + var $_cleandata = array(); // Sanitized Data after filtering + var $_makeglobal = false; // Set to true to also create a global matching variable name if passed in + var $_logmode = false; // Set true to log to error.log + var $_checkwords = true; // Set true to enable word censor filter + var $_checkhtml = true; // Set true to enable HTML filtering + var $_prepfordb = false; // Set true to place filter class into DB mode -- will addslashes around quotes + var $_prepforweb = false; // Set true to place filter class into WEB mode - will use stripslashes before returning data + var $_maxlength = 0; // Set to 0 to disable, else if set will trim data to this length + + /* Filter modes allows this class to be extended. + * Need to have matching class method _cleanType + */ + var $_filtermodes = array('int','char','text'); + + + public function setLogging($state) { + if ($state === true or $state == 'on') { + $this->_logmode = true; + } elseif ($state === false or $state == 'off') { + $this->_logmode = false; + } + } + + public function setGlobals($state) { + if ($state === true or $state == 'on') { + $this->_makeglobal = true; + } elseif ($state === false or $state == 'off') { + $this->_makeglobal = false; + } + } + + public function setCheckwords($state) { + if ($state === true or $state == 'on') { + $this->_checkwords = true; + } elseif ($state === false or $state == 'off') { + $this->_checkwords = false; + } + } + + public function setPrepfordb($state) { + if ($state === true or $state == 'on') { + $this->_prepfordb = true; + $this->_prepforweb = false; + } elseif ($state === false or $state == 'off') { + $this->_prepfordb = false; + } + } - $p = $this->Parse( $parm ); + public function setPrepforweb($state) { + if ($state === true or $state == 'on') { + $this->_prepforweb = true; + $this->_prepfordb = false; + } elseif ($state === false or $state == 'off') { + $this->_prepforweb = false; + } + } - if( $this->_isnumeric ) - { + public function setMaxlength($length) { + if ($length > 0) { + $this->_maxlength = $length; + } else { + $this->_maxlength = 0; + } + } + + public function initFilter() { + $this->_dirtydata = array(); + $this->_cleandata = array(); + } + + /* apply the free webtext filter to input which may need to contain quote's or other special characters */ + private function _filterText( $var ) { + // Need to call addslashes again as COM_checkHTML strips it out + if ($this->_checkhtml) $var = COM_checkHTML($var); + if ($this->_checkwords) $var = COM_checkWords($var); + $var = COM_killJS($var); + if ($this->_maxlength > 0) { + $var = substr($var, 0, $this->_maxlength); + } + if ($this->_prepfordb) { + $var = addslashes($var); + } elseif ($this->_prepforweb) { + $var = stripslashes($var); + } + return $var; + } + + /* Default filter for character and numeric data */ + private function _applyFilter( $parameter, $isnumeric = false ) { + $p = COM_stripslashes( $parameter ); + $p = strip_tags( $p ); + $p = COM_killJS( $p ); // doesn't help a lot right now, but still ... + if( $isnumeric ) { // Note: PHP's is_numeric() accepts values like 4e4 as numeric - if( !is_numeric( $p ) || ( preg_match( '/^([0-9]+)$/', $p ) == 0 )) - { - $p = 0; + if( !is_numeric( $p ) || ( preg_match( '/^-?\d+$/', $p ) == 0 )) { + $p = 0; } - } - else - { + } else { + if ($this->_checkwords) $p = COM_checkWords($p); $p = preg_replace( '/\/\*.*/', '', $p ); $pa = explode( "'", $p ); $pa = explode( '"', $pa[0] ); $pa = explode( '`', $pa[0] ); $pa = explode( ';', $pa[0] ); + //$pa = explode( ',', $pa[0] ); $pa = explode( '\\', $pa[0] ); $p = $pa[0]; + + if ($this->_prepfordb) { + $p = addslashes($p); + } elseif ($this->_prepforweb) { + $p = stripslashes($p); + } + } + + if ($this->_maxlength > 0) { + $p = substr($p, 0, $this->_maxlength); } - if( $this->logging ) - { - if( strcmp( $p, $parm ) != 0 ) - { - COM_errorLog( "Filter applied: >> $parm << filtered to $p [IP {$_SERVER['REMOTE_ADDR']}]", 1); + if( $this->_logmode ) { + if( strcmp( $p, $parameter ) != 0 ) { + COM_errorLog( "Filter applied: >> $parameter << filtered to $p [IP {$_SERVER['REMOTE_ADDR']}]", 1); } } return $p; - } - /* Prepare data for SQL insert and apply filtering - * Supports passing a single parm or array of parms - */ - function prepareForDB($data) { - if (is_array($data)) { - # loop through array and apply the filters - foreach($data as $var) { - $return_data[] = addslashes($this->filterHTML($var)); + + private function _makeGlobal() { + + if ($this->_makeglobal) { + foreach ($this->_cleandata as $var) { + if (is_array($var)) { + foreach ($var as $varname => $value) { + // Only if variable name is a true string like name + if (!is_numeric($varname)) $GLOBALS[$varname] = $value; + } + } } - return $return_data; - } - else - { - $data = $this->filterHTML($data); - $data = addslashes($data); - return $data; } + } - function filterHTML ($message) { - global $_CONF; - // strip_tags() gets confused by HTML comments ... - $message = preg_replace( '/<!--.+?-->/', '', $message ); + private function _cleanText() { - if( isset( $_CONF['allowed_protocols'] ) && is_array( $_CONF['allowed_protocols'] ) && ( sizeof( $_CONF['allowed_protocols'] ) > 0 )) - { - $this->Protocols( $_CONF['allowed_protocols'] ); - } - else - { - $this->Protocols( array( 'http:', 'https:', 'ftp:' )); + foreach ($this->_dirtydata['text'] as $var => $value) { + // Check if this variable is an array - maybe a checkbox or multiple select + if (is_array($value)) { + $subvalues_array = array(); + foreach ($value as $subvalue) { + $subvalues_array[] = $this->_filterText($subvalue); + } + $this->_cleandata['text'][$var] = $subvalues_array; + } else { + $this->_cleandata['text'][$var] = $this->_filterText($value); + } } - if( empty( $this->permissions) || !SEC_hasRights( $this->permissions ) || - empty( $_CONF['admin_html'] )) - { - $html = $_CONF['user_html']; - } - else - { - $html = array_merge_recursive( $_CONF['user_html'], - $_CONF['admin_html'] ); - } + } + + + private function _cleanChar() { - foreach( $html as $tag => $attr ) - { - $this->AddHTML( $tag, $attr ); + foreach ($this->_dirtydata['char'] as $var => $value) { + // Check if this variable is an array - maybe a checkbox or multiple select + if (is_array($value)) { + $subvalues_array = array(); + foreach ($value as $subvalue) { + $subvalues_array[] = $this->_applyFilter($subvalue); + } + $this->_cleandata['char'][$var] = $subvalues_array; + } else { + $this->_cleandata['char'][$var] = $this->_applyFilter($value); + } } - $message = $this->Parse( $message ); - $message = $this->formatCode($message); - $message = $this->censor($message); - return $message; + } + + private function _cleanInt() { + + foreach ($this->_dirtydata['int'] as $var => $value) { + // Check if this variable is an array - maybe a checkbox or multiple select + if (is_array($value)) { + $subvalues_array = array(); + foreach ($value as $subvalue) { + $subvalues_array[] = $this->_applyFilter($subvalue,true); + } + $this->_cleandata['int'][$var] = $subvalues_array; + } else { + $this->_cleandata['int'][$var] = $this->_applyFilter($value,true); + } + } } + private function _santizeData($type='',$data='') { - /* Apply filtering to a single parm or array of parms - * Parms may be in either $_POST or $_GET input parms array - * If type (GET or POST) is not set then POST is checked first - * Optionally Parms can be made global - */ - function sanitizeParms($vars,$type='') { - $return_data = array(); + if (!empty($data)) { + $this->cleanData($type,$data); + } - #setup common reference to SuperGlobals depending which array is needed - if ($type == "GET" OR $type == "POST") { - if ($type =="GET") { $SG_Array =& $_GET; } - if ($type =="POST") { $SG_Array =& $_POST; } - - # loop through SuperGlobal data array and grab out data for allowed fields if found - foreach($vars as $key) { - if (array_key_exists($key,$SG_Array)) { $return_data[$key]=$SG_Array[$key]; } - } - - } - else - { - foreach ($vars as $key) { - if (array_key_exists($key, $_POST)) { - $return_data[$key] = $_POST[$key]; - } - elseif (array_key_exists($key, $_GET)) - { - $return_data[$key] = $_GET[$key]; - } - } - } - - # loop through $vars array and apply the filter - foreach($vars as $value) { - $return_data[$value] = $this->filterparm($return_data[$value]); - } - - // Optionally set $GLOBALS or return the array - if ($this->_setglobal) { - # loop through final data and define all the variables using the $GLOBALS array - foreach ($return_data as $key=>$value) { - $GLOBALS[$key]=$value; - } - } - else - { - return $return_data; - } - - } - - - function formatCode($message) { - - // Get rid of any newline characters - $message = preg_replace( "/\n/", '', $message ); - - // Replace any $ with $ (HTML equiv) - $message = str_replace( '$', '$', $message ); - - // handle [code] ... [/code] - do - { - $start_pos = MBYTE_substr( MBYTE_strtolower( $message ), '[code]' ); - if( $start_pos !== false ) - { - $end_pos = MBYTE_substr( MBYTE_strtolower( $message ), '[/code]' ); - if( $end_pos !== false ) - { - $encoded = $this->_handleCode( MBYTE_substr( $message, $start_pos + 6, - $end_pos - ( $start_pos + 6 ))); - $encoded = '<pre><code>' . $encoded . '</code></pre>'; - $message = MBYTE_substr( $message, 0, $start_pos ) . $encoded - . MBYTE_substr( $message, $end_pos + 7 ); - } - else // missing [/code] - { - // Treat the rest of the text as code (so as not to lose any - // special characters). However, the calling entity should - // better be checking for missing [/code] before calling this - // function ... - $encoded = $this->_handleCode( MBYTE_substr( $message, $start_pos + 6 )); - $encoded = '<pre><code>' . $encoded . '</code></pre>'; - $message = MBYTE_substr( $message, 0, $start_pos ) . $encoded; - } - } - } - while( $start_pos !== false ); - - return $message; - - } - - /** - * Handles the part within a [code] ... [/code] section, i.e. escapes all - * special characters. - * - * @param string $str the code section to encode - * @return string $str with the special characters encoded - * - */ - function _handleCode( $str ) - { - $search = array( '&', '\\', '<', '>', '[', ']' ); - $replace = array( '&', '\', '<', '>', '[', ']' ); + /* Check if we need to return just one type of filtered data */ + if ($type != '' AND in_array($type,$this->_filtermodes)) { + $filterFunction = '_clean' . ucfirst($type); + if (method_exists($this,$filterFunction)) { + $this->$filterFunction(); + // If just one variable in clean data, then no need to return an array of values + if (count($this->_cleandata[$type]) == 1) { + $retval = $this->_cleandata[$type][0]; + } else { + $retval = $this->_cleandata[$type]; + } + } + + } else { + /* Filter and return an associative array of filtered data - per filter type */ + foreach($this->_dirtydata as $type => $data) { + $filterFunction = '_clean' . ucfirst($type); + if (method_exists($this,$filterFunction)) { + $this->$filterFunction(); + } + } + $retval = $this->_cleandata; + } - $str = str_replace( $search, $replace, $str ); + return $retval; - return( $str ); } - /** - * This censors inappropriate content - * - * This will replace 'bad words' with something more appropriate - * - * @param string $message String to check - * @return string Edited $Message - * + /* Used to load the data that you want cleaned + * Call the getCleanData or getDbData or getWebData() methods to return filtered data */ + public function cleanData($mode,$data) { + if (in_array($mode,$this->_filtermodes)) { + if (is_array($data)) { + foreach ($data as $var => $value ) { + $this->_dirtydata[$mode][$var] = $value; + } + } else { + $this->_dirtydata[$mode][] = $data; + } + } + } - function censor ($message) - { - global $_CONF; + /* Optional methods to clean and return filtered data from a specific GLOBAL (GET, POST, COOKIE or REQUEST) */ + /* Expect an array of variables from a specific SUPPER GLOBAL + $data is an array of variable names and type - example: + array ( 'var1' => 'int', 'var2name' => 'char', 'message' => 'text') + */ - $editedMessage = $message; + /* Expect an array of $_GET variables as per above array format to filter and return sanitized values */ + public function cleanGetData($data) { + if (!is_array($data)) { + return FALSE; + } + $cleandata = array(); + foreach ($data as $varname => $type) { + if (isset($_GET[$varname]) AND !empty($_GET[$varname])) { + $data = $_GET[$varname]; + $cleandata[$varname] = $this->getCleanData($type,$data); + } else { + if ($type = 'int') { + $cleandata[$varname] = 0; + } else { + $cleandata[$varname] = ''; + } + } + } + return $cleandata; - if( $this->_censordata ) - { - if( is_array( $_CONF['censorlist'] )) - { - $replacement = $_CONF['censorreplace']; + } - switch( $_CONF['censormode']) - { - case 1: # Exact match - $regExPrefix = '(\s*)'; - $regExSuffix = '(\W*)'; - break; + /* Expect an array of $_POST variables to filter and return sanitized values */ + public function cleanPostData($data) { + if (!is_array($data)) { + return FALSE; + } + $cleandata = array(); + foreach ($data as $varname => $type) { + if (isset($_POST[$varname]) AND !empty($_POST[$varname])) { + $data = $_POST[$varname]; + $cleandata[$varname] = $this->getCleanData($type,$data); + } else { + if ($type = 'int') { + $cleandata[$varname] = 0; + } else { + $cleandata[$varname] = ''; + } + } + } + return $cleandata; - case 2: # Word beginning - $regExPrefix = '(\s*)'; - $regExSuffix = '(\w*)'; - break; + } - case 3: # Word fragment - $regExPrefix = '(\w*)'; - $regExSuffix = '(\w*)'; - break; + /* Expect an array of $_REQUEST variables to filter and return sanitized values */ + public function cleanRequestData($data) { + if (!is_array($data)) { + return FALSE; + } + $cleandata = array(); + foreach ($data as $varname => $type) { + if (isset($_REQUEST[$varname]) AND !empty($_REQUEST[$varname])) { + $data = $_REQUEST[$varname]; + $cleandata[$varname] = $this->getCleanData($type,$data); + } else { + if ($type = 'int') { + $cleandata[$varname] = 0; + } else { + $cleandata[$varname] = ''; } + } + } + return $cleandata; - for( $i = 0; $i < count( $_CONF['censorlist']); $i++ ) - { - $editedMessage = MBYTE_eregi_replace( $regExPrefix . $_CONF['censorlist'][$i] . $regExSuffix, "\\1$replacement\\2", $editedMessage ); + } + + + /* Expect an array of $_COOKIE variables to filter and return sanitized values */ + public function cleanCookieData($data) { + if (!is_array($data)) { + return FALSE; + } + $cleandata = array(); + foreach ($data as $varname => $type) { + if (isset($_COOKIE[$varname]) AND !empty($_COOKIE[$varname])) { + $data = $_COOKIE[$varname]; + $cleandata[$varname] = $this->getCleanData($type,$data); + } else { + if ($type = 'int') { + $cleandata[$varname] = 0; + } else { + $cleandata[$varname] = ''; } } } + return $cleandata; - return $editedMessage; } - function setPermissions($permissions) { - $this->permissions = $permissions; + + + /* Main public functions to filter data + Return the cleaned data loaded using the cleanData method + * Or optionally pass in the d ============================================================================== Diff truncated at 200k characters