Anonymous avatar Anonymous committed 651928e Merge

merge

Comments (0)

Files changed (40)

Binary file removed.

www/system/bin/env.bat

 set PHP_HOME=Z:\usr\local\php5
 set ZF_HOME=./../library
-set ZF_CONFIG_FILE=./../app/config/zf.ini
+set ZF_CONFIG_FILE=./../app/configs/zf.ini
 
 set PATH=%PATH%;%PHP_HOME%

www/system/library/Neno/Service/Doctrine.php

 
         return $model;
     }
+
+    public function save($data, $model = null)
+    {
+        if ($model && $model->exists()) {
+            return $this->update($data, $model);
+        } else {
+            return $this->create($data, $model);
+        }
+    }
 }

www/system/library/ZendY/Form/Doctrine.php

 
     public function create(Doctrine_Record $model = null)
     {
+        if ($model) {
+            $this->setModel($model);
+        }
         return $this->service->create($this->getValues(), $model);
     }
 
-    public function update(Doctrine_Record $model)
+    public function update(Doctrine_Record $model = null)
     {
+        if ($model) {
+            $this->setModel($model);
+        }
         return $this->service->update($this->getValues(), $model);
     }
+
+    public function save($model = null)
+    {
+        if ($model) {
+            $this->setModel($model);
+        }
+
+        if ($this->model->exists()) {
+            return $this->update();
+        } else {
+            return $this->create();
+        }
+    }
 }

www/system/library/ZendY/Tool/Provider/Modules.php

 
 class ZendY_Tool_Provider_Modules extends ZendY_Tool_Provider_AbstractProvider
 {
-    public function publish()
+    public function publish($modules = '')
     {
         self::initialize();
 
-        $modules = Zend_Registry::get('appConfig')->modules;
+        $modules = $this->getModules($modules);
         foreach ($modules as $moduleName) {
-            $webDir = MODULES_DIR . DIRECTORY_SEPARATOR . $moduleName
-                    . DIRECTORY_SEPARATOR . 'web';
+            $webDir = MODULES_DIR . "/{$moduleName}/web";
             if (!file_exists($webDir)) {
                 continue;
             }
                      continue;
                  }
 
-                 $targetDir = WEB_DIR . DIRECTORY_SEPARATOR . $dir->getFilename();
-                 if (!file_exists($targetDir)) {
-                     IO_File::createDir($targetDir);
-                 }
-                 IO_File::copyDir(
-                     $dir->getPathname(),
-                     $targetDir . DIRECTORY_SEPARATOR . $moduleName
-                 );
+                 $targetDir = WEB_DIR . '/' . $dir->getFilename() . '/' . $moduleName;
+                 IO_File::copyDir($dir->getPathname(), $targetDir);
              }
         }
 
     {
         self::initialize();
 
-        $modelDir = IO_File::createDir(CACHE_DIR . '/model');
-        IO_File::emptyDir($modelDir);
+        $modelDir = IO_File::emptyDir(CACHE_DIR . '/model');
+        $configDir = IO_File::emptyDir(CACHE_DIR . '/config');
+        $modules = $this->getModules($modules);
 
-        $yamlDir = IO_File::createDir(CACHE_DIR . '/yaml');
-        IO_File::emptyDir($yamlDir);
-
-        $modules = $this->getModules($modules);
+        // collect all configs in one dir
         foreach ($modules as $moduleName) {
-            $configDir = MODULES_DIR . "/$moduleName/config/doctrine";
-            if (!file_exists($configDir)) {
+            $moduleConfigDir = MODULES_DIR . "/$moduleName/configs/doctrine";
+            if (!file_exists($moduleConfigDir)) {
                 continue;
             }
 
-            $it = new DirectoryIterator($configDir);
+            $it = new DirectoryIterator($moduleConfigDir);
             foreach ($it as $file) {
                 if (!$file->isFile()) {
                     continue;
 
                 IO_File::copy(
                     $file->getPathname(),
-                    $yamlDir . '/' . $moduleName . $file->getFilename()
+                    $configDir . '/' . $moduleName . '_' . $file->getFilename()
                 );
             }
         }
 
-        Doctrine_Core::generateModelsFromYaml($yamlDir, $modelDir, array(
-            //'generateTableClasses' => true,
+        Doctrine_Core::generateModelsFromYaml($configDir, $modelDir, array(
             'pearStyle' => true,
             'classPrefixFiles' => false,
             'baseClassesDirectory' => null,
     {
         self::initialize();
 
-        $modelDir = IO_File::createDir(CACHE_DIR . '/model');
-        IO_File::emptyDir($modelDir);
+        $modelDir = IO_File::emptyDir(CACHE_DIR . '/model');
 
         $modules = $this->getModules($modules);
         foreach ($modules as $moduleName) {
     {
         self::initialize();
 
-        $fixtureDir = IO_File::createDir(CACHE_DIR . '/fixture');
+        $fixtureDir = IO_File::createDir(CACHE_DIR . '/fixtures');
         IO_File::emptyDir($fixtureDir);
 
         $modules = $this->getModules($modules);
         foreach ($modules as $moduleName) {
-            $moduleFixtureDir = MODULES_DIR . "/{$moduleName}/fixture";
+            $moduleFixtureDir = MODULES_DIR . "/{$moduleName}/fixtures";
             if (!file_exists($moduleFixtureDir)) {
                 continue;
             }

www/system/modules/blog/Bootstrap.php

+<?php
+class Blog_Bootstrap extends Zend_Application_Module_Bootstrap
+{
+    // disable ResourceLoader
+    protected $_resourceLoader = false;
+
+    protected function _initCollector()
+    {
+        $baseDir = dirname(__FILE__);
+        Neno_Loader::getInstance()->registerPluginPrefixes(array(
+            'Blog_' => $baseDir . '/library',
+        ));
+
+        Zend_Layout::getMvcInstance()
+                ->setLayoutPath(MODULES_DIR . '/blog/views/scripts');
+    }
+}

www/system/modules/blog/configs/acl.yml

+guest:
+  Blog_Entry:
+    privileges:
+      list: true
+      emptyList: true
+      show: true

www/system/modules/blog/configs/doctrine/schema.yml

+Blog_Tag:
+  actAs:
+    Sluggable: { name: name_slug, fields: [ name ] }
+  columns:
+    name: { type: string(255), notnull: true, unique: true }
+
+Blog_Comment:
+  actAs:
+    NestedSet: { hasManyRoots: true, rootColumnName: entry_id }
+  columns:
+    name: { type: string(255), notnull: true }
+    email: { type: string(255), notnull: true }
+    site: { type: string(255), notnull: true }
+    comment: { type: string, notnull: true }
+    user_id: { type: integer, notnull: true }
+
+Blog_Entry:
+  actAs:
+    Timestampable: ~
+    Sluggable: { name: title_slug, fields: [ title ] }
+  columns:
+    title: { type: string(255), notnull: true, unique: true }
+    text: { type: string, notnull: true }
+    text_html: { type: string, notnull: true }
+    comment_number: { type: integer, notnull: true, default: 0 }
+    is_published: { type: boolean, notnull: true, default: 0 }
+    user_id: { type: integer, notnull: true }
+  relations:
+    EntryTags:
+      class: Blog_EntryTag
+      onDelete: CASCADE
+      local: id
+      foreign: entry_id
+    Tags:
+      class: Blog_Tag
+      local: entry_id
+      foreign: tag_id
+      refClass: Blog_EntryTag
+      foreignAlias: Entries
+    Comments:
+      class: Blog_Comment
+      onDelete: CASCADE
+      local: id
+      foreign: entry_id
+    Aliases:
+      class: Blog_EntryAlias
+      onDelete: CASCADE
+      local: id
+      foreign: entry_id
+    User:
+      class: Identity_User
+      local: user_id
+      foreign: id
+
+Blog_EntryAlias:
+  columns:
+    title_slug: { type: string(255), primary: true }
+    entry_id: { type: integer, notnull: true }
+
+Blog_EntryTag:
+  columns:
+    entry_id: { type: integer, primary: true }
+    tag_id: { type: integer, primary: true }
+  relations:
+    Blog_Entry: { onDelete: CASCADE, local: entry_id, foreign: id }
+    Blog_Tag: { onDelete: CASCADE, local: tag_id, foreign: id }

www/system/modules/blog/configs/routes.yml

+index:
+  route: ''
+  defaults:
+    module: blog
+    controller: entry
+    action: list
+
+blog_entry_list:
+  route: entries
+  defaults:
+    module: blog
+    controller: entry
+    action: list
+
+blog_entry_new:
+  route: entries/new
+  defaults:
+    module: blog
+    controller: entry
+    action: add
+
+blog_entry_edit:
+  route: entries/edit
+  defaults:
+    module: blog
+    controller: entry
+    action: edit
+
+blog_entry_delete:
+  route: entries/delete
+  defaults:
+    module: blog
+    controller: entry
+    action: delete
+
+blog_entry_show:
+  route: entries/([^/]+)
+  defaults:
+    module: blog
+    controller: entry
+    action: show

www/system/modules/blog/configs/view.yml

+default:
+  metas:
+    title: ForestOrange
+    description: ForestOrange
+    keywords: forest, orange

www/system/modules/blog/controllers/EntryController.php

+<?php
+class Blog_EntryController extends ZendY_Controller_Action
+{
+    public function listAction()
+    {
+        $service = new Blog_Service_Entry();
+        $this->view->entries = $entries = $service->getPage($this->_getParam('page'));
+        $this->view->routeName('blog_entry_list');
+
+        if ($this->_helper->isEmpty($entries)) {
+            $this->_forward('empty-list');
+            return;
+        }
+
+        $this->page(__METHOD__);
+    }
+
+    public function showAction()
+    {
+        $service = new Blog_Service_Entry();
+        $this->view->entry = $entry = $service->get($this->_getParam('title_slug'));
+        $this->_helper->isEmpty->notFound($entry);
+
+        $this->page(__METHOD__);
+    }
+
+    public function newAction()
+    {
+        $service = new Blog_Service_Entry();
+        $this->view->form = $form = $service->getForm();
+
+        $this->processForm($form);
+
+        $this->page(__METHOD__);
+    }
+
+    public function editAction()
+    {
+        $entry = $service->get($this->_getParam('title_slug'));
+        $this->_helper->isEmpty->notFound($entry);
+
+        $service = new Blog_Service_Entry();
+        $this->view->form = $form = $service->getForm($entry);
+
+        $this->processForm($form);
+
+        $this->page(__METHOD__);
+    }
+
+    public function deleteAction()
+    {
+        $service = new Blog_Service_Entry();
+        $service->delete($this->_getParam('title_slug'));
+
+        $this->_helper->redirector->gotoRoute(array(), 'blog_entry_list', true);
+    }
+
+    public function emptyListAction()
+    {
+        $this->page(__METHOD__);
+    }
+
+    public function processForm($form)
+    {
+        if ($this->_request->isPost()) {
+            if ($form->isValidAndPopulate($this->_request->getPost())) {
+                $form->save();
+
+                $this->_helper->redirector->gotoRoute(array(), 'blog_entry_list',
+                        true);
+                return;
+            }
+        }
+    }
+}

www/system/modules/blog/fixtures/entry.yml

+Blog_Entry:
+  php_zf:
+    title: PHP and Zend Framework
+    text: This is text.
+    Tags: [php, zf]
+    User: admin

www/system/modules/blog/fixtures/tag.yml

+Blog_Tag:
+  php:
+    name: PHP
+  zf:
+    name: Zend Framework

www/system/modules/blog/fixtures/user.yml

+Identity_User:
+  admin:
+    name: OLOLO

www/system/modules/blog/library/Base/Comment.php

+<?php
+
+
+abstract class Blog_Base_Comment extends DoctrineX_Record
+{
+    public function setTableDefinition()
+    {
+        $this->setTableName('blog__comment');
+        $this->hasColumn('name', 'string', 255, array(
+             'type' => 'string',
+             'notnull' => true,
+             'length' => '255',
+             ));
+        $this->hasColumn('email', 'string', 255, array(
+             'type' => 'string',
+             'notnull' => true,
+             'length' => '255',
+             ));
+        $this->hasColumn('site', 'string', 255, array(
+             'type' => 'string',
+             'notnull' => true,
+             'length' => '255',
+             ));
+        $this->hasColumn('comment', 'string', null, array(
+             'type' => 'string',
+             'notnull' => true,
+             ));
+        $this->hasColumn('user_id', 'integer', null, array(
+             'type' => 'integer',
+             'notnull' => true,
+             ));
+    }
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->hasMany('Blog_Entry', array(
+             'local' => 'entry_id',
+             'foreign' => 'id'));
+
+        $nestedset0 = new Doctrine_Template_NestedSet(array(
+             'hasManyRoots' => true,
+             'rootColumnName' => 'entry_id',
+             ));
+        $this->actAs($nestedset0);
+    }
+}

www/system/modules/blog/library/Base/Entry.php

+<?php
+
+
+abstract class Blog_Base_Entry extends DoctrineX_Record
+{
+    public function setTableDefinition()
+    {
+        $this->setTableName('blog__entry');
+        $this->hasColumn('title', 'string', 255, array(
+             'type' => 'string',
+             'notnull' => true,
+             'unique' => true,
+             'length' => '255',
+             ));
+        $this->hasColumn('text', 'string', null, array(
+             'type' => 'string',
+             'notnull' => true,
+             ));
+        $this->hasColumn('text_html', 'string', null, array(
+             'type' => 'string',
+             'notnull' => true,
+             ));
+        $this->hasColumn('comment_number', 'integer', null, array(
+             'type' => 'integer',
+             'notnull' => true,
+             'default' => 0,
+             ));
+        $this->hasColumn('is_published', 'boolean', null, array(
+             'type' => 'boolean',
+             'notnull' => true,
+             'default' => 0,
+             ));
+        $this->hasColumn('user_id', 'integer', null, array(
+             'type' => 'integer',
+             'notnull' => true,
+             ));
+    }
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->hasOne('Blog_EntryTag as EntryTags', array(
+             'local' => 'id',
+             'foreign' => 'entry_id',
+             'onDelete' => 'CASCADE'));
+
+        $this->hasMany('Blog_Tag as Tags', array(
+             'refClass' => 'Blog_EntryTag',
+             'local' => 'entry_id',
+             'foreign' => 'tag_id'));
+
+        $this->hasOne('Blog_Comment as Comments', array(
+             'local' => 'id',
+             'foreign' => 'entry_id',
+             'onDelete' => 'CASCADE'));
+
+        $this->hasOne('Blog_EntryAlias as Aliases', array(
+             'local' => 'id',
+             'foreign' => 'entry_id',
+             'onDelete' => 'CASCADE'));
+
+        $this->hasOne('Identity_User as User', array(
+             'local' => 'user_id',
+             'foreign' => 'id'));
+
+        $timestampable0 = new Doctrine_Template_Timestampable();
+        $sluggable0 = new Doctrine_Template_Sluggable(array(
+             'name' => 'title_slug',
+             'fields' => 
+             array(
+              0 => 'title',
+             ),
+             ));
+        $this->actAs($timestampable0);
+        $this->actAs($sluggable0);
+    }
+}

www/system/modules/blog/library/Base/EntryAlias.php

+<?php
+
+
+abstract class Blog_Base_EntryAlias extends DoctrineX_Record
+{
+    public function setTableDefinition()
+    {
+        $this->setTableName('blog__entry_alias');
+        $this->hasColumn('title_slug', 'string', 255, array(
+             'type' => 'string',
+             'primary' => true,
+             'length' => '255',
+             ));
+        $this->hasColumn('entry_id', 'integer', null, array(
+             'type' => 'integer',
+             'notnull' => true,
+             ));
+    }
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->hasMany('Blog_Entry', array(
+             'local' => 'entry_id',
+             'foreign' => 'id'));
+    }
+}

www/system/modules/blog/library/Base/EntryTag.php

+<?php
+
+
+abstract class Blog_Base_EntryTag extends DoctrineX_Record
+{
+    public function setTableDefinition()
+    {
+        $this->setTableName('blog__entry_tag');
+        $this->hasColumn('entry_id', 'integer', null, array(
+             'type' => 'integer',
+             'primary' => true,
+             ));
+        $this->hasColumn('tag_id', 'integer', null, array(
+             'type' => 'integer',
+             'primary' => true,
+             ));
+    }
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->hasOne('Blog_Entry', array(
+             'local' => 'entry_id',
+             'foreign' => 'id',
+             'onDelete' => 'CASCADE'));
+
+        $this->hasOne('Blog_Tag', array(
+             'local' => 'tag_id',
+             'foreign' => 'id',
+             'onDelete' => 'CASCADE'));
+    }
+}

www/system/modules/blog/library/Base/Tag.php

+<?php
+
+
+abstract class Blog_Base_Tag extends DoctrineX_Record
+{
+    public function setTableDefinition()
+    {
+        $this->setTableName('blog__tag');
+        $this->hasColumn('name', 'string', 255, array(
+             'type' => 'string',
+             'notnull' => true,
+             'unique' => true,
+             'length' => '255',
+             ));
+    }
+
+    public function setUp()
+    {
+        parent::setUp();
+        $this->hasMany('Blog_Entry as Entries', array(
+             'refClass' => 'Blog_EntryTag',
+             'local' => 'tag_id',
+             'foreign' => 'entry_id'));
+
+        $this->hasMany('Blog_EntryTag', array(
+             'local' => 'id',
+             'foreign' => 'tag_id'));
+
+        $sluggable0 = new Doctrine_Template_Sluggable(array(
+             'name' => 'name_slug',
+             'fields' => 
+             array(
+              0 => 'name',
+             ),
+             ));
+        $this->actAs($sluggable0);
+    }
+}

www/system/modules/blog/library/Comment.php

+<?php
+
+
+class Blog_Comment extends Blog_Base_Comment
+{
+
+}

www/system/modules/blog/library/Entry.php

+<?php
+class Blog_Entry extends Blog_Base_Entry
+{
+    public function preSave($event)
+    {
+        if (in_array('text', $this->_modified)) {
+            $this->text_html = Zend_Filter::filterStatic($this->text, 'markdown');
+        }
+    }
+}

www/system/modules/blog/library/EntryAlias.php

+<?php
+
+
+class Blog_EntryAlias extends Blog_Base_EntryAlias
+{
+
+}

www/system/modules/blog/library/EntryTag.php

+<?php
+
+
+class Blog_EntryTag extends Blog_Base_EntryTag
+{
+
+}

www/system/modules/blog/library/Service/Entry.php

+<?php
+class Blog_Service_Entry extends Neno_Service_Doctrine
+{
+    protected $pageQuery = null;
+
+    public function setPageQuery(Doctrine_Query $query)
+    {
+        $this->pageQuery = $query;
+    }
+
+    public function getPageQuery()
+    {
+        if (null === $this->pageQuery) {
+            $this->pageQuery = $this->createQuery('e');
+        }
+        return $this->pageQuery;
+    }
+
+    public function get($title_slug)
+    {
+        return $this->createQuery('e')
+                ->addWhere('e.title_slug = ?')
+                ->fetchOne();
+    }
+
+    public function getPage($currentPage, $itemsPerPage = 15, $pageRange = 5)
+    {
+        $query = $this->getPageQuery()
+                ->select('e.*, t.*')
+                ->leftJoin('e.Tags as t')
+                ->orderBy('e.created_at DESC');
+        $entries = new Zend_Paginator(new ZendY_Doctrine_Paginator_Adapter($query));
+        $entries
+                ->setItemCountPerPage($itemsPerPage)
+                ->setPageRange($pageRange)
+                ->setCurrentPageNumber($currentPage);
+        return $entries;
+    }
+}

www/system/modules/blog/library/Tag.php

+<?php
+
+
+class Blog_Tag extends Blog_Base_Tag
+{
+
+}

www/system/modules/blog/views/scripts/entry/empty-list.phtml

+<h1><?php echo $this->pageTitle(); ?></h1>

www/system/modules/blog/views/scripts/entry/list.phtml

+<h1><?php echo $this->pageTitle(); ?></h1>
+
+<?php foreach ($this->entries as $entry): ?>
+    <h2>
+        <a
+                href="<?php echo $this->url(array(), 'blog_entry_show', true); ?>"
+                ><?php echo $entry->getTitle(); ?></a>
+    </h2>
+    <?php echo $entry->getTextHtml(); ?>
+<?php endforeach; ?>
Add a comment to this file

www/system/modules/blog/views/scripts/entry/show.phtml

Empty file added.

www/system/modules/blog/views/scripts/layout.phtml

+<?php echo $this->doctype(); ?>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+<head>
+<?php echo
+$this->headMeta()
+        ->appendName('description', $this->metas['description'])
+        ->appendName('keywords', $this->metas['keywords']);
+?>
+<?php echo $this->headTitle()->setSeparator(' <- '); ?>
+<base href="<?php echo $this->serverUrl() . $this->baseUrl(); ?>/" />
+<?php
+$this->headLink()
+        ->prependStylesheet('css/screen.css')
+        ->appendStylesheet('css/print.css', 'print');
+?>
+<?php echo $this->bundleLink($this->headLink()); ?>
+<?php echo $this->headLink(); ?>
+<?php echo $this->headStyle(); ?>
+<?php echo $this->bundleScript($this->jQuery(), $this->headScript()); ?>
+<?php echo $this->jQuery(); ?>
+<?php echo $this->headScript(); ?>
+</head>
+
+<body>
+
+    <div class="b-navigation">
+        <ul>
+            <li><a href="">One</a></li>
+            <li><a href="">Two</a></li>
+            <li><a href="">Three</a></li>
+            <li><a href="">Four</a></li>
+        </ul>
+    </div>
+
+    <div class="b-column l-content b-content">
+        <?php echo $this->layout()->content; ?>
+    </div>
+
+    <div class="b-column l-sidebar">
+        right
+    </div>
+
+    <div class="l-copyright b-copyright">
+        &copy; <?php echo date('Y'); ?> Vladimir Mihailenco
+    </div>
+
+</body>
+
+</html>

www/system/modules/blog/web/css/screen.css

+@IMPORT url('/css/blog/src/reset.css');
+@IMPORT url('/css/blog/src/global.css');
+
+@IMPORT url('/css/blog/src/layouts/l-content.css');
+@IMPORT url('/css/blog/src/layouts/l-footer.css');
+@IMPORT url('/css/blog/src/layouts/l-navigation.css');
+@IMPORT url('/css/blog/src/layouts/l-page.css');
+@IMPORT url('/css/blog/src/layouts/l-sidebar.css');
+
+@IMPORT url('/css/blog/src/blocks/b-breadcrumbs.css');
+@IMPORT url('/css/blog/src/blocks/b-content.css');
+@IMPORT url('/css/blog/src/blocks/b-copyright.css');
+@IMPORT url('/css/blog/src/blocks/b-menu.css');
+@IMPORT url('/css/blog/src/blocks/b-navigation.css');
+@IMPORT url('/css/blog/src/blocks/b-table.css');
+
+@IMPORT url('/css/blog/src/system/b-table.css');
+@IMPORT url('/css/blog/src/system/b-orphus-dialog.css');
+
+@IMPORT url('/css/blog/src/zend/b-flash.css');
+@IMPORT url('/css/blog/src/zend/b-form.css');
+@IMPORT url('/css/blog/src/zend/b-log.css');
+@IMPORT url('/css/blog/src/zend/b-pager.css');
+@IMPORT url('/css/blog/src/zend/b-tagcloud.css');
Add a comment to this file

www/system/modules/blog/web/img/comment.png

Added
New image
Add a comment to this file

www/system/modules/blog/web/img/delete.png

Added
New image
Add a comment to this file

www/system/modules/blog/web/img/feedBig.png

Added
New image
Add a comment to this file

www/system/modules/blog/web/img/feedSmall.png

Added
New image
Add a comment to this file

www/system/modules/blog/web/img/update.png

Added
New image

www/system/modules/collector/web/css/reset.css

+/* http://meyerweb.com/eric/tools/css/reset/ */
+/* v1.0 | 20080212 */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+	margin: 0;
+	padding: 0;
+	border: 0;
+	outline: 0;
+	font-size: 100%;
+	vertical-align: baseline;
+	background: transparent;
+}
+body {
+	line-height: 1;
+}
+ol, ul {
+	list-style: none;
+}
+blockquote, q {
+	quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+	content: '';
+	content: none;
+}
+
+/* remember to define focus styles! */
+:focus {
+	outline: 0;
+}
+
+/* remember to highlight inserts somehow! */
+ins {
+	text-decoration: none;
+}
+del {
+	text-decoration: line-through;
+}
+
+/* tables still need 'cellspacing="0"' in the markup */
+table {
+	border-collapse: collapse;
+	border-spacing: 0;
+}

www/system/modules/collector/web/css/screen.css

-* { margin:0; padding:0; }
-body, div, span, p, a, img, ul, ol, li, table, th, tr, td, form, fieldset, legend, dl, dt, dd, blockquote, applet, object { border:0; }
-ul, ol {list-style-type:none}
-body {background: url('../img/bg-repeat.jpg') repeat-x;padding: 100px 0 0; font: normal 12px Arial,sans-serif; color: #303537;}
-p {line-height: 1.9em;padding: 0 0 25px 0;}
+@IMPORT url('/css/reset.css');
 
-/* LINKS ---------------------------------------------------------------------------------------------------------- */
-a {color: #c41477;text-decoration: underline;}
-a:link {color: #c41477;}
-a:focus {color: #c41477; outline: 0}
-a:visited {color: #c41477}
-a:hover {color: #000;text-decoration: none;}
-a.more {padding-right: 12px; background: url('../img/arrow.gif') no-repeat 100% 55%;}
-a.button, span.zend_form_submit {background: url('../img/button-start.gif') no-repeat;display: inline-block;text-decoration: none;color: #fff;font-weight: bold;}
-a.button span, span.zend_form_submit input {display: inline-block;height: 33px;line-height: 33px;padding: 0 20px;color: #fff;font-weight: bold;background: url('../img/button-end.gif') no-repeat 100% 0;}
-span.zend_form_submit input {border: none;font: normal 12px Arial,sans-serif;margin: 0 !important;}
-
-/* H1 - H5 -------------------------------------------------------------------------------------------------------- */
-h1, h2, h3, h4, h5, h6 { margin:15px 0 15px 0; }
-h1 { font-size: 2.4em;font-weight: normal;margin: 5px 0 10px 0; color: #303537;}
-h2 { font-size: 1.8em; margin: 0 0 20px; color: #303436;font-weight: normal;}
-h3 { font-size:1.2em;text-transform: uppercase;margin: 10px 0 15px;color: #303436;padding: 0 0 5px;}
-h4 { font-size:1.0em; color: #005e7c }
-h5 { font-size:1.0em; }
-
-/* LAYOUT --------------------------------------------------------------------------------------------------------- */
-.wrap {width: 875px;margin: 0 auto;position: relative}
-    /* HEADER ----------------------------------------------------------------------------------------------------- */
-    #header {background: url('../img/bg-header.jpg') no-repeat 0 50%;height: 99px;width: 100%;position: absolute;top: 0;left: 0}
-        /* logo */
-        a#logo {font-size: 2.5em;color: #fff;font-style: italic;padding: 0 10px;position: relative;top: 30px;text-decoration: none}
-
-        /* navigation */
-        ul#nav {position: relative;top: 30px;float: right;}
-            ul#nav li {float:left;}
-                ul#nav li a { padding: 0 15px;height: 32px; line-height: 32px;display: block;text-decoration: none;float: left;font-weight: bold;color: #fff; }
-                ul#nav li:hover {background: url('../img/nav-start.jpg') no-repeat;}
-                ul#nav li.active { color: #fff;background: url('../img/nav-start.jpg') no-repeat}
-                ul#nav li:hover a {background: url('../img/nav-end.jpg') no-repeat 100% 0}
-                ul#nav li.active a {background: url('../img/nav-end.jpg') no-repeat 100% 0}
-
-    #intro {background: url('../img/bg-intro.jpg') repeat-x bottom;padding: 30px 0;width: 100%}
-    #intro .floatRight {width: 545px}
-    #intro .photo {background: url('../img/macbook.jpg') no-repeat;width: 294px;height: 165px;float: left}
-    #intro .photo img {position: absolute;top: 11px;left:46px}
-    #intro p {font-size: 1.2em;padding-bottom: 20px;}
-    
-    /* COLS ----------------------------------------------------------------------------------------------------------- */
-    ul.cols {margin: 25px 0 35px;background: url('../img/cols-bg.gif') repeat-y 50% 0;}
-        ul.cols li {float: left; width: 240px;padding: 5px 0; }
-            ul.cols li.center {margin: 0 70px;text-align: left;}
-                ul.cols li h2 {margin-bottom: 10px;text-transform: uppercase;font-size: 1.2em;font-weight: bold;color: #d11d6d;background: url('../img/arrow-down.gif') no-repeat 0 50%;padding: 0 0 0 25px}
-                ul.cols li p {padding: 0 0 10px 0}
-
-    .title {color: #8c959c; display: block;background: url('../img/dot.gif') repeat-x 0 50%;padding: 0 10px;margin:10px 0 25px}
-    .title span {padding: 0 10px;background: #fff}
-    
-  	/* FOOTER ----------------------------------------------------------------------------------------------------- */
-    .footer {background: #e9e9e9 url('../img/bg-footer.jpg') no-repeat;height: 58px; line-height: 58px;padding: 0 20px;font-size: 0.9em; margin: 0 auto 20px;width: 890px;;clear: both; overflow: hidden;}
-        .footer span {color: #87898a;display: block;}
-        .footer a {color: #87898a;}
-        .footer a.tempixo {display: inline-block;position: relative;width: 110px; height: 28px;line-height: 28px;margin-right: 20px;}
-            .footer a.tempixo span {width: 110px; height: 28px;display: inline-block;cursor: pointer; background: url('../img/tempixo-com.gif') no-repeat;position: absolute; top: 0; left: 0}
-
-
-
-/* OTHER ----------------------------------------------------------------------------------------------------- */
-hr { display:block; height:1px; margin:10px 0; padding:0; border:0 solid #CCC; background:#CCC; color:#CCC;}
-.clear { clear:both; display: block; height:0;line-height:0;font-size:0; width: 100%;}
-.noscreen { display:none; }
-.floatLeft {float: left;}
-.floatRight {float: right;}
-img.floatLeft {margin-right: 20px}
-img.floatRight {margin-left: 20px}
-
-.bold {font-weight: bold;}
-.center {text-align: center;}
-.noborder {border: 0;}
-/* clearfix */
-.clearfix:after {content: ".";display: block;height: 0;clear: both;visibility: hidden}
-.clearfix {display: inline-block;}
-/* hidden for ie mac \*/
-* html .clearfix {height: 1%;}
-.clearfix {display: block;}
-
-
-/***************************/
-.zend_form input, .zend_form select, .zend_form textarea {
-    margin: 4px;
-    padding: 4px;
+body {
+    width: 950px;
+    margin: 40px auto;
 }
-.zend_form fieldset {
-    padding: 10px;
-    border: 1px #3B3F42 solid;
-    background-color: #E9E9E9;
+body, input, textarea, label {
+    font-family: verdana; font-size: 9pt;
+    line-height: 150%;
 }
-.zend_form legend {
-    padding: 6px;
-    color: #fff; font-weight: bold;
-    background-color: #3B3F42;
-}
-.zend_form dt, .zend_form dd {
-    margin: 5px 2px 5px 0;
-}
-.zend_form fieldset {
-    margin-left: -210px;
-}
-.zend_form dt, .zend_form fieldset dt {
-    clear: both;
-    width: 200px;
-    float: left;
-    margin: 5px 5px 5px 0;
-}
-.zend_form dd, .zend_form fieldset dd {
-    margin-left: 200px;
-    float: left;
-    margin: 5px 2px 5px 0;
-}
-#submit-label, #submit-element, #reset-label, #reset-element {
-    float: left;
-    margin: 5px 2px 5px 0;
-}
-.zend_form_checkbox p.description {
-    display: inline;
-}
-.zend_form .required {
-    font-weight: bold;
-}
-.zend_form .errors {
-    color: #f00;
+a {
+    color: #036;
 }
 
-.b-flash {
+.b-navigation {
+    padding: 10px 20px ;
+    background-color: #369;
+}
+.b-navigation, .b-navigation a {
+    color: #fff; font-weight: bold;
+}
+.b-navigation ul li {
+    display: inline;
+    padding-right: 15px;
+}
+
+.b-column {
+    padding: 0 1.5em;
+}
+
+.l-content {
     float: left;
-    width: 76%;
-    padding: 1em;
-    margin-bottom: 1.2em;
+    width: 656px;
+    border: 2px #eee solid;
 }
-#b-flash-message {
-    background: #E9E9E9;
+.b-content h1, .b-content h2, .b-content h3 {
+    margin: 1.5em 0;
 }
-#b-flash-error {
-    background: #f60;
+.b-content h1 {
+    font-size: 12pt;
+}
+.b-content h2 {
+    font-size: 11pt;
+}
+.b-content p {
+    margin: 0.8em 0;
+}
+
+.l-sidebar {
+    float: left;
+    width: 210px;
+}
+.l-copyright {
+    clear: both;
+}
+.b-copyright {
+    padding: 20px 0;
 }

www/system/modules/identity/library/Base/User.php

     public function setUp()
     {
         parent::setUp();
+        $this->hasMany('Blog_Entry', array(
+             'local' => 'id',
+             'foreign' => 'user_id'));
+
         $timestampable0 = new Doctrine_Template_Timestampable();
         $this->actAs($timestampable0);
     }

www/system/modules/system/Bootstrap.php

 
     protected function _initZendY()
     {
+        //
+        Zend_Controller_Action_HelperBroker::addPrefix('ZendY_Controller_Action_Helper_');
+
+        //
         $view = Zend_Registry::get('zendView');
         $view->addHelperPath('ZendY/View/Helper/', 'ZendY_View_Helper_');
 
-        Zend_Controller_Action_HelperBroker::addPrefix('ZendY_Controller_Action_Helper_');
-
         //
         $view->bundleScript()
                 ->setDocumentRoot(WEB_DIR)

www/system/modules/text/Bootstrap.php

         Neno_Loader::getInstance()->registerPluginPrefixes(array(
             'Text_' => $baseDir . '/library',
         ));
+        set_include_path(get_include_path() . PATH_SEPARATOR . $baseDir . '/library');
+
+        Zend_Filter::addDefaultNamespaces('Text_Filter_');
     }
 }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.