diff options
| author | Max Kremmel <xing@synapse.plus.com> | 2006-02-24 12:06:08 +0000 |
|---|---|---|
| committer | Max Kremmel <xing@synapse.plus.com> | 2006-02-24 12:06:08 +0000 |
| commit | bbc084371f5035b37a5316667e693f8ab01004a3 (patch) | |
| tree | 8bb22b6af2c35bea96a9f42253835dbf90a405cc | |
| parent | 36d74c85ba75a07ace1d2e5bce8cb8e747dda471 (diff) | |
| download | pigeonholes-bbc084371f5035b37a5316667e693f8ab01004a3.tar.gz pigeonholes-bbc084371f5035b37a5316667e693f8ab01004a3.tar.bz2 pigeonholes-bbc084371f5035b37a5316667e693f8ab01004a3.zip | |
move service functions to Pigeonholes.php, fix content types dropdown, only check path permissions when it's required, reduce defaults to as simple as possible
| -rw-r--r-- | Pigeonholes.php | 153 | ||||
| -rw-r--r-- | admin/schema_inc.php | 6 | ||||
| -rw-r--r-- | bit_setup_inc.php | 10 | ||||
| -rw-r--r-- | edit_pigeonholes.php | 5 | ||||
| -rw-r--r-- | lookup_pigeonholes_inc.php | 4 | ||||
| -rw-r--r-- | modules/mod_category_menu.php | 1 | ||||
| -rw-r--r-- | modules/mod_whats_related.php | 5 | ||||
| -rw-r--r-- | servicefunctions_inc.php | 158 | ||||
| -rw-r--r-- | templates/edit_pigeonholes.tpl | 2 |
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} |
