Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 01-31-2010, 03:15 PM
bartek24m bartek24m is offline
 
Join Date: Nov 2005
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default kill tags in tags.php page - my small mod

I would like delete (vb 3.8.4) tags the same way like it is in zoints thread tags mod,


so i wrote small hack but it not works. Could someone check it?

in

tag_cloud_link
template
find
Code:
<a href="tags.php?$session[sessionurl]tag=$thistag[tagtext_url]" class="tagcloudlink level$thistag[level]">$thistag[tagtext]</a>
change to
Code:
<a href="tags.php?$session[sessionurl]tag=$thistag[tagtext_url]" class="tagcloudlink level$thistag[level]">$thistag[tagtext]</a> 
<if condition="is_member_of($bbuserinfo,5,6,7)">
<font size="1">[<a href="tags.php?do=tagkill&tag=$thistag[tagtext]">x</a>]</font>
</if>
when i try to click in [x] i can see white page
Reply With Quote
  #2  
Old 01-31-2010, 05:07 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

And what is actually showing up in the page source? And did you create a plugin to define do=tagkill ?
Reply With Quote
  #3  
Old 01-31-2010, 05:19 PM
bartek24m bartek24m is offline
 
Join Date: Nov 2005
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

no i didnt set up plugin for tagkill
could you help me with create plugin ?
Reply With Quote
  #4  
Old 01-31-2010, 05:33 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you need someone else to write the code for you, you should post in the Modification Request forum (either paid or unpaid). If you look at the regular tags list for a thread and go to Edit the tags, you'll see that it doesn't use that page to delete tags, it uses the threadtag.php page. So, you may want to look at that page and see what you need to do to delete a tag.
Reply With Quote
  #5  
Old 01-31-2010, 05:59 PM
bartek24m bartek24m is offline
 
Join Date: Nov 2005
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, next time i'll create threads in proper forum


in admincp/thread.php i found:

Code:
// ########################################################################

if ($_POST['do'] == 'tagkill')
{
	if (sizeof($taglist))
	{
		$tags_result = $vbulletin->db->query_read("
			SELECT tagtext
			FROM " . TABLE_PREFIX . "tag
			WHERE tagid IN (" . implode(',', $taglist) . ")
		");

		$tagstodelete = array();
		while ($tag = $vbulletin->db->fetch_array($tags_result))
		{
			$tagstodelete[] = $tag['tagtext'];
		}
		unset($tag);

		if (!empty($tagstodelete))
		{
			require_once(DIR . "/includes/functions_newpost.php");

			$threads_result = $vbulletin->db->query_read("
				SELECT DISTINCT thread.*
				FROM " . TABLE_PREFIX . "tagthread AS tagthread
				INNER JOIN " . TABLE_PREFIX . "thread AS thread ON (thread.threadid = tagthread.threadid)
				WHERE tagthread.tagid IN (" . implode(',', $taglist) . ")
			");
			while ($thread = $vbulletin->db->fetch_array($threads_result))
			{
				$newtags = array();
				foreach (explode(',', trim($thread['taglist'])) AS $oldtag)
				{
					$oldtag = trim($oldtag);
					if (!in_array($oldtag, $tagstodelete))
					{
						$newtags[] = $oldtag;
					}
				}

				$newtags_string = implode(', ', $newtags);

				if ($newtags_string != $thread['taglist'])
				{
					// if efficiency is needed, this could be changed to a direct query
					$threaddm =& datamanager_init('Thread', $vbulletin, ERRTYPE_SILENT, 'threadpost');
					$threaddm->set_existing($thread);
					$threaddm->set('taglist', $newtags_string);
					$threaddm->save();

					unset($threaddm);
				}
			}
		}

		$db->query_write("
			DELETE FROM " . TABLE_PREFIX . "tag
			WHERE tagid IN (" . implode(',', $taglist) . ")
		");

		$db->query_write("
			DELETE FROM " . TABLE_PREFIX . "tagthread
			WHERE tagid IN (" . implode(',', $taglist) . ")
		");

		// need to invalidate the search and tag cloud caches
		build_datastore('tagcloud', '', 1);
		build_datastore('searchcloud', '', 1);
	}

	setcookie('vbulletin_inlinetag', '', TIMENOW - 3600, '/');

	print_cp_header($vbphrase['thread_manager']);
	print_stop_message('tags_edited_successfully');
}

// ########################################################################

and i paste it in

tags.php


but my mod still not work
Reply With Quote
  #6  
Old 01-31-2010, 07:25 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

And what error are you getting? And why didn't you just change the link to thread.php instead of tags.php? And, you never answered my question about the link in the page source.
Reply With Quote
  #7  
Old 02-01-2010, 05:43 AM
bartek24m bartek24m is offline
 
Join Date: Nov 2005
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
And what error are you getting? And why didn't you just change the link to thread.php instead of tags.php? And, you never answered my question about the link in the page source.
link in the page source is
Code:
<font size="1">[<a rel="nofollow" href="http://mydomain.pl/tags/2pac.html?do=tagkill">x</a>]</font>
(I use vbseo)


and error i get after add PHP code to tags.php

Code:
Fatal error: Call to undefined function print_cp_header() in /home/kredyciak/domains/mydomain.pl/public_html/tags.php on line 147
Reply With Quote
  #8  
Old 02-01-2010, 11:53 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You are trying to add code that will only work in the AdminCP to a user script.

PS Editing the ./tags.php to add a delete function is probably not what you want. If needed create a new file to hold this function.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:13 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04459 seconds
  • Memory Usage 2,227KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (5)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete