summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlsces <lester@lsces.co.uk>2025-08-27 17:27:24 +0100
committerlsces <lester@lsces.co.uk>2025-08-27 17:27:24 +0100
commit0aa24a7f24b573fd3f19cb888dfefcdc31ae6b82 (patch)
tree0ebde514a2cbfeb6063e94717faceba7a38a9222
parentb781b829cc69b630da203ab85cdfd1dcffc7e7a3 (diff)
downloadtags-0aa24a7f24b573fd3f19cb888dfefcdc31ae6b82.tar.gz
tags-0aa24a7f24b573fd3f19cb888dfefcdc31ae6b82.tar.bz2
tags-0aa24a7f24b573fd3f19cb888dfefcdc31ae6b82.zip
Code updated to PHP8.4 and namespaceV5-php84
-rwxr-xr-x[-rw-r--r--]admin/admin_tags_inc.php86
-rw-r--r--admin/schema_inc.php46
-rwxr-xr-x[-rw-r--r--]drop_tags.php18
-rwxr-xr-x[-rw-r--r--]edit.php8
-rwxr-xr-x[-rw-r--r--]includes/bit_setup_inc.php32
-rwxr-xr-x[-rw-r--r--]includes/classes/LibertyTag.php (renamed from LibertyTag.php)139
-rwxr-xr-x[-rw-r--r--]index.php15
-rwxr-xr-x[-rw-r--r--]list.php29
-rwxr-xr-x[-rw-r--r--]modules/mod_tags_cloud.php17
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 );
-
-
-
-?>
diff --git a/edit.php b/edit.php
index 16a0d16..4e6e791 100644..100755
--- a/edit.php
+++ b/edit.php
@@ -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' ));
}
diff --git a/list.php b/list.php
index 68c948f..e20b28a 100644..100755
--- a/list.php
+++ b/list.php
@@ -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"] );