0){ $bonus = array(); $bonus['points'] = $oneinvite_bonus; $bonus['art'] = 'invite'; $bonus['menge'] = 1; $bonus['name'] = $lang_mybonus['text_buy_invite']; $bonus['description'] = $lang_mybonus['text_buy_invite_note']; $results[] = $bonus; } //Tmp Invite $tmpInviteBonus = \App\Models\BonusLogs::getBonusForBuyTemporaryInvite(); if ($tmpInviteBonus > 0) { $bonus = array(); $bonus['points'] = $tmpInviteBonus; $bonus['art'] = 'tmp_invite'; $bonus['menge'] = 1; $bonus['name'] = $lang_mybonus['text_buy_tmp_invite']; $bonus['description'] = $lang_mybonus['text_buy_tmp_invite_note']; $results[] = $bonus; } //Custom Title $bonus = array(); $bonus['points'] = $customtitle_bonus; $bonus['art'] = 'title'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_custom_title']; $bonus['description'] = $lang_mybonus['text_custom_title_note']; $results[] = $bonus; //VIP Status $bonus = array(); $bonus['points'] = $vipstatus_bonus; $bonus['art'] = 'class'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_vip_status']; $bonus['description'] = $lang_mybonus['text_vip_status_note']; $results[] = $bonus; //Bonus Gift $bonus = array(); $bonus['points'] = 100; $bonus['art'] = 'gift_1'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_bonus_gift']; $bonus['description'] = $lang_mybonus['text_bonus_gift_note']; if ($basictax_bonus || $taxpercentage_bonus){ $onehundredaftertax = 100 - $taxpercentage_bonus - $basictax_bonus; $bonus['description'] .= "

".$lang_mybonus['text_system_charges_receiver']."".($basictax_bonus ? $basictax_bonus.$lang_mybonus['text_tax_bonus_point'].add_s($basictax_bonus).($taxpercentage_bonus ? $lang_mybonus['text_tax_plus'] : "") : "").($taxpercentage_bonus ? $taxpercentage_bonus.$lang_mybonus['text_percent_of_transfered_amount'] : "")."".$lang_mybonus['text_as_tax'].$onehundredaftertax.$lang_mybonus['text_tax_example_note']; } $results[] = $bonus; //No ad for 15 days $bonus = array(); $bonus['points'] = $bonusnoadpoint_advertisement; $bonus['art'] = 'noad'; $bonus['menge'] = $bonusnoadtime_advertisement * 86400; $bonus['name'] = $bonusnoadtime_advertisement.$lang_mybonus['text_no_advertisements']; $bonus['description'] = $lang_mybonus['text_no_advertisements_note']; $results[] = $bonus; //Attendance card $bonus = array(); $bonus['points'] = \App\Models\BonusLogs::getBonusForBuyAttendanceCard(); $bonus['art'] = 'attendance_card'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_attendance_card']; $bonus['description'] = $lang_mybonus['text_attendance_card_note']; $results[] = $bonus; //Rainbow ID $bonus = array(); $bonus['points'] = \App\Models\BonusLogs::getBonusForBuyRainbowId(); $bonus['art'] = 'rainbow_id'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_buy_rainbow_id']; $bonus['description'] = $lang_mybonus['text_buy_rainbow_id_note']; $results[] = $bonus; //Change username card $bonus = array(); $bonus['points'] = \App\Models\BonusLogs::getBonusForBuyChangeUsernameCard(); $bonus['art'] = 'change_username_card'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_buy_change_username_card']; $bonus['description'] = $lang_mybonus['text_buy_change_username_card_note']; $results[] = $bonus; //Donate $bonus = array(); $bonus['points'] = 1000; $bonus['art'] = 'gift_2'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_charity_giving']; $bonus['description'] = $lang_mybonus['text_charity_giving_note']; $results[] = $bonus; //Cancel hit and run $bonus = array(); $bonus['points'] = \App\Models\BonusLogs::getBonusForCancelHitAndRun(); $bonus['art'] = 'cancel_hr'; $bonus['menge'] = 0; $bonus['name'] = $lang_mybonus['text_cancel_hr_title']; $bonus['description'] = '

' . $lang_mybonus['text_cancel_hr_label'] . '

'; $results[] = $bonus; //Buy medal //migrate to medal.php since v1.8 // $medals = \App\Models\Medal::query()->where('get_type', \App\Models\Medal::GET_TYPE_EXCHANGE)->get(); // foreach ($medals as $medal) { // $results[] = [ // 'points' => $medal->price, // 'art' => 'buy_medal', // 'menge' => 0, // 'name' => $medal->name, // 'description' => sprintf( // '
%s
', // $medal->description, $medal->image_large, $medal->id // ), // 'medal_id' => $medal->id, // ]; // } return $results; // // switch ($option) // { // case 1: {//1.0 GB Uploaded // $bonus['points'] = $onegbupload_bonus; // $bonus['art'] = 'traffic'; // $bonus['menge'] = 1073741824; // $bonus['name'] = $lang_mybonus['text_uploaded_one']; // $bonus['description'] = $lang_mybonus['text_uploaded_note']; // break; // } // case 2: {//5.0 GB Uploaded // $bonus['points'] = $fivegbupload_bonus; // $bonus['art'] = 'traffic'; // $bonus['menge'] = 5368709120; // $bonus['name'] = $lang_mybonus['text_uploaded_two']; // $bonus['description'] = $lang_mybonus['text_uploaded_note']; // break; // } // case 3: {//10.0 GB Uploaded // $bonus['points'] = $tengbupload_bonus; // $bonus['art'] = 'traffic'; // $bonus['menge'] = 10737418240; // $bonus['name'] = $lang_mybonus['text_uploaded_three']; // $bonus['description'] = $lang_mybonus['text_uploaded_note']; // break; // } // case 4: {//Invite // $bonus['points'] = $oneinvite_bonus; // $bonus['art'] = 'invite'; // $bonus['menge'] = 1; // $bonus['name'] = $lang_mybonus['text_buy_invite']; // $bonus['description'] = $lang_mybonus['text_buy_invite_note']; // break; // } // case 5: {//Custom Title // $bonus['points'] = $customtitle_bonus; // $bonus['art'] = 'title'; // $bonus['menge'] = 0; // $bonus['name'] = $lang_mybonus['text_custom_title']; // $bonus['description'] = $lang_mybonus['text_custom_title_note']; // break; // } // case 6: {//VIP Status // $bonus['points'] = $vipstatus_bonus; // $bonus['art'] = 'class'; // $bonus['menge'] = 0; // $bonus['name'] = $lang_mybonus['text_vip_status']; // $bonus['description'] = $lang_mybonus['text_vip_status_note']; // break; // } // case 7: {//Bonus Gift // $bonus['points'] = 25; // $bonus['art'] = 'gift_1'; // $bonus['menge'] = 0; // $bonus['name'] = $lang_mybonus['text_bonus_gift']; // $bonus['description'] = $lang_mybonus['text_bonus_gift_note']; // if ($basictax_bonus || $taxpercentage_bonus){ // $onehundredaftertax = 100 - $taxpercentage_bonus - $basictax_bonus; // $bonus['description'] .= "

".$lang_mybonus['text_system_charges_receiver']."".($basictax_bonus ? $basictax_bonus.$lang_mybonus['text_tax_bonus_point'].add_s($basictax_bonus).($taxpercentage_bonus ? $lang_mybonus['text_tax_plus'] : "") : "").($taxpercentage_bonus ? $taxpercentage_bonus.$lang_mybonus['text_percent_of_transfered_amount'] : "")."".$lang_mybonus['text_as_tax'].$onehundredaftertax.$lang_mybonus['text_tax_example_note']; // } // break; // } // case 8: { // $bonus['points'] = $bonusnoadpoint_advertisement; // $bonus['art'] = 'noad'; // $bonus['menge'] = $bonusnoadtime_advertisement * 86400; // $bonus['name'] = $bonusnoadtime_advertisement.$lang_mybonus['text_no_advertisements']; // $bonus['description'] = $lang_mybonus['text_no_advertisements_note']; // break; // } // case 9: { // $bonus['points'] = 1000; // $bonus['art'] = 'gift_2'; // $bonus['menge'] = 0; // $bonus['name'] = $lang_mybonus['text_charity_giving']; // $bonus['description'] = $lang_mybonus['text_charity_giving_note']; // break; // } // case 10: { // $bonus['points'] = \App\Models\BonusLogs::getBonusForCancelHitAndRun(); // $bonus['art'] = 'cancel_hr'; // $bonus['menge'] = 0; // $bonus['name'] = $lang_mybonus['text_cancel_hr_title']; // $bonus['description'] = '

// ' . $lang_mybonus['text_cancel_hr_label'] . ' // //

'; // break; // } // default: break; // } // return $bonus; } $allBonus = bonusarray(); $lockSeconds = 10; $lockText = sprintf($lang_mybonus['lock_text'], $lockSeconds); if ($bonus_tweak == "disable" || $bonus_tweak == "disablesave") stderr($lang_mybonus['std_sorry'],$lang_mybonus['std_karma_system_disabled'].($bonus_tweak == "disablesave" ? "".$lang_mybonus['std_points_active']."" : ""),false); $action = htmlspecialchars($_GET['action'] ?? ''); $do = htmlspecialchars($_GET['do'] ?? null); unset($msg); if (isset($do)) { if ($do == "upload") $msg = $lang_mybonus['text_success_upload']; elseif ($do == "download") $msg = $lang_mybonus['text_success_download']; elseif ($do == "invite") $msg = $lang_mybonus['text_success_invites']; elseif ($do == "tmp_invite") $msg = $lang_mybonus['text_success_tmp_invites']; elseif ($do == "vip") $msg = $lang_mybonus['text_success_vip']."".get_user_class_name(UC_VIP,false,false,true)."".$lang_mybonus['text_success_vip_two']; elseif ($do == "vipfalse") $msg = $lang_mybonus['text_no_permission']; elseif ($do == "title") $msg = $lang_mybonus['text_success_custom_title']; elseif ($do == "transfer") $msg = $lang_mybonus['text_success_gift']; elseif ($do == "noad") $msg = $lang_mybonus['text_success_no_ad']; elseif ($do == "charity") $msg = $lang_mybonus['text_success_charity']; elseif ($do == "cancel_hr") $msg = $lang_mybonus['text_success_cancel_hr']; elseif ($do == "buy_medal") $msg = $lang_mybonus['text_success_buy_medal']; elseif ($do == "attendance_card") $msg = $lang_mybonus['text_success_buy_attendance_card']; elseif ($do == "rainbow_id") $msg = $lang_mybonus['text_success_buy_rainbow_id']; elseif ($do == "change_username_card") $msg = $lang_mybonus['text_success_buy_change_username_card']; elseif ($do == 'duplicated') $msg = $lockText; else $msg = ''; } stdhead($CURUSER['username'] . $lang_mybonus['head_karma_page']); $bonus = number_format($CURUSER['seedbonus'], 1); if (!$action) { print("\n"); print("\n"); if ($msg) print(""); ?> ". "". "". "". ""); for ($i=0; $i < count($allBonus); $i++) { $bonusarray = $allBonus[$i]; if ( ($bonusarray['art'] == 'gift_1' && $bonusgift_bonus == 'no') || ($bonusarray['art'] == 'noad' && ($enablead_advertisement == 'no' || $bonusnoad_advertisement == 'no')) || ($bonusarray['art'] == 'cancel_hr' && !\App\Models\HitAndRun::getIsEnabled()) ) { continue; } print(""); print(""); print(""); if ($bonusarray['art'] == 'title'){ //for Custom Title! $otheroption_title = ""; print(""); } elseif ($bonusarray['art'] == 'gift_1'){ //for Give A Karma Gift $otheroption = "
".$SITENAME.$lang_mybonus['text_karma_system']."
". $msg ."


()
".$lang_mybonus['col_option']."".$lang_mybonus['col_description']."".$lang_mybonus['col_points']."".$lang_mybonus['col_trade']."
".($i + 1)."

".$bonusarray['name']."

".$bonusarray['description']."

".$lang_mybonus['text_enter_titile'].$otheroption_title.$lang_mybonus['text_click_exchange']."
".number_format($bonusarray['points'])."
".$lang_mybonus['text_username']."".$lang_mybonus['text_to_be_given']."".$lang_mybonus['text_karma_points']."
".$lang_mybonus['text_message']."
"; print("

".$bonusarray['name']."

".$bonusarray['description']."

".$lang_mybonus['text_enter_receiver_name']."
$otheroption".$lang_mybonus['text_min']."100"); } elseif ($bonusarray['art'] == 'gift_2'){ //charity giving $otheroption = "
".$lang_mybonus['text_ratio_below']."".$lang_mybonus['text_and_downloaded_above']." 10 GB".$lang_mybonus['text_to_be_given']."".$lang_mybonus['text_karma_points']."
"; print("

".$bonusarray['name']."

".$bonusarray['description']."

".$lang_mybonus['text_select_receiver_ratio']."
$otheroption".$lang_mybonus['text_min']."1,000
".$lang_mybonus['text_max']."50,000"); } else { //for VIP or Upload print("

".$bonusarray['name']."

".$bonusarray['description']."".number_format($bonusarray['points']).""); } if($CURUSER['seedbonus'] >= $bonusarray['points']) { $permission = 'sendinvite'; if ($bonusarray['art'] == 'gift_1'){ print(""); } elseif ($bonusarray['art'] == 'noad'){ if ($enablenoad_advertisement == 'yes' && get_user_class() >= $noad_advertisement) print(""); elseif (strtotime($CURUSER['noaduntil']) >= TIMENOW) print(""); elseif (get_user_class() < $bonusnoad_advertisement) print(""); else print(""); } elseif ($bonusarray['art'] == 'gift_2'){ print(""); } elseif($bonusarray['art'] == 'invite') { if (\App\Models\Setting::get('main.invitesystem') != 'yes') print(""); elseif(!user_can($permission, false, 0)){ $requireClass = get_setting("authority.$permission"); print(" \App\Models\User::getClassText($requireClass)])."\" disabled=\"disabled\" />");} else print(""); } elseif($bonusarray['art'] == 'tmp_invite') { if (\App\Models\Setting::get('main.invitesystem') != 'yes') print(""); elseif(!user_can($permission, false, 0)){ $requireClass = get_setting("authority.$permission"); print(" \App\Models\User::getClassText($requireClass)])."\" disabled=\"disabled\" />");} else print(""); } elseif ($bonusarray['art'] == 'class') { if (get_user_class() >= UC_VIP) print(""); else print(""); } elseif ($bonusarray['art'] == 'title') print(""); elseif ($bonusarray['art'] == 'traffic') { if ($CURUSER['downloaded'] > 0){ if ($CURUSER['uploaded'] > $dlamountlimit_bonus * 1073741824)//Uploaded amount reach limit $ratio = $CURUSER['uploaded']/$CURUSER['downloaded']; else $ratio = 0; } else $ratio = $ratiolimit_bonus + 1; //Ratio always above limit if ($ratiolimit_bonus > 0 && $ratio > $ratiolimit_bonus){ print(""); } else print(""); } elseif ($bonusarray['art'] == 'change_username_card') { if (\App\Models\UserMeta::query()->where('uid', $CURUSER['id'])->where('meta_key', \App\Models\UserMeta::META_KEY_CHANGE_USERNAME)->exists()) { print(""); } else { print(""); } } elseif ($bonusarray['art'] == 'rainbow_id') { if (\App\Models\UserMeta::query()->where('uid', $CURUSER['id'])->where('meta_key', \App\Models\UserMeta::META_KEY_PERSONALIZED_USERNAME)->whereNull('deadline')->exists()) { print(""); } else { print(""); } } else { print(""); } } else { print(""); } print(""); print(""); } print("
"); ?>
".$lang_mybonus['text_get_by_seeding'].""); print("
    "); if ($perseeding_bonus > 0) print("
  • ".$perseeding_bonus.$lang_mybonus['text_point'].add_s($perseeding_bonus).$lang_mybonus['text_for_seeding_torrent'].$maxseeding_bonus.$lang_mybonus['text_torrent'].add_s($maxseeding_bonus).")
  • "); print("
  • ".$lang_mybonus['text_bonus_formula_one'].$tzero_bonus.$lang_mybonus['text_bonus_formula_two'].$nzero_bonus.$lang_mybonus['text_bonus_formula_wi'].get_setting('bonus.zero_bonus_factor').$lang_mybonus['text_bonus_formula_three'].$bzero_bonus.$lang_mybonus['text_bonus_formula_four'].$l_bonus.$lang_mybonus['text_bonus_formula_five']."
  • "); if ($donortimes_bonus) print("
  • ".$lang_mybonus['text_donors_always_get'].$donortimes_bonus.$lang_mybonus['text_times_of_bonus']."
  • "); print("
"); $seedBonusResult = calculate_seed_bonus($CURUSER['id']); $A = $seedBonusResult['A']; $bonusTableResult = build_bonus_table($CURUSER, $seedBonusResult, ['table_style' => 'width: 50%']); $percent = $seedBonusResult['seed_bonus'] * 100 / ($bzero_bonus + $perseeding_bonus * $maxseeding_bonus); print("
".$lang_mybonus['text_you_are_currently_getting'].round($seedBonusResult['seed_bonus'],3).$lang_mybonus['text_point'].add_s($seedBonusResult['seed_bonus']).$lang_mybonus['text_per_hour']." (A = ".round($A,1).")
"); if ($percent <= 30) $loadpic = "loadbarred"; elseif ($percent <= 60) $loadpic = "loadbaryellow"; else $loadpic = "loadbargreen"; $width = $percent * 4; print("\"".$percent."%\"
"); if ($bonusTableResult['has_medal_addition']) { print("

".$lang_mybonus['text_get_by_medal']."

"); print("
    "); print("
  • ".sprintf($lang_mybonus['medal_additional_desc'], $CURUSER['id'])."
  • "); print("
  • ".$lang_mybonus['medal_additional_factor'].$bonusTableResult['medal_addition_factor']."
  • "); print("
"); } if ($bonusTableResult['has_official_addition']) { print("

".$lang_mybonus['text_get_by_seeding_official']."

"); print("
    "); print("
  • ".$lang_mybonus['official_calculate_method']."
  • "); print("
  • ".$lang_mybonus['official_tag_bonus_additional_factor'].$bonusTableResult['official_addition_factor']."
  • "); print("
"); } if ($bonusTableResult['has_harem_addition']) { print("

".$lang_mybonus['text_get_by_harem']."

"); print("
    "); print("
  • ".sprintf($lang_mybonus['harem_additional_desc'], $CURUSER['id'])."
  • "); print("
  • ".$lang_mybonus['harem_additional_factor'].$bonusTableResult['harem_addition_factor']."
  • "); print("
  • ".$lang_mybonus['harem_additional_note']."
  • "); print("
"); } print("

".$lang_mybonus['text_bonus_summary']."

"); print '
'.$bonusTableResult['table'].'
'; print("

".$lang_mybonus['text_other_things_get_bonus']."

"); print("
    "); if ($uploadtorrent_bonus > 0) print("
  • ".$lang_mybonus['text_upload_torrent'].$uploadtorrent_bonus.$lang_mybonus['text_point'].add_s($uploadtorrent_bonus)."
  • "); if ($uploadsubtitle_bonus > 0) print("
  • ".$lang_mybonus['text_upload_subtitle'].$uploadsubtitle_bonus.$lang_mybonus['text_point'].add_s($uploadsubtitle_bonus)."
  • "); if ($starttopic_bonus > 0) print("
  • ".$lang_mybonus['text_start_topic'].$starttopic_bonus.$lang_mybonus['text_point'].add_s($starttopic_bonus)."
  • "); if ($makepost_bonus > 0) print("
  • ".$lang_mybonus['text_make_post'].$makepost_bonus.$lang_mybonus['text_point'].add_s($makepost_bonus)."
  • "); if ($addcomment_bonus > 0) print("
  • ".$lang_mybonus['text_add_comment'].$addcomment_bonus.$lang_mybonus['text_point'].add_s($addcomment_bonus)."
  • "); if ($pollvote_bonus > 0) print("
  • ".$lang_mybonus['text_poll_vote'].$pollvote_bonus.$lang_mybonus['text_point'].add_s($pollvote_bonus)."
  • "); if ($offervote_bonus > 0) print("
  • ".$lang_mybonus['text_offer_vote'].$offervote_bonus.$lang_mybonus['text_point'].add_s($offervote_bonus)."
  • "); if ($funboxvote_bonus > 0) print("
  • ".$lang_mybonus['text_funbox_vote'].$funboxvote_bonus.$lang_mybonus['text_point'].add_s($funboxvote_bonus)."
  • "); if ($ratetorrent_bonus > 0) print("
  • ".$lang_mybonus['text_rate_torrent'].$ratetorrent_bonus.$lang_mybonus['text_point'].add_s($ratetorrent_bonus)."
  • "); if ($saythanks_bonus > 0) print("
  • ".$lang_mybonus['text_say_thanks'].$saythanks_bonus.$lang_mybonus['text_point'].add_s($saythanks_bonus)."
  • "); if ($receivethanks_bonus > 0) print("
  • ".$lang_mybonus['text_receive_thanks'].$receivethanks_bonus.$lang_mybonus['text_point'].add_s($receivethanks_bonus)."
  • "); if ($adclickbonus_advertisement > 0) print("
  • ".$lang_mybonus['text_click_on_ad'].$adclickbonus_advertisement.$lang_mybonus['text_point'].add_s($adclickbonus_advertisement)."
  • "); if ($prolinkpoint_bonus > 0) print("
  • ".$lang_mybonus['text_promotion_link_clicked'].$prolinkpoint_bonus.$lang_mybonus['text_point'].add_s($prolinkpoint_bonus)."
  • "); if ($funboxreward_bonus > 0) print("
  • ".$lang_mybonus['text_funbox_reward']."
  • "); print($lang_mybonus['text_howto_get_karma_four']); if ($ratiolimit_bonus > 0) print("
  • ".$lang_mybonus['text_user_with_ratio_above'].$ratiolimit_bonus.$lang_mybonus['text_and_uploaded_amount_above'].$dlamountlimit_bonus.$lang_mybonus['text_cannot_exchange_uploading']."
  • "); print($lang_mybonus['text_howto_get_karma_five'].$uploadtorrent_bonus.$lang_mybonus['text_point'].add_s($uploadtorrent_bonus).$lang_mybonus['text_howto_get_karma_six']); ?>
= $points) { $bonusRep = new \App\Repositories\BonusRepository(); $lockName = "user:$userid:exchange:bonus"; $lock = new \Nexus\Database\NexusLock($lockName, $lockSeconds); if (!$lock->get()) { do_log("[LOCKED], $lockName, $lockText"); nexus_redirect('mybonus.php?do=duplicated'); } //=== trade for upload if($art == "traffic") { if ($CURUSER['uploaded'] > $dlamountlimit_bonus * 1073741824) { //uploaded amount reach limit if ($CURUSER['downloaded'] > 0) { $ratio = $CURUSER['uploaded']/$CURUSER['downloaded']; } else { $ratio = PHP_INT_MAX; } } else { $ratio = 0; } if ($ratiolimit_bonus > 0 && $ratio > $ratiolimit_bonus) die($lang_mybonus['text_cheat_alert']); else { $upload = $CURUSER['uploaded']; $up = $upload + $bonusarray['menge']; // $bonuscomment = date("Y-m-d") . " - " .$points. " Points for upload bonus.\n " .$bonuscomment; // sql_query("UPDATE users SET uploaded = ".sqlesc($up).", seedbonus = seedbonus - $points, bonuscomment = ".sqlesc($bonuscomment)." WHERE id = ".sqlesc($userid)) or sqlerr(__FILE__, __LINE__); $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_EXCHANGE_UPLOAD, $points. " Points for uploaded.", ['uploaded' => $up]); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=upload"); } } if($art == "traffic_downloaded") { $downloaded = $CURUSER['downloaded']; $down = $downloaded + $bonusarray['menge']; $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_EXCHANGE_DOWNLOAD, $points. " Points for downloaded.", ['downloaded' => $down]); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=download"); } //=== trade for one month VIP status ***note "SET class = '10'" change "10" to whatever your VIP class number is elseif($art == "class") { if (get_user_class() >= UC_VIP) { stdmsg($lang_mybonus['std_no_permission'],$lang_mybonus['std_class_above_vip'], 0); stdfoot(); die; } $vip_until = date("Y-m-d H:i:s",(strtotime(date("Y-m-d H:i:s")) + 28*86400)); // $bonuscomment = date("Y-m-d") . " - " .$points. " Points for 1 month VIP Status.\n " .htmlspecialchars($bonuscomment); // sql_query("UPDATE users SET class = '".UC_VIP."', vip_added = 'yes', vip_until = ".sqlesc($vip_until).", seedbonus = seedbonus - $points, bonuscomment=".sqlesc($bonuscomment)." WHERE id = ".sqlesc($userid)) or sqlerr(__FILE__, __LINE__); $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_BUY_VIP, $points. " Points for 1 month VIP Status.", ['class' => UC_VIP, 'vip_added' => 'yes', 'vip_until' => $vip_until]); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=vip"); } //=== trade for invites elseif($art == "invite") { if(!user_can('buyinvite')) die(get_user_class_name($buyinvite_class,false,false,true).$lang_mybonus['text_plus_only']); $invites = $CURUSER['invites']; $inv = $invites+$bonusarray['menge']; // $bonuscomment = date("Y-m-d") . " - " .$points. " Points for invites.\n " .htmlspecialchars($bonuscomment); // sql_query("UPDATE users SET invites = ".sqlesc($inv).", seedbonus = seedbonus - $points, bonuscomment=".sqlesc($bonuscomment)." WHERE id = ".sqlesc($userid)) or sqlerr(__FILE__, __LINE__); $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_EXCHANGE_INVITE, $points. " Points for invites.", ['invites' => $inv, ]); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=invite"); } //=== temporary invite elseif($art == "tmp_invite") { if(!user_can('buyinvite')) die(get_user_class_name($buyinvite_class,false,false,true).$lang_mybonus['text_plus_only']); // $invites = $CURUSER['invites']; // $inv = $invites+$bonusarray['menge']; // $bonuscomment = date("Y-m-d") . " - " .$points. " Points for invites.\n " .htmlspecialchars($bonuscomment); // sql_query("UPDATE users SET invites = ".sqlesc($inv).", seedbonus = seedbonus - $points, bonuscomment=".sqlesc($bonuscomment)." WHERE id = ".sqlesc($userid)) or sqlerr(__FILE__, __LINE__); $bonusRep->consumeToBuyTemporaryInvite($CURUSER['id']); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=tmp_invite"); } //=== trade for special title /**** the $words array are words that you DO NOT want the user to have... use to filter "bad words" & user class... the user class is just for show, but what the hell tongue.gif Add more or edit to your liking. *note if they try to use a restricted word, they will recieve the special title "I just wasted my karma" *****/ elseif($art == "title") { //===custom title $title = $_POST["title"]; $words = array("fuck", "shit", "pussy", "cunt", "nigger", "Staff Leader","SysOp", "Administrator","Moderator","Uploader","Retiree","VIP","Nexus Master","Ultimate User","Extreme User","Veteran User","Insane User","Crazy User","Elite User","Power User","User","Peasant","Champion"); $title = str_replace($words, $lang_mybonus['text_wasted_karma'], $title); // $bonuscomment = date("Y-m-d") . " - " .$points. " Points for custom title. Old title is ".htmlspecialchars(trim($CURUSER["title"]))." and new title is $title\n " .htmlspecialchars($bonuscomment); // sql_query("UPDATE users SET title = ".sqlesc($title).", seedbonus = seedbonus - $points, bonuscomment = ".sqlesc($bonuscomment)." WHERE id = ".sqlesc($userid)) or sqlerr(__FILE__, __LINE__); $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_CUSTOM_TITLE, $points. " Points for custom title. Old title is ".htmlspecialchars(trim($CURUSER["title"]))." and new title is $title.", ['title' => $title, ]); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=title"); } elseif($art == "noad" && $enablead_advertisement == 'yes' && $enablebonusnoad_advertisement == 'yes') { if (($enablenoad_advertisement == 'yes' && get_user_class() >= $noad_advertisement) || strtotime($CURUSER['noaduntil']) >= TIMENOW || get_user_class() < $bonusnoad_advertisement) die($lang_mybonus['text_cheat_alert']); else{ $noaduntil = date("Y-m-d H:i:s",(TIMENOW + $bonusarray['menge'])); // $bonuscomment = date("Y-m-d") . " - " .$points. " Points for ".$bonusnoadtime_advertisement." days without ads.\n " .htmlspecialchars($bonuscomment); // sql_query("UPDATE users SET noad='yes', noaduntil='".$noaduntil."', seedbonus = seedbonus - $points, bonuscomment = ".sqlesc($bonuscomment)." WHERE id=".sqlesc($userid)); $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_NO_AD, $points. " Points for ".$bonusnoadtime_advertisement." days without ads.", ['noad' => 'yes', 'noaduntil' => $noaduntil]); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=noad"); } } elseif($art == 'gift_2') // charity giving { $points = intval($_POST["bonuscharity"] ?? 0); if ($points < 1000 || $points > 50000){ stdmsg($lang_mybonus['text_error'], $lang_mybonus['bonus_amount_not_allowed_two'], 0); stdfoot(); die(); } $ratiocharity = $_POST["ratiocharity"]; if ($ratiocharity < 0.1 || $ratiocharity > 0.8){ stdmsg($lang_mybonus['text_error'], $lang_mybonus['bonus_ratio_not_allowed']); stdfoot(); die(); } if($CURUSER['seedbonus'] >= $points) { $points2= number_format($points,1); // $bonuscomment = date("Y-m-d") . " - " .$points2. " Points as charity to users with ratio below ".htmlspecialchars(trim($ratiocharity)).".\n " .htmlspecialchars($bonuscomment); $charityReceiverCount = get_row_count("users", "WHERE enabled='yes' AND 10737418240 < downloaded AND $ratiocharity > uploaded/downloaded"); if ($charityReceiverCount) { // sql_query("UPDATE users SET seedbonus = seedbonus - $points, charity = charity + $points, bonuscomment = ".sqlesc($bonuscomment)." WHERE id = ".sqlesc($userid)) or sqlerr(__FILE__, __LINE__); $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_GIFT_TO_LOW_SHARE_RATIO, $points. " Points as charity to users with ratio below ".htmlspecialchars(trim($ratiocharity)).".", ['charity' => \Nexus\Database\NexusDB::raw("charity + $points"), ]); $charityPerUser = $points/$charityReceiverCount; sql_query("UPDATE users SET seedbonus = seedbonus + $charityPerUser WHERE enabled='yes' AND 10737418240 < downloaded AND $ratiocharity > uploaded/downloaded") or sqlerr(__FILE__, __LINE__); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=charity"); } else { stdmsg($lang_mybonus['std_sorry'], $lang_mybonus['std_no_users_need_charity']); stdfoot(); die; } } } elseif($art == "gift_1" && $bonusgift_bonus == 'yes') { //=== trade for giving the gift of karma $points = $_POST["bonusgift"]; $message = $_POST["message"]; //==gift for peeps with no more options $usernamegift = sqlesc(trim($_POST["username"])); $res = sql_query("SELECT id, bonuscomment FROM users WHERE username=" . $usernamegift); $arr = mysql_fetch_assoc($res); if (empty($arr)) { stdmsg($lang_mybonus['text_error'], $lang_mybonus['text_receiver_not_exists'], 0); stdfoot(); die; } $useridgift = $arr['id']; $userseedbonus = $arr['seedbonus']; $receiverbonuscomment = $arr['bonuscomment']; if (!is_numeric($points) || $points < $bonusarray['points']) { //write_log("User " . $CURUSER["username"] . "," . $CURUSER["ip"] . " is hacking bonus system",'mod'); stdmsg($lang_mybonus['text_error'], $lang_mybonus['bonus_amount_not_allowed']); stdfoot(); die(); } if($CURUSER['seedbonus'] >= $points) { $points2= number_format($points,1); // $bonuscomment = date("Y-m-d") . " - " .$points2. " Points as gift to ".htmlspecialchars(trim($_POST["username"])).".\n " .htmlspecialchars($bonuscomment); $aftertaxpoint = $points; if ($taxpercentage_bonus) $aftertaxpoint -= $aftertaxpoint * $taxpercentage_bonus * 0.01; if ($basictax_bonus) $aftertaxpoint -= $basictax_bonus; $points2receiver = number_format($aftertaxpoint,1); $newreceiverbonuscomment = date("Y-m-d") . " + " .$points2receiver. " Points (after tax) as a gift from ".($CURUSER["username"]).".\n " .htmlspecialchars($receiverbonuscomment); if ($userid==$useridgift){ stdmsg($lang_mybonus['text_huh'], $lang_mybonus['text_karma_self_giving_warning'], 0); stdfoot(); die; } // sql_query("UPDATE users SET seedbonus = seedbonus - $points, bonuscomment = ".sqlesc($bonuscomment)." WHERE id = ".sqlesc($userid)) or sqlerr(__FILE__, __LINE__); $bonusRep->consumeUserBonus($CURUSER['id'], $points, \App\Models\BonusLogs::BUSINESS_TYPE_GIFT_TO_SOMEONE, $points2 . " Points as gift to ".htmlspecialchars(trim($_POST["username"]))); sql_query("UPDATE users SET seedbonus = seedbonus + $aftertaxpoint, bonuscomment = ".sqlesc($newreceiverbonuscomment)." WHERE id = ".sqlesc($useridgift)); //===send message $subject = sqlesc($lang_mybonus_target[get_user_lang($useridgift)]['msg_someone_loves_you']); $added = sqlesc(date("Y-m-d H:i:s")); $msg = $lang_mybonus_target[get_user_lang($useridgift)]['msg_you_have_been_given'].$points2.$lang_mybonus_target[get_user_lang($useridgift)]['msg_after_tax'].$points2receiver.$lang_mybonus_target[get_user_lang($useridgift)]['msg_karma_points_by'].$CURUSER['username']; if ($message) $msg .= "\n".$lang_mybonus_target[get_user_lang($useridgift)]['msg_personal_message_from'].$CURUSER['username'].$lang_mybonus_target[get_user_lang($useridgift)]['msg_colon'].$message; $msg = sqlesc($msg); sql_query("INSERT INTO messages (sender, subject, receiver, msg, added) VALUES(0, $subject, $useridgift, $msg, $added)") or sqlerr(__FILE__, __LINE__); $usernamegift = unesc($_POST["username"]); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=transfer"); } else{ print(""); print("

".$lang_mybonus['text_oups']."

".$lang_mybonus['text_not_enough_karma']."

"); } } elseif ($art == 'cancel_hr') { if (empty($_POST['hr_id'])) { stderr("Error","Invalid H&R ID: " . ($_POST['hr_id'] ?? ''), false, false); } $bonusRep->consumeToCancelHitAndRun($userid, $_POST['hr_id']); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=cancel_hr"); // } elseif ($art == 'buy_medal') { // if (empty($_POST['medal_id'])) { // stderr("Error","Invalid Medal ID: " . ($_POST['medal_id'] ?? ''), false, false); // } // $bonusRep->consumeToBuyMedal($userid, $_POST['medal_id']); // nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=buy_medal"); } elseif ($art == 'attendance_card') { $bonusRep->consumeToBuyAttendanceCard($userid); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=attendance_card"); } elseif ($art == 'rainbow_id') { $bonusRep->consumeToBuyRainbowId($userid); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=rainbow_id"); } elseif ($art == 'change_username_card') { $bonusRep->consumeToBuyChangeUsernameCard($userid); nexus_redirect("" . get_protocol_prefix() . "$BASEURL/mybonus.php?do=change_username_card"); } } } stdfoot(); ?>