Check out the demo video. Author: Aakash Chakravarthy Version: 2.1 Author URI: http://www.aakashweb.com/ */ if(!defined('WP_CONTENT_URL')) { $ancr_url = get_option('siteurl') . '/wp-content/plugins/' . plugin_basename(dirname(__FILE__)).'/'; }else{ $ancr_url = WP_CONTENT_URL . '/plugins/' . plugin_basename(dirname(__FILE__)) . '/'; } define('ANCR_VERSION', '2.1'); define('ANCR_AUTHOR', 'Aakash Chakravarthy'); define('ANCR_URL', $ancr_url); $ancr_donate_link = 'http://bit.ly/ancrdonate'; // Load languages load_plugin_textdomain('announcer', false, basename(dirname(__FILE__)) . '/languages/'); // Admin menu function ancr_addpage() { add_submenu_page('options-general.php', 'Announcer', 'Announcer', 10, 'announcer', 'ancr_admin_page'); } add_action('admin_menu', 'ancr_addpage'); // Load the Javascripts function ancr_admin_js() { if (isset($_GET['page']) && $_GET['page'] == 'announcer'){ wp_enqueue_script('jquery'); wp_enqueue_script('announcer-admin-js', ANCR_URL . 'ancr-admin-js.js'); wp_enqueue_script('announcer-editor-js', ANCR_URL . 'js/jwysiwyg/jquery.wysiwyg.js'); wp_enqueue_script('announcer-colorpicker-js', ANCR_URL . 'js/colorpicker/farbtastic.js'); } } add_action('admin_print_scripts', 'ancr_admin_js'); // Load the CSS function ancr_admin_css() { if (isset($_GET['page']) && $_GET['page'] == 'announcer') { wp_enqueue_style('announcer-admin-css', ANCR_URL . 'ancr-admin-css.css'); wp_enqueue_style('announcer-editor-css', ANCR_URL . 'js/jwysiwyg/jquery.wysiwyg.css'); wp_enqueue_style('announcer-colorpicker-css', ANCR_URL . 'js/colorpicker/farbtastic.css'); } } add_action('admin_print_styles', 'ancr_admin_css'); // Insert the required javascripts and styles to the theme if( !is_admin()){ // jQuery wp_deregister_script('jquery'); wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false, '1.3.2'); wp_enqueue_script('jquery'); // Announcer JS and CSS wp_register_script('announcer-js', ANCR_URL . 'public/announcer-js.js'); wp_enqueue_script('announcer-js'); wp_register_style('announcer-css', ANCR_URL . 'public/announcer-styles.css'); wp_enqueue_style('announcer-css'); } /** * * Basic functions for the plugin * **/ function ancr_check_user_date(){ $options = get_option('announcer_data'); $announcer_expdate = $options['announcer_expdate']; if($announcer_expdate == 0){ return 1; } $announcer_date_hyphen = strpos($announcer_expdate, '-'); if ($announcer_date_hyphen === false) { return 0; } else { list($year, $month, $day) = explode('-', $announcer_expdate); if($year > 2009){ $year_check = 1;} if($month < 12 && $month != 0){ $month_check = 1; } if($day < 31 && $day != 0){ $day_check = 1; } if($year_check == 1 && $month_check == 1 && $day_check == 1){ return 1; } } } // Compare the present and the end date. function ancr_compare_dates(){ $options = get_option('announcer_data'); $announcer_expdate = strtotime($options['announcer_expdate']); $announcer_todays_date = strtotime(date('Y-n-d')); if (($announcer_expdate > $announcer_todays_date) || $announcer_expdate == 0){ return 1; }else{ return 0; } } // Revision checker function ancr_revision(){ $options = get_option('announcer_data'); $announcer_revision = $options['announcer_revision']; if($_COOKIE['announcer-revision'] != $announcer_revision){ setcookie("announcer-revision", $announcer_revision, time() + 60*60*24*365, '/'); setcookie("announcer-state" , "visible", time() + 60*60*24*365 , '/'); } } add_action('init', 'ancr_revision'); // Main function function announcer(){ static $announcer_is_added; if($announcer_is_added != 'yes' && $announcer_is_added == NULL){ $options = get_option('announcer_data'); $announcer_status = $options['announcer_status']; $announcer_previous_content = stripslashes($options['announcer_previous_content']); $announcer_content = stripslashes($options['announcer_content']); $announcer_expdate = $options['announcer_expdate']; $announcer_closebt = $options['announcer_closebt']; $announcer_position = $options['announcer_position']; $announcer_style = $options['announcer_style']; $announcer_stylecolors = $options['announcer_stylecolors']; $announcer_customclass = $options['announcer_customclass']; $announcer_revision = $options['announcer_revision']; // Get close button if ($announcer_closebt == 'yes'){ $announcer_close_button = "\n" . 'x' . "\n"; }else{ $announcer_close_button = ''; } // Get box style if ($announcer_style == 'custom'){ $announcer_style = $announcer_customclass; }else{ $announcer_style = 'announcer_' . $announcer_style; $colorssplit = explode(',', $announcer_stylecolors); $style = ' style="border-color:' . $colorssplit[0] . '; background-color:' . $colorssplit[1] . '; color: ' . $colorssplit[2] . '" '; } // Top and bottom fix classes if($announcer_position == 'top-float' || $announcer_position == 'bottom-float'){ $announcer_style = 'announcer_' . $announcer_position . ' ' . $announcer_style; } // Main output if ($announcer_status == "1" && ancr_compare_dates()){ echo "\n"; echo '
' . $announcer_close_button . '
' . $announcer_content . '
'; echo 'Aakash Web Announcer plugin'; echo "
\n"; echo "\n"; $announcer_is_added = 'yes'; } } } function ancr_insert(){ $options = get_option('announcer_data'); $announcer_position = $options['announcer_position']; if(!is_admin()){ if($announcer_position == 'top-fixed'){ add_action('loop_start', 'announcer'); } if($announcer_position == 'bottom-fixed'){ add_action('loop_end', 'announcer'); } if($announcer_position == 'top-float' || $announcer_position == 'bottom-float'){ add_action('wp_footer', 'announcer'); } } } add_action('init', 'ancr_insert'); // Announcer admin page. function ancr_admin_page(){ $announcer_updated = false; $options = get_option('announcer_data'); // Announcer date entry check if(!$_POST["ancr_submit"] && ancr_compare_dates() == 0){ $options = get_option('announcer_data'); $options['announcer_status'] = 0; update_option('announcer_data', $options); echo '

' . sprintf(__('The date %s has expired. Announcement is turned off', 'announcer'), $options['announcer_expdate']) . '

'; } // Announce main admin form if ($_POST["ancr_submit"]) { // Default msg $announcer_msg = __('Updated successfully !', 'announcer'); // If no data is entered if($_POST['announcer_expdate'] == NULL){ $_POST['announcer_expdate'] = 0; } // Getting the posted datas $options['announcer_previous_content'] = $options['announcer_content']; $options['announcer_status'] = $_POST['announcer_status']; $options['announcer_expdate'] = $_POST['announcer_expdate']; $options['announcer_closebt'] = $_POST['announcer_closebt']; $options['announcer_position'] = $_POST['announcer_position']; $options['announcer_style'] = $_POST['announcer_style']; $options['announcer_stylecolors'] = $_POST['announcer_stylecolors']; $options['announcer_customclass'] = $_POST['announcer_customclass']; if($options['announcer_previous_content'] != $_POST['announcer_content']){ $options['announcer_content'] = $_POST['announcer_content']; $options['announcer_revision'] = $options['announcer_revision'] + 1 ; }else{ $announcer_msg = __('Announcement content is not changed. Other options are updated !', 'announcer'); } // Update to the DB update_option("announcer_data", $options); $announcer_updated = true; // Updated message if($announcer_updated == true){ echo '

' . $announcer_msg . '

'; }else{ echo '

' . __('Unable to update !', 'announcer') . '

'; } // Check whether date is valid if(ancr_compare_dates() == 0 || ancr_check_user_date() == 0){ echo '

' . sprintf(__('The date %s has expired or invalid. Please check the date. Format is YYYY-MM-DD', 'announcer'), $options['announcer_expdate']) . '

'; $announcer_expdate_class = 'style="border: 1px solid #FF0000;"'; } } // Retrieve and assign the new data to variables $announcer_status = $options['announcer_status']; $announcer_content = stripslashes($options['announcer_content']); $announcer_expdate = $options['announcer_expdate']; $announcer_closebt = $options['announcer_closebt']; $announcer_position = $options['announcer_position']; $announcer_style = $options['announcer_style']; $announcer_customclass = $options['announcer_customclass']; $announcer_stylecolors = ($options['announcer_stylecolors'] == '') ? '#cccccc,#F9F9F9,#000000' : $options['announcer_stylecolors']; ?>

 Announcer v

Announcement

Settings

Expiry Date />
Show close button
Announcement position

Themes and Styles

Box style   Preview styles
Custom "class" name
Border Color
Background Color
Text color

Manual Placement code: <?php if(function_exists('announcer')) { announcer();} ?>

Report bugs | Support Forum | Documentation | Help | Donate

(Demo video)



a Aakash Web plugin

" . __('Make Donations', 'hja') . ' '; $links = array_merge(array($settings_link), $links); } return $links; } add_filter('plugin_action_links', 'ancr_plugin_actions', 10, 2); function ancr_fbbutton(){ echo ''; } ?>