View Single Post
  #1 (permalink)  
Old 03-07-2007, 11:35 AM
eH9116 eH9116 is offline
Casual Pligger
 
Join Date: Jan 2007
Posts: 50
Downloads: 5
Uploads: 0
Thanks: 4
Thanked 32 Times in 7 Posts
Spam Report Button w/ Inaccurate Story Label

I know this is one feature that has been requested for a while and I know that Ash is apparently working on or finished with something similar. Since I am not an outstanding PHP programmer by any means, you will be REPLACING THE "TELL A FRIEND" FUNCTION. If you're cool with that, then this is for you. After it has been reported as spam, there will be text shown before the story summary: [Reported as inaccurate] and when you visit the story itself it will be above the header in red.
Example: http://strandalo.us/ , look at the first link and click on the story to see what shows up.

1. Ok, first thing you need to do: convert one of the extra link_field's to INT. I used link_field9 for no particular reason, but you can use whichever you want. Go into your "pligg_links" table and edit the STRUCTURE of link_field9 to be, TYPE: INT, LENGTH: 11, DEFAULT: 0 and save it.

2. Open up /recommend.php. Add the following lines:

Line 80, find $to = ""; and replace it with:

Code:
$db->query("UPDATE " . table_links . " set link_field9=link_field9+1 WHERE link_id=$link->id");
$to = "spambot@yourdomain.com";
change the email address to wherever you want the notifications sent.

Line 101, find $subject = Email_Subject . $link->title; and change it to:

Code:
$subject = '"' . $link->title . '" - ' . $_REQUEST['email_message'];
Line 108, find $body = $message . "\r\n" . Incl.... and replace with:

Code:
$body = "URL: " . $link_url . "\nTitle: " . $link->title . "\nDescription: " .  $link->content . "\nUser: " . $current_user->user_login;
3. Ok, now open /templates/yourtemplate/recommend_small.tpl and replace the entire code with the following:

Code:
<form name="email_to" method="get" action="{$my_base_url}{$my_pligg_base}/recommend.php">
  <fieldset style="width: 100px;">
  <legend>Report Spam</legend>
  <input type="text" style="display:none" readonly="readonly" name="email_address_1" size = "25" id="email_address_1_{$link_shakebox_index}" value="spambot@strandalo.us">
  <p>Type:</p>
  <select name="email_message{$link_shakebox_index}" id="email_message{$link_shakebox_index}">
  <option value="Spam">Spam 
  <option value="Duplicate">Duplicate 
  <option value="Unreleased">Unreleased 
  <option value="Wrong Platform">Wrong Platform
  <option value="Incorrect Date">Incorrect Release Date
  <option value="Other">Other Inaccurate Information
  </select>
  <!--<textarea readonly="readonly" name="email_message{$link_shakebox_index}" id="email_message{$link_shakebox_index}" cols="19" rows="1">User: {$user_logged_in}</textarea>-->
  <input type="button" name="email_to_submit" value="Submit" onclick="emailto({$link_id}, {$link_shakebox_index}, '{$instpath}', 1);" class="log2">
  </fieldset>
</form>
You will want to edit the code to your liking, but what this does is create a drop down box of choices for the user to report the link as. Obviously, you should remove or add any <option value="... tags as you want, but I wouldn't change much else.

4. Open templates/yourtemplate/link_summary.tpl and add the following code on Line 2:

Code:
{if $pagename eq "story" && $link_field9 neq 0}
<br /><a style="padding:5px;border:1px solid #FF0000;font-size:18px;color:#FF0000;"><img STYLE="position:relative; TOP:8px;" src="/templates/digitalnature/images/cross.png">&nbsp;Game was reported as possible spam, a duplicate, or inaccurate!</a><br /><br />
{/if}
If you want the text only to show up when a certain number of users have designated it as spam, change the "neq 0" to something like "> 3" so it will only display when more than 3 people have claimed it as spam. Also notice the cross.png file that I have used, you can either borrow mine or remove the cross, also be sure to change the text to fit your site.

On Line 92, before {if $isadmin eq "yes" .... put the following:

Code:
<span id="spam"> | <a style="color:#d01c23" href="javascript://" onclick="show_hide_user_links(document.getElementById('spam-{$link_shakebox_index}'));">Spam!</a>
</span>
at Line 105, between </span> and <span id="ls_adminlinks-{$li..., put the following code:

Code:
{if $user_logged_in neq ""}
		
		<span id="spam-{$link_shakebox_index}" style="display:none;">
		  &raquo; <a href="javascript://" onclick="show_recommend({$link_id}, {$link_id}, '{$instpath}');">Report Spam</a>		 	  
		 </span>
		{else}
		
		<span id="spam-{$link_shakebox_index}" style="display:none;">
		  &raquo; You must be logged in.		 	  
		 </span>
		{/if}

then goto Line 193, where it says {if $Enable_Recommend eq 1} and remove everything from that line to the line before {if $story_status ne 'di...., so you should now have at Line 193:

Code:
{if $Enable_AddTo eq 1}
  			| <a href="javascript://" onclick="var replydisplay=document.getElementById('addto-{$link_id}').style.display ? '' : 'none';document.getElementById('addto-{$link_id}').style.display = replydisplay;">{#PLIGG_Visual_LS_AddThisLinkTo#}</a>
{/if}	
{if $story_status ne 'discard' && $link_shakebox_currentuser_votes eq 0 && $link_shakebox_currentuser_reports eq 0}
     {if ....
Now, go back to about Line 131 where you will find {checkActionsTpl location="tpl_link_summary_pre_story_content"}, directly after that put the following:

Code:
{if $link_field9 neq 0 && $pagename neq "story"}<b>[Reported as possible Spam/Duplicate/Inaccurate]</b>{/if}
It should be noted that you can change the "neq 0" to ">3" so that it will only show up when more than 3 people have reported it as spam.

You don't need to worry about enabling link_field9 in extra_fields.php, so that should be it! A couple of notes:

- The format of the email can be changed in recommend.php to your liking.
- If something is reported falsely as spam, be sure to edit the value of link_field9 back to 0 in "pligg_links" or maybe -1000 if people are insisting that it is spam.
- This works on Pligg Beta 9 with the DigitalNature template. I am not sure how well it will work on other versions and other templates, but I would imagine it should not be too much of a problem, it can't hurt to try it out, just backup your files first and post here to let me know what works/doesn't!

I will include the three files that I have edited below: "recommend.php" and "recommend_small.tpl" should be exactly as edited above, so feel free to use those two files, but only use "link_summary.tpl" for REFERENCE because I have made many other changes to it that you may not want. Simply make changes to YOUR link_summary.tpl file in step 4 of my process. Be sure to MAKE BACKUPS of these 3 files before you do this and I hope you enjoy it! Please leave any comments or feedback as it is possible that I have left something out since it is a lot of changes and I may have missed one. Enjoy!
Attached Files
File Type: zip Spam.zip (5.9 KB, 41 views - Who Downloaded?)

Last edited by eH9116 : 03-07-2007 at 11:41 AM.
Reply With Quote
The Following 8 Users Say Thank You to eH9116 For This Useful Post:
Sponsored Links
Check out the New Templates at the Pligg Pro Shop.