[pLog-svn] r6693 - in plugins/branches/lifetype-1.2: . addthis addthis/class addthis/class/action addthis/class/view addthis/locale addthis/templates
pwestbro at devel.lifetype.net
pwestbro at devel.lifetype.net
Sat Jul 12 06:46:32 EDT 2008
Author: pwestbro
Date: 2008-07-12 06:46:31 -0400 (Sat, 12 Jul 2008)
New Revision: 6693
Added:
plugins/branches/lifetype-1.2/addthis/
plugins/branches/lifetype-1.2/addthis/README.txt
plugins/branches/lifetype-1.2/addthis/class/
plugins/branches/lifetype-1.2/addthis/class/action/
plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisconfigaction.class.php
plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisupdateconfigaction.class.php
plugins/branches/lifetype-1.2/addthis/class/view/
plugins/branches/lifetype-1.2/addthis/class/view/pluginaddthisconfigview.class.php
plugins/branches/lifetype-1.2/addthis/locale/
plugins/branches/lifetype-1.2/addthis/locale/locale_en_UK.php
plugins/branches/lifetype-1.2/addthis/pluginaddthis.class.php
plugins/branches/lifetype-1.2/addthis/templates/
plugins/branches/lifetype-1.2/addthis/templates/addthis.template
Log:
Initial checkin of the AddThis plugin.
Check out AddThis at http://www.addthis.com
Added: plugins/branches/lifetype-1.2/addthis/README.txt
===================================================================
--- plugins/branches/lifetype-1.2/addthis/README.txt (rev 0)
+++ plugins/branches/lifetype-1.2/addthis/README.txt 2008-07-12 10:46:31 UTC (rev 6693)
@@ -0,0 +1,44 @@
+[DESCRIPTION]
+The AddThis plugin adds links to social bookmarking sites to each of
+your blog posts.
+
+[USAGES]:
+1. Upload: Upload all the extract files and directories to
+ $LifeType_Install_Dir/plugin/addthis
+2. Next you need to add the following to post.template:
+ {assign var="addThisPostId" value=$post->getId()}
+ {$addthis->show($addThisPostId)}
+
+
+[EXAMPLE (From the template 'Falling Leaves with plug-ins]
+{assign var="postDate" value=$post->getDateObject()}
+{assign var="postOwner" value=$post->getUserInfo()}
+{assign var="addthisPostId" value=$post->getId()}
+
+ <DIV class=post>
+ <H2 class=storytitle ><A class=aposted
+ href="{$url->postPermalink($post)}">{$post->getTopic()}</A></H2>
+ <DIV class=date>Published on
+ {$locale->formatDate($postDate,"%H:%M, %m/%d,%Y")}</DIV>
+ <DIV class=storycontent>
+ <P>{$post->getText()}</P>
+ </DIV><BR>
+ <DIV class=feedback>
+ <DIV class=meta>Posted under
+ {foreach name=categories from=$post->getCategories()
+ item=postcategory}
+ <a
+ href="{$url->categoryLink($postcategory)}">{$postcategory->getName()}</a>
+ {if !$smarty.foreach.categories.last}, {/if}
+ {/foreach}
+
+ | <A
+ href="{$url->postPermalink($post)}#comments">{$locale->tr("comment
+ on this")} ({$post->getTotalComments()})</A>
+ {$addthis->show($addthisPostId)}
+ </DIV>
+ </DIV>
+ <DIV class=sep></DIV>
+ </DIV>
+
+[END EXAMPLE]
Added: plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisconfigaction.class.php
===================================================================
--- plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisconfigaction.class.php (rev 0)
+++ plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisconfigaction.class.php 2008-07-12 10:46:31 UTC (rev 6693)
@@ -0,0 +1,47 @@
+<?php
+
+ /*
+ Copyright 2006, 2008 Paul Westbrook (paul at westbrooks.org)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+
+ lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
+ lt_include( PLOG_CLASS_PATH."plugins/addthis/class/view/pluginaddthisconfigview.class.php" );
+
+ /**
+ * shows a form with the current configuration
+ */
+ class PluginAddThisConfigAction extends AdminAction
+ {
+
+ function PluginAddThisConfigAction( $actionInfo, $request )
+ {
+ $this->AdminAction( $actionInfo, $request );
+ error_log("PluginAddThisConfigAction");
+ }
+
+ function perform()
+ {
+ error_log("PluginAddThisConfigAction::perform");
+ $this->_view = new PluginAddThisConfigView( $this->_blogInfo );
+
+ $this->setCommonData();
+
+ return true;
+ }
+ }
+?>
Added: plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisupdateconfigaction.class.php
===================================================================
--- plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisupdateconfigaction.class.php (rev 0)
+++ plugins/branches/lifetype-1.2/addthis/class/action/pluginaddthisupdateconfigaction.class.php 2008-07-12 10:46:31 UTC (rev 6693)
@@ -0,0 +1,92 @@
+<?php
+
+ /*
+ Copyright 2006, 2008 Paul Westbrook (paul at westbrooks.org)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+ lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
+ lt_include( PLOG_CLASS_PATH."plugins/addthis/class/view/pluginaddthisconfigview.class.php" );
+
+ /**
+ * updates the plugin configuration
+ */
+ class PluginAddThisUpdateConfigAction extends AdminAction
+ {
+ var $_pluginEnabled;
+ var $_username;
+
+ function PluginAddThisUpdateConfigAction( $actionInfo, $request )
+ {
+ $this->AdminAction( $actionInfo, $request );
+ }
+
+ function validate()
+ {
+
+ $this->_pluginEnabled = $this->_request->getValue( "pluginEnabled" );
+ $this->_pluginEnabled = ($this->_pluginEnabled != "" );
+
+ $this->_username = $this->_request->getValue( "username" );
+
+
+ if( $this->_pluginEnabled == true && $this->_username == "" ) {
+ $this->_view = new PluginAddThisConfigView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr("addthis_missing_username"));
+ $this->setCommonData();
+
+ return false;
+ }
+
+ return true;
+ }
+
+ function perform()
+ {
+ // update the plugin configurations to blog setting
+ $blogSettings = $this->_blogInfo->getSettings();
+ $blogSettings->setValue( "plugin_addthis_enabled", $this->_pluginEnabled );
+
+ $blogSettings->setValue( "plugin_addthis_username", $this->_username );
+ $this->_blogInfo->setSettings( $blogSettings );
+
+
+ // save the blogs settings
+ $blogs = new Blogs();
+ if( !$blogs->updateBlog( $this->_blogInfo )) {
+ $this->_view = new PluginAddThisConfigView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr("error_updating_settings"));
+ $this->setCommonData();
+
+ return false;
+ }
+
+ // if everything went ok...
+ $this->_blogInfo->setSettings( $blogSettings );
+ $this->_session->setValue( "blogInfo", $this->_blogInfo );
+ $this->saveSession();
+
+ $this->_view = new PluginAddThisConfigView( $this->_blogInfo );
+ $this->_view->setSuccessMessage( $this->_locale->tr("addthis_settings_saved_ok"));
+ $this->setCommonData();
+
+ // clear the cache
+ CacheControl::resetBlogCache( $this->_blogInfo->getId());
+
+ return true;
+ }
+ }
+?>
Added: plugins/branches/lifetype-1.2/addthis/class/view/pluginaddthisconfigview.class.php
===================================================================
--- plugins/branches/lifetype-1.2/addthis/class/view/pluginaddthisconfigview.class.php (rev 0)
+++ plugins/branches/lifetype-1.2/addthis/class/view/pluginaddthisconfigview.class.php 2008-07-12 10:46:31 UTC (rev 6693)
@@ -0,0 +1,49 @@
+<?php
+ /*
+ Copyright 2006, 2008 Paul Westbrook (paul at westbrooks.org)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+
+ lt_include( PLOG_CLASS_PATH."class/view/admin/adminplugintemplatedview.class.php" );
+
+ /**
+ * implements the main view of the feed reader plugin
+ */
+ class PluginAddThisConfigView extends AdminPluginTemplatedView
+ {
+
+
+ function PluginAddThisConfigView( $blogInfo )
+ {
+ $this->AdminPluginTemplatedView( $blogInfo, "addthis", "addthis" );
+
+ }
+
+ function render()
+ {
+ // load some configuration settings
+ $blogSettings = $this->_blogInfo->getSettings();
+ $pluginEnabled = $blogSettings->getValue( "plugin_addthis_enabled" );
+
+ $username = $blogSettings->getValue( "plugin_addthis_username" );
+ // create a view and export the settings to the template
+ $this->setValue( "pluginEnabled", $pluginEnabled );
+ $this->setValue( "username", $username );
+ parent::render();
+ }
+ }
+?>
Added: plugins/branches/lifetype-1.2/addthis/locale/locale_en_UK.php
===================================================================
--- plugins/branches/lifetype-1.2/addthis/locale/locale_en_UK.php (rev 0)
+++ plugins/branches/lifetype-1.2/addthis/locale/locale_en_UK.php 2008-07-12 10:46:31 UTC (rev 6693)
@@ -0,0 +1,17 @@
+<?php
+$messages["manageAppearancePlugins"] = "Appearance Management";
+$messages["addthis"] = "AddThis";
+
+$messages["addthis_plugin_enabled"] = "Enable this plugin";
+$messages["addthis_username"] = "Username for account on AddThis. To obtain account go to <a href=\"http://www.addthis.com/\">http://www.addthis.com/</a>";
+$messages["addthis_plugin"] = "AddThis Plugin";
+$messages["detail"] = "Detail";
+
+$messages["addthis_settings_saved_ok"] = "AddThis settings saved successfully!";
+$messages["addthis_missing_username"] = "AddThis username needs to be specified!";
+
+
+$messages["label_configuration"] = "Configuration";
+$messages["label_addthis_username"] = "AddThis username";
+$messages["label_enable"] = "Enable";
+?>
Added: plugins/branches/lifetype-1.2/addthis/pluginaddthis.class.php
===================================================================
--- plugins/branches/lifetype-1.2/addthis/pluginaddthis.class.php (rev 0)
+++ plugins/branches/lifetype-1.2/addthis/pluginaddthis.class.php 2008-07-12 10:46:31 UTC (rev 6693)
@@ -0,0 +1,107 @@
+<?php
+ /*
+ Copyright 2006, 2008 Paul Westbrook (paul at westbrooks.org)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+
+
+ lt_include( PLOG_CLASS_PATH."class/plugin/pluginbase.class.php" );
+ lt_include( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
+
+
+ class PluginAddThis extends PluginBase
+ {
+ var $pluginEnabled;
+ var $addThisUsername;
+
+ function PluginAddThis( $source = "" )
+ {
+ $this->PluginBase($source);
+
+ $this->id = "addthis";
+ $this->author = "Paul Westbrook";
+ $this->desc = "The AddThis plugin creates an AddThis button for each post. This allows your users to bookmark or share your articles";
+ $this->version = "20080712";
+
+ $this->locales = Array( "en_UK");
+
+ if( $source == "admin" )
+ $this->initAdmin();
+ }
+
+ function initAdmin()
+ {
+ $this->registerAdminAction( "addthisConfig", "PluginAddThisConfigAction" );
+ $this->registerAdminAction( "updateAddThisConfig", "PluginAddThisUpdateConfigAction" );
+
+ $menu =& Menu::getMenu();
+ if( !$menu->entryExists( "/menu/controlCenter/manageAppearancePlugins" ))
+ $this->addMenuEntry( "/menu/controlCenter", "manageAppearancePlugins", "", "", true, false );
+
+ $this->addMenuEntry( "/menu/controlCenter/manageAppearancePlugins", "addthis", "?op=addthisConfig", "" );
+ }
+
+ function register()
+ {
+ $blogSettings = $this->blogInfo->getSettings();
+ $this->pluginEnabled = $blogSettings->getValue( "plugin_addthis_enabled" );
+ $this->addThisUsername = $blogSettings->getValue( "plugin_addthis_username" );
+ }
+
+ function isEnabled()
+ {
+ return $this->pluginEnabled;
+ }
+
+
+ function show($postId)
+ {
+ $str = '';
+
+ if ($this->isEnabled())
+ {
+
+ // articles object
+ $articles = new Articles;
+
+
+ $rg = $this->blogInfo->getBlogRequestGenerator();
+ $rg->setXHTML( false );
+ $post = $articles->getBlogArticle($postId);
+ $blogSettings = $this->blogInfo->getSettings();
+ $locale =& $this->blogInfo->getLocale();
+
+ $blogname = $this->blogInfo->getBlog();
+ $permalink = $rg->postPermalink($post);
+ $title = $post->getTopic();
+
+
+ $str .= '<!-- ADDTHIS BUTTON BEGIN -->';
+ $str .= '<script type="text/javascript">';
+ $str .= 'addthis_pub = "' . $this->addThisUsername . '";';
+ $str .= 'addthis_brand = "' . $blogname . '";';
+ $str .= '</script>';
+ $str .= '<a href="http://www.addthis.com/bookmark.php" onmouseover="return addthis_open(this, \'\', \'' . $permalink . '\', \'' . $title . '\')" onmouseout="addthis_close()" onclick="return addthis_sendto()"><img src="http://s9.addthis.com/button1-share.gif" width="125" height="16" border="0" alt="" /></a>';
+ $str .= '<script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>';
+ $str .= '<!-- ADDTHIS BUTTON END -->';
+
+ }
+ return $str;
+ }
+
+ }
+?>
Added: plugins/branches/lifetype-1.2/addthis/templates/addthis.template
===================================================================
--- plugins/branches/lifetype-1.2/addthis/templates/addthis.template (rev 0)
+++ plugins/branches/lifetype-1.2/addthis/templates/addthis.template 2008-07-12 10:46:31 UTC (rev 6693)
@@ -0,0 +1,32 @@
+{include file="$admintemplatepath/header.template"}
+{include file="$admintemplatepath/navigation.template" showOpt=addthis title=$locale->tr("addthis_plugin")}
+<form name="commentPluginConfig" method="post">
+ <fieldset class="inputField">
+ <legend>{$locale->tr("label_configuration")}</legend>
+ {include file="$admintemplatepath/successmessage.template"}
+ {include file="$admintemplatepath/errormessage.template"}
+ <div class="field">
+ <label for="pluginEnabled">{$locale->tr("label_enable")}</label>
+ <div class="formHelp">
+ <input class="checkbox" type="checkbox" name="pluginEnabled" id="pluginEnabled" {if $pluginEnabled} checked="checked" {/if} value="1" />{$locale->tr("addthis_plugin_enabled")}
+ </div>
+ </div>
+
+ <div class="field">
+ <label for="username">{$locale->tr("label_addthis_username")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("addthis_username")}
+ <input class="text" type="text" name="username" id="username" value="{$username}" width="10" />
+ </div>
+ </div>
+
+ </fieldset>
+
+ <div class="buttons">
+ <input type="hidden" name="op" value="updateAddThisConfig" />
+ <input type="reset" name="{$locale->tr("reset")}" />
+ <input type="submit" name="{$locale->tr("update_settings")}" value="{$locale->tr("update")}" />
+ </div>
+</form>
+{include file="$admintemplatepath/footernavigation.template"}
+{include file="$admintemplatepath/footer.template"}
More information about the pLog-svn
mailing list