Author: Jonathan.Wage
Date: 2010-02-11 17:15:16 +0100 (Thu, 11 Feb 2010)
New Revision: 27901
Added:
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/unpublished_contentSuccess.php
Modified:
plugins/sfSympalPlugin/trunk/config/app.yml
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContent.class.php
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItem.class.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalRenderingPlugin/lib/sfSympalContentActionLoader.class.php
plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
Log:
[1.4][sfSympalPlugin][1.0] Adding more control over what happens when you
access some unpublished content
Modified: plugins/sfSympalPlugin/trunk/config/app.yml
===================================================================
--- plugins/sfSympalPlugin/trunk/config/app.yml 2010-02-11 15:50:53 UTC (rev
27900)
+++ plugins/sfSympalPlugin/trunk/config/app.yml 2010-02-11 16:15:16 UTC (rev
27901)
@@ -5,6 +5,11 @@
all:
sympal_config:
+ # Configure what to do when you access some content that is not published
yet
+ unpublished_content:
+ forward_to: [sympal_default, unpublished_content]
+ forward_404: false
+
# Configure what forms and date fields should be replaced by jQuery rich
date
rich_date_forms:
sfSympalContentForm: [date_published]
Modified:
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContent.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContent.class.php
2010-02-11 15:50:53 UTC (rev 27900)
+++
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContent.class.php
2010-02-11 16:15:16 UTC (rev 27901)
@@ -55,6 +55,11 @@
$this->populateSlotsByName();
}
+ public function isPublished()
+ {
+ return $this->date_published && strtotime($this->date_published) <= time()
? true : false;
+ }
+
public function populateSlotsByName()
{
$this->_slotsByName = array();
Modified:
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
2010-02-11 15:50:53 UTC (rev 27900)
+++
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentTable.class.php
2010-02-11 16:15:16 UTC (rev 27901)
@@ -167,11 +167,6 @@
$user = sfContext::getInstance()->getUser();
- if (!$user->isEditMode())
- {
- $q = $this->addPublishedQuery($alias, $q);
- }
-
if (sfSympalConfig::isI18nEnabled('sfSympalContentSlot'))
{
$q->leftJoin('s.Translation slt');
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItem.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItem.class.php
2010-02-11 15:50:53 UTC (rev 27900)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalMenuPlugin/lib/model/doctrine/PluginsfSympalMenuItem.class.php
2010-02-11 16:15:16 UTC (rev 27901)
@@ -9,6 +9,11 @@
$_label = null,
$_allPermissions;
+ public function isPublished()
+ {
+ return $this->date_published && strtotime($this->date_published) <= time()
? true : false;
+ }
+
public function getAllPermissions()
{
if (!$this->_allPermissions)
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalRenderingPlugin/lib/sfSympalContentActionLoader.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalRenderingPlugin/lib/sfSympalContentActionLoader.class.php
2010-02-11 15:50:53 UTC (rev 27900)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalRenderingPlugin/lib/sfSympalContentActionLoader.class.php
2010-02-11 16:15:16 UTC (rev 27901)
@@ -45,6 +45,7 @@
public function loadContent()
{
$content = $this->getContent();
+ $this->_handleIsPublished($content);
$this->_handleForward404($content);
$this->_user->checkContentSecurity($content);
@@ -172,6 +173,21 @@
$task->run(array($this->_sympalContext->getSiteSlug()),
array('no-confirmation' => true));
}
+ private function _handleIsPublished($record)
+ {
+ if (!$record->isPublished() && !$this->_user->isEditMode())
+ {
+ if (sfSympalConfig::get('unpublished_content', 'forward_404'))
+ {
+ $this->_actions->forward404('Content has not been published yet!');
+ }
+ else if ($forwardTo = sfSympalConfig::get('unpublished_content',
'forward_to'))
+ {
+ $this->_actions->forward($forwardTo[0], $forwardTo[1]);
+ }
+ }
+ }
+
private function _handleForward404($record)
{
if (!$record)
Modified: plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php
2010-02-11 15:50:53 UTC (rev 27900)
+++ plugins/sfSympalPlugin/trunk/lib/sfSympalConfiguration.class.php
2010-02-11 16:15:16 UTC (rev 27901)
@@ -72,7 +72,6 @@
$this->_dispatcher->connect('form.post_configure', array('sfSympalForm',
'listenToFormPostConfigure'));
$this->_dispatcher->connect('form.filter_values', array('sfSympalForm',
'listenToFormFilterValues'));
$this->_dispatcher->connect('task.cache.clear', array($this,
'listenToTaskCacheClear'));
- $this->_dispatcher->connect('sympal.load_content', array($this,
'listenToSympalLoadContent'));
}
/**
@@ -125,17 +124,6 @@
}
/**
- * Listen to sympal.load_content event and force a reload of isEditMode()
- *
- * @param sfEvent $event
- * @return void
- */
- public function listenToSympalLoadContent(sfEvent $event)
- {
- sfContext::getInstance()->getUser()->isEditMode(true);
- }
-
- /**
* Listen to clear cache task event so we can clear the web cache folder
*
* @param sfEvent $event
Modified:
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
2010-02-11 15:50:53 UTC (rev 27900)
+++
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
2010-02-11 16:15:16 UTC (rev 27901)
@@ -2,6 +2,11 @@
class Basesympal_defaultActions extends sfActions
{
+ public function executeUnpublished_content(sfWebRequest $request)
+ {
+
+ }
+
public function executeSitemap(sfWebRequest $request)
{
$this->setLayout(false);
Added:
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/unpublished_contentSuccess.php
===================================================================
---
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/unpublished_contentSuccess.php
(rev 0)
+++
plugins/sfSympalPlugin/trunk/modules/sympal_default/templates/unpublished_contentSuccess.php
2010-02-11 16:15:16 UTC (rev 27901)
@@ -0,0 +1,3 @@
+<h1><?php echo __('Unpublished') ?></h1>
+
+<p><?php echo __('Sorry, you have accessed some content that has not been
published yet!') ?></p>
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.