add('name', PLUGIN_DISQUS_TITLE); $propbag->add('description', PLUGIN_DISQUS_DESC); $propbag->add('stackable', false); $propbag->add('author', 'Garvin Hicking'); $propbag->add('requirements', array( 'serendipity' => '0.7', 'smarty' => '2.6.7', 'php' => '4.1.0' )); $propbag->add('version', '0.1'); $propbag->add('groups', array('FRONTEND_VIEWS')); $propbag->add('event_hooks', array( 'frontend_display:html:per_entry' => true, 'entries_footer' => true )); $propbag->add('configuration', array('shortname', 'enable_since')); } function introspect_config_item($name, &$propbag) { global $serendipity; switch($name) { /* plugin_display_dat $TRACKBACKS $COMMENTS $COMMENTFORM */ case 'enable_since': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_DISQUS_ENABLE_SINCE); $propbag->add('description', PLUGIN_DISQUS_ENABLE_SINCE_DESC); $propbag->add('default', date('Y-m-d')); break; case 'shortname': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_DISQUS_SHORTNAME); $propbag->add('description', PLUGIN_DISQUS_SHORTNAME_DESC); $propbag->add('default', ''); break; } return true; } function generate_content(&$title) { $title = PLUGIN_DISQUS_TITLE; } function example() { echo nl2br(PLUGIN_DISQUS_DESC2); } function event_hook($event, &$bag, &$eventData, &$addData) { global $serendipity; $hooks = &$bag->get('event_hooks'); if (isset($hooks[$event])) { switch($event) { case 'entries_footer': ?> get_config('enable_since')); $ts = mktime(0, 0, 0, $_ts[1], $_ts[2], $_ts[0]); if ($eventData['timestamp'] < $ts) { return true; } $eventData['comments'] = 'Disqus'; if (!$eventData['is_extended']) return true; $disqus = '
'; $eventData['display_dat'] .= $disqus; $eventData['disqus'] .= $disqus; $eventData['commentform'] = true; return true; default: return false; } } else { return false; } } }