]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
GNU social plugin (for look/feel), theme, template
authorMatt Lee <mattl@cnuk.org>
Tue, 27 Jul 2010 02:05:33 +0000 (22:05 -0400)
committerMatt Lee <mattl@cnuk.org>
Tue, 27 Jul 2010 02:05:33 +0000 (22:05 -0400)
33 files changed:
plugins/GNUsocialTemplatePlugin.php [new file with mode: 0755]
theme/gnusocial/bg.png [new file with mode: 0644]
theme/gnusocial/combo.css [new file with mode: 0644]
theme/gnusocial/css/display.css [new file with mode: 0644]
theme/gnusocial/debug.css [new file with mode: 0644]
theme/gnusocial/default-avatar-mini.png [new file with mode: 0755]
theme/gnusocial/default-avatar-profile.png [new file with mode: 0755]
theme/gnusocial/default-avatar-stream.png [new file with mode: 0755]
theme/gnusocial/images/icons/icon_atom.png [new file with mode: 0755]
theme/gnusocial/images/icons/icon_disfavourite.gif [new file with mode: 0755]
theme/gnusocial/images/icons/icon_favourite.gif [new file with mode: 0755]
theme/gnusocial/images/icons/icon_foaf.gif [new file with mode: 0755]
theme/gnusocial/images/icons/icon_processing.gif [new file with mode: 0755]
theme/gnusocial/images/icons/icon_reply.gif [new file with mode: 0755]
theme/gnusocial/images/icons/icon_rss.png [new file with mode: 0755]
theme/gnusocial/images/icons/icon_trash.gif [new file with mode: 0755]
theme/gnusocial/images/icons/icon_vcard.gif [new file with mode: 0755]
theme/gnusocial/images/icons/twotone/green/arrow-left.gif [new file with mode: 0755]
theme/gnusocial/images/icons/twotone/green/arrow-right.gif [new file with mode: 0755]
theme/gnusocial/images/icons/twotone/green/edit.gif [new file with mode: 0755]
theme/gnusocial/images/icons/twotone/green/mail.gif [new file with mode: 0755]
theme/gnusocial/images/icons/twotone/green/news.gif [new file with mode: 0755]
theme/gnusocial/images/icons/twotone/green/quote.gif [new file with mode: 0755]
theme/gnusocial/images/icons/twotone/green/shield.gif [new file with mode: 0755]
theme/gnusocial/images/illustrations/illu_arrow-up-01.gif [new file with mode: 0755]
theme/gnusocial/images/illustrations/illu_clouds-01.gif [new file with mode: 0755]
theme/gnusocial/images/illustrations/illu_jcrop.gif [new file with mode: 0755]
theme/gnusocial/images/illustrations/illu_progress_loading-01.gif [new file with mode: 0755]
theme/gnusocial/images/illustrations/illu_unicorn-01.png [new file with mode: 0755]
theme/gnusocial/index.html [new file with mode: 0644]
theme/gnusocial/logo.png [new file with mode: 0755]
theme/gnusocial/social.css [new file with mode: 0755]
tpl/social.php [new file with mode: 0755]

diff --git a/plugins/GNUsocialTemplatePlugin.php b/plugins/GNUsocialTemplatePlugin.php
new file mode 100755 (executable)
index 0000000..6d5c606
--- /dev/null
@@ -0,0 +1,357 @@
+<?php
+/**
+ * Plugin to render old skool templates
+ *
+ * Captures rendered parts from the output buffer, passes them through a template file: tpl/index.html
+ * Adds an API method at index.php/template/update which lets you overwrite the template file
+ * Requires username/password and a single POST parameter called "template"
+ * The method is disabled unless the user is #1, the first user of the system
+ *
+ * @category  Plugin
+ * @package   StatusNet
+ * @author    Brian Hendrickson <brian@megapump.com>
+ * @copyright 2009 Megapump, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://megapump.com/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+define('TEMPLATEPLUGIN_VERSION', '0.1');
+
+class TemplatePlugin extends Plugin {
+
+  var $blocks = array();
+
+  function __construct() {
+    parent::__construct();
+  }
+
+  // capture the RouterInitialized event
+  // and connect a new API method
+  // for updating the template
+  function onRouterInitialized( $m ) {
+    $m->connect( 'template/update', array(
+      'action'      => 'template',
+    ));
+  }
+
+  // <%styles%>
+  // <%scripts%>
+  // <%search%>
+  // <%feeds%>
+  // <%description%>
+  // <%head%>
+  function onStartShowHead( &$act ) {
+    $this->clear_xmlWriter($act);
+    $act->extraHead();
+    $this->blocks['head'] = $act->xw->flush();
+    $act->showStylesheets();
+    $this->blocks['styles'] = $act->xw->flush();
+    $act->showScripts();
+    $this->blocks['scripts'] = $act->xw->flush();
+    $act->showFeeds();
+    $this->blocks['feeds'] = $act->xw->flush();
+    $act->showOpenSearch();
+    $this->blocks['search'] = $act->xw->flush();
+    $act->showDescription();
+    $this->blocks['description'] = $act->xw->flush();
+    return false;
+  }
+
+  // <%bodytext%>
+  function onStartShowContentBlock( &$act ) {
+    $this->clear_xmlWriter($act);
+    return true;
+  }
+  function onEndShowContentBlock( &$act ) {
+    $this->blocks['bodytext'] = $act->xw->flush();
+  }
+
+  // <%localnav%>
+  function onStartShowLocalNavBlock( &$act ) {
+    $this->clear_xmlWriter($act);
+    return true;
+  }
+  function onEndShowLocalNavBlock( &$act ) {
+    $this->blocks['localnav'] = $act->xw->flush();
+  }
+
+  // <%export%>
+  function onStartShowExportData( &$act ) {
+    $this->clear_xmlWriter($act);
+    return true;
+  }
+  function onEndShowExportData( &$act ) {
+    $this->blocks['export'] = $act->xw->flush();
+  }
+
+  // <%subscriptions%>
+  // <%subscribers%>
+  // <%groups%>
+  // <%statistics%>
+  // <%cloud%>
+  // <%groupmembers%>
+  // <%groupstatistics%>
+  // <%groupcloud%>
+  // <%popular%>
+  // <%groupsbyposts%>
+  // <%featuredusers%>
+  // <%groupsbymembers%>
+  function onStartShowSections( &$act ) {
+    global $action;
+    $this->clear_xmlWriter($act);
+    switch ($action) {
+      case "showstream":
+        $act->showSubscriptions();
+        $this->blocks['subscriptions'] = $act->xw->flush();
+        $act->showSubscribers();
+        $this->blocks['subscribers'] = $act->xw->flush();
+        $act->showGroups();
+        $this->blocks['groups'] = $act->xw->flush();
+        $act->showStatistics();
+        $this->blocks['statistics'] = $act->xw->flush();
+        $cloud = new PersonalTagCloudSection($act, $act->user);
+        $cloud->show();
+        $this->blocks['cloud'] = $act->xw->flush();
+        break;
+      case "showgroup":
+        $act->showMembers();
+        $this->blocks['groupmembers'] = $act->xw->flush();
+        $act->showStatistics();
+        $this->blocks['groupstatistics'] = $act->xw->flush();
+        $cloud = new GroupTagCloudSection($act, $act->group);
+        $cloud->show();
+        $this->blocks['groupcloud'] = $act->xw->flush();
+        break;
+      case "public":
+        $pop = new PopularNoticeSection($act);
+        $pop->show();
+        $this->blocks['popular'] = $act->xw->flush();
+        $gbp = new GroupsByPostsSection($act);
+        $gbp->show();
+        $this->blocks['groupsbyposts'] = $act->xw->flush();
+        $feat = new FeaturedUsersSection($act);
+        $feat->show();
+        $this->blocks['featuredusers'] = $act->xw->flush();
+        break;
+      case "groups":
+        $gbp = new GroupsByPostsSection($act);
+        $gbp->show();
+        $this->blocks['groupsbyposts'] = $act->xw->flush();
+        $gbm = new GroupsByMembersSection($act);
+        $gbm->show();
+        $this->blocks['groupsbymembers'] = $act->xw->flush();
+        break;
+    }
+    return false;
+  }
+
+  // <%logo%>
+  // <%nav%>
+  // <%notice%>
+  // <%noticeform%>
+  function onStartShowHeader( &$act ) {
+    $this->clear_xmlWriter($act);
+    $act->showLogo();
+    $this->blocks['logo'] = $act->xw->flush();
+    $act->showPrimaryNav();
+    $this->blocks['nav'] = $act->xw->flush();
+    $act->showSiteNotice();
+    $this->blocks['notice'] = $act->xw->flush();
+    if (common_logged_in()) {
+        $act->showNoticeForm();
+    } else {
+        $act->showAnonymousMessage();
+    }
+    $this->blocks['noticeform'] = $act->xw->flush();
+    return false;
+  }
+
+  // <%secondarynav%>
+  // <%licenses%>
+  function onStartShowFooter( &$act ) {
+    $this->clear_xmlWriter($act);
+    $act->showSecondaryNav();
+    $this->blocks['secondarynav'] = $act->xw->flush();
+    $act->showLicenses();
+    $this->blocks['licenses'] = $act->xw->flush();
+    return false;
+  }
+
+  // capture the EndHTML event
+  // and include the template
+  function onEndEndHTML($act) {
+
+    global $action, $tags;
+
+    // set the action and title values
+    $vars = array(
+      'action'=>$action,
+      'title'=>$act->title(). " - ". common_config('site', 'name')
+    );
+
+    // use the PHP template
+    // unless statusnet config:
+    //   $config['template']['mode'] = 'html';
+    if (!(common_config('template', 'mode') == 'html')) {
+      $tpl_file = $this->templateFolder() . '/social.php';
+      $tags = array_merge($vars,$this->blocks);
+      include $tpl_file;
+      return;
+    }
+
+    $tpl_file = $this->templateFolder() . '/index.html';
+
+    // read the static template
+    $output = file_get_contents( $tpl_file );
+
+    $tags = array();
+
+    // get a list of the <%tags%> in the template
+    $pattern='/<%([a-z]+)%>/';
+
+    if ( 1 <= preg_match_all( $pattern, $output, $found ))
+      $tags[] = $found;
+
+    // for each found tag, set its value from the rendered blocks
+    foreach( $tags[0][1] as $pos=>$tag ) {
+      if (isset($this->blocks[$tag]))
+        $vars[$tag] = $this->blocks[$tag];
+
+      // didn't find a block for the tag
+      elseif (!isset($vars[$tag]))
+        $vars[$tag] = '';
+    }
+
+    // replace the tags in the template
+    foreach( $vars as $key=>$val )
+      $output = str_replace( '<%'.$key.'%>', $val, $output );
+
+    echo $output;
+
+    return true;
+
+  }
+  function templateFolder() {
+    return 'tpl';
+  }
+
+  // catching the StartShowHTML event to halt the rendering
+  function onStartShowHTML( &$act ) {
+    $this->clear_xmlWriter($act);
+    return true;
+  }
+
+  // clear the xmlWriter
+  function clear_xmlWriter( &$act ) {
+    $act->xw->openMemory();
+    $act->xw->setIndent(true);
+  }
+
+}
+
+/**
+ * Action for updating the template remotely
+ *
+ * "template/update" -- a POST method that requires a single
+ * parameter "template", containing the new template code
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Brian Hendrickson <brian@megapump.com>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://megapump.com/
+ *
+ */
+
+class TemplateAction extends Action
+{
+
+  function prepare($args) {
+    parent::prepare($args);
+    return true;
+  }
+
+  function handle($args) {
+
+    parent::handle($args);
+
+    if (!isset($_SERVER['PHP_AUTH_USER'])) {
+
+      // not authenticated, show login form
+      header('WWW-Authenticate: Basic realm="StatusNet API"');
+
+      // cancelled the browser login form
+      $this->clientError(_('Authentication error!'), $code = 401);
+
+    } else {
+
+      $nick = $_SERVER['PHP_AUTH_USER'];
+      $pass = $_SERVER['PHP_AUTH_PW'];
+
+      // check username and password
+      $user = common_check_user($nick,$pass);
+
+      if ($user) {
+
+        // verify that user is admin
+        if (!($user->id == 1))
+          $this->clientError(_('Only User #1 can update the template.'), $code = 401);
+
+        // open the old template
+        $tpl_file = $this->templateFolder() . '/index.html';
+        $fp = fopen( $tpl_file, 'w+' );
+
+        // overwrite with the new template
+        fwrite($fp, $this->arg('template'));
+        fclose($fp);
+
+        header('HTTP/1.1 200 OK');
+        header('Content-type: text/plain');
+        print "Template Updated!";
+
+      } else {
+
+        // bad username and password
+        $this->clientError(_('Authentication error!'), $code = 401);
+
+      }
+
+    }
+  }
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Template',
+                            'version' => TEMPLATEPLUGIN_VERSION,
+                            'author' => 'Brian Hendrickson',
+                            'homepage' => 'http://status.net/wiki/Plugin:Template',
+                            'rawdescription' =>
+                            _m('Use an HTML template for Web output.'));
+        return true;
+    }
+
+}
+
+/**
+ * Function for retrieving a statusnet display section
+ *
+ * requires one parameter, the name of the section
+ * section names are listed in the comments of the TemplatePlugin class
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Brian Hendrickson <brian@megapump.com>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://megapump.com/
+ *
+ */
+
+function section($tagname) {
+  global $tags;
+  if (isset($tags[$tagname]))
+    return $tags[$tagname];
+}
+
diff --git a/theme/gnusocial/bg.png b/theme/gnusocial/bg.png
new file mode 100644 (file)
index 0000000..1b80a19
Binary files /dev/null and b/theme/gnusocial/bg.png differ
diff --git a/theme/gnusocial/combo.css b/theme/gnusocial/combo.css
new file mode 100644 (file)
index 0000000..3f31a52
--- /dev/null
@@ -0,0 +1,13 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.7.0
+*/
+html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.7.0
+*/
+body{margin:10px;}h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong,dt{font-weight:bold;}optgroup{font-weight:normal;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}del{text-decoration:line-through;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;}sup{vertical-align:super;}sub{vertical-align:sub;}p,fieldset,table,pre{margin-bottom:1em;}button,input[type="checkbox"],input[type="radio"],input[type="reset"],input[type="submit"]{padding:1px;}
\ No newline at end of file
diff --git a/theme/gnusocial/css/display.css b/theme/gnusocial/css/display.css
new file mode 100644 (file)
index 0000000..3f31a52
--- /dev/null
@@ -0,0 +1,13 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.7.0
+*/
+html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.7.0
+*/
+body{margin:10px;}h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong,dt{font-weight:bold;}optgroup{font-weight:normal;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}del{text-decoration:line-through;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;}sup{vertical-align:super;}sub{vertical-align:sub;}p,fieldset,table,pre{margin-bottom:1em;}button,input[type="checkbox"],input[type="radio"],input[type="reset"],input[type="submit"]{padding:1px;}
\ No newline at end of file
diff --git a/theme/gnusocial/debug.css b/theme/gnusocial/debug.css
new file mode 100644 (file)
index 0000000..a77e2bc
--- /dev/null
@@ -0,0 +1,7 @@
+#hd { background-color: orange !important; }
+
+#bd { background-color: red !important; }
+
+#ft { background-color: lime !important; }
+
+#yui-main { background-color: yellow !important; }
\ No newline at end of file
diff --git a/theme/gnusocial/default-avatar-mini.png b/theme/gnusocial/default-avatar-mini.png
new file mode 100755 (executable)
index 0000000..4fd8bd9
Binary files /dev/null and b/theme/gnusocial/default-avatar-mini.png differ
diff --git a/theme/gnusocial/default-avatar-profile.png b/theme/gnusocial/default-avatar-profile.png
new file mode 100755 (executable)
index 0000000..eb08571
Binary files /dev/null and b/theme/gnusocial/default-avatar-profile.png differ
diff --git a/theme/gnusocial/default-avatar-stream.png b/theme/gnusocial/default-avatar-stream.png
new file mode 100755 (executable)
index 0000000..926b8a9
Binary files /dev/null and b/theme/gnusocial/default-avatar-stream.png differ
diff --git a/theme/gnusocial/images/icons/icon_atom.png b/theme/gnusocial/images/icons/icon_atom.png
new file mode 100755 (executable)
index 0000000..6a001f1
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_atom.png differ
diff --git a/theme/gnusocial/images/icons/icon_disfavourite.gif b/theme/gnusocial/images/icons/icon_disfavourite.gif
new file mode 100755 (executable)
index 0000000..2b02ac8
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_disfavourite.gif differ
diff --git a/theme/gnusocial/images/icons/icon_favourite.gif b/theme/gnusocial/images/icons/icon_favourite.gif
new file mode 100755 (executable)
index 0000000..716ce35
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_favourite.gif differ
diff --git a/theme/gnusocial/images/icons/icon_foaf.gif b/theme/gnusocial/images/icons/icon_foaf.gif
new file mode 100755 (executable)
index 0000000..f8f7844
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_foaf.gif differ
diff --git a/theme/gnusocial/images/icons/icon_processing.gif b/theme/gnusocial/images/icons/icon_processing.gif
new file mode 100755 (executable)
index 0000000..d0bce15
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_processing.gif differ
diff --git a/theme/gnusocial/images/icons/icon_reply.gif b/theme/gnusocial/images/icons/icon_reply.gif
new file mode 100755 (executable)
index 0000000..a4379a7
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_reply.gif differ
diff --git a/theme/gnusocial/images/icons/icon_rss.png b/theme/gnusocial/images/icons/icon_rss.png
new file mode 100755 (executable)
index 0000000..0ccd1ce
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_rss.png differ
diff --git a/theme/gnusocial/images/icons/icon_trash.gif b/theme/gnusocial/images/icons/icon_trash.gif
new file mode 100755 (executable)
index 0000000..916a332
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_trash.gif differ
diff --git a/theme/gnusocial/images/icons/icon_vcard.gif b/theme/gnusocial/images/icons/icon_vcard.gif
new file mode 100755 (executable)
index 0000000..6d52947
Binary files /dev/null and b/theme/gnusocial/images/icons/icon_vcard.gif differ
diff --git a/theme/gnusocial/images/icons/twotone/green/arrow-left.gif b/theme/gnusocial/images/icons/twotone/green/arrow-left.gif
new file mode 100755 (executable)
index 0000000..afed190
Binary files /dev/null and b/theme/gnusocial/images/icons/twotone/green/arrow-left.gif differ
diff --git a/theme/gnusocial/images/icons/twotone/green/arrow-right.gif b/theme/gnusocial/images/icons/twotone/green/arrow-right.gif
new file mode 100755 (executable)
index 0000000..ee1707e
Binary files /dev/null and b/theme/gnusocial/images/icons/twotone/green/arrow-right.gif differ
diff --git a/theme/gnusocial/images/icons/twotone/green/edit.gif b/theme/gnusocial/images/icons/twotone/green/edit.gif
new file mode 100755 (executable)
index 0000000..c746aca
Binary files /dev/null and b/theme/gnusocial/images/icons/twotone/green/edit.gif differ
diff --git a/theme/gnusocial/images/icons/twotone/green/mail.gif b/theme/gnusocial/images/icons/twotone/green/mail.gif
new file mode 100755 (executable)
index 0000000..1084c86
Binary files /dev/null and b/theme/gnusocial/images/icons/twotone/green/mail.gif differ
diff --git a/theme/gnusocial/images/icons/twotone/green/news.gif b/theme/gnusocial/images/icons/twotone/green/news.gif
new file mode 100755 (executable)
index 0000000..712c685
Binary files /dev/null and b/theme/gnusocial/images/icons/twotone/green/news.gif differ
diff --git a/theme/gnusocial/images/icons/twotone/green/quote.gif b/theme/gnusocial/images/icons/twotone/green/quote.gif
new file mode 100755 (executable)
index 0000000..4ba1f0c
Binary files /dev/null and b/theme/gnusocial/images/icons/twotone/green/quote.gif differ
diff --git a/theme/gnusocial/images/icons/twotone/green/shield.gif b/theme/gnusocial/images/icons/twotone/green/shield.gif
new file mode 100755 (executable)
index 0000000..419d5ee
Binary files /dev/null and b/theme/gnusocial/images/icons/twotone/green/shield.gif differ
diff --git a/theme/gnusocial/images/illustrations/illu_arrow-up-01.gif b/theme/gnusocial/images/illustrations/illu_arrow-up-01.gif
new file mode 100755 (executable)
index 0000000..577be18
Binary files /dev/null and b/theme/gnusocial/images/illustrations/illu_arrow-up-01.gif differ
diff --git a/theme/gnusocial/images/illustrations/illu_clouds-01.gif b/theme/gnusocial/images/illustrations/illu_clouds-01.gif
new file mode 100755 (executable)
index 0000000..41cd622
Binary files /dev/null and b/theme/gnusocial/images/illustrations/illu_clouds-01.gif differ
diff --git a/theme/gnusocial/images/illustrations/illu_jcrop.gif b/theme/gnusocial/images/illustrations/illu_jcrop.gif
new file mode 100755 (executable)
index 0000000..72ea7cc
Binary files /dev/null and b/theme/gnusocial/images/illustrations/illu_jcrop.gif differ
diff --git a/theme/gnusocial/images/illustrations/illu_progress_loading-01.gif b/theme/gnusocial/images/illustrations/illu_progress_loading-01.gif
new file mode 100755 (executable)
index 0000000..82290f4
Binary files /dev/null and b/theme/gnusocial/images/illustrations/illu_progress_loading-01.gif differ
diff --git a/theme/gnusocial/images/illustrations/illu_unicorn-01.png b/theme/gnusocial/images/illustrations/illu_unicorn-01.png
new file mode 100755 (executable)
index 0000000..6cb51b2
Binary files /dev/null and b/theme/gnusocial/images/illustrations/illu_unicorn-01.png differ
diff --git a/theme/gnusocial/index.html b/theme/gnusocial/index.html
new file mode 100644 (file)
index 0000000..c1a3b7a
--- /dev/null
@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+       <head>
+               <title>Public timeline - Lorraine Lee &mdash; GNU social</title>
+
+
+   <link rel="stylesheet" href="/theme/gnusocial/combo.css" type="text/css">
+   <style type="text/css">
+   #custom-doc { width:76.23em;*width:74.39em;min-width:991px; margin:auto; text-align:left; }
+  
+   html, body{padding: 0; margin: 0;}
+
+   body {background-image: url(/theme/gnusocial/bg.png); background-repeat: repeat-x;}
+
+   #hd h1 {margin: 0; line-height: 48px; font-size: 30px; font-weight: bold;}
+
+   #hd h1 a{color: #111; text-decoration: none;}
+
+   #hd dt {display: none;}
+
+   #hd ul {padding: 0; margin: 0; line-height: 48px; position: absolute; top: 0; right: 10px; }
+
+   #hd li {display: inline; list-style: none; margin-left: 12px;}
+
+   #hd {height: 48px; position: relative;}
+
+   #bd {margin-top: 12px;}
+
+   #ft {font-size: 10px; text-align: right; margin-top: 12px}
+
+   form {margin: 0 auto; width: 70%;}
+
+   table {width: 100%;}
+
+   tr, td{border: 0;}
+
+   .update-text{ font-size: 12px; font-weight: bold;}
+
+   .update-icon{ text-align: center;}
+
+    #stream li{list-style: none; position: relative; margin-top: 12px; }
+
+    #stream dl {position: absolute; top: 0; left: 50px;}
+
+    #stream dd {color: #333; font-size: 80%; padding: 0; margin: 0; margin-top: 6px;}
+
+
+    #social {border-left: 1px solid #999; border-right: 1px solid #999; padding-left: 10px;}
+
+    #sidebar ul{margin: 0; padding: 0;}
+
+    #sidebar li {list-style: none;}
+
+    #sidebar li a{display: block; width: 180px; padding: 4px;}
+
+    #sidebar li a:hover {background-color: #ececec;}
+
+    .selected {background-color: cyan; width: 180px;}
+
+    #right-nav {background-color: #ececec;}
+
+    #right-nav div {padding: 10px;}
+
+   </style>
+
+
+                                                                                               </head>
+       <body id="public">
+<div id="custom-doc" class="yui-t2">
+   <div id="hd">
+   <h1>GNU social</h1>                 
+
+                               <dl id="site_nav_global_primary">
+ <dt>Primary site navigation</dt>
+ <dd>
+  <ul class="nav">
+   <li id="nav_login">
+    <a href="http://lorrainelee.co.uk/main/login" title="Login to the site">Login</a>
+</li>
+   <li id="nav_help">
+    <a href="http://lorrainelee.co.uk/doc/help" title="Help me!">Help</a>
+</li>
+   <li id="nav_search">
+    <a href="http://lorrainelee.co.uk/search/people" title="Search for people or text">Search</a>
+</li>
+</ul>
+</dd>
+</dl>
+                       </div>
+                       <div id="bd">
+
+                       <div id="yui-main">
+
+                       <div class="yui-b">
+
+                       <div class="yui-gc">
+
+                       <div class="yui-u first">
+
+                               <dl id="site_notice" class="system_notice">
+ <dt>Site notice</dt>
+ <dd>Powered by <a href="http://www.gnu.org/software/social/">GNU social</a></dd>
+</dl>
+                               <div id="anon_notice"><p>This is Lorraine Lee, a <a href="http://en.wikipedia.org/wiki/Micro-blogging">micro-blogging</a> service based on the Free Software <a href="http://status.net/">StatusNet</a> tool.</p>
+</div>
+                               <div id="content">
+ <h1>Public timeline</h1>
+ <div id="content_inner">
+  <div id="notices_primary">
+   <h2>Notices</h2>
+   <ol class="notices xoxo">
+    <li class="hentry notice" id="notice-5">
+     <div class="entry-title">
+      <span class="vcard author">
+       <a href="http://lorrainelee.co.uk/lorraine" class="url" title="Lorraine Lee (lorraine)">
+        <img src="http://lorrainelee.co.uk/avatar/3-48-20100722212232.jpeg" class="avatar photo" width="48" height="48" alt="Lorraine Lee"/>
+ <span class="nickname fn">lorraine</span></a>
+</span>
+      <p class="entry-content">im going to brush my teeth</p>
+</div>
+     <div class="entry-content">
+      <a rel="bookmark" class="timestamp" href="http://lorrainelee.co.uk/notice/5">
+       <abbr class="published" title="2010-07-22T21:41:40+00:00">about 5 hours ago</abbr>
+</a>
+       <span class="source">from        <span class="device">web</span>
+</span>
+       <span class="location">at <a href="http://www.geonames.org/2651292" rel="external"><abbr class="geo" title="50.7500000;-3.7500000">County of Devon, England, United Kingdom of Great Britain and Northern Ireland</abbr></a></span>
+</div>
+</li>
+    <li class="hentry notice" id="notice-2">
+     <div class="entry-title">
+      <span class="vcard author">
+       <a href="http://lorrainelee.co.uk/lorraine" class="url" title="Lorraine Lee (lorraine)">
+        <img src="http://lorrainelee.co.uk/avatar/3-48-20100722212232.jpeg" class="avatar photo" width="48" height="48" alt="Lorraine Lee"/>
+ <span class="nickname fn">lorraine</span></a>
+</span>
+      <p class="entry-content">nothing  im fine thank you</p>
+</div>
+     <div class="entry-content">
+      <a rel="bookmark" class="timestamp" href="http://lorrainelee.co.uk/notice/2">
+       <abbr class="published" title="2010-07-22T21:38:18+00:00">about 5 hours ago</abbr>
+</a>
+       <span class="source">from        <span class="device">web</span>
+</span>
+       <span class="location">at <a href="http://www.geonames.org/2651292" rel="external"><abbr class="geo" title="50.7500000;-3.7500000">County of Devon, England, United Kingdom of Great Britain and Northern Ireland</abbr></a></span>
+       <a href="http://lorrainelee.co.uk/conversation/2#notice-2" class="response">in context</a>
+</div>
+</li>
+</ol>
+</div>
+</div>
+</div>
+
+                               </div>
+
+
+    <div class="yui-u" id="right-nav">
+
+
+
+
+
+                               <div id="aside_primary" class="aside">
+                                       <div id="featured_users" class="section">
+ <h2>Featured users</h2>
+</div>
+                                       </div>
+
+
+ </div>
+</div>
+ </div>
+</div>
+
+       <div class="yui-b" id="sidebar">
+                               <dl id="site_nav_local_views">
+ <dt>Local views</dt>
+ <dd>
+  <ul class="nav">
+   <li class="current" id="nav_timeline_public">
+    <a href="http://lorrainelee.co.uk/" title="Public timeline">Public</a>
+</li>
+   <li id="nav_groups">
+    <a href="http://lorrainelee.co.uk/group" title="User groups">Groups</a>
+</li>
+   <li id="nav_recent-tags">
+    <a href="http://lorrainelee.co.uk/tags" title="Recent tags">Recent tags</a>
+</li>
+   <li id="nav_timeline_favorited">
+    <a href="http://lorrainelee.co.uk/favorited" title="Popular notices">Popular</a>
+</li>
+</ul>
+</dd>
+</dl>
+       </div>
+
+                               </div>
+                       <div id="ft">
+
+                               <dl id="licenses">
+ <dt id="site_statusnet_license">StatusNet software licence</dt>
+ <dd><p><strong>Lorraine Lee</strong> is a microblogging service brought to you by <a href="http://www.gnu.org/s/social/">GNU social</a>. It runs the <a href="http://status.net/">StatusNet</a> microblogging software, version 0.9.3, available under the <a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html">GNU Affero General Public Licence</a>.</p>
+</dd>
+ <dt id="site_content_license">Site content license</dt>
+ <dd id="site_content_license_cc">
+  <p>
+   <img id="license_cc" src="http://i.creativecommons.org/l/by/3.0/80x15.png" alt="Creative Commons Attribution 3.0" width="80" height="15"/>
+ All Lorraine Lee content and data are available under the <a class="license" rel="external license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> licence.</p>
+</dd>
+</dl>
+                       </div>
+                       </div>
+               </body>
+       </html>
diff --git a/theme/gnusocial/logo.png b/theme/gnusocial/logo.png
new file mode 100755 (executable)
index 0000000..cf18391
Binary files /dev/null and b/theme/gnusocial/logo.png differ
diff --git a/theme/gnusocial/social.css b/theme/gnusocial/social.css
new file mode 100755 (executable)
index 0000000..a4d8d82
--- /dev/null
@@ -0,0 +1,273 @@
+@imp2ort url('./debug.css');
+
+/* stuff we want to hide..... */
+
+legend,.entry-content .source, .entry-content .location, .entry-content .response, #anon_notice, #notices_primary h2, #site_nav_local_views dt, #ft dt{ display: none !important; }
+
+dl, dd { margin: 0 !important; padding: 0 !important;}
+
+#yui-main { margin-bottom: 0 !important; padding-bottom: 0 !important;}
+
+.notices { margin: 0; padding: 0; }
+.notices li { list-style: none; }
+
+#ft { padding-top: 12px;}
+
+#custom-doc {  width:76.23em;*width:74.39em;min-width:991px; margin:auto; text-align:left; }
+
+#yui-main { background-color: white; position: relative; }
+
+#sidebar *, #right-nav * { background: none !important; border: none !important; }
+  
+   html, body{padding: 0; margin: 0;}
+
+   body {background-image: url(/theme/gnusocial/bg.png) !important; background-repeat: repeat-x !important; background-color: white;}
+
+   #hd h1 {margin: 0; line-height: 40px; font-size: 24px; font-weight: bold;}
+
+   #hd h1 a{color: #111; text-decoration: none;}
+
+   #hd dt {display: none;}
+
+   #hd ul {padding: 0; margin: 0; line-height: 48px; position: absolute; top: 0; right: 10px; }
+
+   #hd li {display: inline; list-style: none; margin-left: 12px;}
+
+   #hd {height: 40px; position: relative;}
+
+
+   form {margin: 0 auto; width: 70%;}
+
+   table {width: 100%;}
+
+   tr, td{border: 0;}
+
+   .update-text{ font-size: 12px; font-weight: bold;}
+
+   .update-icon{ text-align: center;}
+
+    #stream li{list-style: none; position: relative; margin-top: 12px; }
+
+    #stream dl {position: absolute; top: 0; left: 50px;}
+
+    #stream dd {color: #333; font-size: 80%; padding: 0; margin: 0; margin-top: 6px;}
+
+
+    #social {border-left: 1px solid #999; border-right: 1px solid #999; padding-left: 10px;}
+
+    #sidebar ul{margin: 0; padding: 0;}
+
+    #sidebar li {list-style: none;}
+
+    #sidebar li a{display: block; width: 180px; padding: 4px;}
+
+    #sidebar li a:hover {background-color: #ececec;}
+
+    .selected {background-color: cyan; width: 180px;}
+
+    #right-nav {background-color: #ececec;}
+
+    #right-nav div {padding: 10px;}
+
+    .form_notice { position: relative; top: 0; left: 0; }
+
+
+
+form label.submit {
+display:none;
+}
+
+.form_settings {
+clear:both;
+}
+
+.form_settings fieldset {
+margin-bottom:29px;
+}
+.form_settings input.remove {
+margin-left:11px;
+}
+.form_settings .form_data li {
+width:100%;
+float:left;
+}
+.form_settings .form_data label {
+float:left;
+}
+.form_settings .form_data textarea,
+.form_settings .form_data select,
+.form_settings .form_data input {
+margin-left:11px;
+float:left;
+}
+.form_settings .form_data textarea {
+width:325px;
+}
+
+.form_settings .form_data input.submit {
+margin-left:0;
+}
+
+.form_settings label {
+margin-top:2px;
+width:143px;
+}
+
+.form_actions label {
+display:none;
+}
+.form_guide {
+font-style:italic;
+}
+
+.form_settings #settings_autosubscribe label {
+display:inline;
+font-weight:bold;
+}
+
+#form_settings_profile legend,
+#form_login legend,
+#form_register legend,
+#form_password legend,
+#form_settings_avatar legend,
+#newgroup legend,
+#editgroup legend,
+#form_tag_user legend,
+#form_remote_subscribe legend,
+#form_openid_login legend,
+#form_search legend,
+#form_invite legend,
+#form_notice_delete legend,
+#form_password_recover legend,
+#form_password_change legend {
+display:none;
+}
+
+.form_settings .form_data p.form_guide {
+clear:both;
+margin-left:155px;
+margin-bottom:0;
+}
+
+.form_settings p {
+margin-bottom:11px;
+}
+
+.form_settings input.checkbox {
+margin-top:0;
+margin-left:0;
+}
+.form_settings label.checkbox {
+font-weight:normal;
+margin-top:0;
+margin-right:0;
+margin-left:11px;
+float:left;
+width:90%;
+}
+
+
+#form_login p.form_guide,
+#form_register #settings_rememberme p.form_guide,
+#form_openid_login #settings_rememberme p.form_guide,
+#settings_twitter_remove p.form_guide,
+#form_search ul.form_data #q {
+margin-left:0;
+}
+
+.form_settings .form_note {
+border-radius:4px;
+-moz-border-radius:4px;
+-webkit-border-radius:4px;
+padding:0 7px;
+}
+
+
+.form_settings input.form_action-primary {
+padding:0;
+}
+.form_settings input.form_action-secondary {
+margin-left:29px;
+}
+
+#form_search .submit {
+margin-left:11px;
+}
+caption {
+font-weight:bold;
+}
+legend {
+font-weight:bold;
+font-size:1.3em;
+}
+input, textarea, select, option {
+padding:4px;
+font-family:sans-serif;
+font-size:1em;
+}
+input, textarea, select {
+border-width:2px;
+border-style: solid;
+border-radius:4px;
+-moz-border-radius:4px;
+-webkit-border-radius:4px;
+}
+
+input.submit {
+font-weight:bold;
+cursor:pointer;
+}
+textarea {
+overflow:auto;
+}
+option {
+padding-bottom:0;
+}
+fieldset {
+padding:0;
+border:0;
+}
+form ul li {
+list-style-type:none;
+margin:0 0 18px 0;
+}
+form label {
+font-weight:bold;
+}
+input.checkbox {
+position:relative;
+top:2px;
+left:0;
+border:0;
+}
+
+.error,
+.success {
+padding:4px 7px;
+border-radius:4px;
+-moz-border-radius:4px;
+-webkit-border-radius:4px;
+margin-bottom:18px;
+}
+
+#all .notice, #public .notice { padding-bottom: 12px;}
+
+#all .notice .entry-title, #public .notice .entry-title { position: relative;}
+
+#all .notice .entry-title .entry-content, #public .notice .entry-title .entry-content { position: absolute; top: 25px; left: 55px; }
+
+#all .notice .entry-content .timestamp, #public .notice .entry-content .timestamp { color: #666; margin-left: 55px; font-size: 80%; text-decoration: none !important; }
+
+abbr { border: 0px !important;  }
+
+#all .entry-title .author .nickname, #public .entry-title .author .nickname { position: absolute; top: 0; left: 55px; font-weight: bold;  }
+
+#showstream #i { position: absolute; top: 0; left: 0; background-color: white; z-index: 100; width: 185px; }
+
+
+.notice-options, .form_favor .submit, .form_repeat .submit { background-color: white; border: 0; display: none !important; }
+
+#form_notice { margin-top: 10px;}
+
+
+label { display: none !important; }
\ No newline at end of file
diff --git a/tpl/social.php b/tpl/social.php
new file mode 100755 (executable)
index 0000000..30466e4
--- /dev/null
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+       <head>
+               <title><?php echo section('title'); ?> &mdash; GNU social</title>
+
+
+   <link rel="stylesheet" href="/theme/gnusocial/combo.css" type="text/css">
+   <link rel="stylesheet" href="/theme/gnusocial/social.css" type="text/css">
+
+
+
+
+               <?php echo section('scripts'); ?>
+               <?php echo section('search'); ?>
+               <?php echo section('feeds'); ?>
+               <?php echo section('description'); ?>
+               <?php echo section('head'); ?>
+               </head>
+       <body id="<?php echo section('action'); ?>">
+<div id="custom-doc" class="yui-t2">
+   <div id="hd">
+   <h1><a href="/">GNU social</a></h1>                 
+
+                               <?php echo section('nav'); ?>
+                       </div>
+                       <div id="bd">
+
+                       <div id="yui-main">
+
+                       <div class="yui-b" id="social">
+
+                       <div class="yui-gc">
+
+                       <div class="yui-u first">
+
+                               <?php echo section('noticeform'); ?>
+                               <?php echo section('bodytext'); ?>
+
+                               </div>
+
+
+    <div class="yui-u" id="right-nav">
+
+
+
+
+
+                               <div id="aside_primary" class="aside">
+                                       <?php echo section('subscriptions'); ?>
+                                       <?php echo section('subscribers'); ?>
+                                       <?php echo section('groups'); ?>
+                                       <?php echo section('cloud'); ?>
+                                       <?php echo section('popular'); ?>
+
+
+
+
+                                       </div>
+
+
+ </div>
+</div>
+ </div>
+</div>
+
+       <div class="yui-b" id="sidebar">
+                               <?php echo section('localnav'); ?>
+       </div>
+
+                               </div>
+                       <div id="ft">
+
+                       <p>This is GNU social.</p>
+                       </div>
+                       </div>
+               </body>
+       </html>