summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Palmer <nick@sluggardy.net>2008-10-18 23:11:07 +0000
committerNick Palmer <nick@sluggardy.net>2008-10-18 23:11:07 +0000
commit6b3126d694a6207a6e1dd8e489fef09556bc2256 (patch)
tree5b732d15d2a5034e95ae5dd4a9702f017b946c6f
parent2427dd9a85f93b83fc66f12b8c53681275800ac9 (diff)
downloadpigeonholes-6b3126d694a6207a6e1dd8e489fef09556bc2256.tar.gz
pigeonholes-6b3126d694a6207a6e1dd8e489fef09556bc2256.tar.bz2
pigeonholes-6b3126d694a6207a6e1dd8e489fef09556bc2256.zip
Allow admins to set which content they want to be pigeonholeable.pre_update_permission
-rw-r--r--Pigeonholes.php26
-rw-r--r--admin/admin_pigeonholes_inc.php25
-rw-r--r--templates/admin_pigeonholes.tpl13
-rw-r--r--templates/service_edit_mini_inc.tpl2
-rw-r--r--templates/service_edit_tab_inc.tpl2
5 files changed, 56 insertions, 12 deletions
diff --git a/Pigeonholes.php b/Pigeonholes.php
index 1dd1f0f..561df9a 100644
--- a/Pigeonholes.php
+++ b/Pigeonholes.php
@@ -1,6 +1,6 @@
<?php
/**
- * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.127 2008/06/25 22:21:16 spiderr Exp $
+ * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.128 2008/10/18 23:11:07 nickpalmer Exp $
*
* +----------------------------------------------------------------------+
* | Copyright ( c ) 2004, bitweaver.org
@@ -17,7 +17,7 @@
* Pigeonholes class
*
* @author xing <xing@synapse.plus.com>
- * @version $Revision: 1.127 $
+ * @version $Revision: 1.128 $
* @package pigeonholes
*/
@@ -1094,13 +1094,19 @@ function pigeonholes_content_edit( $pObject=NULL ) {
global $gBitSmarty, $gBitUser, $gBitSystem;
$pigeonPathList = array();
- if( $gBitUser->hasPermission( 'p_pigeonholes_insert_member' ) ) {
+ if( is_object($pObject) && isset($pObject->mContentTypeGuid) &&
+ !$gBitSystem->isFeatureActive('pigeonhole_no_'.$pObject->mContentTypeGuid) &&
+ $gBitUser->hasPermission( 'p_pigeonholes_insert_member' ) ) {
$pigeonholes = new Pigeonholes();
+ $gBitSmarty->assign('editPigeonholesEnabled', TRUE);
+
// get pigeonholes path list
if( $pigeonPathList = $pigeonholes->getPigeonholesPathList(( !empty( $pObject->mContentId ) ? $pObject->mContentId : NULL ), ( $gBitSystem->isFeatureActive( 'pigeonholes_use_jstab' ) ? FALSE : 100 ))) {
$gBitSmarty->assign( 'pigeonPathList', $pigeonPathList );
}
+ } else {
+ $gBitSmarty->assign('editPigeonholesEnabled', FALSE);
}
}
@@ -1122,11 +1128,13 @@ function pigeonholes_content_expunge( $pObject=NULL ) {
* @access public
* @return TRUE on success, FALSE on failure - mErrors will contain reason for failure
*/
-function pigeonholes_content_preview() {
- global $gBitSmarty, $gBitUser;
+function pigeonholes_content_preview( $pObject=NULL ) {
+ global $gBitSmarty, $gBitUser, $gBitSystem;
$pigeonPathList = array();
- if( $gBitUser->hasPermission( 'p_pigeonholes_insert_member' ) ) {
+ if( is_object($pObject) && isset($pObject->mContentTypeGuid) &&
+ !$gBitSystem->isFeatureActive('pigeonhole_no_'.$pObject->mContentTypeGuid) &&
+ $gBitUser->hasPermission( 'p_pigeonholes_insert_member' ) ) {
$pigeonholes = new Pigeonholes();
// get pigeonholes path list
@@ -1152,8 +1160,10 @@ function pigeonholes_content_preview() {
* @return TRUE on success, FALSE on failure - mErrors will contain reason for failure
*/
function pigeonholes_content_store( $pObject, $pParamHash ) {
- global $gBitSmarty, $gBitUser;
- if( $gBitUser->hasPermission( 'p_pigeonholes_insert_member' ) ) {
+ global $gBitSmarty, $gBitUser, $gBitSystem;
+ if( is_object($pObject) && isset($pObject->mContentTypeGuid) &&
+ !$gBitSystem->isFeatureActive('pigeonhole_no_'.$pObject->mContentTypeGuid) &&
+ $gBitUser->hasPermission( 'p_pigeonholes_insert_member' ) ) {
if( !empty( $pParamHash['content_id'] ) ) {
if( is_object( $pObject ) && empty( $pParamHash['content_id'] ) ) {
$pParamHash['content_id'] = $pObject->mContentId;
diff --git a/admin/admin_pigeonholes_inc.php b/admin/admin_pigeonholes_inc.php
index aa169f3..ac0c9b5 100644
--- a/admin/admin_pigeonholes_inc.php
+++ b/admin/admin_pigeonholes_inc.php
@@ -1,5 +1,5 @@
<?php
-// $Header: /cvsroot/bitweaver/_bit_pigeonholes/admin/admin_pigeonholes_inc.php,v 1.21 2007/11/01 23:30:53 squareing Exp $
+// $Header: /cvsroot/bitweaver/_bit_pigeonholes/admin/admin_pigeonholes_inc.php,v 1.22 2008/10/18 23:11:07 nickpalmer Exp $
$pigeonholeDisplaySettings = array(
'pigeonholes_display_path' => array(
@@ -90,6 +90,14 @@ $gBitSmarty->assign( 'memberLimit', $memberLimit );
// various image sizes
$gBitSmarty->assign( 'imageSizes', get_image_size_options() );
+// Which kinds of content?
+$exclude = array( 'tikisticky', 'pigeonholes' );
+foreach( $gLibertySystem->mContentTypes as $cType ) {
+ if( !in_array( $cType['content_type_guid'], $exclude ) ) {
+ $formPigeonholeable['guids']['pigeonhole_no_'.$cType['content_type_guid']] = $cType['content_description'];
+ }
+}
+
if( !empty( $_REQUEST['pigeonhole_settings'] ) ) {
$pigeonholeSettings = array_merge( $pigeonholeDisplaySettings, $pigeonholeListSettings, $pigeonholeEditSettings, $pigeonholeContentEditSettings );
foreach( array_keys( $pigeonholeSettings ) as $item ) {
@@ -101,5 +109,20 @@ if( !empty( $_REQUEST['pigeonhole_settings'] ) ) {
simple_set_int( 'pigeonholes_scrolling_list_number', PIGEONHOLES_PKG_NAME );
simple_set_value( 'pigeonholes_member_thumb', PIGEONHOLES_PKG_NAME );
simple_set_value( 'pigeonholes_list_style', PIGEONHOLES_PKG_NAME );
+
+ foreach( array_keys( $formPigeonholeable['guids'] ) as $holeable ) {
+ $gBitSystem->storeConfig( $holeable, ( ( !empty( $_REQUEST['pigeonholeable_content'] ) && in_array( $holeable, $_REQUEST['pigeonholeable_content'] ) ) ? NULL : 'y' ), PIGEONHOLES_PKG_NAME );
+ }
+
}
+
+// check the correct packages in the package selection
+foreach( $gLibertySystem->mContentTypes as $cType ) {
+ if( !$gBitSystem->isFeatureActive( 'pigeonhole_no_'.$cType['content_type_guid'] ) ) {
+ $formPigeonholeable['checked'][] = 'pigeonhole_no_'.$cType['content_type_guid'];
+ }
+}
+$gBitSmarty->assign( 'formPigeonholeable', $formPigeonholeable );
+
+
?>
diff --git a/templates/admin_pigeonholes.tpl b/templates/admin_pigeonholes.tpl
index 21400bd..01edf95 100644
--- a/templates/admin_pigeonholes.tpl
+++ b/templates/admin_pigeonholes.tpl
@@ -1,4 +1,4 @@
-{* $Header: /cvsroot/bitweaver/_bit_pigeonholes/templates/admin_pigeonholes.tpl,v 1.9 2007/10/21 08:34:36 squareing Exp $ *}
+{* $Header: /cvsroot/bitweaver/_bit_pigeonholes/templates/admin_pigeonholes.tpl,v 1.10 2008/10/18 23:11:07 nickpalmer Exp $ *}
{strip}
{form}
<input type="hidden" name="page" value="{$page}" />
@@ -91,6 +91,17 @@
</div>
{/legend}
+ {legend legend="Pigeonholeable Content"}
+ <input type="hidden" name="page" value="{$page}" />
+ <div class="row">
+ {formlabel label="Pigeonholeable Content"}
+ {forminput}
+ {html_checkboxes options=$formPigeonholeable.guids value=y name=pigeonholeable_content separator="<br />" checked=$formPigeonholeable.checked}
+ {formhelp note="Here you can select what content can be pigeonholed."}
+ {/forminput}
+ </div>
+ {/legend}
+
<div class="row submit">
<input type="submit" name="pigeonhole_settings" value="{tr}Change preferences{/tr}" />
</div>
diff --git a/templates/service_edit_mini_inc.tpl b/templates/service_edit_mini_inc.tpl
index 5567ae6..7ed408c 100644
--- a/templates/service_edit_mini_inc.tpl
+++ b/templates/service_edit_mini_inc.tpl
@@ -1,5 +1,5 @@
{strip}
-{if $gBitUser->hasPermission( 'p_pigeonholes_insert_member' )}
+{if $editPigeonholesEnabled && $gBitUser->hasPermission( 'p_pigeonholes_insert_member' )}
<div class="row">
{formlabel label="Categorize" for="pigeonholes"}
{if $pigeonPathList|@count ne 0}
diff --git a/templates/service_edit_tab_inc.tpl b/templates/service_edit_tab_inc.tpl
index 5e63383..fc71787 100644
--- a/templates/service_edit_tab_inc.tpl
+++ b/templates/service_edit_tab_inc.tpl
@@ -1,5 +1,5 @@
{strip}
-{if $gBitUser->hasPermission( 'p_pigeonholes_insert_member' )}
+{if $editPigeonholesEnabled && $gBitUser->hasPermission( 'p_pigeonholes_insert_member' )}
{jstab title="Categorize"}
{legend legend="Categorize"}
{include file="bitpackage:pigeonholes/service_edit_mini_inc.tpl"}