diff options
| author | Nick Palmer <nick@sluggardy.net> | 2008-10-18 23:11:07 +0000 |
|---|---|---|
| committer | Nick Palmer <nick@sluggardy.net> | 2008-10-18 23:11:07 +0000 |
| commit | 6b3126d694a6207a6e1dd8e489fef09556bc2256 (patch) | |
| tree | 5b732d15d2a5034e95ae5dd4a9702f017b946c6f | |
| parent | 2427dd9a85f93b83fc66f12b8c53681275800ac9 (diff) | |
| download | pigeonholes-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.php | 26 | ||||
| -rw-r--r-- | admin/admin_pigeonholes_inc.php | 25 | ||||
| -rw-r--r-- | templates/admin_pigeonholes.tpl | 13 | ||||
| -rw-r--r-- | templates/service_edit_mini_inc.tpl | 2 | ||||
| -rw-r--r-- | templates/service_edit_tab_inc.tpl | 2 |
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"} |
