{"id":2410,"date":"2008-01-14T06:04:13","date_gmt":"2008-01-14T06:04:13","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wplistcal\/"},"modified":"2010-01-20T06:17:38","modified_gmt":"2010-01-20T06:17:38","slug":"wplistcal","status":"closed","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/wplistcal\/","author":313988,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.5","stable_tag":"1.3.5","tested":"3.0.5","requires":"2.7","requires_php":"","requires_plugins":"","header_name":"WPListCal","header_author":"Jonathan Kern","header_description":"","assets_banners_color":"","last_updated":"2010-01-20 06:17:38","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/www.jonathankern.com\/code\/wplistcal","header_plugin_uri":"http:\/\/www.jonathankern.com\/code\/wplistcal","header_author_uri":"http:\/\/www.jonathankern.com","rating":0,"author_block_rating":0,"active_installs":60,"downloads":25454,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.8.1","1.0.8.2","1.1","1.1.1","1.2","1.2.2","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[416,1486],"plugin_category":[40],"plugin_contributors":[84287],"plugin_business_model":[],"class_list":["post-2410","plugin","type-plugin","status-closed","hentry","plugin_tags-calendar","plugin_tags-events","plugin_category-calendar-and-events","plugin_contributors-jonkern","plugin_committers-jonkern"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wplistcal.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>WPListCal allows you to list upcoming events on your blog in a list or table format.  It plugs straight into the Wordpress admin pages to let you keep track of events just like posts and pages.  You can then list events on a page or post using a shortcode, show events in your sidebar with a widget, or incorporate events into your theme files using a PHP function call.<\/p>\n\n<h4>Version Guide<\/h4>\n\n<ul>\n<li>WordPress 2.7 or later &rarr; Use WPListCal 1.3.5 (current stable release)<\/li>\n<li>WordPress 2.5-2.6.3 &rarr; Use WPListCal 1.0.8.2<\/li>\n<li>WordPress 2.0.3-2.3.3 &rarr; Use WPListCal 1.0.2<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>wplistcal<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<\/ol>\n\n<h4>Upgrade<\/h4>\n\n<ol>\n<li>If you are upgrading from version 1.0.5 or earlier, DO NOT DEACTIVATE THE PREVIOUS VERSION OF THE PLUGIN! Doing so will remove all your events.<\/li>\n<li>Upload the <code>wplistcal<\/code> folder to the <code>wp-content\/plugins\/<\/code> directory<\/li>\n<li>Deactivate and then activate the plugin though the 'Plugins' menu in WordPress<\/li>\n<\/ol>\n\n<h4>Usage<\/h4>\n\n<ol>\n<li>Change the default settings on the WPListCal options page<\/li>\n<li><p>If you want to list your events on a page or post, use the [wplistcal] shortcode. Use the parameters in the example below. Leave out parameters to default to the options defined in the WPListCal settings page. (1.2 or later only)<\/p>\n\n<blockquote>\n  <p><em>Example:<\/em> <code>[wplistcal display_mode=\"list\", event_format=\"%NAME%\", date_format=\"M j, Y g:ia\", max_events=\"-1\", show_past_events=\"false\", advance_days=\"-1\", event_order=\"asc\", hide_same_date=\"true\", date2_time_format=\"g:ia\", no_events_msg=\"No events!\"]<\/code><\/p>\n<\/blockquote><\/li>\n<li><p>If you want to list your events on a page or post, insert the tag <code>&lt;!--wplistcal--&gt;<\/code> in the body of the page\/post<\/p><\/li>\n<li>If you want to list your events in your sidebar, activate the WPListCal widget in the widget admin section<\/li>\n<li><p>If you want to list your events somewhere in your theme files, insert <code>&lt;?php echo wplc_show_events(); ?&gt;<\/code><\/p>\n\n<blockquote>\n  <p>You can set special parameters to overwrite the default options if you use the PHP function call.<\/p>\n  \n  <p>All parameters are optional, but you must preserve the ordering by passing in <code>null<\/code> for options that you want to use defaults for.<\/p>\n  \n  <p><strong>Display Mode<\/strong> (string): <code>'list'<\/code> or <code>'table'<\/code><\/p>\n  \n  <p><strong>Event Format<\/strong> (string): The format of the list entries if Display Mode is set to <code>'list'<\/code>.  You can use the following variables: %NAME%, %LINK%, %LINKEDNAME%, %START%, %END%, %DESCRIPTION%, %AUTHOR%, and %EXPORTURL%. You can also make statements dependent on a variable by wrapping them in curly brackets (ex. {Date: %START%}). See &quot;Dependent Statements&quot; below for more information.<\/p>\n  \n  <p><strong>Date Format<\/strong> (string): The format to display the start and end date and time.  Uses <a href=\"http:\/\/codex.wordpress.org\/Formatting_Date_and_Time\">the same date formatting that Wordpress uses<\/a>.<\/p>\n  \n  <p><strong>Max. Events<\/strong> (int): The maximum number of events to display, -1 for unlimited.<\/p>\n  \n  <p><strong>Show Past Events<\/strong> (boolean): true to show all events, false to show only current and future events<\/p>\n  \n  <p><strong>Maximum Advanced Notice<\/strong> (int): How many days in advance to display events, -1 for unlimited.<\/p>\n  \n  <p><strong>Event Order<\/strong> (string): <code>'asc'<\/code> to show the closest event first or <code>'desc'<\/code> to show the furthest event first.<\/p>\n  \n  <p><strong>Hide Same Date<\/strong> (bool): Format the end date with the format string defined in the next parameter if it is on the same day as the start date.<\/p>\n  \n  <p><strong>Date 2 Time Format<\/strong> (string): If Hide Same Date is enabled, use this format string for the end date.<\/p>\n  \n  <p><strong>No Events Message<\/strong> (string): If there are no events, show this string instead, leave blank for none.<\/p>\n  \n  <p><em>Example:<\/em> <code>&lt;?php echo wplc_show_events('list', '%LINKEDNAME%: %START% - %END%{&lt;br \/&gt;%DESCRIPTION%} &lt;a href=\"%EXPORTURL%\"&gt;(export)&lt;\/a&gt;', 'M j, Y g:ia', -1, false, 30, 'asc', true, 'g:ia', 'Sorry, no events'); ?&gt;<\/code><\/p>\n<\/blockquote><\/li>\n<\/ol>\n\n<h4>Dependent Statements (1.2 or later only)<\/h4>\n\n<p>You can make a statement dependent on the existence of a variable by wrapping it in curly brackets. By default, the statement will only print if the first variable in the statement is not empty. You cannot have nested dependent statements.<\/p>\n\n<p><strong>Example 1:<\/strong><\/p>\n\n<p>The statement in the curly brackets won't print if %LOCATION% is empty<\/p>\n\n<pre><code>%TITLE%{ at %LOCATION%} on %START%\n<\/code><\/pre>\n\n<p><strong>Example 2:<\/strong><\/p>\n\n<p>To print a literal curly bracket, escape it with '^'<\/p>\n\n<pre><code>%TITLE%{ at %LOCATION} ^{new^}\n<\/code><\/pre>\n\n<p><strong>Example 3:<\/strong><\/p>\n\n<p>To skip a variable when determining the dependent variable, escape its '%' characters with '^'. This method also works to print a literal '%' inside a dependent statement. In this example, the statement in the curly brackets will print if %LOCATION% is not empty. Note that %AUTHOR% will be properly substituted even though it is escaped.<\/p>\n\n<pre><code>%TITLE%{ hosted by ^%AUTHOR^% at %LOCATION%}\n<\/code><\/pre>\n\n<p><strong>Example 4:<\/strong> (invalid)<\/p>\n\n<p>This example is invalid. You cannot have nested dependent statements.<\/p>\n\n<pre><code>%TITLE{ at %LOCATION%{ on %START%}}\n<\/code><\/pre>\n\n<p><strong>Example 5:<\/strong><\/p>\n\n<p>However, you can have multiple dependent statements in a format.<\/p>\n\n<pre><code>%TITLE%{ hosted by %AUTHOR%}{ at %LOCATION} on %START%\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt>Where does WPListCal store events?<\/dt>\n<dd><p>On activation time, the plugin adds a table called &lt;prefix&gt;_wplistcal that stores all your events.<\/p><\/dd>\n<dt>What happens to my events when I deactivate the plugin?<\/dt>\n<dd><p>Before version 1.0.6, on deactivation, <strong>the events table is dropped<\/strong>, so if you want to save your event data, back up the table before deactivating the plugin.<\/p>\n\n<p>As of 1.0.6, deactivating the plugin has no effect on your data. When upgrading to 1.0.6, DO NOT deactivate the plugin until you have uploaded the new version of <code>wplistcal.php<\/code><\/p><\/dd>\n<dt>Why is WPListCal different from other Wordpress calendar plugins?<\/dt>\n<dd><p>WPListCal is specialized to provide clean list or table based output for you to style or reparse any way you'd like.  Other calendar plugins force you to use a gregorian calendar view which may be inappropriate for many applications.<\/p><\/dd>\n<dt>Why do some of my events show N\/A for author and create date?<\/dt>\n<dd><p>Events created before upgrading to version 1.1 did not have those values set, therefore WPListCal marks them as N\/A.<\/p><\/dd>\n<dt>I am unable to make events that start or end past January 19, 2038 at 3:14:08am<\/dt>\n<dd><p>This is a known bug in PHP (id# <a href=\"http:\/\/bugs.php.net\/44209\">44209<\/a>) and was fixed in version 5.2.6. The specific issue was that strtotime() did not support 64-bit timestamps.<\/p><\/dd>\n<dt>Does WPListCal use any 3rd party libraries?<\/dt>\n<dd><p>Yes, WPListCal is packaged with iCalcreator which is released under the GNU LGPL<\/p><\/dd>\n<dt>My event times are all wrong after upgrading to WordPress 2.9.<\/dt>\n<dd><p>Go to WordPress General settings and reset your timezone to a city rather than a manual UTC offset.<\/p><\/dd>\n<dt>I love WPListCal, but I'd like it to do &lt;blank&gt;.<\/dt>\n<dd><p>Great, I'm glad to hear feature requests.  Just post a comment on the <a href=\"http:\/\/www.jonathankern.com\/code\/wplistcal\" title=\"WPListCal Homepage\">plugin's homepage<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>FIXED: WordPressMU support on options page (thanks Gabriel Mazetto for the patch)<\/li>\n<li>FIXED: Multiple i18n bugs, now using date_i18n to allow localized dates (thanks Jonas for the patch)<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>FIXED: Event cleanup link was pointed incorrectly and didn't work properly<\/li>\n<li>FIXED: Linked \"events\" in the dashboard to match other dashboard counters<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>FIXED: Updated compatible version to 2.9 (no code changes)<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>FIXED: timezone_abbreviations_list() error<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>FIXED: Event Operations page had an invalid link for Export<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>NEW: Export single events from event listing (%EXPORTURL%)<\/li>\n<li>NEW: Refactored export and cleanup into one admin page<\/li>\n<li>FIXED: Resolved an issue where the upload settings are not updated on each activation of the plugin<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>FIXED: WordPress 2.8 compatibility<\/li>\n<li>FIXED: Cursor is no longer 'move' for section headers in the event edit page since you can't drag anyway<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>FIXED: Table view didn't show events<\/li>\n<li>NEW: Added POT file for translation<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>NEW: Event cleanup<\/li>\n<li>FIXED: Updated admin menus to use Wordpress Capabilities instead of user levels (fixes settings page bug)<\/li>\n<li>NEW: Conditional format strings (i.e. bracketed statements)<\/li>\n<li>NEW: Shortcode support<\/li>\n<li>FIXED: All timestamps are now based on the WordPress timezone option instead of server time<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>FIXED: Moved the timezone functions into a PHP5-only block for back-compat<\/li>\n<li>FIXED: Load scripts only when we're on a WPListCal page<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>NEW: Updated all styles and elements for WordPress 2.7<\/li>\n<li>NEW: Menus refactored to fit into the new WordPress 2.7 menu structure<\/li>\n<li>NEW: Dashboard now shows number of events published<\/li>\n<li>NEW: Location field<\/li>\n<li>NEW: Widget support<\/li>\n<li>FIXED: Refactored code into separate files<\/li>\n<li>FIXED: Replaced a non-localizable string literal in the options page<\/li>\n<li>NEW: Event export<\/li>\n<li>NEW: Added link to the WordPress 2.7 admin favorites menu<\/li>\n<\/ul>\n\n<h4>1.0.8.2<\/h4>\n\n<ul>\n<li>FIXED: Removed a 2.7-only function that caused PHP warnings on 2.6<\/li>\n<li>FIXED: Re-enabled media upload buttons since they now work right<\/li>\n<\/ul>\n\n<h4>1.0.8.1<\/h4>\n\n<ul>\n<li>FIXED: Options page warning<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>FIXED: Visual editor was broken (again)<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>NEW: Option to use a different date format for the end date if the event starts and ends on the same day<\/li>\n<li>NEW: Option to display a message if there are no events to show<\/li>\n<li>NEW: Option to set rel='nofollow' on links in the event listing<\/li>\n<li>NEW: Option to display events in reverse order<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>NEW: Link field on events<\/li>\n<li>FIXED: Description box now has the correct tab index on the new &amp; edit pages<\/li>\n<li>FIXED: Table view now uses properly cleaned fields<\/li>\n<li>FIXED: Past events option now defaults to \"Only show current and future events\" if it is not set<\/li>\n<li>FIXED: Deactivating the plugin no longer deletes all WPListCal settings and data<\/li>\n<li>FIXED: Write section tab now named Event instead of Add Event for consistency with WordPress<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>FIXED: Return of the WPListCal options tab<\/li>\n<li>FIXED: the visual editor didn't work<\/li>\n<li>FIXED: <code>htmlspecialchars_decode<\/code> function threw error<\/li>\n<li>FIXED: Plugin now works on servers with <code>short_open_tag<\/code> disabled<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>FIXED: Edit &amp; options links to work when <code>wplistcal.php<\/code> is in a subfolder<\/li>\n<li>FIXED: Removed options link from edit &amp; new event pages if the user doesn't have permissions to view it<\/li>\n<li>FIXED: Settings tab no longer appears to users who do not have permissions to it<\/li>\n<li>FIXED: Visual editor now works properly (also fixes <code>switcheditors not defined<\/code> error)<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>FIXED: Options bug introduced by WordPress 2.5<\/li>\n<li>NEW: Restyled admin menus to look like WordPress 2.5<\/li>\n<li>FIXED: Localized a few hardcoded strings<\/li>\n<li>NEW: 24hr time support for the admin area<\/li>\n<li>NEW: Advanced notice limit option<\/li>\n<li>NEW: Every other event in both the list and table view has the css class <code>wplc_alt<\/code> applied to it to allow alternating row formatting<\/li>\n<li>FIXED: Maximum events setting on <code>wplc_show_events<\/code> was broken<\/li>\n<li>FIXED: Event titles containing single quotes printed wrong<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>FIXED: Maximum Events option always defaulted to show all events<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>FIXED: Added definition for <code>str_ireplace()<\/code> for servers not running PHP5<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial Release<\/li>\n<\/ul>","raw_excerpt":"WPListCal allows you to list upcoming events on your blog in a list or table format.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/2410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=2410"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jonkern"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=2410"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=2410"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=2410"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=2410"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=2410"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=2410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}