summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Pigeonholes.php153
-rw-r--r--admin/schema_inc.php6
-rw-r--r--bit_setup_inc.php10
-rw-r--r--edit_pigeonholes.php5
-rw-r--r--lookup_pigeonholes_inc.php4
-rw-r--r--modules/mod_category_menu.php1
-rw-r--r--modules/mod_whats_related.php5
-rw-r--r--servicefunctions_inc.php158
-rw-r--r--templates/edit_pigeonholes.tpl2
9 files changed, 154 insertions, 190 deletions
diff --git a/Pigeonholes.php b/Pigeonholes.php
index 636cf2d..46d5945 100644
--- a/Pigeonholes.php
+++ b/Pigeonholes.php
@@ -1,6 +1,6 @@
<?php
/**
- * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.47 2006/02/18 09:10:27 lsces Exp $
+ * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.48 2006/02/24 12:06:07 squareing Exp $
*
* +----------------------------------------------------------------------+
* | Copyright ( c ) 2004, bitweaver.org
@@ -17,7 +17,7 @@
* Pigeonholes class
*
* @author xing <xing@synapse.plus.com>
- * @version $Revision: 1.47 $
+ * @version $Revision: 1.48 $
* @package pigeonholes
*/
@@ -403,17 +403,19 @@ class Pigeonholes extends LibertyAttachable {
* @access public
**/
function checkPathPermissions( $pPath ) {
- global $gBitUser;
- foreach( $pPath as $path ) {
- $contentIds[] = $path['content_id'];
- }
- if( !empty( $contentIds ) ) {
- $query = "SELECT `name`, `pref_value` FROM `".BIT_DB_PREFIX."liberty_content_prefs` WHERE `content_id` IN( ".preg_replace( "/,$/", "", str_repeat( "?,", count( $contentIds ) ) )." ) ";
- $result = $this->mDb->query( $query, $contentIds );
- while( $aux = $result->fetchRow() ) {
- ${$aux['name']} = $aux['pref_value'];
- if( ( !empty( $group_id ) && !$gBitUser->isInGroup( $group_id ) ) || ( !empty( $permission ) && !$gBitUser->hasPermission( $permission ) ) ) {
- return FALSE;
+ global $gBitUser, $gBitSystem;
+ if( $gBitSystem->getPreference( 'pigeonholes_permissions' ) || $gBitSystem->getPreference( 'pigeonholes_groups' ) ) {
+ foreach( $pPath as $path ) {
+ $contentIds[] = $path['content_id'];
+ }
+ if( !empty( $contentIds ) ) {
+ $query = "SELECT `name`, `pref_value` FROM `".BIT_DB_PREFIX."liberty_content_prefs` WHERE `content_id` IN( ".preg_replace( "/,$/", "", str_repeat( "?,", count( $contentIds ) ) )." ) ";
+ $result = $this->mDb->query( $query, $contentIds );
+ while( $aux = $result->fetchRow() ) {
+ ${$aux['name']} = $aux['pref_value'];
+ if( ( !empty( $group_id ) && !$gBitUser->isInGroup( $group_id ) ) || ( !empty( $permission ) && !$gBitUser->hasPermission( $permission ) ) ) {
+ return FALSE;
+ }
}
}
}
@@ -794,4 +796,129 @@ function pigeonholes_alphabetiser($a, $b) {
return strcasecmp( $a["title"], $b["title"] );
}
+
+// ============= SERVICE FUNCTIONS =============
+
+function pigeonholes_content_display( &$pObject ) {
+ global $gBitSystem, $gBitSmarty, $gBitUser, $gPreviewStyle;
+ if( $gBitSystem->isFeatureActive( 'display_pigeonhole_members' ) || $gBitSystem->isFeatureActive( 'display_pigeonhole_path' ) ) {
+ $pigeonholes = new Pigeonholes();
+ if( $gBitUser->hasPermission( 'bit_p_view_pigeonholes' ) ) {
+ if( $pigeons = $pigeonholes->getPigeonholesFromContentId( $pObject->mContentId ) ) {
+ foreach( $pigeons as $pigeon ) {
+ $pigeonholes->mContentId = $pigeon['content_id'];
+ $pigeonholes->load( TRUE );
+ //$pigeonholes->loadPreferences();
+ $pigeonData[] = $pigeonholes->mInfo;
+ // set the theme chosen for this page - virtually random if page is part of multiple themes
+ $pigeonholes->loadPreferences();
+ $gPreviewStyle = $pigeonholes->getPreference( 'style' );
+ // we need to check all pigeonholes in the path, load the prefs and work out if the user is allowed to view the page
+ if( !$pigeonholes->checkPathPermissions( $pigeonholes->getField( 'path' ) ) ) {
+ $msg = tra( "This content is part of a category to which you have no access to. Please log in or request the appropriate permission from the site administrator." );
+ $gBitSystem->fatalPermission( NULL, $msg );
+ }
+ }
+ $gBitSmarty->assign( 'pigeonData', !empty( $pigeonData ) ? $pigeonData : FALSE );
+ }
+ }
+ }
+}
+
+function pigeonholes_content_edit( $pObject=NULL ) {
+ global $gBitSmarty, $gBitUser;
+ $pigeonPathList = array();
+
+ if( $gBitUser->hasPermission( 'bit_p_insert_pigeonhole_member' ) ) {
+ $pigeonholes = new Pigeonholes();
+
+ // get pigeonholes path list
+ if( $pigeonPathList = $pigeonholes->getPigeonholesPathList( !empty( $pObject->mContentId ) ? $pObject->mContentId : NULL ) ) {
+ $gBitSmarty->assign( 'pigeonPathList', $pigeonPathList );
+ }
+ }
+}
+
+function pigeonholes_content_expunge( $pObject=NULL ) {
+ $pigeonholes = new Pigeonholes();
+ $pigeonholes->expungePigeonholeMember( array( 'member_id' => $pObject->mContentId ) );
+}
+
+function pigeonholes_content_preview() {
+ global $gBitSmarty, $gBitUser;
+ $pigeonPathList = array();
+
+ if( $gBitUser->hasPermission( 'bit_p_insert_pigeonhole_member' ) ) {
+ $pigeonholes = new Pigeonholes();
+
+ // get pigeonholes path list
+ if( $pigeonPathList = $pigeonholes->getPigeonholesPathList() ) {
+ foreach( $pigeonPathList as $key => $path ) {
+ if( !empty( $_REQUEST['pigeonholes']['pigeonhole'] ) && in_array( $key, $_REQUEST['pigeonholes']['pigeonhole'] ) ) {
+ $pigeonPathList[$key][0]['selected'] = TRUE;
+ } else {
+ $pigeonPathList[$key][0]['selected'] = FALSE;
+ }
+ }
+ $gBitSmarty->assign( 'pigeonPathList', $pigeonPathList );
+ }
+ }
+}
+
+function pigeonholes_content_store( $pObject, $pParamHash ) {
+ global $gBitSmarty, $gBitUser;
+ if( $gBitUser->hasPermission( 'bit_p_insert_pigeonhole_member' ) ) {
+ if( !empty( $pParamHash['content_id'] ) ) {
+ if( is_object( $pObject ) && empty( $pParamHash['content_id'] ) ) {
+ $pParamHash['content_id'] = $pObject->mContentId;
+ }
+
+ $pigeonholes = new Pigeonholes();
+ $pigeonPathList = $pigeonholes->getPigeonholesPathList( $pParamHash['content_id'] );
+
+ // here we need to work out if we need to save at all
+ // get all originally selected items
+ $selectedItem = array();
+ if( !empty( $pigeonPathList ) ) {
+ foreach( $pigeonPathList as $path ) {
+ if( !empty( $path[0]['selected'] ) ) {
+ $pathItem = array_pop( $path );
+ $selectedItem[] = $pathItem['content_id'];
+ }
+ }
+ }
+
+ // quick and dirty check to start off with
+ if( empty( $_REQUEST['pigeonholes'] ) || count( $_REQUEST['pigeonholes']['pigeonhole'] ) != count( $selectedItem ) ) {
+ $modified = TRUE;
+ } else {
+ // more thorough check
+ foreach( $selectedItem as $item ) {
+ if( !in_array( $item, $_REQUEST['pigeonholes']['pigeonhole'] ) ) {
+ $modified = TRUE;
+ }
+ }
+ }
+
+ if( !empty( $modified ) ) {
+ // first remove all entries with this content_id
+ if( $pigeonholes->expungePigeonholeMember( array( 'member_id' => $pParamHash['content_id'] ) ) && !empty( $_REQUEST['pigeonholes'] ) ) {
+ // insert the content into the desired pigeonholes
+ foreach( $_REQUEST['pigeonholes']['pigeonhole'] as $p_id ) {
+ $memberHash[] = array(
+ 'parent_id' => $p_id,
+ 'content_id' => $pParamHash['content_id']
+ );
+ }
+
+ if( !$pigeonholes->insertPigeonholeMember( $memberHash ) ) {
+ $gBitSmarty->assign( 'msg', tra( "There was a problem inserting the content into the pigeonholes." ) );
+ $gBitSystem->display( 'error.tpl' );
+ die;
+ }
+ }
+ }
+ }
+ }
+}
?>
diff --git a/admin/schema_inc.php b/admin/schema_inc.php
index 59f559e..f448715 100644
--- a/admin/schema_inc.php
+++ b/admin/schema_inc.php
@@ -43,9 +43,9 @@ $gBitInstaller->registerPreferences( PIGEONHOLES_PKG_NAME, array(
array( PIGEONHOLES_PKG_NAME, 'display_pigeonhole_members','y' ),
array( PIGEONHOLES_PKG_NAME, 'limit_member_number','100' ),
array( PIGEONHOLES_PKG_NAME, 'pigeonholes_list_style','table' ),
- array( PIGEONHOLES_PKG_NAME, 'pigeonholes_themes','y' ),
- array( PIGEONHOLES_PKG_NAME, 'pigeonholes_permissions','y' ),
- array( PIGEONHOLES_PKG_NAME, 'pigeonholes_groups','y' ),
+ //array( PIGEONHOLES_PKG_NAME, 'pigeonholes_themes','y' ),
+ //array( PIGEONHOLES_PKG_NAME, 'pigeonholes_permissions','y' ),
+ //array( PIGEONHOLES_PKG_NAME, 'pigeonholes_groups','y' ),
) );
// ### Default UserPermissions
diff --git a/bit_setup_inc.php b/bit_setup_inc.php
index 803ba2e..e61769b 100644
--- a/bit_setup_inc.php
+++ b/bit_setup_inc.php
@@ -1,7 +1,7 @@
<?php
/**
* @author xing <xing@synapse.plus.com>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
* @package Pigeonholes
* @subpackage functions
*/
@@ -17,10 +17,13 @@ $gBitSystem->registerPackage( $registerHash );
define( 'PIGEONHOLES_CONTENT_TYPE_GUID', 'pigeonholes' );
if( $gBitSystem->isPackageActive( 'pigeonholes' ) ) {
+ // include service functions
+ require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
+
$gLibertySystem->registerService( LIBERTY_SERVICE_CATEGORIZATION, PIGEONHOLES_PKG_NAME, array(
'content_display_function' => 'pigeonholes_content_display',
'content_preview_function' => 'pigeonholes_content_preview',
- 'content_edit_function' => 'pigeonholes_content_input',
+ 'content_edit_function' => 'pigeonholes_content_edit',
'content_store_function' => 'pigeonholes_content_store',
'content_expunge_function' => 'pigeonholes_content_expunge',
'content_edit_tab_tpl' => 'bitpackage:pigeonholes/pigeonholes_input_inc.tpl',
@@ -28,9 +31,6 @@ if( $gBitSystem->isPackageActive( 'pigeonholes' ) ) {
'content_nav_tpl' => 'bitpackage:pigeonholes/display_paths.tpl',
) );
- // include service functions
- require_once( PIGEONHOLES_PKG_PATH.'servicefunctions_inc.php' );
-
if( $gBitUser->hasPermission( 'bit_p_view_pigeonholes' ) ) {
$gBitSystem->registerAppMenu( PIGEONHOLES_PKG_DIR, 'Categories', PIGEONHOLES_PKG_URL.'index.php', 'bitpackage:pigeonholes/menu_pigeonholes.tpl', 'Pigeonholes' );
}
diff --git a/edit_pigeonholes.php b/edit_pigeonholes.php
index 9b37d81..65108a5 100644
--- a/edit_pigeonholes.php
+++ b/edit_pigeonholes.php
@@ -1,6 +1,6 @@
<?php
/**
- * $Header: /cvsroot/bitweaver/_bit_pigeonholes/edit_pigeonholes.php,v 1.17 2006/02/10 23:34:22 lsces Exp $
+ * $Header: /cvsroot/bitweaver/_bit_pigeonholes/edit_pigeonholes.php,v 1.18 2006/02/24 12:06:07 squareing Exp $
*
* Copyright ( c ) 2004 bitweaver.org
* Copyright ( c ) 2003 tikwiki.org
@@ -8,7 +8,7 @@
* All Rights Reserved. See copyright.txt for details and a complete list of authors.
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details
*
- * $Id: edit_pigeonholes.php,v 1.17 2006/02/10 23:34:22 lsces Exp $
+ * $Id: edit_pigeonholes.php,v 1.18 2006/02/24 12:06:07 squareing Exp $
* @package pigeonholes
* @subpackage functions
*/
@@ -155,7 +155,6 @@ foreach( $contentList['data'] as $cItem ) {
}
$gBitSmarty->assign( 'contentList', $cList );
$gBitSmarty->assign( 'contentSelect', $contentSelect );
-$gBitSmarty->assign( 'contentTypes', $contentTypes );
$listHash['root_structure_id'] = !empty( $gContent->mInfo['root_structure_id'] ) ? $gContent->mInfo['root_structure_id'] : NULL;
$listHash['force_extras'] = TRUE;
diff --git a/lookup_pigeonholes_inc.php b/lookup_pigeonholes_inc.php
index 98bf289..94f234d 100644
--- a/lookup_pigeonholes_inc.php
+++ b/lookup_pigeonholes_inc.php
@@ -4,7 +4,7 @@
*
* @package pigeonholes
* @subpackage functions
- * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/lookup_pigeonholes_inc.php,v 1.4 2006/02/23 14:58:31 bitweaver Exp $
+ * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/lookup_pigeonholes_inc.php,v 1.5 2006/02/24 12:06:07 squareing Exp $
*
* Copyright ( c ) 2005 bitweaver.org
* All Rights Reserved. See copyright.txt for details and a complete list of authors.
@@ -14,8 +14,6 @@
/**
* Required Files
*/
-require_once( PIGEONHOLES_PKG_PATH.'/Pigeonholes.php' );
-
$gContent = new Pigeonholes( ( !empty( $_REQUEST['structure_id'] ) ? $_REQUEST['structure_id'] : NULL ), ( !empty( $_REQUEST['content_id'] ) ? $_REQUEST['content_id'] : NULL ) );
$gContent->load( TRUE );
$gBitSmarty->assign_by_ref( 'gContent', $gContent );
diff --git a/modules/mod_category_menu.php b/modules/mod_category_menu.php
index ce10019..746d5e6 100644
--- a/modules/mod_category_menu.php
+++ b/modules/mod_category_menu.php
@@ -2,7 +2,6 @@
global $gContent;
if( !empty( $gContent->mContentId ) ) {
if( $gBitUser->hasPermission( 'bit_p_view_pigeonholes' ) ) {
- require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
$pigeonholes = new Pigeonholes();
if( empty( $gStructure ) ) {
diff --git a/modules/mod_whats_related.php b/modules/mod_whats_related.php
index 9e9d574..e333c7c 100644
--- a/modules/mod_whats_related.php
+++ b/modules/mod_whats_related.php
@@ -1,6 +1,6 @@
<?php
/**
- * $Header: /cvsroot/bitweaver/_bit_pigeonholes/modules/mod_whats_related.php,v 1.4 2006/02/04 12:18:31 squareing Exp $
+ * $Header: /cvsroot/bitweaver/_bit_pigeonholes/modules/mod_whats_related.php,v 1.5 2006/02/24 12:06:08 squareing Exp $
*
* Copyright (c) 2004 bitweaver.org
* Copyright (c) 2003 tikwiki.org
@@ -8,7 +8,7 @@
* All Rights Reserved. See copyright.txt for details and a complete list of authors.
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details
*
- * $Id: mod_whats_related.php,v 1.4 2006/02/04 12:18:31 squareing Exp $
+ * $Id: mod_whats_related.php,v 1.5 2006/02/24 12:06:08 squareing Exp $
* @package categories
* @subpackage modules
*/
@@ -16,7 +16,6 @@
global $gContent;
if( !empty( $gContent->mContentId ) ) {
if( $gBitUser->hasPermission( 'bit_p_view_pigeonholes' ) ) {
- require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
$pigeonholes = new Pigeonholes();
if( $pigeons = $pigeonholes->getPigeonholesFromContentId( $gContent->mContentId ) ) {
diff --git a/servicefunctions_inc.php b/servicefunctions_inc.php
deleted file mode 100644
index 5f9fc71..0000000
--- a/servicefunctions_inc.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-/**
- * $Header: /cvsroot/bitweaver/_bit_pigeonholes/Attic/servicefunctions_inc.php,v 1.11 2006/02/12 21:36:29 squareing Exp $
- *
- * Copyright ( c ) 2004 bitweaver.org
- * All Rights Reserved. See copyright.txt for details and a complete list of authors.
- * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details
- *
- * @package pigeonholes
- * @subpackage functions
- */
-
-/**
- * Pigeonhole display service
- */
-function pigeonholes_content_display( &$pObject ) {
- global $gBitSystem, $gBitSmarty, $gBitUser, $gPreviewStyle;
- if( $gBitSystem->isFeatureActive( 'display_pigeonhole_members' ) || $gBitSystem->isFeatureActive( 'display_pigeonhole_path' ) ) {
- require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
- $pigeonholes = new Pigeonholes();
- if( $gBitUser->hasPermission( 'bit_p_view_pigeonholes' ) ) {
- if( $pigeons = $pigeonholes->getPigeonholesFromContentId( $pObject->mContentId ) ) {
- foreach( $pigeons as $pigeon ) {
- $pigeonholes->mContentId = $pigeon['content_id'];
- $pigeonholes->load( TRUE );
- //$pigeonholes->loadPreferences();
- $pigeonData[] = $pigeonholes->mInfo;
- // set the theme chosen for this page - virtually random if page is part of multiple themes
- $pigeonholes->loadPreferences();
- $gPreviewStyle = $pigeonholes->getPreference( 'style' );
- // we need to check all pigeonholes in the path, load the prefs and work out if the user is allowed to view the page
- if( !$pigeonholes->checkPathPermissions( $pigeonholes->getField( 'path' ) ) ) {
- $msg = tra( "This content is part of a category to which you have no access to. Please log in or request the appropriate permission from the site administrator." );
- $gBitSystem->fatalPermission( NULL, $msg );
- }
- }
- $gBitSmarty->assign( 'pigeonData', !empty( $pigeonData ) ? $pigeonData : FALSE );
- }
- }
- }
-}
-
-/**
- * Pigeonhole edit template service
- */
-function pigeonholes_content_input( $pObject=NULL ) {
- global $gBitSmarty, $gBitUser;
- $pigeonPathList = array();
-
- if( $gBitUser->hasPermission( 'bit_p_insert_pigeonhole_member' ) ) {
- require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
- $pigeonholes = new Pigeonholes();
-
- // get pigeonholes path list
- if( $pigeonPathList = $pigeonholes->getPigeonholesPathList( !empty( $pObject->mContentId ) ? $pObject->mContentId : NULL ) ) {
- $gBitSmarty->assign( 'pigeonPathList', $pigeonPathList );
- }
- }
-}
-
-/**
- * Pigeonhole edit template service
- */
-function pigeonholes_content_expunge( $pObject=NULL ) {
- require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
- $pigeonholes = new Pigeonholes();
- $pigeonholes->expungePigeonholeMember( array( 'member_id' => $pObject->mContentId ) );
-}
-
-/**
- * Pigeonhole preview service
- * when we hit preview, we make the selections persistent
- */
-function pigeonholes_content_preview() {
- global $gBitSmarty, $gBitUser;
- $pigeonPathList = array();
-
- if( $gBitUser->hasPermission( 'bit_p_insert_pigeonhole_member' ) ) {
- require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
- $pigeonholes = new Pigeonholes();
-
- // get pigeonholes path list
- if( $pigeonPathList = $pigeonholes->getPigeonholesPathList() ) {
- foreach( $pigeonPathList as $key => $path ) {
- if( !empty( $_REQUEST['pigeonholes']['pigeonhole'] ) && in_array( $key, $_REQUEST['pigeonholes']['pigeonhole'] ) ) {
- $pigeonPathList[$key][0]['selected'] = TRUE;
- } else {
- $pigeonPathList[$key][0]['selected'] = FALSE;
- }
- }
- $gBitSmarty->assign( 'pigeonPathList', $pigeonPathList );
- }
- }
-}
-
-/**
- * Pigeonhole store service
- * store the content in any pigeonhole it wants
- */
-function pigeonholes_content_store( $pObject, $pParamHash ) {
- global $gBitSmarty, $gBitUser;
- if( $gBitUser->hasPermission( 'bit_p_insert_pigeonhole_member' ) ) {
- require_once( PIGEONHOLES_PKG_PATH.'Pigeonholes.php' );
-
- if( !empty( $pParamHash['content_id'] ) ) {
- if( is_object( $pObject ) && empty( $pParamHash['content_id'] ) ) {
- $pParamHash['content_id'] = $pObject->mContentId;
- }
-
- $pigeonholes = new Pigeonholes();
- $pigeonPathList = $pigeonholes->getPigeonholesPathList( $pParamHash['content_id'] );
-
- // here we need to work out if we need to save at all
- // get all originally selected items
- $selectedItem = array();
- if( !empty( $pigeonPathList ) ) {
- foreach( $pigeonPathList as $path ) {
- if( !empty( $path[0]['selected'] ) ) {
- $pathItem = array_pop( $path );
- $selectedItem[] = $pathItem['content_id'];
- }
- }
- }
-
- // quick and dirty check to start off with
- if( empty( $_REQUEST['pigeonholes'] ) || count( $_REQUEST['pigeonholes']['pigeonhole'] ) != count( $selectedItem ) ) {
- $modified = TRUE;
- } else {
- // more thorough check
- foreach( $selectedItem as $item ) {
- if( !in_array( $item, $_REQUEST['pigeonholes']['pigeonhole'] ) ) {
- $modified = TRUE;
- }
- }
- }
-
- if( !empty( $modified ) ) {
- // first remove all entries with this content_id
- if( $pigeonholes->expungePigeonholeMember( array( 'member_id' => $pParamHash['content_id'] ) ) && !empty( $_REQUEST['pigeonholes'] ) ) {
- // insert the content into the desired pigeonholes
- foreach( $_REQUEST['pigeonholes']['pigeonhole'] as $p_id ) {
- $memberHash[] = array(
- 'parent_id' => $p_id,
- 'content_id' => $pParamHash['content_id']
- );
- }
-
- if( !$pigeonholes->insertPigeonholeMember( $memberHash ) ) {
- $gBitSmarty->assign( 'msg', tra( "There was a problem inserting the content into the pigeonholes." ) );
- $gBitSystem->display( 'error.tpl' );
- die;
- }
- }
- }
- }
- }
-}
-?>
diff --git a/templates/edit_pigeonholes.tpl b/templates/edit_pigeonholes.tpl
index 2a3939f..05213c5 100644
--- a/templates/edit_pigeonholes.tpl
+++ b/templates/edit_pigeonholes.tpl
@@ -75,7 +75,7 @@
<div class="row">
{formlabel label="Content" for="pigeonhole-content"}
{forminput}
- {html_options options=$contentDescs name=content_type_guid selected=$contentSelect}
+ {html_options options=$contentTypes name=content_type_guid selected=$contentSelect}
{/forminput}
{forminput}