summaryrefslogtreecommitdiff
path: root/list.php
blob: 0950a5210155a38cb209c8ef6b8ebce3d2f823f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
/**
 * @version $Header$
 * @package tags
 * @subpackage functions
 * 
 * @copyright Copyright (c) 2004-2006, bitweaver.org
 * 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.
 */

/**
 * required setup
 */
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( KernelTools::tra('You do not have permission to remove tags.') );
		}

		$tmpTag = new LibertyTag();
		$tmpTag->loadTag($_REQUEST);

		if( isset( $_REQUEST["confirm"] ) ) {
			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['action'] = 'remove';
		$formHash['status_id'] = !empty( $_REQUEST['status_id'] ) ? $_REQUEST['status_id'] : '';
		$formHash['tag_id'] = $_REQUEST['tag_id'];
		$msgHash = [
			'label' => KernelTools::tra('Remove Tag'),
			'confirm_item' => $tmpTag->mInfo['tag'],
			'warning' => 'This will remove the above tag.',
			'error' => KernelTools::tra('This cannot be undone!'),
		];
		$gBitSystem->confirmDialog( $formHash, $msgHash );
	}
}

$tag = new LibertyTag();

$listHash = $_REQUEST;
$tagHash = $_REQUEST;

if( isset($_REQUEST['tags']) ){
	$pageTitle = KernelTools::tra( 'Tagged Content' );
	if( $listData = $tag->assignContentList( $listHash ) ) {
		$pageTitle .= ' '.KernelTools::tra( 'with' ).' '.$_REQUEST['tags'];
		$gBitSystem->setCanonicalLink( $tag->getDisplayUrlWithTag( $_REQUEST['tags'] ) );
	} else {
		$gBitSystem->setHttpStatus( HttpStatusCodes::HTTP_GONE );
	}
	$tagData = $tag->getList( $tagHash );
	$gBitSmarty->assign( 'tagData', $tagData["data"] );
	$gBitSmarty->assign( 'tagsReq', $_REQUEST['tags'] );
	$gBitSystem->display( 'bitpackage:tags/list_content.tpl', $pageTitle, [ 'display_mode' => 'list' ]);
}else{
	$listData = $tag->getList( $listHash );
	$gBitSmarty->assign( 'tagData', $listData["data"] );
	$gBitSystem->display( 'bitpackage:tags/list_tags.tpl', KernelTools::tra( 'Tags' ) , [ 'display_mode' => 'list' ]);
}