diff --git a/README.md b/README.md index 1cb0522..45646f2 100644 --- a/README.md +++ b/README.md @@ -14,19 +14,19 @@ This plugin provides an effective way of sharing tips and tricks to all the re Simply visit the new 'Tips' tab under Settings in the network admin dashboard to enter in as many different tips, news, promotions or whatever you choose. Tips are fully HTML compatible and give you options to edit, add to, save as draft or delete later – so you maintain complete control. -![image](http://premium.wpmudev.org/wp-content/uploads/2009/03/tips61.jpg) +![image](screenshot-1.png) Add tips from an easy-to-use interface As users navigate the dashboard, active tips display in a random order at the top of each page. -![image](http://premium.wpmudev.org/wp-content/uploads/2009/03/tips63.jpg) +![image](screenshot-2.png) Clear list manager for quick control Give your users the choice – allow users to toggle tips display on their profile for a cleaner user experience. -![image](http://premium.wpmudev.org/wp-content/uploads/2009/03/tips62.jpg) +![image](screenshot-3.png) Let users control if tips display @@ -36,7 +36,7 @@ For a complete WordPress rebranding suite including the power of Admin Panel Tip ## Usage -For help with installing plugins please refer to our [Plugin installation guide.](https://premium.wpmudev.org/wpmu-manual/installing-regular-plugins-on-wpmu/) +For help with installing plugins please refer to our [Plugin installation guide.](https://wpmudev.com/docs/using-wordpress/installing-wordpress-plugins/#installing-mu-plugins) ### To Use: @@ -50,8 +50,8 @@ For help with installing plugins please refer to our [Plugin installation guide. 5\. Write your tip -![image](https://premium.wpmudev.org/wp-content/uploads/2009/03/tips61.jpg) +![image](screenshot-1.png) 6\. Click **Save Changes** -![image](https://premium.wpmudev.org/wp-content/uploads/2009/03/tips63.jpg) +![image](screenshot-2.png) diff --git a/changelog.txt b/changelog.txt index ea28df2..4d61b40 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,13 @@ == Changelog == += 2.0.0 = +* Tested for WordPress 7.0 and PHP 8.1+ +* Fixed some bugs +* Removed external folder +* Removed sql.txt file +* Added screenshots + = 1.0.7.7 = * Fix: PHP error : Trying to get property of non-object diff --git a/external/dash-notice b/external/dash-notice deleted file mode 160000 index bda258b..0000000 --- a/external/dash-notice +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bda258bc46cbf9646bc8220c9b9a63856f0112e6 diff --git a/languages/tips-el.mo b/languages/tips-el.mo new file mode 100644 index 0000000..443ed6f Binary files /dev/null and b/languages/tips-el.mo differ diff --git a/languages/tips-el.po b/languages/tips-el.po new file mode 100644 index 0000000..0be7158 --- /dev/null +++ b/languages/tips-el.po @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: Admin Panel Tips\n" +"POT-Creation-Date: 2026-06-09 14:24+0300\n" +"PO-Revision-Date: 2026-06-09 14:24+0300\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.3\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-Flags-xgettext: --add-comments=translators:\n" +"X-Poedit-WPHeader: tips.php\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" +"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: *.min.js\n" + +#: tips.php:174 tips.php:256 +msgid "Tips" +msgstr "Σύντομες συμβουλές" + +#: tips.php:215 +msgid "Dismiss" +msgstr "Κλείσιμο" + +#: tips.php:215 +msgid "Hide" +msgstr "Απόκρυψη" + +#: tips.php:229 +msgid "Saving..." +msgstr "Γίνεται αποθήκευση..." + +#: tips.php:259 +msgid "Show Tips" +msgstr "Εμφάνιση συμβουλών" + +#: tips.php:267 +msgid "Yes" +msgstr "Ναι" + +#: tips.php:273 +msgid "No" +msgstr "Όχι" + +#: tips.php:297 +msgid "Nice Try..." +msgstr "Ωραία προσπάθεια..." + +#: tips.php:315 +msgid "Manage Tips" +msgstr "Διαχείριση συμβουλών" + +#: tips.php:315 +msgid "New" +msgstr "Νέα" + +#: tips.php:319 +msgid "Click " +msgstr "Πατήστε " + +#: tips.php:319 +msgid "here" +msgstr "εδώ" + +#: tips.php:319 +msgid " to add a new tip." +msgstr " για να προσθέσετε μια νέα συμβουλή." + +#: tips.php:327 +msgid "Content" +msgstr "Περιεχόμενο" + +#: tips.php:328 +msgid "Added" +msgstr "Προστέθηκε" + +#: tips.php:329 tips.php:375 tips.php:400 tips.php:434 +msgid "Status" +msgstr "Κατάσταση" + +#: tips.php:330 +msgid "Actions" +msgstr "Ενέργειες" + +#: tips.php:344 tips.php:376 tips.php:401 tips.php:435 +msgid "Published" +msgstr "Δημοσιευμένο" + +#: tips.php:344 tips.php:377 tips.php:402 tips.php:436 +msgid "Draft" +msgstr "Πρόχειρο" + +#: tips.php:345 +msgid "Edit" +msgstr "Επεξεργασία" + +#: tips.php:346 +msgid "Remove" +msgstr "Διαγραφή" + +#: tips.php:348 +msgid "Un-publish" +msgstr "Κατάργηση δημοσίευσης" + +#: tips.php:350 +msgid "Publish tip" +msgstr "Δημοσίευση" + +#: tips.php:366 tips.php:391 +msgid "New Tip" +msgstr "Νέα συμβουλή" + +#: tips.php:370 +msgid "Tip:" +msgstr "Συμβουλή:" + +#: tips.php:382 tips.php:407 +msgid "Save" +msgstr "Αποθήκευση" + +#: tips.php:395 tips.php:429 tips.php:457 +msgid "Tip" +msgstr "Συμβουλή" + +#: tips.php:415 +msgid "Tip Added!" +msgstr "Η συμβουλή προστέθηκε!" + +#: tips.php:424 tips.php:452 +msgid "Edit Tip" +msgstr "Επεξεργασία συμβουλής" + +#: tips.php:441 tips.php:463 +msgid "Save Changes" +msgstr "Αποθήκευση αλλαγών" + +#: tips.php:471 +msgid "Settings saved." +msgstr "Ρυθμίσεις αποθηκεύτηκαν." + +#: tips.php:481 +msgid "Tip Un-published." +msgstr "Έγινε κατάργηση δημοσίευσης." + +#: tips.php:489 +msgid "Tip Published." +msgstr "Η συμβουλή δημοσιεύτηκε." + +#: tips.php:498 +msgid "Tip Removed." +msgstr "Η συμβουλή διαγράφηκε." + +#: tips.php:524 +msgid "Settings" +msgstr "Ρυθμίσεις" + +#. Plugin Name of the plugin/theme +msgid "Admin Panel Tips" +msgstr "Admin Panel Tips" + +#. Plugin URI of the plugin/theme +msgid "https://github.com/lenasterg/admin-tips" +msgstr "" + +#. Description of the plugin/theme +msgid "" +"Provide your users with helpful random tips (or promotions/news) in their " +"admin panels." +msgstr "" +"Παρέχετε στους χρήστες σας χρήσιμες τυχαίες συμβουλές (ή προσφορές/ειδήσεις) " +"μέσα στον πίνακα ελέγχου." + +#. Author of the plugin/theme +msgid "WPMU DEV" +msgstr "WPMU DEV" + +#. Author URI of the plugin/theme +msgid "http://premium.wpmudev.org/" +msgstr "" diff --git a/languages/tips.pot b/languages/tips.pot index 9aa4ce3..7e20955 100644 --- a/languages/tips.pot +++ b/languages/tips.pot @@ -1,159 +1,172 @@ -# Copyright (C) 2013 Admin Panel Tips -# This file is distributed under the same license as the Admin Panel Tips package. +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: Admin Panel Tips 1.0.7.3\n" -"Report-Msgid-Bugs-To: http://wordpress.org/tag/tips\n" -"POT-Creation-Date: 2013-12-17 19:05:03+00:00\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Project-Id-Version: Admin Panel Tips\n" +"POT-Creation-Date: 2026-06-09 14:24+0300\n" +"PO-Revision-Date: 2026-06-09 14:05+0300\n" +"Last-Translator: \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" - -#: tips.php:167 tips.php:239 +"X-Generator: Poedit 2.4.3\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-Flags-xgettext: --add-comments=translators:\n" +"X-Poedit-WPHeader: tips.php\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;" +"_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: *.min.js\n" + +#: tips.php:174 tips.php:256 msgid "Tips" msgstr "" -#: tips.php:197 +#: tips.php:215 msgid "Dismiss" msgstr "" -#: tips.php:197 +#: tips.php:215 msgid "Hide" msgstr "" -#: tips.php:211 tips.php:222 +#: tips.php:229 msgid "Saving..." msgstr "" -#: tips.php:242 +#: tips.php:259 msgid "Show Tips" msgstr "" -#: tips.php:245 +#: tips.php:267 msgid "Yes" msgstr "" -#: tips.php:246 +#: tips.php:273 msgid "No" msgstr "" -#: tips.php:262 +#: tips.php:297 msgid "Nice Try..." msgstr "" -#: tips.php:278 +#: tips.php:315 msgid "Manage Tips" msgstr "" -#: tips.php:278 +#: tips.php:315 msgid "New" msgstr "" -#: tips.php:282 +#: tips.php:319 msgid "Click " msgstr "" -#: tips.php:282 +#: tips.php:319 msgid "here" msgstr "" -#: tips.php:282 +#: tips.php:319 msgid " to add a new tip." msgstr "" -#: tips.php:290 +#: tips.php:327 msgid "Content" msgstr "" -#: tips.php:291 +#: tips.php:328 msgid "Added" msgstr "" -#: tips.php:292 tips.php:338 tips.php:363 tips.php:397 +#: tips.php:329 tips.php:375 tips.php:400 tips.php:434 msgid "Status" msgstr "" -#: tips.php:293 +#: tips.php:330 msgid "Actions" msgstr "" -#: tips.php:307 tips.php:339 tips.php:364 tips.php:398 +#: tips.php:344 tips.php:376 tips.php:401 tips.php:435 msgid "Published" msgstr "" -#: tips.php:307 tips.php:340 tips.php:365 tips.php:399 +#: tips.php:344 tips.php:377 tips.php:402 tips.php:436 msgid "Draft" msgstr "" -#: tips.php:308 +#: tips.php:345 msgid "Edit" msgstr "" -#: tips.php:309 +#: tips.php:346 msgid "Remove" msgstr "" -#: tips.php:311 +#: tips.php:348 msgid "Un-publish" msgstr "" -#: tips.php:313 -msgid "Publish" +#: tips.php:350 +msgid "Publish tip" msgstr "" -#: tips.php:329 tips.php:354 +#: tips.php:366 tips.php:391 msgid "New Tip" msgstr "" -#: tips.php:333 +#: tips.php:370 msgid "Tip:" msgstr "" -#: tips.php:345 tips.php:370 +#: tips.php:382 tips.php:407 msgid "Save" msgstr "" -#: tips.php:358 tips.php:392 tips.php:420 +#: tips.php:395 tips.php:429 tips.php:457 msgid "Tip" msgstr "" -#: tips.php:378 +#: tips.php:415 msgid "Tip Added!" msgstr "" -#: tips.php:387 tips.php:415 +#: tips.php:424 tips.php:452 msgid "Edit Tip" msgstr "" -#: tips.php:404 tips.php:426 +#: tips.php:441 tips.php:463 msgid "Save Changes" msgstr "" -#: tips.php:434 +#: tips.php:471 msgid "Settings saved." msgstr "" -#: tips.php:444 +#: tips.php:481 msgid "Tip Un-published." msgstr "" -#: tips.php:452 +#: tips.php:489 msgid "Tip Published." msgstr "" -#: tips.php:461 +#: tips.php:498 msgid "Tip Removed." msgstr "" +#: tips.php:524 +msgid "Settings" +msgstr "" + #. Plugin Name of the plugin/theme msgid "Admin Panel Tips" msgstr "" #. Plugin URI of the plugin/theme -msgid "http://premium.wpmudev.org/project/admin-panel-tips" +msgid "https://github.com/lenasterg/admin-tips" msgstr "" #. Description of the plugin/theme @@ -163,9 +176,9 @@ msgid "" msgstr "" #. Author of the plugin/theme -msgid "Ivan Shaovchev & Andrew Billits (Incsub), S H Mohanjith (Incsub)" +msgid "WPMU DEV" msgstr "" #. Author URI of the plugin/theme -msgid "http://premium.wpmudev.org" +msgid "http://premium.wpmudev.org/" msgstr "" diff --git a/screenshot-1.png b/screenshot-1.png new file mode 100644 index 0000000..0fed5c4 Binary files /dev/null and b/screenshot-1.png differ diff --git a/screenshot-2.png b/screenshot-2.png new file mode 100644 index 0000000..bb9072f Binary files /dev/null and b/screenshot-2.png differ diff --git a/screenshot-3.png b/screenshot-3.png new file mode 100644 index 0000000..064d9c3 Binary files /dev/null and b/screenshot-3.png differ diff --git a/sql.txt b/sql.txt deleted file mode 100644 index 683c9b7..0000000 --- a/sql.txt +++ /dev/null @@ -1,8 +0,0 @@ -CREATE TABLE IF NOT EXISTS `wp_tips` ( - `tip_ID` bigint(20) unsigned NOT NULL auto_increment, - `tip_site_ID` int(20) NOT NULL default '0', - `tip_content` TEXT CHARACTER SET utf8, - `tip_added` varchar(255), - `tip_status` int(1) NOT NULL default '1', - PRIMARY KEY (`tip_ID`) -) ENGINE=MyISAM CHARSET=utf8 AUTO_INCREMENT=1; diff --git a/tips.php b/tips.php index e86d2cd..0e15bb9 100644 --- a/tips.php +++ b/tips.php @@ -1,10 +1,10 @@ ID, 'show_tips', 'no'); - wp_safe_redirect(wp_get_referer()); + + update_user_meta( $current_user->ID, 'show_tips', 'no' ); + wp_safe_redirect( wp_get_referer() ); exit(); } function tips_enqueue_scripts() { - wp_enqueue_script('jquery'); + wp_enqueue_script( 'jquery' ); } function tips_make_current() { - global $wpdb, $tips_current_version; - if ( '' === get_site_option( "tips_version" )) { - add_site_option( 'tips_version', '0.0.0' ); - } - tips_global_install(); - if (get_site_option( "tips_version" ) === $tips_current_version) { - // do nothing - } else { - //update to current version - update_site_option( "tips_version", $tips_current_version ); - } - //--------------------------------------------------// - if (get_option( "tips_version" ) == '') { - add_option( 'tips_version', '0.0.0' ); - } - - if (get_option( "tips_version" ) === $tips_current_version) { - // do nothing - } else { - //update to current version - update_option( "tips_version", $tips_current_version ); - tips_blog_install(); - } + global $tips_current_version; + if ( get_site_option( 'tips_version' ) !== $tips_current_version ) { + tips_global_install(); + } } -function tips_blog_install() { - global $wpdb, $tips_current_version; -} + function tips_global_init() { - if (preg_match('/mu\-plugin/', PLUGINDIR) > 0) { - load_muplugin_textdomain(TIPS_LANG_DOMAIN, false, dirname(plugin_basename(__FILE__)).'/languages'); + if ( preg_match( '/mu\-plugin/', PLUGINDIR ) > 0 ) { + load_muplugin_textdomain( 'tips', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); } else { - load_plugin_textdomain(TIPS_LANG_DOMAIN, false, dirname(plugin_basename(__FILE__)).'/languages'); + load_plugin_textdomain( 'tips', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); } } +/** + * Installs or updates the global database table for the tips plugin. + * + * This function handles the creation of the custom 'tips' table upon initial + * installation, configures character collation, and manages database schema updates + * (such as adding the 'tip_status' column) for older versions. + * + * @since 1.0.0 + * @version 1.1 + * + * @global wpdb $wpdb WordPress database abstraction object. + * @global string $tips_current_version The current version of the tips plugin. + * + * @return void + */ function tips_global_install() { global $wpdb, $tips_current_version; - + // Get the correct character collate - if ( ! empty($wpdb->charset) ) + if ( ! empty( $wpdb->charset ) ) { $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; - if ( ! empty($wpdb->collate) ) + } + if ( ! empty( $wpdb->collate ) ) { $charset_collate .= " COLLATE $wpdb->collate"; - - if (get_site_option( "tips_installed" ) == '') { + } + + if ( ! ( get_site_option( 'tips_installed' ) ) ) { add_site_option( 'tips_installed', 'no' ); } - - if (get_site_option( "tips_installed" ) == "yes") { - if ( version_compare("1.0.4", get_site_option( "tips_version" )) >= 0) { - $tips_table1 = "ALTER TABLE `" . $wpdb->base_prefix . "tips` ADD `tip_status` INT( 1 ) NOT NULL DEFAULT '1' AFTER `tip_added` ;"; - $wpdb->query( $tips_table1 ); + + if ( 'yes' === get_site_option( 'tips_installed' ) ) { + if ( version_compare( '1.0.4', get_site_option( 'tips_version' ) ) >= 0 ) { + + $table_name = $wpdb->base_prefix . 'tips'; + + // Check if column 'tip_status' already exists + $column_exists = $wpdb->get_results( $wpdb->prepare( + "SHOW COLUMNS FROM `$table_name` LIKE %s", + 'tip_status' + ) ); + + // If tip_status doesn't exist ALTER + if ( empty( $column_exists ) ) { + $tips_table1 = 'ALTER TABLE `' . $table_name . "` ADD `tip_status` INT( 1 ) NOT NULL DEFAULT '1' AFTER `tip_added` ;"; + $wpdb->query( $tips_table1 ); + } } } else { - $tips_table1 = "CREATE TABLE IF NOT EXISTS `" . $wpdb->base_prefix . "tips` ( - `tip_ID` bigint(20) unsigned NOT NULL auto_increment, - `tip_site_ID` int(20) NOT NULL default '0', - `tip_content` TEXT CHARACTER SET utf8, - `tip_added` varchar(255), - `tip_status` int(1) NOT NULL default '1', - PRIMARY KEY (`tip_ID`) -) ENGINE=MyISAM {$charset_collate};"; - + $tips_table1 = 'CREATE TABLE IF NOT EXISTS `' . $wpdb->base_prefix . "tips` ( + `tip_ID` bigint(20) unsigned NOT NULL auto_increment, + `tip_site_ID` int(20) NOT NULL default '0', + `tip_content` TEXT CHARACTER SET utf8, + `tip_added` varchar(255), + `tip_status` int(1) NOT NULL default '1', + PRIMARY KEY (`tip_ID`) + ) {$charset_collate};"; $wpdb->query( $tips_table1 ); - update_site_option( "tips_installed", "yes" ); + update_site_option( 'tips_installed', 'yes' ); + update_site_option( 'tips_version', $tips_current_version ); } } +/** + * + * @global type $tips_menu_slug + * @version 2.0 + */ function tips_plug_pages() { global $tips_menu_slug; - - if (is_super_admin()) - add_submenu_page( $tips_menu_slug, __('Tips', TIPS_LANG_DOMAIN), __('Tips', TIPS_LANG_DOMAIN), 'manage_options', 'manage-tips', 'tips_manage_output' ); + + if ( is_super_admin() ) { + add_submenu_page( $tips_menu_slug, esc_html__( 'Tips', 'tips' ), esc_html__( 'Tips', 'tips' ), 'manage_options', 'manage-tips', 'tips_manage_output' ); + } } +/** + * + * @global type $user_id + * + * @version 2.0 + */ function tips_profile_option_update() { global $user_id; - if ( $_POST['show_tips'] != '' ) { - update_user_meta($user_id, 'show_tips', $_POST['show_tips']); + if ( '' !== $_POST['show_tips'] ) { + update_user_meta( $user_id, 'show_tips', $_POST['show_tips'] ); } } @@ -172,25 +193,26 @@ function tips_profile_option_update() { //------------------------------------------------------------------------// function tips_output() { - global $wpdb, $current_site, $tmp_tips_prefix, $tmp_tips_suffix, $current_user; - + global $wpdb, $tmp_tips_prefix, $tmp_tips_suffix, $current_user; + //hide if turned off - $show_tips = get_user_meta($current_user->ID,'show_tips', true); - if ( 'no' === $show_tips ) return; - + $show_tips = get_user_meta( $current_user->ID, 'show_tips', true ); + if ( 'no' === $show_tips ) { + return; + } - $dismissed_tips = isset($_COOKIE['tips_dismissed'])?maybe_unserialize(stripslashes($_COOKIE['tips_dismissed'])):array(); - if (count($dismissed_tips) > 0) { - $dismissed_tips_sql = "AND tip_ID NOT IN(" . join(',', $dismissed_tips) . ")"; + $dismissed_tips = isset( $_COOKIE['tips_dismissed'] ) ? maybe_unserialize( stripslashes( $_COOKIE['tips_dismissed'] ) ) : array(); + if ( 0 < count( $dismissed_tips ) ) { + $dismissed_tips_sql = 'AND tip_ID NOT IN(' . join( ',', $dismissed_tips ) . ')'; } else { - $dismissed_tips_sql = ""; + $dismissed_tips_sql = ''; } - $tmp_tips_count = $wpdb->get_var("SELECT COUNT(*) FROM " . $wpdb->base_prefix . "tips WHERE tip_site_ID = '" . $wpdb->siteid . "' AND tip_status = 1 {$dismissed_tips_sql} "); - if ($tmp_tips_count > 0){ - $tmp_tip = $wpdb->get_row("SELECT tip_ID, tip_content FROM " . $wpdb->base_prefix . "tips WHERE tip_site_ID = '" . $wpdb->siteid . "' AND tip_status = 1 {$dismissed_tips_sql} ORDER BY RAND() LIMIT 1"); + $tmp_tips_count = $wpdb->get_var( 'SELECT COUNT(*) FROM ' . $wpdb->base_prefix . "tips WHERE tip_site_ID = '" . $wpdb->siteid . "' AND tip_status = 1 {$dismissed_tips_sql} " ); + if ( $tmp_tips_count > 0 ) { + $tmp_tip = $wpdb->get_row( 'SELECT tip_ID, tip_content FROM ' . $wpdb->base_prefix . "tips WHERE tip_site_ID = '" . $wpdb->siteid . "' AND tip_status = 1 {$dismissed_tips_sql} ORDER BY RAND() LIMIT 1" ); $tmp_tip_content = $tmp_tips_prefix . $tmp_tip->tip_content . $tmp_tips_suffix; ?> -

[ ]

[ ]

+

[ ]

[ ]