Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 06-30-2001, 10:47 PM
intellected intellected is offline
 
Join Date: Dec 2001
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What happened to the karma hack, really? The community is just dying for one (lots of people want it). How is the development going? What is happening? Will you release it at all? Will it be included in 2.1? That would be great - preferably called "user rating", since most people are not familiar with the term "karma"...

I don't mind waiting, but I DO mind wondering - I'm a curious individual, you see. Oh, pretty, pretty pleeease give us an update on how it's going!
Reply With Quote
  #2  
Old 07-01-2001, 12:25 AM
Wayne Luke's Avatar
Wayne Luke Wayne Luke is offline
Senior Member
 
Join Date: Jan 2002
Location: Southern California
Posts: 1,694
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Business needs have dictated that I not pursue the Karma hack for my own purposes.

Instead we are developing a new system that will be used as a form of electronic currency in our forum for our members. As such it is not a user rating related feature anymore. Now SitePoint members will earn points (SitePoints, if you will) for contributing to the community. As time goes on they will be able to turn these points in for added member bonuses and discounts on products.

As such, I won't be persuing a simple "Karma" hack anymore. However here is the code that was used for the previous version of the hack. I converted this to PHP after looking at the PERL version written for UBB.

PHP Code:
<?php

require("global.php");
  
$permissions=getpermissions($bbuserid,$bbusergroupid);
  if (
$permissions[canreply]!=1) {
    eval(
"echo dovars(\"".gettemplate("karma_nopermission")."\");");
    exit;
  }

// ############################### Start Karma ###############################
if ($action=="karma") {
  
//Make sure a user can't give karma on their own posts.
  
if ($posterid==$bbuserid) {
    
$points=$DB_site->query_first("Select karma from user where userid=$bbuserid");
    
$karmicavg=$DB_site->query_first("SELECT SUM(rank) as netrank from karma where postid=$postid");
    
$karmicbal=$karmicavg[netrank];
    
$karma=$points[karma];
    if (
$karmicbal>0) {
      
$karmicmsg="Your Karma on this post is positive.";
    } elseif (
$karmicbal<0) {
      
$karmicmsg="Your Karma on this post is negative.";
    } elseif (
$karmicbal==|| $karmicbal==NULL) {
      
$karmicmsg="There is no Karma on this post.";
    }
    eval(
"echo dovars(\"".gettemplate("karma_show")."\");");
    exit;
  }
  
// Make Sure Karma is only given once per post.
  
$karmaexists=$DB_site->query_first("Select count(*) as count from karma where userid=$bbuserid and postid=$postid");
  if (
$karmaexists[count]<>0) {
    eval(
"echo dovars(\"".gettemplate("karma_exists")."\");");
    exit;
  }

  
$userinfo=$DB_site->query_first("SELECT user.userid,post.userid as posterid,user.username as username
                                   FROM user LEFT JOIN post ON (user.userid = post.userid)
                                   WHERE post.postid=
$postid");
  
$postname=$userinfo[username];
  
$posterid=$userinfo[posterid];
  
$userid=$bbuserid;
  eval(
"echo dovars(\"".gettemplate("karma")."\");");
  exit;
}

// ############################### Update Karma ###############################
if ($action=="alter") {
 if (
$comments=="No Comment") {
   
$comments="";
 }

 
$posterinfo=$DB_site->query_first("SELECT karma from user where userid=$posterid");
 
$karma=$posterinfo[karma];
 
$userinfo=$DB_site->query_first("SELECT posts from user where userid=$userid");
 
$posts=$userinfo[posts];
 if (
$posts 1499)
   { 
$karmaaward=15; }
 elseif (
$posts 199)
   { 
$karmaaward=floor($posts/100); }
 else
   { 
$karmaaward=1; }

 
$rank=0;
 if (
$adjust=="praise")
   {
$karma += $karmaaward;$rank += $karmaaward;}
 else
   {
$karma -= $karmaaward;$rank -= $karmaaward;}
 if (
$karma $maxkarma)
   {
$karma $maxkarma;}
 if (
$karma $minkarma)
   {
$karma $minkarma;}
 
$DB_site->query("UPDATE user SET karma=$karma where userid=$posterid");
 
$DB_site->query("INSERT INTO karma (postid,userid,rank,comments,posterid) VALUES ($postid,$userid,$rank,'".addslashes($comments)."',$posterid)");
 
//$DB_site->query("INSERT INTO karma (postid,userid,rank) VALUES ($postid,$userid,$rank)");
 
eval("echo dovars(\"".gettemplate("karma_close")."\");");
 exit;
}

// ############################### Karma Help###############################
if ($action="help") {
    eval(
"echo dovars(\"".gettemplate("karma_help")."\");");
    exit;
  }

// ############################### View Comments ###############################
if ($action=="comments") {
  exit;
}
?>
Reply With Quote
  #3  
Old 07-01-2001, 12:35 AM
intellected intellected is offline
 
Join Date: Dec 2001
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Capitalist swine!

heh - I'm glad we had it cleared up, though.
Well, I guess it won't be hard to implement on your own - I guess I have to do it myself - tinker a bit with this perl code and the stars hack, I guess.
Reply With Quote
  #4  
Old 07-01-2001, 01:26 AM
Steve Machol's Avatar
Steve Machol Steve Machol is offline
 
Join Date: Nov 2001
Posts: 1,896
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

[QUOTE]Originally posted by intellected
Capitalist swine!
Reply With Quote
  #5  
Old 07-01-2001, 02:21 AM
Tic Tac
Guest
 
Posts: n/a
Default

so can someone else do the karma hack and make it available for vB 2.0x ? if someone else could look at that php code and change it (if needed) and throw it into a zip and readme then distribute it as a hack.. that would be great!

Tic Tac
Reply With Quote
  #6  
Old 07-01-2001, 11:39 AM
intellected intellected is offline
 
Join Date: Dec 2001
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm not a PHP guru at all (just a few months of training) but a karma hack really cannot be THAT hard. I'll give it a shot. I'll develop it for my own site, but will do my best to make it easy to implement on others.
Reply With Quote
  #7  
Old 07-06-2001, 08:22 PM
Assassin 989
Guest
 
Posts: n/a
Default

Can dis work for VB?Just curious....
Reply With Quote
  #8  
Old 07-06-2001, 08:40 PM
Wayne Luke's Avatar
Wayne Luke Wayne Luke is offline
Senior Member
 
Join Date: Jan 2002
Location: Southern California
Posts: 1,694
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Assassin 989
Can dis work for VB?Just curious....
The code above was written for vBUlletin 1.1.4
Reply With Quote
  #9  
Old 07-13-2001, 04:17 AM
YouDunnoMe197
Guest
 
Posts: n/a
Default

Quote:
Originally posted by wluke


The code above was written for vBUlletin 1.1.4
Would it be possible to tailor that for a 2.0.1 vb? I'd really appreciate it since we're upgrading from a ubb with the karma hack, and we don't want the moderators to lose any power over reprimanding the members outside of their forum. If not, I understand, if so, I'd appreciate it.

Btw, where would you enter that code at, and in which file?

Thank you again
Reply With Quote
  #10  
Old 07-13-2001, 06:07 AM
Wayne Luke's Avatar
Wayne Luke Wayne Luke is offline
Senior Member
 
Join Date: Jan 2002
Location: Southern California
Posts: 1,694
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It could be editted for vB 2.0.1 but I have already stated that I don't have time to do it and my own "rewards" program is much mroe than a Karma hack and probably won't be released to the public.

This does require a database table and a few templates as well. The code above goes in its own file. This is different from the UBB hack though because it doesn't ban users and it is available to all members not just moderators.
Reply With Quote
Reply


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 04:32 AM.


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.04781 seconds
  • Memory Usage 2,279KB
  • 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
  • (1)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (7)postbit_onlinestatus
  • (10)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete