diff options
| author | lsces <lester@lsces.co.uk> | 2025-08-27 17:27:24 +0100 |
|---|---|---|
| committer | lsces <lester@lsces.co.uk> | 2025-08-27 17:27:24 +0100 |
| commit | 0aa24a7f24b573fd3f19cb888dfefcdc31ae6b82 (patch) | |
| tree | 0ebde514a2cbfeb6063e94717faceba7a38a9222 | |
| parent | b781b829cc69b630da203ab85cdfd1dcffc7e7a3 (diff) | |
| download | tags-5-php84.tar.gz tags-5-php84.tar.bz2 tags-5-php84.zip | |
Code updated to PHP8.4 and namespaceV5-php84
| -rwxr-xr-x[-rw-r--r--] | admin/admin_tags_inc.php | 86 | ||||
| -rw-r--r-- | admin/schema_inc.php | 46 | ||||
| -rwxr-xr-x[-rw-r--r--] | drop_tags.php | 18 | ||||
| -rwxr-xr-x[-rw-r--r--] | edit.php | 8 | ||||
| -rwxr-xr-x[-rw-r--r--] | includes/bit_setup_inc.php | 32 | ||||
| -rwxr-xr-x[-rw-r--r--] | includes/classes/LibertyTag.php (renamed from LibertyTag.php) | 139 | ||||
| -rwxr-xr-x[-rw-r--r--] | index.php | 15 | ||||
| -rwxr-xr-x[-rw-r--r--] | list.php | 29 | ||||
| -rwxr-xr-x[-rw-r--r--] | modules/mod_tags_cloud.php | 17 |
9 files changed, 192 insertions, 198 deletions
diff --git a/admin/admin_tags_inc.php b/admin/admin_tags_inc.php index 6533da1..d8fc015 100644..100755 --- a/admin/admin_tags_inc.php +++ b/admin/admin_tags_inc.php @@ -4,108 +4,108 @@ // All Rights Reserved. See below for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details. -$formTagsDisplayOptions = array( - "tags_in_nav" => array( +$formTagsDisplayOptions = [ + "tags_in_nav" => [ 'label' => 'Nav', 'note' => 'Shows the tags in the "nav" location', 'type' => 'toggle', - ), - "tags_in_body" => array( + ], + "tags_in_body" => [ 'label' => 'Body', 'note' => 'Shows the tags in the "body" location', 'type' => 'toggle', - ), - "tags_in_view" => array( + ], + "tags_in_view" => [ 'label' => 'View', 'note' => 'Shows the tags in the "view" location', 'type' => 'toggle', - ), -); + ], +]; $gBitSmarty->assign( 'formTagsDisplayOptions', $formTagsDisplayOptions ); /* -$formTagsOtherOptions = array( - "tags_on_comments" => array( +$formTagsOtherOptions = [ + "tags_on_comments" => [ 'label' => 'Allow Tags on Comments', 'note' => 'Allows tags to be placed on comments', 'type' => 'toggle', - ), -); +], +]; $gBitSmarty->assign( 'formTagsOtherOptions', $formTagsOtherOptions ); */ -$formTagsStripOptions = array( - "tags_lowercase" => array( +$formTagsStripOptions = [ + "tags_lowercase" => [ 'label' => 'Lowercase Tags', 'note' => 'Convert all Tags to lowercase', 'type' => 'toggle', - ), - "tags_strip_spaces" => array( + ], + "tags_strip_spaces" => [ 'label' => 'Strip Spaces', 'note' => 'Strip white space from tags', 'type' => 'toggle', - ), - "tags_strip_nonword" => array( + ], + "tags_strip_nonword" => [ 'label' => 'Strip Non-Word', 'note' => 'Strip non-word characters from tags', 'type' => 'toggle', - ), - "tags_strip_regexp" => array( + ], + "tags_strip_regexp" => [ 'label' => 'Strip Custom', 'note' => 'A regular expression used to strip. Be VERY careful with this expression. This should include the delimiters for the regular expression.', 'type' => 'input', - ), - "tags_strip_replace" => array( + ], + "tags_strip_replace" => [ 'label' => 'Strip Custom Replacement', 'note' => 'The expresion used in the replacement made with the Strip Custom above. Leave blank to just strip any matches.', 'type' => 'input', - ), -); + ], +]; $gBitSmarty->assign( 'formTagsStripOptions', $formTagsStripOptions ); -$formTagLists = array( - "tags_list_id" => array( +$formTagLists = [ + "tags_list_id" => [ 'label' => 'ID', 'note' => 'Content ID', 'type' => 'toggle', - ), - "tags_list_title" => array( + ], + "tags_list_title" => [ 'label' => 'Title', 'note' => 'content title', 'type' => 'toggle', - ), - "tags_list_type" => array( + ], + "tags_list_type" => [ 'label' => 'Type', 'note' => 'content type', 'type' => 'toggle', - ), - "tags_list_author" => array( + ], + "tags_list_author" => [ 'label' => 'Author', 'note' => 'author of tagged content', 'type' => 'toggle', - ), - "tags_list_editor" => array( + ], + "tags_list_editor" => [ 'label' => 'Editor', 'note' => 'last editor', 'type' => 'toggle', - ), - "tags_list_lastmodif" => array( + ], + "tags_list_lastmodif" => [ 'label' => 'last modified', 'note' => 'modification date', 'type' => 'toggle', - ), - "tags_list_ip" => array( + ], + "tags_list_ip" => [ 'label' => 'IP', 'note' => 'editor\'s IP', 'type' => 'toggle', - ), -); + ], +]; $gBitSmarty->assign( 'formTagLists',$formTagLists ); // list of content types that can be tagged // 'sample' is presented anyways, if sample package is installed // 'bitcomment' (?) ... isFeatureActive('tags_on_comments') -$exclude = array( 'bituser', 'tikisticky', 'sample', 'bitcomment'); +$exclude = [ 'bituser', 'tikisticky', 'sample', 'bitcomment']; foreach( $gLibertySystem->mContentTypes as $cType ) { if( !in_array( $cType['content_type_guid'], $exclude ) ) { $formTaggable['guids']['tags_tag_'.$cType['content_type_guid']] = $gLibertySystem->getContentTypeName( $cType['content_type_guid'] ); @@ -125,7 +125,7 @@ if( !empty( $_REQUEST['tags_preferences'] ) ) { } } foreach( array_keys( $formTaggable['guids'] ) as $taggable ) { - $gBitSystem->storeConfig( $taggable, ( ( !empty( $_REQUEST['taggable_content'] ) && in_array( $taggable, $_REQUEST['taggable_content'] ) ) ? 'y' : NULL ), TAGS_PKG_NAME ); + $gBitSystem->storeConfig( $taggable, !empty( $_REQUEST['taggable_content'] ) && in_array( $taggable, $_REQUEST['taggable_content'] ) ? 'y' : null, TAGS_PKG_NAME); } } @@ -138,5 +138,3 @@ foreach( $gLibertySystem->mContentTypes as $cType ) { } $gBitSmarty->assign( 'formTaggable', $formTaggable ); - -?> diff --git a/admin/schema_inc.php b/admin/schema_inc.php index f2b1290..8b63aa6 100644 --- a/admin/schema_inc.php +++ b/admin/schema_inc.php @@ -1,5 +1,5 @@ <?php -$tables = array( +$tables = [ 'tags' => " tag_id I4 PRIMARY, tag C(64) NOTNULL @@ -14,7 +14,7 @@ $tables = array( , CONSTRAINT `tags_content_map_content_ref` FOREIGN KEY (`content_id`) REFERENCES `".BIT_DB_PREFIX."liberty_content` ( `content_id` ) , CONSTRAINT `tags_content_map_tagger_id_ref` FOREIGN KEY (`tagger_id`) REFERENCES `".BIT_DB_PREFIX."users_users` ( `user_id` )' " -); +]; global $gBitInstaller; @@ -22,36 +22,36 @@ foreach( array_keys( $tables ) AS $tableName ) { $gBitInstaller->registerSchemaTable( TAGS_PKG_NAME, $tableName, $tables[$tableName] ); } -$gBitInstaller->registerPackageInfo( TAGS_PKG_NAME, array( +$gBitInstaller->registerPackageInfo( TAGS_PKG_NAME, [ 'description' => "A simple Liberty Service that any package can use to tag its content with key words.", 'license' => '<a href="http://www.gnu.org/licenses/licenses.html#LGPL">LGPL</a>', -) ); +] ); -$gBitInstaller->registerPreferences( TAGS_PKG_NAME, array( - array( TAGS_PKG_NAME, 'tags_in_view', 'y' ), - array( TAGS_PKG_NAME, 'tags_list_title', 'y' ), - array( TAGS_PKG_NAME, 'tags_list_type', 'y' ), - array( TAGS_PKG_NAME, 'tags_list_author', 'y' ), - array( TAGS_PKG_NAME, 'tags_list_lastmodif', 'y' ), -) ); +$gBitInstaller->registerPreferences( TAGS_PKG_NAME, [ + [ TAGS_PKG_NAME, 'tags_in_view', 'y' ], + [ TAGS_PKG_NAME, 'tags_list_title', 'y' ], + [ TAGS_PKG_NAME, 'tags_list_type', 'y' ], + [ TAGS_PKG_NAME, 'tags_list_author', 'y' ], + [ TAGS_PKG_NAME, 'tags_list_lastmodif', 'y' ], +] ); // ### Sequences -$sequences = array ( - 'tags_tag_id_seq' => array( 'start' => 1 ), -); +$sequences = [ + 'tags_tag_id_seq' => [ 'start' => 1 ], +]; $gBitInstaller->registerSchemaSequences( TAGS_PKG_NAME, $sequences ); // ### Default UserPermissions -$gBitInstaller->registerUserPermissions( TAGS_PKG_NAME, array( - array( 'p_tags_admin', 'Can admin tags', 'admin', TAGS_PKG_NAME ), - array( 'p_tags_create', 'Can create tags', 'registered', TAGS_PKG_NAME ), - array( 'p_tags_view', 'Can view tags', 'basic', TAGS_PKG_NAME ), - array( 'p_tags_moderate', 'Can edit tags', 'editors', TAGS_PKG_NAME ), -) ); +$gBitInstaller->registerUserPermissions( TAGS_PKG_NAME, [ + [ 'p_tags_admin', 'Can admin tags', 'admin', TAGS_PKG_NAME ], + [ 'p_tags_create', 'Can create tags', 'registered', TAGS_PKG_NAME ], + [ 'p_tags_view', 'Can view tags', 'basic', TAGS_PKG_NAME ], + [ 'p_tags_moderate', 'Can edit tags', 'editors', TAGS_PKG_NAME ], +] ); // Requirements -$gBitInstaller->registerRequirements( TAGS_PKG_NAME, array( - 'liberty' => array( 'min' => '2.1.4' ), -)); +$gBitInstaller->registerRequirements( TAGS_PKG_NAME, [ + 'liberty' => [ 'min' => '5.0.0' ], +] ); diff --git a/drop_tags.php b/drop_tags.php index e8dcbea..9b4a1a7 100644..100755 --- a/drop_tags.php +++ b/drop_tags.php @@ -12,12 +12,14 @@ /** * required setup */ -require_once( "../kernel/includes/setup_inc.php" ); -require_once( TAGS_PKG_CLASS_PATH.'LibertyTag.php' ); +require_once "../kernel/includes/setup_inc.php"; +use Bitweaver\Tags\LibertyTag; +use Bitweaver\KernelTools; +use Bitweaver\HttpStatusCodes; $gBitSystem->verifyPackage( 'tags' ); -require_once( LIBERTY_PKG_INCLUDE_PATH.'lookup_content_inc.php' ); +require_once LIBERTY_PKG_INCLUDE_PATH.'lookup_content_inc.php'; if (!$gContent || !$gContent->isValid()) { $gBitSystem->fatalError( 'The content is not valid.' ); @@ -37,19 +39,15 @@ if( isset( $_REQUEST["confirm"] ) ) { header("location: ".$gContent->getDisplayUrl()); } -$gBitSystem->setBrowserTitle( tra( 'Confirm drop of tags from: ' ).$gContent->getTitle() ); +$gBitSystem->setBrowserTitle( KernelTools::tra( 'Confirm drop of tags from: ' ).$gContent->getTitle() ); $formHash['tag_id'] = implode(",", $_REQUEST['tag_id']); $formHash['content_id'] = $_REQUEST['content_id']; foreach($_REQUEST['tag_id'] as $id) { $tags[] = $_REQUEST['tag_'.$id]; } $msgHash = array( - 'label' => tra( 'Drop Tags' ), + 'label' => KernelTools::tra( 'Drop Tags' ), 'confirm_item' => implode("<br>", $tags), - 'warning' => tra( 'These tags will be dropped from this content.<br />This cannot be undone!' ), + 'warning' => KernelTools::tra( 'These tags will be dropped from this content.<br />This cannot be undone!' ), ); $gBitSystem->confirmDialog( $formHash,$msgHash ); - - - -?> @@ -12,8 +12,9 @@ /** * required setup */ -require_once( "../kernel/includes/setup_inc.php" ); -require_once( TAGS_PKG_CLASS_PATH.'LibertyTag.php' ); +require_once "../kernel/includes/setup_inc.php"; +use Bitweaver\Tags\LibertyTag; +use Bitweaver\KernelTools; $gBitSystem->verifyPackage( 'tags' ); @@ -33,5 +34,4 @@ if( !empty( $_REQUEST["save"] ) ) { } } -$gBitSystem->display( 'bitpackage:tags/edit_tag.tpl', tra( "Edit Tag" ) , array( 'display_mode' => 'edit' )); -?> +$gBitSystem->display( 'bitpackage:tags/edit_tag.tpl', KernelTools::tra( "Edit Tag" ) , array( 'display_mode' => 'edit' )); diff --git a/includes/bit_setup_inc.php b/includes/bit_setup_inc.php index 6774732..c4b1dfb 100644..100755 --- a/includes/bit_setup_inc.php +++ b/includes/bit_setup_inc.php @@ -1,32 +1,39 @@ <?php +use Bitweaver\KernelTools; global $gBitSystem, $gBitUser, $gBitThemes; define( 'LIBERTY_SERVICE_TAGS', 'tags' ); -$registerHash = array( +$pRegisterHash = [ 'package_name' => 'tags', 'package_path' => dirname( dirname( __FILE__ ) ).'/', 'service' => LIBERTY_SERVICE_TAGS, -); -$gBitSystem->registerPackage( $registerHash ); +]; + +// fix to quieten down VS Code which can't see the dynamic creation of these ... +define( 'TAGS_PKG_NAME', $pRegisterHash['package_name'] ); +define( 'TAGS_PKG_URL', BIT_ROOT_URL . basename( $pRegisterHash['package_path'] ) . '/' ); +define( 'TAGS_PKG_PATH', BIT_ROOT_PATH . basename( $pRegisterHash['package_path'] ) . '/' ); +define( 'TAGS_PKG_INCLUDE_PATH', BIT_ROOT_PATH . basename( $pRegisterHash['package_path'] ) . '/includes/'); +define( 'TAGS_PKG_CLASS_PATH', BIT_ROOT_PATH . basename( $pRegisterHash['package_path'] ) . '/includes/classes/'); +define( 'TAGS_PKG_ADMIN_PATH', BIT_ROOT_PATH . basename( $pRegisterHash['package_path'] ) . '/admin/'); +$gBitSystem->registerPackage( $pRegisterHash ); if( $gBitSystem->isPackageActive( 'tags' ) && $gBitUser->hasPermission( 'p_tags_view' )) { // load css file $gBitThemes->loadCss( TAGS_PKG_PATH.'templates/tags.css' ); - require_once( TAGS_PKG_CLASS_PATH.'LibertyTag.php' ); - - $menuHash = array( + $menuHash = [ 'package_name' => TAGS_PKG_NAME, 'index_url' => TAGS_PKG_URL.'index.php', 'menu_template' => 'bitpackage:tags/menu_tags.tpl', - ); + ]; $gBitSystem->registerAppMenu( $menuHash ); $gLibertySystem->registerService( LIBERTY_SERVICE_TAGS, TAGS_PKG_NAME, - array( + [ 'content_display_function' => 'tags_content_display', 'content_edit_function' => 'tags_content_edit', 'content_list_sql_function' => 'tags_content_list_sql', @@ -39,10 +46,9 @@ if( $gBitSystem->isPackageActive( 'tags' ) && $gBitUser->hasPermission( 'p_tags_ 'content_body_tpl' => 'bitpackage:tags/view_tags_body.tpl', 'users_expunge_function' => 'tags_user_expunge', 'content_search_tpl' => 'bitpackage:tags/search_inc.tpl' - ), - array( - 'description' => tra( 'Enables the addition of tags to any content' ), - ) + ], + [ + 'description' => KernelTools::tra( 'Enables the addition of tags to any content' ), + ] ); } -?> diff --git a/LibertyTag.php b/includes/classes/LibertyTag.php index d02bcad..df75c8c 100644..100755 --- a/LibertyTag.php +++ b/includes/classes/LibertyTag.php @@ -11,15 +11,17 @@ /** * required setup */ -require_once( KERNEL_PKG_CLASS_PATH.'BitBase.php' ); +namespace Bitweaver\Tags; +use Bitweaver\BitBase; +use Bitweaver\Liberty\LibertyContent; /** * @package tags */ -class LibertyTag extends LibertyBase { +class LibertyTag extends \Bitweaver\Liberty\LibertyBase { var $mContentId; - function __construct( $pContentId=NULL ) { + function __construct( $pContentId=null ) { parent::__construct(); $this->mContentId = $pContentId; } @@ -44,7 +46,7 @@ class LibertyTag extends LibertyBase { /** * Load all the tags for a given ContentId - * @param pParamHash be sure to pass by reference in case we need to make modifcations to the hash + * @param array pParamHash be sure to pass by reference in case we need to make modifcations to the hash **/ function load() { if( $this->isValid() ) { @@ -57,7 +59,7 @@ class LibertyTag extends LibertyBase { //$this->mInfo = $this->mDb->query( $query, array( $this->mContentId ) ); $result = $this->mDb->query( $query, array( $this->mContentId ) ); if ($result) { - $ret = array(); + $ret = []; while ($res = $result->fetchRow()) { //Add tag urls $res['tag_url'] = LibertyTag::getDisplayUrlWithTag($res['tag']); @@ -67,13 +69,13 @@ class LibertyTag extends LibertyBase { $this->mInfo['tags'] = $ret; } } - return( count( $this->mInfo ) ); + return count( $this->mInfo ); } function loadTag ( &$pParamHash ){ if( !empty( $pParamHash['tag_id'] ) && is_numeric( $pParamHash['tag_id'] )) { $selectSql = ''; $joinSql = ''; $whereSql = ''; - $bindVars = array(); + $bindVars = []; $whereSql .= "WHERE tg.`tag_id` = ?"; $bindVars[] = $pParamHash['tag_id']; @@ -90,7 +92,7 @@ class LibertyTag extends LibertyBase { $this->mInfo = $result; }; } - return( count( $this->mInfo ) ); + return count( $this->mInfo ); } @@ -98,13 +100,13 @@ class LibertyTag extends LibertyBase { /** * Make sure the data is safe to store * @param array pParams reference to hash of values that will be used to store the page, they will be modified where necessary - * @return bool TRUE on success, FALSE if verify failed. If FALSE, $this->mErrors will have reason why + * @return bool true on success, false if verify failed. If false, $this->mErrors will have reason why * @access private **/ - function verify( &$pParamHash ) { + public function verify( array &$pParamHash ): bool { global $gBitUser, $gBitSystem; - $pParamHash['tag_store'] = array(); - $pParamHash['tag_map_store'] = array(); + $pParamHash['tag_store'] = []; + $pParamHash['tag_map_store'] = []; if(!empty( $pParamHash['tag'])){ $pParamHash['tag_store']['tag'] = $pParamHash['tag']; @@ -113,11 +115,8 @@ class LibertyTag extends LibertyBase { // $pParamHash['tag_map_store']['tag_id'] = $pParamHash['tag_id']; $pParamHash['tag_store']['tag_id'] = $pParamHash['tag_id']; } - if( isset( $pParamHash['tagged_on']) ){ - $pParamHash['tag_map_store']['tagged_on'] = $pParamHash['tagged_on']; - } else { - $pParamHash['tag_map_store']['tagged_on'] = $gBitSystem->getUTCTime(); - } + $pParamHash['tag_map_store']['tagged_on'] = isset( $pParamHash['tagged_on']) ? $pParamHash['tagged_on'] : $gBitSystem->getUTCTime(); + if( @$this->verifyId( $pParamHash['content_id']) ){ $pParamHash['tag_map_store']['content_id'] = $pParamHash['content_id']; }/* else { @@ -129,16 +128,16 @@ class LibertyTag extends LibertyBase { $this->mErrors['user_id'] = "No user id specified."; } - return( count( $this->mErrors )== 0 ); + return count( $this->mErrors )== 0; } /* check tag exists */ function verifyTag ( &$pParamHash ){ - $ret = FALSE; + $ret = false; $selectSql = ''; $joinSql = ''; $whereSql = ''; - $bindVars = array(); + $bindVars = []; // Bounds checking on tag name length if( !empty( $pParamHash['tag'] ) && strlen( $pParamHash['tag'] ) > 64 ) { @@ -158,7 +157,7 @@ class LibertyTag extends LibertyBase { if ( $result = $this->mDb->getRow( $query, $bindVars ) ){ $pParamHash['tag_id'] = $result['tag_id']; $this->mTagId = $result['tag']; - $ret = TRUE; + $ret = true; }; return $ret; @@ -168,10 +167,9 @@ class LibertyTag extends LibertyBase { /** * @param array pParams hash of values that will be used to store the page - * @return bool TRUE on success, FALSE if store could not occur. If FALSE, $this->mErrors will have reason why - * @access public + * @return bool true on success, false if store could not occur. If false, $this->mErrors will have reason why **/ - function store( &$pParamHash ) { + public function store( array &$pParamHash): bool { if( $this->verify( $pParamHash ) ) { $this->mDb->StartTrans(); if (!empty($pParamHash['tag_store'])) { @@ -192,7 +190,7 @@ class LibertyTag extends LibertyBase { // since we use store generally in a loop of several tags we should not load here //$this->load(); } - return( count( $this->mErrors )== 0 ); + return count( $this->mErrors )== 0; } @@ -214,7 +212,7 @@ class LibertyTag extends LibertyBase { $this->mDb->CompleteTrans(); $this->loadTag( $pParamHash['tag_store'] ); } - return( count( $this->mErrors )== 0 ); + return count( $this->mErrors )== 0; } function sanitizeTag($pTag) { @@ -246,13 +244,13 @@ class LibertyTag extends LibertyBase { function verifyTagsMap( &$pParamHash ) { global $gBitUser, $gBitSystem; - $pParamHash['tag_map_store'] = array(); + $pParamHash['tag_map_store'] = []; //this is to set the time we add content to a tag. $timeStamp = $gBitSystem->getUTCTime(); //need to break up this string - $tagMixed = isset($pParamHash['tags']) ? $pParamHash['tags'] : NULL; + $tagMixed = isset($pParamHash['tags']) ? $pParamHash['tags'] : null; if( !empty( $tagMixed )){ if (!is_array( $tagMixed ) && !is_numeric( $tagMixed ) ){ $tagIds = explode( ",", $tagMixed ); @@ -282,13 +280,13 @@ class LibertyTag extends LibertyBase { } } - return ( count( $this->mErrors ) == 0 ); + return count( $this->mErrors ) == 0; } /** * @param array pParams hash includes mix of tags that will be storeded and associated with a ContentId used by service - * @return bool TRUE on success, FALSE if store could not occur. If FALSE, $this->mErrors will have reason why + * @return bool true on success, false if store could not occur. If false, $this->mErrors will have reason why * @access public **/ function storeTags( &$pParamHash ){ @@ -301,43 +299,41 @@ class LibertyTag extends LibertyBase { $this->load(); } } - return ( count( $this->mErrors ) == 0 ); + return count( $this->mErrors ) == 0; } /** * check if the mContentId is set and valid */ - function isValid() { - return( @BitBase::verifyId( $this->mContentId ) ); + public function isValid() { + return BitBase::verifyId( $this->mContentId ); } /** * This function removes a tag entry **/ - function expunge( $tag_id ) { - $ret = FALSE; + public function expungeTag( $tag_id ): void { $this->mDb->StartTrans(); $query = "DELETE FROM `".BIT_DB_PREFIX."tags_content_map` WHERE `tag_id` = ?"; - if ( $result = $this->mDb->query( $query, array( $tag_id ) ) ){ + if ( $result = $this->mDb->query( $query, [ $tag_id ] ) ){ // remove all references to tag in tags_content_map $query = "DELETE FROM `".BIT_DB_PREFIX."tags` WHERE `tag_id` = ?"; - if ( $result = $this->mDb->query( $query, array( $tag_id ) ) ) { - $ret = TRUE; + if ( $result = $this->mDb->query( $query, [ $tag_id ] ) ) { + $ret = true; }else{ //some rollback feature would be nice here } } $this->mDb->CompleteTrans(); - return $ret; } /** * This function removes all references to contentid from tags_content_map **/ function expungeContentFromTagMap(){ - $ret = FALSE; + $ret = false; if( $this->isValid() ) { $this->mDb->StartTrans(); $query = "DELETE FROM `".BIT_DB_PREFIX."tags_content_map` WHERE `content_id` = ?"; @@ -352,7 +348,7 @@ class LibertyTag extends LibertyBase { **/ function expungeMyContentFromTagMap( &$pObject ){ global $gBitUser; - $ret = FALSE; + $ret = false; if( $this->isValid() ) { $this->mDb->StartTrans(); $whereSql = ""; @@ -380,7 +376,7 @@ class LibertyTag extends LibertyBase { $result = $this->mDb->query( $query, $bind ); foreach( $pTagIdArray as $tagId ) { if( !$this->mDb->getOne( "SELECT COUNT(*) FROM `".BIT_DB_PREFIX."tags_content_map` WHERE `tag_id`=?", array( $tagId ) ) ) { - $this->expunge( $tagId ); + $this->expungeTag( $tagId ); } } $this->mDb->CompleteTrans(); @@ -408,7 +404,7 @@ class LibertyTag extends LibertyBase { function getList( &$pParamHash ) { global $gBitUser, $gBitSystem; - $bindVars = array(); + $bindVars = []; $joinSql = !empty($pParamHash['join_sql']) ? $pParamHash['join_sql'] : ''; if( !empty( $pParamHash['content_type_guid'] ) ) { @@ -459,11 +455,11 @@ class LibertyTag extends LibertyBase { $joinSql GROUP BY tg.`tag_id`,tg.`tag` ORDER BY $sort_mode"; - $result = $this->mDb->query( $query,$bindVars, ( !empty($pParamHash['max_records']) ? $pParamHash['max_records'] : NULL ) ); + $result = $this->mDb->query( $query,$bindVars, !empty($pParamHash['max_records']) ? $pParamHash['max_records'] : null ); $queryCount = "SELECT COUNT( * ) FROM `".BIT_DB_PREFIX."tags` tg"; $cant = $this->mDb->getOne( $queryCount ); - $ret = array(); + $ret = []; while ($res = $result->fetchRow()) { // this was really sucky, its now replaced by the slightly lesssucky subselect above. the subselect should prolly be replaced with a count table @@ -493,15 +489,11 @@ class LibertyTag extends LibertyBase { $cantoffset = $highcant - $lowcant; //2. ratio 10/x - if ($cantoffset > 9){ - $tagscale = 9/$cantoffset; - }else{ - //@todo make this more sophisticated if the spread is not big enough - $tagscale = 9/$cantoffset; - } + $tagscale = $cantoffset > 9 ? 9/$cantoffset : 9/$cantoffset; + //3. (n - low+1)*ratio (n is # to be scaled) foreach ($ret as $key => $row) { - $ret[$key]['tagscale'] = round((($row['tag_count'] - $lowcant) * $tagscale) + 1, 0); + $ret[$key]['tagscale'] = round(($row['tag_count'] - $lowcant) * $tagscale + 1, 0); } } @@ -512,7 +504,7 @@ class LibertyTag extends LibertyBase { array_multisort($popcant, SORT_DESC, $max_popular); $max_popular = array_slice($max_popular, 0, $pParamHash["max_popular"]); // preserve the sort requested by matching to the original list - $sorted_popular = array(); + $sorted_popular = []; foreach ( $ret as $retkey => $retrow){ foreach ( $max_popular as $key => $row){ if ( $row['tag_id'] == $retrow['tag_id'] ){ @@ -558,16 +550,16 @@ class LibertyTag extends LibertyBase { } $max_content = ( !empty( $pParamHash['max_records'] )) ? $pParamHash['max_records'] : $gBitSystem->getConfig( 'max_records' ); - $gBitSmarty->assign( 'user_id', @BitBase::verifyId( $pParamHash['user_id'] ) ? $pParamHash['user_id'] : NULL ); + $gBitSmarty->assign( 'user_id', BitBase::verifyId( $pParamHash['user_id'] ) ? $pParamHash['user_id'] : null ); // now that we have all the offsets, we can get the content list - include_once( LIBERTY_PKG_INCLUDE_PATH.'get_content_list_inc.php' ); + include_once LIBERTY_PKG_INCLUDE_PATH.'get_content_list_inc.php'; $gBitSmarty->assign( 'contentSelect', $contentSelect ); $gBitSmarty->assign( 'contentTypes', $contentTypes ); $contentListHash['parameters']['content_type_guid'] = $contentSelect; $gBitSmarty->assign( 'listInfo', $contentListHash ); - $gBitSmarty->assign( 'content_type_guids', ( isset( $pParamHash['content_type_guid'] ) ? $pParamHash['content_type_guid'] : NULL )); + $gBitSmarty->assign( 'content_type_guids', isset( $pParamHash['content_type_guid'] ) ? $pParamHash['content_type_guid'] : null ); if ( isset($pParamHash['matchtags']) && $pParamHash['matchtags'] == 'all'){ //need some sort of matching function @@ -576,8 +568,8 @@ class LibertyTag extends LibertyBase { $distinctdata = $this->array_distinct( $contentList, 'content_id' ); $distinctdata = array_merge($distinctdata); } - $gBitSmarty->assignByRef('contentList', $distinctdata); - return $contentList; + $gBitSmarty->assign('contentList', $distinctdata); + return $distinctdata; } @@ -590,15 +582,15 @@ class LibertyTag extends LibertyBase { * @param $sum_keys - columns which have to be summed - can be STRING or ARRAY (STRING, STRING[, ...]) * @param $count_key - must be STRING - count the grouped keys */ - function array_distinct ($array, $group_keys, $sum_keys = NULL, $count_key = NULL){ + function array_distinct ($array, $group_keys, $sum_keys = null, $count_key = null){ if (!is_array ($group_keys)) $group_keys = array ($group_keys); if (!is_array ($sum_keys)) $sum_keys = array ($sum_keys); - $existing_sub_keys = array (); - $output = array (); + $existing_sub_keys = []; + $output = []; foreach ($array as $key => $sub_array){ - $puffer = NULL; + $puffer = null; #group keys foreach ($group_keys as $group_key){ $puffer .= $sub_array[$group_key]; @@ -633,7 +625,7 @@ function tags_content_display( &$pObject ) { if( $gBitUser->hasPermission( 'p_tags_view' ) ) { $tag = new LibertyTag( $pObject->mContentId ); if( $tag->load() ) { - $gBitSmarty->assign( 'tagData', !empty( $tag->mInfo['tags'] ) ? $tag->mInfo['tags'] : NULL ); + $gBitSmarty->assign( 'tagData', !empty( $tag->mInfo['tags'] ) ? $tag->mInfo['tags'] : null ); } } } @@ -644,9 +636,9 @@ function tags_content_display( &$pObject ) { * filter the search with pigeonholes * @param $pParamHash['tags']['filter'] - a tag or an array of tags **/ -function tags_content_list_sql( &$pObject, &$pParamHash = NULL ) { +function tags_content_list_sql( &$pObject, &$pParamHash = null ) { global $gBitSystem; - $ret = array(); + $ret = []; if (isset($pParamHash['tags']) && !empty($pParamHash['tags'])){ /* slated for removal - makes no sense since content likely has multiple tags */ @@ -665,7 +657,7 @@ function tags_content_list_sql( &$pObject, &$pParamHash = NULL ) { } } - $tags = array(); + $tags = []; // strip off whitespace foreach( $tagIds as $value ){ // ignore empty ones created by trailing ,'s @@ -687,14 +679,14 @@ function tags_content_list_sql( &$pObject, &$pParamHash = NULL ) { return $ret; } -function tags_content_edit( $pObject=NULL ) { +function tags_content_edit( $pObject=null ) { global $gBitSystem, $gBitSmarty, $gBitUser; if( method_exists( $pObject, 'getContentType' ) && $gBitSystem->isFeatureActive( 'tags_tag_'.$pObject->getContentType()) ){ if ( $gBitSystem->isPackageActive( 'tags' )) { $tag = new LibertyTag( $pObject->mContentId ); if( $tag->load() && ($pObject->hasUserPermission( 'p_tags_create' ) || $gBitUser->hasPermission( 'p_tags_moderate' )) ) { - $tags = array(); + $tags = []; foreach ($tag->mInfo['tags'] as $t) { if ($t['tagger_id'] == $gBitUser->mUserId || $gBitUser->hasPermission('p_tags_admin') ) { $tags[] = $t['tag']; @@ -703,7 +695,7 @@ function tags_content_edit( $pObject=NULL ) { $pObject->setField( 'tags', implode(", ", $tags) ); - $gBitSmarty->assign( 'loadTags', TRUE ); + $gBitSmarty->assign( 'loadTags', true ); $gBitSmarty->assign( 'tagList', $pObject->getField( 'tags' ) ); $gBitSmarty->assign( 'tagData', $tag->getField( 'tags' ) ); } @@ -712,12 +704,13 @@ function tags_content_edit( $pObject=NULL ) { } /** - * @param includes a string or array of 'tags' and contentid for association. + * @param object source content + * @param array includes a string or array of 'tags' and contentid for association. **/ function tags_content_store( &$pObject, &$pParamHash ) { global $gBitUser, $gBitSystem; if( $gBitUser->hasPermission( 'p_tags_create' ) ) { - $errors = NULL; + $errors = null; // If a content access system is active, let's call it if( $gBitSystem->isPackageActive( 'tags' ) && isset( $pParamHash['tags'] ) ) { $tag = new LibertyTag( $pObject->mContentId ); @@ -728,7 +721,7 @@ function tags_content_store( &$pObject, &$pParamHash ) { $errors=$tag->mErrors; } } - return( $errors ); + return $errors; } } @@ -758,5 +751,3 @@ function tags_user_expunge( &$pObject ) { $pObject->mDb->CompleteTrans(); } } - -?> diff --git a/index.php b/index.php index 6171572..ac4253a 100644..100755 --- a/index.php +++ b/index.php @@ -1,6 +1,7 @@ <?php -require_once( "../kernel/includes/setup_inc.php" ); -require_once( TAGS_PKG_CLASS_PATH.'LibertyTag.php' ); +require_once "../kernel/includes/setup_inc.php"; +use Bitweaver\KernelTools; +use Bitweaver\Tags\LibertyTag; $gBitSystem->verifyPackage( 'tags' ); @@ -8,16 +9,16 @@ $gBitSystem->verifyPermission('p_tags_view'); $tag = new LibertyTag(); -$_REQUEST['max_records'] = !empty( $_REQUEST['max_records'] ) ? $_REQUEST['max_records'] : NULL; +$_REQUEST['max_records'] = !empty( $_REQUEST['max_records'] ) ? $_REQUEST['max_records'] : null; $listHash = $_REQUEST; $tagHash = $_REQUEST; -$gBitSmarty->assign( 'cloud', TRUE ); +$gBitSmarty->assign( 'cloud', true ); if( isset($_REQUEST['tags']) ){ - $pageTitle = tra( 'Tagged Content' ); + $pageTitle = KernelTools::tra( 'Tagged Content' ); if( $listData = $tag->assignContentList( $listHash ) ) { - $pageTitle .= ' '.tra( 'with' ).' '.$_REQUEST['tags']; + $pageTitle .= ' '.KernelTools::tra( 'with' ).' '.$_REQUEST['tags']; $gBitSystem->setCanonicalLink( $tag->getDisplayUrlWithTag( $_REQUEST['tags'] ) ); } else { $gBitSystem->setHttpStatus( HttpStatusCodes::HTTP_GONE ); @@ -29,6 +30,6 @@ if( isset($_REQUEST['tags']) ){ }else{ $listData = $tag->getList( $listHash ); $gBitSmarty->assign( 'tagData', $listData["data"] ); - $gBitSystem->display( 'bitpackage:tags/list_tags.tpl', tra( 'Tags' ) , array( 'display_mode' => 'display' )); + $gBitSystem->display( 'bitpackage:tags/list_tags.tpl', KernelTools::tra( 'Tags' ) , array( 'display_mode' => 'display' )); } @@ -12,37 +12,39 @@ /** * required setup */ -require_once( "../kernel/includes/setup_inc.php" ); -require_once( TAGS_PKG_CLASS_PATH.'LibertyTag.php' ); +require_once "../kernel/includes/setup_inc.php"; +use Bitweaver\Tags\LibertyTag; +use Bitweaver\KernelTools; +use Bitweaver\HttpStatusCodes; $gBitSystem->verifyPackage( 'tags' ); if( !empty( $_REQUEST['action'] ) ) { if( $_REQUEST['action'] == 'remove' && !empty( $_REQUEST['tag_id'] ) ) { if ( !$gBitUser->hasPermission('p_tags_moderate') ){ - $gBitSystem->fatalError( tra('You do not have permission to remove tags.') ); + $gBitSystem->fatalError( KernelTools::tra('You do not have permission to remove tags.') ); } $tmpTag = new LibertyTag(); $tmpTag->loadTag($_REQUEST); if( isset( $_REQUEST["confirm"] ) ) { - if( $tmpTag->expunge( $tmpTag->mInfo['tag_id'] ) ) { - bit_redirect( TAGS_PKG_URL.'list.php?status_id='.( !empty( $_REQUEST['status_id'] ) ? $_REQUEST['status_id'] : '' ) ); + if( $tmpTag->expungeTag( $tmpTag->mInfo['tag_id'] ) ) { + KernelTools::bit_redirect( TAGS_PKG_URL.'list.php?status_id='.( !empty( $_REQUEST['status_id'] ) ? $_REQUEST['status_id'] : '' ) ); } else { $feedback['error'] = $tmpTag->mErrors; } } $gBitSystem->setBrowserTitle( 'Confirm removal of '.$tmpTag->mInfo['tag'] ); - $formHash['remove'] = TRUE; + $formHash['remove'] = true; $formHash['action'] = 'remove'; - $formHash['status_id'] = ( !empty( $_REQUEST['status_id'] ) ? $_REQUEST['status_id'] : '' ); + $formHash['status_id'] = !empty( $_REQUEST['status_id'] ) ? $_REQUEST['status_id'] : ''; $formHash['tag_id'] = $_REQUEST['tag_id']; $msgHash = array( - 'label' => tra('Remove Tag'), + 'label' => KernelTools::tra('Remove Tag'), 'confirm_item' => $tmpTag->mInfo['tag'], - 'warning' => ('This will remove the above tag.'), - 'error' => tra('This cannot be undone!'), + 'warning' => 'This will remove the above tag.', + 'error' => KernelTools::tra('This cannot be undone!'), ); $gBitSystem->confirmDialog( $formHash, $msgHash ); } @@ -54,9 +56,9 @@ $listHash = $_REQUEST; $tagHash = $_REQUEST; if( isset($_REQUEST['tags']) ){ - $pageTitle = tra( 'Tagged Content' ); + $pageTitle = KernelTools::tra( 'Tagged Content' ); if( $listData = $tag->assignContentList( $listHash ) ) { - $pageTitle .= ' '.tra( 'with' ).' '.$_REQUEST['tags']; + $pageTitle .= ' '.KernelTools::tra( 'with' ).' '.$_REQUEST['tags']; $gBitSystem->setCanonicalLink( $tag->getDisplayUrlWithTag( $_REQUEST['tags'] ) ); } else { $gBitSystem->setHttpStatus( HttpStatusCodes::HTTP_GONE ); @@ -68,6 +70,5 @@ if( isset($_REQUEST['tags']) ){ }else{ $listData = $tag->getList( $listHash ); $gBitSmarty->assign( 'tagData', $listData["data"] ); - $gBitSystem->display( 'bitpackage:tags/list_tags.tpl', tra( 'Tags' ) , array( 'display_mode' => 'list' )); + $gBitSystem->display( 'bitpackage:tags/list_tags.tpl', KernelTools::tra( 'Tags' ) , array( 'display_mode' => 'list' )); } -?> diff --git a/modules/mod_tags_cloud.php b/modules/mod_tags_cloud.php index 1513fc1..6538d19 100644..100755 --- a/modules/mod_tags_cloud.php +++ b/modules/mod_tags_cloud.php @@ -8,23 +8,22 @@ /** * required setup */ -require_once( TAGS_PKG_CLASS_PATH.'LibertyTag.php' ); +use Bitweaver\Tags\LibertyTag; // moduleParams contains lots of goodies: extract for easier handling extract( $moduleParams ); -$listHash = array( - 'sort' => ( !empty( $module_params['sort'] ) ? $module_params['sort'] : NULL ), +$listHash = [ + 'sort' => ( !empty( $module_params['sort'] ) ? $module_params['sort'] : null ), 'sort_mode' => ( !empty( $module_params['sort_mode'] ) ? $module_params['sort_mode'] : 'tag_asc' ), // do not enable until getList can return max of most popular requires more sophisticated query // 'max_records' => $module_rows, - 'user' => ( !empty( $module_params['user'] ) ? $module_params['user'] : NULL ), - 'group_id' => ( @BitBase::verifyId( $module_params['group_id'] ) ? $module_params['group_id'] : NULL ), - 'max_popular' => ( !empty( $module_params['max_popular'] ) ? $module_params['max_popular'] : NULL ), -); + 'user' => ( !empty( $module_params['user'] ) ? $module_params['user'] : null ), + 'group_id' => ( \Bitweaver\BitBase::verifyId( $module_params['group_id'] ) ? $module_params['group_id'] : null ), + 'max_popular' => ( !empty( $module_params['max_popular'] ) ? $module_params['max_popular'] : null ), +]; $tag = new LibertyTag(); $listData = $tag->getList( $listHash ); -$_template->tpl_vars['modTagData'] = new Smarty_variable( $listData["data"] ); -?> +$gBitSmarty->assign( 'modTagData', $listData["data"] ); |
