execute("SELECT COUNT(*) AS `total` FROM `db_accountuser`;"); return $rs->fields["total"]; } /* add new account */ public function addNewAccount($_dsp = '', $entry_id = '', $db_id = '') { global $class_filter, $language, $db, $cfg; $pk_html = null; /* process new account */ if ($_POST and $_GET["do"] == 'add') { $process = self::processNewAccount(); $form = VArraySection::getArray("new_user"); $usr_name = $form[0]["usr_user"]; $usr_pass = $form[0]["usr_password"]; $usr_pass_conf = $form[0]["usr_password_conf"]; $usr_email = $form[0]["usr_email"]; $email_ignore = intval($_POST["ignore_email"]); $usr_pk = $form[0]["pk_id"]; } /* packages select list */ if ($cfg["paid_memberships"] == 1) { $pk_res = $db->execute("SELECT `pk_id`, `pk_name` FROM `db_packtypes` WHERE `pk_active`='1' ORDER BY `pk_id`;"); if ($pk_res->fields["pk_id"]) { $pk_html = ''; } } /* new account layout */ $_init = VbeEntries::entryInit($_dsp, $db_id, $entry_id); $_sct = 'new_user'; $_dsp = $_init[0]; $_btn = $_init[1]; $_lnk = $_GET["do"] == 'add' ? ' ' . $language["frontend.global.or"] . ' ' . $language["frontend.global.lowercancel"] . '' : null; $_btn = VGenerate::simpleDivWrap('left-float', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button ' . ($_GET["do"] == 'add' ? 'new-entry' : 'update-entry'), '', $entry_id, ($_GET["do"] == 'add' ? $language["frontend.global.savenew"] : $language["frontend.global.saveupdate"])), 'display: inline-block-off;') . $_lnk; $_btn = null; $html .= '
'; $html .= '
'; $html .= '
'; $html .= VGenerate::simpleDivWrap('row', '', '' . $language["frontend.global.inactive"]); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'account_new_username', 'backend-text-input wd300', $usr_name); $html .= VGenerate::sigleInputEntry('password', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'account_new_password', 'backend-text-input wd300', $usr_pass); $html .= VGenerate::sigleInputEntry('password', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'account_new_password_conf', 'backend-text-input wd300', $usr_pass_conf); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'frontend_global_email', 'backend-text-input wd300', $usr_email); $html .= VGenerate::simpleDivWrap('icheck-box', '', ''); $html .= $pk_html != '' ? VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', '' . $language["frontend.global.required"]) . VGenerate::simpleDivWrap('left-float lh20 selector', '', $pk_html)) : null; $html .= '
'; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', ' ') . VGenerate::simpleDivWrap('left-float lh20', '', $_btn)); $html .= VGenerate::simpleDivWrap('row right-align no-top-padding right-padding20', '', $language["frontend.global.required.items"]); $html .= '
'; $html .= VGenerate::declareJS('$(function(){SelectList.init("account_new_pack_' . ((int) $db_id) . '");});'); return $html; } /* processing new account */ public function processNewAccount() { global $class_database, $class_filter, $db, $language, $cfg; $form = VArraySection::getArray("new_user"); $allowedFields = $form[1]; $requiredFields = $form[2]; /* check empty fields */ $error_message = VForm::checkEmptyFields($allowedFields, $requiredFields); if ($error_message != '') { echo VGenerate::noticeTpl('', $error_message, ''); } /* more checks */ if ($error_message == '') { $email_check = new VValidation; $hasher = new VPasswordHash(8, false); $usr_name = $form[0]["usr_user"]; $usr_pass = $form[0]["usr_password"]; $usr_pass_conf = $form[0]["usr_password_conf"]; $usr_email = $form[0]["usr_email"]; $email_ignore = intval($_POST["ignore_email"]); $usr_pk = $form[0]["pk_id"]; /* username check */ $error_message = $usr_name == '' ? $language["frontend.signup.ucheck.invalid"] : null; /* username check */ $error_message = (!VUserinfo::usernameVerification($usr_name) and $error_message == '') ? $language["notif.error.invalid.user"] : $error_message; //check for password match $error_message = (md5($usr_pass) != md5($usr_pass_conf) and $error_message == '') ? $language["notif.error.pass.nomatch"] : $error_message; //check for valid email format $error_message = (!$email_check->checkEmailAddress($usr_email) and $error_message == '') ? $language["frontend.signup.email.invalid"] : $error_message; //check for email domain restriction $error_message = ($cfg["signup_domain_restriction"] == 1 and $error_message == '' and !VIPaccess::emailDomainCheck($usr_email)) ? $language["notif.error.nodomain"] : $error_message; //check for existing registered email $error_message = ($email_ignore == 0 and VUserinfo::existingEmail($usr_email) and $error_message == '') ? $language["notif.error.existing.email"] : $error_message; /* show error message */ if ($error_message != '') { echo VGenerate::noticeTpl('', $error_message, ''); } /* no more errors, add a new account */ if ($error_message == '') { $usr_key = VUserinfo::generateRandomString(10); $enc_pass = $class_filter->clr_str($hasher->HashPassword($usr_pass)); /* permissions array */ $perm_arr = array( "perm_upload_v" => 1, "perm_upload_s" => 1, "perm_upload_i" => 1, "perm_upload_a" => 1, "perm_upload_d" => 1, "perm_upload_b" => 1, "perm_upload_l" => 1, "perm_view_v" => 1, "perm_view_s" => 1, "perm_view_i" => 1, "perm_view_a" => 1, "perm_view_d" => 1, "perm_view_b" => 1, "perm_view_l" => 1, "perm_live_chat" => 1, "perm_live_vod" => 1, "perm_embed_single" => 1, "perm_embed_yt_video" => 0, "perm_embed_yt_channel" => 0, "perm_embed_dm_video" => 0, "perm_embed_dm_user" => 0, "perm_embed_mc_video" => 0, "perm_embed_mc_user" => 0, "perm_embed_vi_user" => 0, ); /* channel info arrays */ $ch_cfg = serialize(array( "ch_visible" => 1, "ch_m_comments" => 1, "ch_m_friends" => 1, "ch_m_channels" => 1, "ch_m_events" => 1, "ch_m_activity" => 1, "ch_m_subscribers" => 1, "ch_m_subscriptions" => 1, "ch_m_followers" => 1, "ch_m_following" => 1, "ch_v_upfiles" => 1, "ch_v_favorites" => 1, "ch_v_playlists" => 1, "ch_v_all" => 1, "ch_m_home" => 1, "ch_m_videos" => 1, "ch_m_shorts" => 1, "ch_m_live" => 1, "ch_m_images" => 1, "ch_m_audios" => 1, "ch_m_documents" => 1, "ch_m_blogs" => 1, "ch_m_playlists" => 1, "ch_m_discussion" => 1, "ch_m_about" => 1, "ch_v_layout" => "player", "ch_v_content" => "all", "ch_v_default" => "video", "ch_v_featured" => "", "ch_v_autoplay" => 0, "ch_v_pl_ids" => "", "ch_ev_expired" => 1, "ch_ev_map" => 0, "ch_comm_perms" => "free", "ch_comm_spam" => "yes", )); $ch_pfields = serialize(array( "profile_edit_name" => 0, "profile_edit_total" => 0, "profile_edit_age" => 0, "profile_edit_last" => 0, "profile_edit_subs" => 0, "profile_edit_infl" => 0, "profile_edit_style" => 0, "profile_edit_descr" => 0, "profile_edit_about" => 0, "profile_edit_site" => 0, "profile_edit_town" => 0, "profile_edit_country" => 0, "profile_edit_occup" => 0, "profile_edit_companies" => 0, "profile_edit_school" => 0, "profile_edit_interes" => 0, "profile_edit_movies" => 0, "profile_edit_music" => 0, "profile_edit_books" => 0, )); $ch_rownum = serialize(array("r_friends" => 2, "r_subscribers" => 2, "r_subscriptions" => 2, "r_activity" => 10)); /* user array */ $ins_array1 = array( "usr_key" => $usr_key, "usr_user" => $usr_name, "usr_password" => $enc_pass, "usr_email" => $usr_email, "usr_emailextras" => 0, "usr_joindate" => date("Y-m-d H:i:s"), "usr_IP" => $class_filter->clr_str($_SERVER[REM_ADDR]), "usr_theme" => "light", "usr_perm" => serialize($perm_arr), "usr_verified" => 1, "usr_active" => 1, "usr_status" => 1, "usr_birthday" => "", "usr_gender" => "", "usr_country" => "", "usr_photo" => "file", "usr_dname" => $usr_name, "ch_user" => $usr_name, "ch_cfg" => $ch_cfg, "ch_pfields" => $ch_pfields, "ch_rownum" => $ch_rownum, ); $account_q = $class_database->doInsert('db_accountuser', $ins_array1); $user_id = $db->Insert_ID(); if ($user_id > 0) { /* create user folders */ VSignup::createUserFolders($usr_key); /* activity tracking */ if ($cfg["activity_logging"] == 1) { $db->execute(sprintf("INSERT INTO `db_trackactivity` SET `usr_id`='%s';", $user_id)); } /* set paid or free subscription */ if ($cfg["paid_memberships"] == 1) { $q = $db->execute(sprintf("INSERT INTO `db_packusers` SET `usr_id`='%s';", $user_id)); $q = $db->execute(sprintf("SELECT `pk_price`, `pk_period` FROM `db_packtypes` WHERE `pk_id`='%s' LIMIT 2;", $usr_pk)); switch ($q->fields["pk_price"]) { case "":break; case "0": $expire_time = date("Y-m-d H:i:s", strtotime("+" . $q->fields["pk_period"] . " day")); $sub_usage = VPayment::updateFreeUsage($user_id); $sub_update = VPayment::updateFreeAccount($usr_pk, $expire_time, $user_id); break; default: $expire_time = date("Y-m-d H:i:s", strtotime("+" . $q->fields["pk_period"] . " day")); $db->execute(sprintf("UPDATE `db_accountuser`, `db_packusers` SET `db_packusers`.`pk_id`='%s', `db_packusers`.`pk_usedspace`='0', `db_packusers`.`pk_usedbw`='0', `db_packusers`.`pk_total_video`='0', `db_packusers`.`pk_total_image`='0', `db_packusers`.`pk_total_audio`='0', `db_packusers`.`pk_total_doc`='0', `db_packusers`.`pk_total_blog`='0', `db_packusers`.`pk_total_live`='0', `db_packusers`.`subscribe_time`='%s', `db_packusers`.`expire_time`='%s', `db_accountuser`.`usr_active`='1', `db_accountuser`.`usr_status`='1' WHERE `db_accountuser`.`usr_id`='%s' AND `db_packusers`.`usr_id`='%s';", $usr_pk, date("Y-m-d H:i:s"), $expire_time, $user_id, $user_id)); break; } } if ($user_id > 0) { echo VGenerate::noticeTpl('', '', $language["notif.success.request"]); } } } } } /* checkbox selection query */ public function cbSQL() { $db_arr = array(); foreach ($_POST["current_entry_id"] as $k => $v) { $db_arr[] = "'" . intval($v) . "'"; } return $db_q = sprintf("`usr_id` IN (%s)", implode(', ', $db_arr)); } /* account manager layout */ public function accountManager() { global $db, $language, $class_filter, $cfg; $error = null; $notice = null; $p_do = $class_filter->clr_str($_GET["do"]); $p_a = $class_filter->clr_str($_GET["a"]); $p_ip = $class_filter->clr_str($_SERVER[REM_ADDR]); /* add new member */ switch ($p_do) { case "add":return self::addNewAccount('block', 'mem-add-new-entry', 'wrapper'); } /* checkbox actions */ if ($_POST and substr($p_a, 0, 2) == 'cb') { if (!is_array($_POST["current_entry_id"]) or count($_POST["current_entry_id"]) == 0) { $error = VGenerate::noticeWrap(array('', '', VGenerate::noticeTpl('', $language["notif.no.multiple.select"], ''))); } else { switch ($p_a) { case "cb-active": case "cb-inactive": $db_upd = 1; $db_f = 'usr_status'; $db_val = $p_a == 'cb-active' ? 1 : 0; break; case "cb-feature": case "cb-unfeature": $db_upd = 1; $db_f = 'usr_featured'; $db_val = $p_a == 'cb-feature' ? 1 : 0; break; case "cb-affiliate": case "cb-unaffiliate": case "cb-partner": case "cb-unpartner": $db_upd = 1; $db_f = 'usr_partner'; $db_val = $p_a == 'cb-partner' ? 1 : 0; $js = 'var popupid = "popuprel-cb";'; $js .= 'var userid = "-cb";'; $js .= 'var userkey = "sel";'; $js .= '$.fancybox.open({ type: "ajax", minWidth: "70%", height: "auto", margin: 10, afterShow: function(){$("#cb-in2, #cb-in3").val("' . rawurlencode(self::cbSQL()) . '");}, href: current_url + menu_section + "?do=' . ($p_a == 'cb-partner' ? 'make-partner' : 'clear-partner') . '&u="+userkey });'; break; case "cb-promote": case "cb-unpromote": $db_upd = 1; $db_f = 'usr_promoted'; $db_val = $p_a == 'cb-promote' ? 1 : 0; break; case "cb-verify": case "cb-unverify": $db_upd = 1; $db_f = 'usr_verified'; $db_val = $p_a == 'cb-verify' ? 1 : 0; break; case "cb-ban": case "cb-unban": $db_upd = 0; $db_val = $p_a == 'cb-ban' ? 1 : 0; $sql_ip = sprintf("SELECT DISTINCT `usr_IP` FROM `db_accountuser` WHERE %s AND `usr_ip`!='%s';", self::cbSQL(), $p_ip); $sql_res = $db->execute($sql_ip); if ($sql_res->fields["usr_IP"]) { $ipq = array(); while (!$sql_res->EOF) { $ipq[] = "('', '" . $sql_res->fields["usr_IP"] . "', '', '" . date("Y-m-d H:i:s") . "', '1')"; @$sql_res->MoveNext(); } $f_q = implode(',', $ipq); } $sql = sprintf("INSERT INTO `db_banlist` (`ban_id`, `ban_ip`, `ban_descr`, `ban_start`, `ban_active`) VALUES %s ON DUPLICATE KEY UPDATE `ban_active`='%s';", $f_q, $db_val); $res = $db->execute($sql); break; case "cb-email": case "cb-delete": $db_upd = 0; $js .= 'var popupid = "popuprel-cb";'; $js .= 'var userid = "-cb";'; $js .= 'var userkey = "sel";'; $js .= '$.fancybox.open({ type: "ajax", minWidth: "70%", height: "auto", margin: 10, afterShow: function(){$("#cb-in2, #cb-in3").val("' . rawurlencode(self::cbSQL()) . '");}, href: current_url + menu_section + "?do=' . ($p_a == 'cb-email' ? 'send-email' : 'del-account') . '&u="+userkey });'; echo VGenerate::declareJS('$(document).ready(function(){' . $js . '});'); break; } if ($db_upd == 1) { $sql = sprintf("UPDATE `db_accountuser` SET `%s`='%s' WHERE %s;", $db_f, $db_val, self::cbSQL()); $res = $db->execute($sql); } if ($db->Affected_Rows() > 0 or (($p_a == 'cb-affiliate' or $p_a == 'cb-unaffiliate') or ($p_a == 'cb-partner' or $p_a == 'cb-unpartner'))) { if ($p_a == 'cb-affiliate' or $p_a == 'cb-partner') { $db->execute(sprintf("UPDATE `db_accountuser` SET `partner_date`='%s' WHERE %s", date("Y-m-d H:i:s"), self::cbSQL())); } echo VGenerate::declareJS('$(document).ready(function(){' . $js . '});'); } $notice = ($db->Affected_Rows() > 0) ? VGenerate::noticeWrap(array('', '', VGenerate::noticeTpl('', '', $language["notif.success.request"]))) : null; } } $def_sql = " ORDER BY A.`usr_id`"; $act_sql = "AND A.`usr_status`='1'"; $s_sql = null; switch ($p_do) { case "sort-active":$sort_sql = $act_sql . $def_sql . " DESC"; break; case "sort-inactive":$sort_sql = "AND A.`usr_status`='0'" . $def_sql . " DESC"; break; case "sort-deleted":$sort_sql = "AND A.`usr_deleted`='1'" . $def_sql . " DESC"; break; case "sort-featured":$sort_sql = "AND A.`usr_featured`='1'" . $act_sql . $def_sql . " DESC"; break; case "sort-promoted":$sort_sql = "AND A.`usr_promoted`='1'" . $act_sql . $def_sql . " DESC"; break; case "sort-affiliated": case "sort-partnered":$sort_sql = "AND A.`usr_partner`='1'" . $act_sql . $def_sql . " DESC"; break; case "sort-recent":$sort_sql = "ORDER BY A.`usr_joindate` DESC"; break; case "sort-views":$sort_sql = $act_sql . " ORDER BY A.`ch_views` DESC"; break; case "sort-lcount":$sort_sql = $act_sql . " ORDER BY A.`usr_logins` DESC"; break; case "sort-lvcount":$sort_sql = $act_sql . " ORDER BY A.`usr_l_count` DESC"; break; case "sort-vcount":$sort_sql = $act_sql . " ORDER BY A.`usr_v_count` DESC"; break; case "sort-scount":$sort_sql = $act_sql . " ORDER BY A.`usr_s_count` DESC"; break; case "sort-icount":$sort_sql = $act_sql . " ORDER BY A.`usr_i_count` DESC"; break; case "sort-acount":$sort_sql = $act_sql . " ORDER BY A.`usr_a_count` DESC"; break; case "sort-dcount":$sort_sql = $act_sql . " ORDER BY A.`usr_d_count` DESC"; break; case "sort-bcount":$sort_sql = $act_sql . " ORDER BY A.`usr_b_count` DESC"; break; default:$sort_sql = $act_sql . " ORDER BY A.`usr_joindate` DESC"; break; } /* search users */ if ($_GET["sq"] != '') { $sq = $class_filter->clr_str($_GET["sq"]); $s_sql = sprintf("AND A.`usr_user`='%s'", $sq); if (strstr($sq, '*') !== false) { $s_sql = sprintf("AND A.`usr_user` LIKE '%s'", str_replace('*', '%', $sq)); } } $sql = sprintf("SELECT A.`usr_id`, A.`usr_key`, A.`usr_user`, A.`usr_email`, A.`usr_affiliate`, A.`usr_partner`, A.`usr_l_count`, A.`usr_v_count`, A.`usr_s_count`, A.`usr_i_count`, A.`usr_a_count`, A.`usr_d_count`, A.`usr_b_count`, A.`usr_IP`, A.`usr_featured`, A.`usr_promoted`, A.`usr_logins`, A.`usr_lastlogin`, A.`usr_joindate`, A.`usr_verified`, A.`usr_status`, A.`usr_active`, A.`usr_deleted`, A.`usr_dname`, A.`usr_description`, A.`usr_website`, A.`usr_fname`, A.`usr_lname`, A.`usr_photo`, A.`usr_town`, A.`usr_city`, A.`usr_zip`, A.`usr_country`, A.`usr_birthday`, A.`usr_gender`, A.`usr_relation`, A.`usr_showage`, A.`usr_occupations`, A.`usr_companies`, A.`usr_schools`, A.`usr_interests`, A.`usr_movies`, A.`usr_music`, A.`usr_books`, A.`usr_del_reason`, A.`ch_type`, A.`ch_views` FROM `db_accountuser` A WHERE A.`usr_id`>'0' %s %s ", $s_sql, $sort_sql); $tsql = sprintf("SELECT A.`usr_id`, COUNT(*) AS `total` FROM `db_accountuser` A WHERE A.`usr_id`>'0' %s %s ", $s_sql, $sort_sql); $tres = $db->execute($tsql); $db_count = $tres->fields["total"]; /* pagination start */ $pages = new VPagination; $pages->items_total = $db_count; $pages->mid_range = 5; $pages->items_per_page = isset($_GET["ipp"]) ? (int) $_GET["ipp"] : $cfg["page_be_user_accounts"]; $pages->paginate(); $final_sql = $sql . $q_for . $q_sort . $pages->limit . ';'; $res = $db->execute($final_sql); $page_of = (($pages->high + 1) > $db_count) ? $db_count : ($pages->high + 1); $results_text = $pages->getResultsInfo($page_of, $db_count, 'left'); $paging_links = $pages->getPaging($db_count, 'right'); $page_jump = $paging_links != '' ? $pages->getPageJump('left') : null; $ipp_select = $paging_links != '' ? $pages->getIpp('right') : null; /* pagination end */ $bullet_id = 'ct-bullet1'; $entry_id = 'ct-entry-details1'; $bb = 'bottom-border'; $do = 1; $html .= $error != '' ? $error : $notice; $html .= ($paging_links != '' and $db_count > 0) ? '
' . $page_jump . $ipp_select . '
' : null; $html .= ''; $html .= $db_count > 0 ? '
' . $paging_links . $results_text . '
' : '
' . $language["backend.menu.members.entry3.sub5.nores"] . '
'; $html .= '
'; $js = '$(document).ready(function(){var clone = $("#paging-top").clone(true); $("#paging-top").detach(); $(clone).insertBefore("#open-close-links");' . ($_GET["do"] == 'add' ? '$(".section-top-bar").removeClass("section-top-bar").addClass("section-top-bar-add");' : null) . ' add = $("#add-new-entry").clone(true); $("#add-new-entry").detach(); $(add).insertBefore(".section-top-bar"); $(\'
\').insertAfter(add);});'; /* popup box */ $js .= '$("li.popup").click(function(){'; $js .= 'var popupid = $(this).attr("rel");'; $js .= 'var userid = $(this).attr("rel-id");'; $js .= 'var userkey = $(this).attr("rel-key");'; $js .= 'var lid = $(this).attr("id");'; $js .= 'if(lid == "del-account"){ $(".list-check").attr("checked", false); $("#ct-bullet1-"+userkey).prev().find(".list-check").prop("checked", true); }'; $js .= 'if(lid == "del-account"){ $(".list-check").attr("checked", false); $("#ct-bullet1-"+userkey).prev().find(".list-check").prop("checked", true); }'; $js .= 'if(lid == "del-account"){ $("#cb-in2, #cb-in3").val(encodeURIComponent("`usr_id` IN ("+userid+")")); }'; $js .= '$.fancybox.open({ wrapCSS: "default-lb", type: "ajax", minWidth: "70%", height: "auto", margin: 20, href: current_url + menu_section + "?do="+lid+"&u="+userkey+(lid == "user-activity" ? "&a=show-all" : "") });'; $js .= '});'; /* package type select change */ $_js .= 'function subDateChange(v){'; $_js .= '$("#h-pk-id").val(v);'; $_js .= '$("#pk-update"+$("#pk-key").html()).load(current_url + menu_section + "?do=sub-change&u="+$("#pk-key").html()+"&pk="+v, function(){'; $_js .= '});'; $_js .= '}'; /* declare JS */ $html .= VGenerate::declareJS($_js . '$(document).ready(function(){' . $js . '});'); $html .= VGenerate::swiperjs('main'); $html .= VGenerate::declareJS('$(document).ready(function(){ $(".swiper-top-main .swiper-slide a").on("click", function(){ var i = $(this).attr("rel"); var f = $(this).closest("form").attr("id"); $("#" + f).find("ul.uactions-list li#" + i).click(); }); });'); return $html; } /* count user accounts */ public function accountCountAll() { return; global $db; $res = $db->execute("SELECT COUNT(*) AS `total` FROM `db_accountuser`;"); $tt = $res->fields["total"]; echo VGenerate::declareJS('$("#backend-menu-entry10-sub2-count").html("' . $tt . '");'); } /* close popup link */ public function userAction_close($t = '') { global $language, $class_filter, $class_database; $_u = $class_filter->clr_str($_GET["u"]); switch ($t) { case "folder-info": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'fix-missing button-grey search-button form-button save-entry-button usr-update', '', 0, '' . $language["backend.menu.members.entry10.sub2.create"] . ''), 'display: inline-block-off;'); $_js .= '$(".fix-missing").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$(".fancybox-inner").load(current_url + menu_section + "?do=' . $class_filter->clr_str($_GET["do"]) . '&u=' . $_u . '&a=reset", function(){$(".fancybox-skin").unmask();});'; $_js .= '});'; break; case "sub-info": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'sub-update button-grey search-button form-button save-entry-button usr-update', '', 0, '' . $language["backend.menu.members.entry10.sub2.update.m"] . '') . VGenerate::basicInput('button', 'save_changes', 'sub-reset button-grey search-button form-button save-entry-button usr-update', '', 0, '' . $language["backend.menu.members.entry10.sub2.reset.bw"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $_js .= '$(".sub-update").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=sub-update&u=' . $_u . '", $("#sub-info-form").serialize(), function(data) {'; $_js .= '$("#pk-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$(".sub-reset").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=sub-reset&u=' . $_u . '", $("#sub-info-form").serialize(), function(data) {'; $_js .= '$("#pk-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; break; case "paid-sub": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'paid-sub-update button-grey search-button form-button save-entry-button usr-update', '', 0, '' . $language["backend.menu.members.entry10.sub2.update.s"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $_js .= '$(".paid-sub-update").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=paid-sub-update&u=' . $_u . '", $("#paid-sub-form").serialize(), function(data) {'; $_js .= '$("#pk-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$("#ct-entry-details4-input").on("keyup", function() {var t=$(this).val();if(t<0)$(this).val(0);if(t>100)$(this).val(100);$("#sub-share-nr").text($(this).val());});'; $_js .= '$("#paid-sub-form .icheck-box input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); SelectList.init("backend_menu_sub_p_currency"); '; break; case "user-activity": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-update', '', 0, '' . $language["backend.menu.members.entry10.sub2.update.a"] . ''), 'display: inline-block-off;'); $_js .= '$(".act-enable, .act-disable, .act-delete").click(function(){'; $_js .= 'var paging_link = ' . ($_GET["page"] != '' ? '"&page=' . $class_filter->clr_str($_GET["page"]) . '&ipp=' . $class_filter->clr_str($_GET["ipp"]) . '";' : '"";'); $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=user-activity&u=' . $_u . ($_GET["a"] != '' ? '&a=' . $class_filter->clr_str($_GET["a"]) : null) . '&cb="+$(this).attr("class")+paging_link, $("#usr-activity-form").serialize(), function(data) {'; $_js .= '$(".fancybox-inner").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$(".usr-update").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=act-update&u=' . $_u . '", $("#usr-log-form").serialize(), function(data) {'; $_js .= '$("#usr-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; break; case "change-email": $ht = VGenerate::simpleDivWrap('row', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-update', '', 0, '' . $language["backend.menu.members.entry10.sub2.update.a"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $_js .= '$(".usr-update").unbind().click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=usr-update&u=' . $_u . '", $("#usr-info-form").serialize(), function(data) {'; $_js .= '$("#usr-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$("#em-ignore.icheck-box input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); '; break; case "change-password": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-password', '', 0, '' . $language["backend.menu.members.entry10.sub2.update.a"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $_js .= '$(".usr-password").unbind().click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=passw-update&u=' . $_u . '", $("#usr-info-form").serialize(), function(data) {'; $_js .= '$("#usr-updatep' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$("#em-ignore.icheck-box input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); '; $_js .= '$("a.showp").on("click",function(e){e.preventDefault();$(this).prev().attr("type", "text");$(this).addClass("no-display");$(this).next().removeClass("no-display")});$("a.hidep").on("click",function(e){e.preventDefault();$(this).prev().prev().attr("type", "password");$(this).addClass("no-display");$(this).prev().removeClass("no-display")});'; break; case "del-account": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-delete', '', 0, '' . $language["frontend.global.confirm"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $_js .= '$(".usr-delete").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=usr-delete&u=' . $_u . '", $("#usr-del-form").serialize(), function(data) {'; $_js .= '$("#usr-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$("#act-del.icheck-box input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); '; break; case "affiliate-payout": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-save-affiliate', '', 0, '' . $language["frontend.global.confirm"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $_js .= '$(".usr-save-affiliate").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=usr-save-affiliate&u=' . $_u . '", $("#usr-affiliate-form").serialize(), function(data) {'; $_js .= '$("#usr-update").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; break; case "make-partner": case "make-affiliate": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-make-partner', '', 0, '' . $language["backend.menu.members.entry2.sub2.aff.btn1a"] . '') . VGenerate::lb_Cancel($language["backend.menu.members.entry2.sub2.aff.btn3"]), 'display: inline-block-off;'); $_js .= '$(".usr-make-partner").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=usr-make-partner&u=' . $_u . '", $("#usr-affiliate-form").serialize(), function(data) {'; $_js .= '$("#usr-update").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; break; case "clear-partner": case "clear-affiliate": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-clear-partner n1', '', 0, '' . $language["backend.menu.members.entry2.sub2.aff.btn1"] . '') . VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-clear-partner n2', '', 0, '' . $language["backend.menu.members.entry2.sub2.aff.btn2"] . '') . VGenerate::lb_Cancel($language["backend.menu.members.entry2.sub2.aff.btn3"]), 'display: inline-block-off;'); $_js .= '$(".usr-clear-partner").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=usr-clear-partner&n="+($(this).hasClass("n1") ? "n1" : ($(this).hasClass("n2") ? "n2" : 0))+"&u=' . $_u . '", $("#usr-affiliate-form").serialize(), function(data) {'; $_js .= '$("#usr-update").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; break; case "send-email": $ht = null; $_js .= '$(".send-email-button").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=usr-email&u=' . $_u . '", $("#usr-mail-form").serialize(), function(data) {'; $_js .= '$("#mailmsg-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$(".send-message-button").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=usr-email&u=' . $_u . '", $("#usr-msg-form").serialize(), function(data) {'; $_js .= '$("#mailmsgs-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$("#pm-notify.icheck-box input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); '; break; case "user-perm": $ht = VGenerate::simpleDivWrap('left-float wd140', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button usr-update', '', 0, '' . $language["backend.menu.members.entry10.sub2.update.a"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $_js .= '$(".usr-update").click(function(){'; $_js .= '$(".fancybox-skin").mask("");'; $_js .= '$.post(current_url + menu_section + "?do=perm-update&u=' . $_u . '", $("#usr-perm-form").serialize(), function(data) {'; $_js .= '$("#perm-update' . $_u . '").html(data);'; $_js .= '$(".fancybox-skin").unmask();'; $_js .= '});'; $_js .= '});'; $_js .= '$("#usr-perm .icheck-box input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); '; break; } $html .= $ht; $js .= $_js; $html .= VGenerate::declareJS('$(document).ready(function(){' . $js . '});'); return $html; } /* user actions, delete account/ window popup */ public function userAction_delaccount() { global $language, $class_filter, $class_database, $cfg, $smarty; $usr_key = $class_filter->clr_str($_GET["u"]); $usr_user = $class_database->singleFieldValue('db_accountuser', 'usr_user', 'usr_key', $usr_key); $usr_id = $class_database->singleFieldValue('db_accountuser', 'usr_id', 'usr_key', $usr_key); $html .= '
'; $html .= '
'; $html .= ''; $html .= '
'; $html .= '
'; $html .= ''; return $html; } /* search for array key => val */ public function multidimensional_search($parents, $searched) { if (empty($searched) || empty($parents)) { return false; } foreach ($parents as $key => $value) { $exists = true; foreach ($searched as $skey => $svalue) { $exists = ($exists && isset($parents[$key][$skey]) && $parents[$key][$skey] == $svalue); } if ($exists) {return $key;} } return false; } /* delete user entries from database */ public function userDelete_db($del_type) { global $db, $language, $class_filter, $class_database; $rt = 0; $af = 0; $usr_key = $class_filter->clr_str($_GET["u"]); $usr_id = $class_database->singleFieldValue('db_accountuser', 'usr_id', 'usr_key', $usr_key); $usr_user = $class_database->singleFieldValue('db_accountuser', 'usr_user', 'usr_key', $usr_key); $tbl_ar = array( "db_accountuser", "db_channelcomments", "db_channelevents", "db_filetypemenu", "db_mailque", "db_packusers", "db_followers", "db_subscriptions", "db_subscribers", "db_subusers", "db_subtemps", "db_subinvoices", "db_subpayouts", "db_trackactivity", "db_useractivity", "db_usercodes", "db_usercontacts", "db_userlabels", "db_userthemes", "db_videofavorites", "db_videofiles", "db_videohistory", "db_videoliked", "db_videopayouts", "db_videoplaylists", "db_videowatchlist", "db_shortfavorites", "db_shortfiles", "db_shorthistory", "db_shortliked", "db_shortpayouts", "db_shortplaylists", "db_shortwatchlist", "db_imagefavorites", "db_imagefiles", "db_imagehistory", "db_imageliked", "db_imagepayouts", "db_imageplaylists", "db_imagewatchlist", "db_audiofavorites", "db_audiofiles", "db_audiohistory", "db_audioliked", "db_audiopayouts", "db_audioplaylists", "db_audiowatchlist", "db_docfavorites", "db_docfiles", "db_dochistory", "db_docliked", "db_docpayouts", "db_docplaylists", "db_docwatchlist", "db_blogfavorites", "db_blogfiles", "db_bloghistory", "db_blogliked", "db_blogpayouts", "db_blogplaylists", "db_blogwatchlist", "db_livefavorites", "db_livefiles", "db_livehistory", "db_liveliked", "db_livepayouts", "db_liveplaylists", "db_livewatchlist", ); $tbl_0 = $tbl_ar[0]; /* selected users */ $cb_in = $_POST["cb_in2"] != '' ? rawurldecode($class_filter->clr_str($_POST["cb_in2"])) : null; $_q = sprintf("SELECT `usr_id`, `usr_key` FROM `db_accountuser` WHERE %s", ($cb_in == '' ? "`usr_key`='" . $usr_key . "' LIMIT 1;" : $cb_in)); $rs = $db->execute($_q); $srs = $rs->getrows(); $af = 1; if ($af > 0) { /* delete from more tables */ $rs_ar = array( "db_channelcomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_messaging" => array("0" => "msg_from", "1" => $usr_id), "db_messaging" => array("0" => "msg_to", "1" => $usr_id), "db_videocomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_shortcomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_imagecomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_audiocomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_doccomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_blogcomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_livecomments" => array("0" => "c_usr_id", "1" => $usr_id), "db_followers" => array("0" => "sub_id", "1" => $usr_id), "db_subscribers" => array("0" => "sub_id", "1" => $usr_id), "db_subtemps" => array("0" => "usr_id_to", "1" => $usr_id), "db_subusers" => array("0" => "usr_id_to", "1" => $usr_id), "db_subpayouts" => array("0" => "usr_id_to", "1" => $usr_id), "db_useractivity" => array("0" => "usr_id_to", "1" => $usr_id), ); foreach ($rs_ar as $rk => $rv) { $_sql = ($cb_in == '' and $usr_id > 0) ? sprintf("DELETE FROM `%s` WHERE `%s`='%s';", $rk, $rv[0], $rv[1]) : sprintf("DELETE FROM `%s` WHERE %s;", $rk, str_replace('usr_id', $rv[0], $cb_in)); $r_sql = $db->execute($_sql); $rt += $db->Affected_Rows(); } /* delete username from remaining activity */ if ($cb_in == '' and $usr_id > 0) { $a_sql = sprintf("DELETE FROM `db_useractivity` WHERE `act_type` LIKE '%s';", '%' . $usr_user . '%'); $a_res = $db->execute($a_sql); } else { foreach ($srs as $selk => $selv) { $a_sql = sprintf("DELETE FROM `db_useractivity` WHERE `act_type` LIKE '%s';", '%' . $class_database->singleFieldValue('db_accountuser', 'usr_user', 'usr_id', $selv["usr_id"]) . '%'); $a_res = $db->execute($a_sql); } } } /* delete main database tables */ foreach ($tbl_ar as $tv) { $_sql = ($cb_in == '' and $usr_id > 0) ? sprintf("DELETE FROM `%s` WHERE `usr_id`='%s';", $tv, $usr_id) : sprintf("DELETE FROM `%s` WHERE %s;", $tv, $cb_in); $a_sql = $db->execute($_sql); $af += $db->Affected_Rows(); } $affected = $af + $rt; $_js = '$.fancybox.close(); wrapLoad(current_url + menu_section + "?s="+$(".menu-panel-entry-sub-active").attr("id"));'; /* delete all files from server */ if ($del_type == 'all' and $affected > 0) { if ($cb_in == '' and $usr_id > 0) { //delete single user entry $del_q = self::userDelete_dbque($usr_key); $del_f = self::userDelete_files(); echo VGenerate::declareJS('$(document).ready(function(){' . $_js . '});'); } else { //delete selected users foreach ($srs as $s_k => $s_v) { $del_k = $s_v["usr_key"]; $del_q = self::userDelete_dbque($del_k); $del_f = self::userDelete_files($del_k); } echo VGenerate::declareJS('$(document).ready(function(){' . $_js . '});'); } } else { if ($affected > 0) { echo VGenerate::declareJS('$(document).ready(function(){' . $_js . '});'); } } } public function userDelete_dbque($usr_key) { global $db; $db->execute(sprintf("DELETE FROM `db_videoque` WHERE `usr_key`='%s';", $usr_key)); $db->execute(sprintf("DELETE FROM `db_shortque` WHERE `usr_key`='%s';", $usr_key)); $db->execute(sprintf("DELETE FROM `db_imageque` WHERE `usr_key`='%s';", $usr_key)); $db->execute(sprintf("DELETE FROM `db_audioque` WHERE `usr_key`='%s';", $usr_key)); $db->execute(sprintf("DELETE FROM `db_docque` WHERE `usr_key`='%s';", $usr_key)); } /* delete user files/folders */ public function userDelete_files($k = '') { global $class_database, $class_filter, $cfg; $usr_key = $k == '' ? $class_filter->clr_str($_GET["u"]) : $k; $usr_id = $class_database->singleFieldValue('db_accountuser', 'usr_id', 'usr_key', $usr_key); $_dir1 = $cfg["media_files_dir"] . '/' . $usr_key; $_dir2 = $cfg["upload_files_dir"] . '/' . $usr_key; $_dir3 = $cfg["channel_views_dir"] . '/' . $usr_key; $_dir4 = $cfg["profile_images_dir"] . '/*' . $usr_key . '*'; $_cmd = sprintf("rm -rfv %s %s %s %s", $_dir1, $_dir2, $_dir3, $_dir4); exec($_cmd, $out); /* do something with $out */ $rn = is_dir($_dir1) ? rename($_dir1, $_dir1 . '-deleted-' . date("Y-m-d")) : null; $rn = is_dir($_dir2) ? rename($_dir2, $_dir2 . '-deleted-' . date("Y-m-d")) : null; $rn = is_dir($_dir3) ? rename($_dir3, $_dir3 . '-deleted-' . date("Y-m-d")) : null; } /* user actions, send email/message window popup */ public function userAction_sendemail() { global $language, $class_database, $class_filter, $db, $smarty, $cfg; $usr_key = $class_filter->clr_str($_GET["u"]); $res = $db->execute(sprintf("SELECT `usr_id`, `usr_user`, `usr_email` FROM `db_accountuser` WHERE `usr_key`='%s' LIMIT 1;", $usr_key)); $usr_id = $res->fields["usr_id"]; $usr_user = $res->fields["usr_user"]; $usr_mail = $res->fields["usr_email"]; $email_ignore = 0; $msg_notify = 0; $_btn = VGenerate::simpleDivWrap('row', '', VGenerate::basicInput('button', 'save_changes', 'button-grey search-button form-button save-entry-button send-email-button', '', $usr_id, '' . $language["frontend.global.send"] . '') . VGenerate::lb_Cancel(), 'display: inline-block-off;'); $html = '
'; $html .= '
'; $html .= ''; $html .= '
'; $html .= '
'; return $html; } /* user actions, change email/password window popup */ public function userAction_changeemail($err = '') { global $language, $class_database, $class_filter, $smarty, $cfg; $usr_key = $class_filter->clr_str($_GET["u"]); $usr_id = $class_database->singleFieldValue('db_accountuser', 'usr_id', 'usr_key', $usr_key); $usr_email = $class_database->singleFieldValue('db_accountuser', 'usr_email', 'usr_id', $usr_id); $email_ignore = 0; $html = '
'; $html .= '
'; $html .= '
'; $html .= '
    '; $html .= '
  • '; $html .= '
    '; $html .= '
    '; $html .= VGenerate::headingArticle('' . $language["backend.menu.members.change.email"] . $class_database->singleFieldValue('db_accountuser', 'usr_user', 'usr_key', $usr_key) . '' . $usr_key . '', 'icon-envelope'); $html .= VGenerate::simpleDivWrap('row', 'usr-update' . $usr_key, ''); $html .= '
    '; $html .= '
    '; $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '', 'left-float', 'account_email_address', 'backend-text-input wd350', $usr_email); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('icheck-box', 'em-ignore', '')); $html .= '

    '; $html .= VGenerate::simpleDivWrap('', '', self::userAction_close('change-email')); $html .= '
    '; $html .= '
    '; $html .= '
  • '; $html .= '
  • '; $html .= '
    '; $html .= '
    '; $html .= VGenerate::headingArticle('' . $language["backend.menu.members.change.password"] . $class_database->singleFieldValue('db_accountuser', 'usr_user', 'usr_key', $usr_key) . '' . $usr_key . '', 'icon-key'); $html .= VGenerate::simpleDivWrap('row', 'usr-updatep' . $usr_key, ''); $html .= '
    '; $html .= '
    '; $html .= VGenerate::sigleInputEntry('password', 'left-float lh20 wd140', '', 'left-float p-relative', 'account_manage_pass_new', 'backend-text-input wd350', ''); $html .= VGenerate::sigleInputEntry('password', 'left-float lh20 wd140', '', 'left-float p-relative', 'account_manage_pass_retype', 'backend-text-input wd350', ''); $html .= '

    '; $html .= VGenerate::simpleDivWrap('mb-10', '', self::userAction_close('change-password')); $html .= '
    '; $html .= '
  • '; $html .= '
'; $html .= '
'; $html .= '
'; $html .= '
'; return $html; } /* user actions, user permissions window popup */ public function userAction_userperm($err = '') { global $language, $class_database, $class_filter, $class_language, $db, $cfg, $smarty; $usr_key = $class_filter->clr_str($_GET["u"]); $res = $db->execute(sprintf("SELECT `usr_id`, `usr_email`, `usr_perm` FROM `db_accountuser` WHERE `usr_key`='%s' LIMIT 1;", $usr_key)); $usr_id = $res->fields["usr_id"]; $usr_email = $res->fields["usr_email"]; $usr_perm = unserialize($res->fields["usr_perm"]); $email_ignore = 0; if (!isset($usr_perm["perm_upload_s"])) { $usr_perm["perm_upload_s"] = 1; } if (!isset($usr_perm["perm_view_s"])) { $usr_perm["perm_view_s"] = 1; } $html = '
'; $html .= '
'; $html .= ''; $html .= '
'; $html .= '
'; return $html; } /* user actions, activity window popup */ public function userAction_useractivity() { global $cfg, $db, $class_database, $class_filter, $language, $smarty; $_a = $class_filter->clr_str($_GET["a"]); $_cb = $class_filter->clr_str($_GET["cb"]); $usr_key = $class_filter->clr_str($_GET["u"]); $res = $db->execute(sprintf("SELECT `usr_id`, `usr_user` FROM `db_accountuser` WHERE `usr_key`='%s' LIMIT 1;", $usr_key)); $usr_id = $res->fields["usr_id"]; $usr_user = $res->fields["usr_user"]; /* checkbox actions */ switch ($_cb) { case "act-enable": case "act-disable": case "act-delete": $_ct = isset($_POST["cb_uaction"]) ? count($_POST["cb_uaction"]) : 0; if ($_ct == 0) { $error = VGenerate::noticeTpl('', $language["notif.no.multiple.select"], ''); break; } if ($_ct > 0) { $_aq = array(); foreach ($_POST["cb_uaction"] as $ak => $av) { $_aq[] = sprintf("'%s'", $av); } $_id = sprintf("`act_id` IN (%s)", implode(", ", $_aq)); } if ($_ct > 0 and $_cb != 'act-delete') { $_asql = sprintf("UPDATE `db_useractivity` SET `act_visible`='%s' WHERE %s;", ($_cb == 'act-enable' ? 1 : 0), $_id); } elseif ($_ct > 0 and $_cb == 'act-delete') { $_asql = sprintf("DELETE FROM `db_useractivity` WHERE %s;", $_id); } $_cb_db = ($_POST and $_asql != '') ? $db->execute($_asql) : null; $error = ($_asql != '' and $db->Affected_Rows() > 0) ? VGenerate::noticeTpl('', '', $language["notif.success.request"]) : null; break; } /* activity sort */ switch (str_replace('show_', '', $_a)) { case "upload":$_sq = " AND `act_type` LIKE '%upload%'"; break; case "filecomment":$_sq = " AND `act_type` LIKE '%comments%'"; break; case "rating":$_sq = " AND `act_type` LIKE '%like%'"; break; case "fav":$_sq = " AND `act_type` LIKE '%favorite%'"; break; case "subscribing":$_sq = " AND `act_type` LIKE '%subscribes%'"; break; case "following":$_sq = " AND `act_type` LIKE '%follows%'"; break; case "pmessage":$_sq = " AND `act_type` LIKE '%private%'"; break; case "frinvite":$_sq = " AND `act_type` LIKE '%invite%'"; break; case "delete":$_sq = " AND `act_type` LIKE '%delete%'"; break; case "signin":$_sq = " AND `act_type` LIKE '%sign in%'"; break; case "signout":$_sq = " AND `act_type` LIKE '%sign out%'"; break; case "precovery":$_sq = " AND `act_type` LIKE '%password recovery%'"; break; case "urecovery":$_sq = " AND `act_type` LIKE '%username recovery%'"; break; default:$_sq = null; } /* list activities */ $q_entries = sprintf("SELECT `act_id`, `act_type`, `act_time`, `act_ip`, `act_visible` FROM `db_useractivity` WHERE `usr_id`='%s' %s ORDER BY `act_time` DESC ", $usr_id, $_sq); $q_total = sprintf("SELECT COUNT(*) AS `total` FROM `db_useractivity` WHERE `usr_id`='%s' %s ", $usr_id, $_sq); $q_totalres = $db->execute($q_total); $db_count = $q_totalres->fields["total"]; $opt_array = array( "log_upload" => $language["backend.menu.entry6.sub6.log.upload"], "log_filecomment" => $language["backend.menu.entry6.sub6.log.comment"], "log_rating" => $language["backend.menu.entry6.sub6.log.rate"], "log_fav" => $language["backend.menu.entry6.sub6.log.favorite"], "log_subscribing" => $language["backend.menu.entry6.sub6.log.subscribe"], "log_following" => $language["backend.menu.entry6.sub6.log.follow"], "log_pmessage" => $language["backend.menu.entry6.sub6.log.pm"], "log_frinvite" => $language["backend.menu.entry6.sub6.log.invite"], "log_delete" => $language["backend.menu.entry6.sub6.log.delete"], "log_signin" => $language["backend.menu.entry6.sub6.log.signin"], "log_signout" => $language["backend.menu.entry6.sub6.log.signout"], "log_precovery" => $language["backend.menu.entry6.sub6.log.pr"], "log_urecovery" => $language["backend.menu.entry6.sub6.log.ur"], ); $cls_ar = array('left-float wd240', 'left-float wd100 act-value', 'left-float wd50 act-value'); $pages = new VPagination; $pages->items_total = $db_count; $pages->mid_range = 5; $pg_cfg = 'page_be_user_activity'; $pages->items_per_page = isset($_GET["ipp"]) ? (int) $_GET["ipp"] : $cfg[$pg_cfg]; $pages->paginate('user_activity'); $sql = $q_entries . $pages->limit . ';'; $q = $db->execute($sql); $page_of = (($pages->high + 1) > $db_count) ? $db_count : ($pages->high + 1); $results_text = $pages->getResultsInfo($page_of, $db_count, 'left'); $paging_links = $pages->getPaging($db_count, 'right'); $html = '
' . VGenerate::headingArticle('' . $language["backend.menu.members.activity.for"] . $usr_user . '', 'icon-history') . '
'; $html .= '
'; $html .= '
'; $html .= '
'; $html .= '
'; $html .= '
'; $html .= self::userAction_actionMenu(); $html .= self::userAction_activityMenu($opt_array, $usr_key); $html .= '
'; $html .= '
' . $smarty->fetch("tpl_backend/tpl_settings/ct-save-open-close.tpl") . '
'; $html .= '
'; $html .= '
'; $html .= '
'; $html .= '
'; $html .= '
' . $error . '
'; $html .= '
'; $html .= ''; $html .= '
'; $q = $db->execute(sprintf("SELECT `log_upload`, `log_filecomment`, `log_rating`, `log_fav`, `log_subscribing`, `log_following`, `log_pmessage`, `log_frinvite`, `log_delete`, `log_signin`, `log_signout`, `log_precovery`, `log_urecovery` FROM `db_trackactivity` B WHERE `usr_id`='%s' LIMIT 1;", $usr_id)); $ht .= '
'; $ht .= '
'; $ht .= '
' . $language["backend.menu.members.activity.log"] . '
'; $ht .= '
'; $ht .= '
'; $ht .= '
'; $ht .= '
'; foreach ($opt_array as $key => $val) { $cfg[] = $class_database->getConfigurations($key); $cfg_check = $q->fields[$key] == 1 ? ' checked="checked"' : null; $ht .= $cfg[$key] == 1 ? '
' : null; } $ht .= VGenerate::simpleDivWrap('row right-float top-padding15', '', self::userAction_close('user-activity')); $html .= '
'; $html .= ($paging_links != '' or $db_count > 0) ? '
' . $paging_links . $results_text . '
' : '
' . $language["files.text.none"] . '
'; $html .= '
'; $html .= '
'; $html .= VGenerate::simpleDivWrap('', 'log-actions-types', '
' . $ht . '
'); $html .= VGenerate::simpleDivWrap('no-display', '', ''); $html .= VGenerate::declareJS('var s_url = "uactivity";'); $html .= '
'; $js = '$(".icheck-box.all input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); $(".icheck-box.fetched input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); $(".icheck-box.log-action input").each(function () { var self = $(this); self.iCheck({ checkboxClass: "icheckbox_square-blue", radioClass: "iradio_square-blue", increaseArea: "20%" }); }); $("#checkselect-all-entries input").on("ifChecked", function () { $(".activity-accordion input").iCheck("check");}); $("#checkselect-all-entries input").on("ifUnchecked", function () { $(".activity-accordion input").iCheck("uncheck"); }); '; $html .= VGenerate::declareJS('$(document).ready(function(){' . $js . '});'); $html .= ''; return $html; } /* user activity actions menu */ public function userAction_actionMenu() { global $cfg, $language, $class_filter; $ht .= ''; $ht .= ''; return $ht; } /* user activity sort menu */ public function userAction_activityMenu($opt_array, $usr_key) { global $cfg, $language, $class_filter; $ico_array = array( "log_upload" => "icon-upload", "log_filecomment" => "icon-comment", "log_rating" => "icon-thumbs-up", "log_fav" => "icon-heart", "log_responding" => "icon-reply", "log_subscribing" => "icon-users5", "log_following" => "icon-users5", "log_pmessage" => "icon-envelope", "log_frinvite" => "icon-users", "log_delete" => "icon-times", "log_signin" => "icon-enter", "log_signout" => "icon-exit", "log_precovery" => "icon-support", "log_urecovery" => "icon-support", ); $_a = $_GET["a"] != 'show-all' ? $class_filter->clr_str($_GET["a"]) : null; $_mt = $_a == '' ? $language["backend.menu.members.entry10.sub2.act.all"] : $opt_array[str_replace('show', 'log', $_a)]; $ht .= ''; $ht .= ''; $js = '$("#act-list .count2").click(function(){'; $js .= '$(".fancybox-inner").mask(" ");'; $js .= '$.post(current_url + menu_section + "?do=user-activity&u=' . $usr_key . '&a="+$(this).attr("rel-act"), $("#ct-set-form").serialize(), function(data){'; $js .= '$(".fancybox-inner").html(data);'; $js .= '$(".fancybox-inner").unmask();'; $js .= '});'; $js .= '});'; $js .= '$("#nav-actions .dl-trigger").on("click", function(){ if ($("#nav-actions ul.dl-menu").hasClass("dl-menuopen")) { setTimeout(function () { if ($("#nav-activity ul.dl-menu").hasClass("dl-menuopen")) { $("#nav-activity .dl-trigger").click(); } }, 100); } }); $("#nav-activity .dl-trigger").on("click", function(){ if ($("#nav-activity ul.dl-menu").hasClass("dl-menuopen")) { setTimeout(function () { if ($("#nav-actions ul.dl-menu").hasClass("dl-menuopen")) { $("#nav-actions .dl-trigger").click(); } }, 100); } }); '; $ht .= VGenerate::declareJS('$(document).ready(function(){' . $js . '});'); return $ht; } /* user action text */ public function userActionText($a) { global $class_database; $_act = substr($a, 0, 3); switch ($_act) { case "fav":$i = 'icon-heart'; break; case "upl":$i = 'icon-upload'; break; case "lik":$i = 'icon-thumbs-up'; break; case "dis":$i = 'icon-thumbs-up2'; break; case "del":$i = 'icon-times'; break; case "com":$i = 'icon-comment'; break; case "pri":$i = 'icon-envelope'; break; case "sub":$i = 'icon-users5'; break; case "fol":$i = 'icon-users5'; break; case "use":$i = 'icon-support'; break; case "pas":$i = 'icon-support'; break; case "fri":$i = 'icon-users'; break; default: $i = $a == 'sign in' ? 'icon-enter' : (($a == 'sign out') ? 'icon-exit' : 'icon-list'); break; } switch ($_act) { case "fav": case "upl": case "lik": case "dis": case "del": $_ar = explode(":", $a); $_ft = $class_database->singleFieldValue('db_' . $_ar[1] . 'files', 'file_title', 'file_key', $_ar[2]); $_t = '' . VUserinfo::truncateString(($_ft == '' ? $_ar[2] : $_ft), 45) . ''; break; case "com": $_ar = explode(":", $a); $_fr = explode(" ", $_ar[0]); if ($_fr[2] == 'channel') { $_t = '' . $class_database->singleFieldValue('db_accountuser', 'usr_user', 'usr_id', $_ar[1]) . ''; } else { $_t = '' . VUserinfo::truncateString($class_database->singleFieldValue('db_' . $_fr[2] . 'files', 'file_title', 'file_key', $_ar[1]), 45) . ''; } break; case "pri": $_ar = explode(":", $a); $_t = ' ' . $_ar[0]; break; case "sub": case "fol": case "use": case "pas": case "fri": $_t = ''; break; default: $_t = ($a == 'sign in' or $a == 'sign out') ? '' : null; break; } return $_t; } /* update subscription, in window popup */ public function subUpdate($t) { global $class_filter, $class_database, $db, $language; $error_message = null; $usr_key = $class_filter->clr_str($_GET["u"]); $usr_pk = intval($_POST["sub_pk_id"]); $usr_id = $class_database->singleFieldValue('db_accountuser', 'usr_id', 'usr_key', $usr_key); $usr_mail = $class_database->singleFieldValue('db_accountuser', 'usr_email', 'usr_key', $usr_key); switch ($t) { case "sub-reset": $up_sql = $db->execute(sprintf("UPDATE `db_packusers` SET `pk_usedbw`='0' WHERE `usr_id`='%s' LIMIT 1;", $usr_id)); $notice = ($db->Affected_Rows() > 0) ? 1 : 0; echo $notice == 1 ? VGenerate::noticeTpl('', '', $language["notif.success.request"]) : null; return; break; case "paid-sub-update": if ($_POST) { $sub_custom = (int) $_POST["custom_subscription"]; $sub_perc = $class_filter->clr_str($_POST["backend_menu_members_entry1_sub1_rev"]); $sub_currency = $class_filter->clr_str($_POST["backend_menu_sub_p_currency"]); $sub_update = $db->execute(sprintf("UPDATE `db_accountuser` SET `usr_sub_share`='%s', `usr_sub_perc`='%s', `usr_sub_currency`='%s' WHERE `usr_id`='%s' LIMIT 1;", $sub_custom, $sub_perc, $sub_currency, $usr_id)); $notice = ($db->Affected_Rows() > 0) ? 1 : 0; echo $notice == 1 ? VGenerate::noticeTpl('', '', $language["notif.success.request"]) : null; if ($notice) { $r = $db->execute(sprintf("SELECT `db_id`, `pk_paid`, `pk_paid_share` FROM `db_subpayouts` WHERE `usr_id_to`='%s';", $usr_id)); while (!$r->EOF) { $db_id = $r->fields["db_id"]; $pk_paid = $r->fields["pk_paid"]; $pk_paid_share = $r->fields["pk_paid_share"]; $db_owed = number_format((($sub_perc / 100) * $pk_paid), 1); if ($pk_paid_share != $db_owed) { $db->execute(sprintf("UPDATE `db_subpayouts` SET `pk_paid_share`='%s' WHERE `db_id`='%s' LIMIT 1;", $db_owed, $db_id)); } $r->MoveNext(); } } return; } break; case "sub-update": $expire_time = $class_filter->clr_str($_POST["sub_expire"]); $pk_id = $class_database->singleFieldValue('db_packusers', 'pk_id', 'usr_id', $usr_id); $sql_chk = ($pk_id != '') ? 1 : 0; $pk_price = $class_database->singleFieldValue('db_packtypes', 'pk_price', 'pk_id', $usr_pk); $up_sql = sprintf("UPDATE `db_accountuser`, `db_packusers` SET `db_packusers`.`pk_id`='%s', `db_packusers`.`expire_time`='%s', `db_packusers`.`pk_paid`='%s' WHERE `db_accountuser`.`usr_id`='%s' AND `db_packusers`.`usr_id`='%s';", $usr_pk, $expire_time, $pk_price, $usr_id, $usr_id); if ($sql_chk > 0) { $db->execute($up_sql); } else { $db->execute(sprintf("INSERT INTO `db_packusers` SET `usr_id`='%s', `pk_id`='%s', `subscribe_time`='%s';", $usr_id, $usr_pk, date("Y-m-d H:i:s"))); $db->execute($up_sql); } $notice = ($db->Affected_Rows() > 0) ? 1 : 0; echo $notice == 1 ? VGenerate::noticeTpl('', '', $language["notif.success.request"]) : null; return; break; case "act-update": global $cfg; $t = 0; $log_array = array( "log_upload", "log_filecomment", "log_rating", "log_fav", "log_responding", "log_subscribing", "log_following", "log_pmessage", "log_frinvite", "log_delete", "log_signin", "log_signout", "log_precovery", "log_urecovery", ); foreach ($log_array as $lv) { $cfg[] = $class_database->getConfigurations($lv); if ($cfg[$lv] == 1) { $val = intval($_POST[$lv]); $db->execute(sprintf("UPDATE `db_trackactivity` SET `%s`='%s' WHERE `usr_id`='%s' LIMIT 1;", $lv, $val, $usr_id)); $t += $db->Affected_Rows(); } } echo $html = ($_POST and $t > 0) ? VGenerate::noticeTpl(' bottom-padding10', $error_message, $language["notif.success.request"]) : null; break; case "perm-update": if ($_POST) { $error = null; $p = array(); $perm_arr = array( "perm_upload_v" => 1, "perm_upload_s" => 1, "perm_upload_l" => 1, "perm_upload_i" => 1, "perm_upload_a" => 1, "perm_upload_d" => 1, "perm_upload_b" => 1, "perm_view_v" => 1, "perm_view_s" => 1, "perm_view_l" => 1, "perm_view_i" => 1, "perm_view_a" => 1, "perm_view_d" => 1, "perm_view_b" => 1, "perm_live_chat" => 1, "perm_live_vod" => 1, "perm_embed_single" => 1, "perm_embed_yt_video" => 0, "perm_embed_yt_channel" => 0, "perm_embed_dm_video" => 0, "perm_embed_dm_user" => 0, "perm_embed_mc_video" => 0, "perm_embed_mc_user" => 0, "perm_embed_vi_user" => 0, ); foreach ($perm_arr as $pk => $pv) { $q .= sprintf("`%s`='%s', ", $pk, intval($_POST[$pk])); $p[$pk] = intval($_POST[$pk]); } $up_sql = sprintf("UPDATE `db_accountuser` SET `usr_perm`='%s' WHERE `usr_key`='%s' LIMIT 1;", serialize($p), $usr_key); $db->execute($up_sql); $notice = ($db->Affected_Rows() > 0) ? $language["notif.success.request"] : null; return $html = ($_POST and ($error != '' or $notice != '')) ? VGenerate::noticeTpl('', $error, $notice) : null; } break; case "usr-delete": $del_type = $class_filter->clr_str($_POST["user_del_type"]); $del_act = ($del_type == 'db' or $del_type == 'all') ? self::userDelete_db($del_type) : null; break; case "usr-email": $es = $_POST["email_subject"]; $eb = $_POST["email_body"]; $ms = $class_filter->clr_str($_POST["message_subject"]); $mb = $class_filter->clr_str($_POST["message_body"]); $m_not = intval($_POST["message_notify"]); if ($es != '' and $eb != '') { if ($_POST["cb_in2"] != '' and $_GET["u"] == 'sel') { $pq = rawurldecode($_POST["cb_in2"]); $sq = sprintf("SELECT `usr_email` FROM `db_accountuser` WHERE %s", $pq); $pr = $db->execute($sq); $ma = array(); if ($pr->fields["usr_email"]) { while (!$pr->EOF) { $ma[] = $pr->fields["usr_email"]; @$pr->MoveNext(); } } echo VGenerate::declareJS('$(".input-email-sub").val(""); $(".input-email-text").val("");'); } else { $ma[] = $usr_mail; echo VGenerate::declareJS('$("#usr-mail-form").get(0).reset();'); } $mail_do = VNotify::queInit('private_email', $ma, 0); $notice = $language["notif.success.request"]; } elseif ($es != '' or $eb != '') { $error = $language["notif.error.required.field"] . '' . ($es != '' ? $language["backend.menu.members.entry10.sub2.body.e"] : $language["backend.menu.members.entry10.sub2.subj.e"]) . ''; } if ($ms != '' and $mb != '') { if ($_POST["cb_in3"] != '' and $_GET["u"] == 'sel') { $pq = rawurldecode($_POST["cb_in3"]); $sq = sprintf("SELECT `usr_id`, `usr_email` FROM `db_accountuser` WHERE %s", $pq); $pr = $db->execute($sq); $ma = array(); if ($pr->fields["usr_id"]) { while (!$pr->EOF) { $ins_arr = array("msg_subj" => $ms, "msg_body" => $mb, "msg_from" => 0, "msg_to" => $pr->fields["usr_id"], "msg_date" => date("Y-m-d H:i:s")); $ins_db = $class_database->doInsert('db_messaging', $ins_arr); $db_id = $db->Insert_ID(); $mail_do = $m_not == 1 ? VNotify::queInit('private_message', array($pr->fields["usr_email"]), $db_id) : null; @$pr->MoveNext(); } $notice = $language["notif.success.request"]; echo VGenerate::declareJS('$(".input-msg-sub").val(""); $(".input-msg-text").val("");'); } } else { $ins_arr = array("msg_subj" => $ms, "msg_body" => $mb, "msg_from" => 0, "msg_to" => $usr_id, "msg_date" => date("Y-m-d H:i:s")); $ins_db = $class_database->doInsert('db_messaging', $ins_arr); $notice = $language["notif.success.request"]; $db_id = $db->Insert_ID(); echo VGenerate::declareJS('$("#usr-msg-form").get(0).reset();'); $mail_do = $m_not == 1 ? VNotify::queInit('private_message', array($usr_mail), $db_id) : null; } } elseif ($ms != '' or $mb != '') { $error = $language["notif.error.required.field"] . '' . ($ms != '' ? $language["backend.menu.members.entry10.sub2.body.m"] : $language["backend.menu.members.entry10.sub2.subj.m"]) . ''; } return $html = ($_POST and ($error != '' or $notice != '')) ? VGenerate::noticeTpl('', $error, $notice) : null; break; case "usr-update": case "passw-update": $email_check = new VValidation; $hasher = new VPasswordHash(8, false); $usr_email = $class_filter->clr_str($_POST["account_email_address"]); $email_ignore = intval($_POST["ignore_email"]); //check for valid email format $error_message = ($t == 'usr-update' and !$email_check->checkEmailAddress($usr_email) and $error_message == '') ? $language["frontend.signup.email.invalid"] : $error_message; //check for email domain restriction $error_message = ($t == 'usr-update' and $cfg["signup_domain_restriction"] == 1 and $error_message == '' and !VIPaccess::emailDomainCheck($usr_email)) ? $language["notif.error.nodomain"] : $error_message; //check for existing registered email $error_message = ($t == 'usr-update' and $email_ignore == 0 and VUserinfo::existingEmail($usr_email) and $error_message == '') ? $language["notif.error.existing.email"] : $error_message; //check for password match $error_message = ($t == 'passw-update' and md5($_POST["account_manage_pass_new"]) != md5($_POST["account_manage_pass_retype"]) and $error_message == '') ? $language["notif.error.pass.nomatch"] : $error_message; if ($error_message == '') { if ($t == 'usr-update') { $up_sql = sprintf("UPDATE `db_accountuser` SET `usr_email`='%s' WHERE `usr_id`='%s' LIMIT 1;", $usr_email, $usr_id); } elseif ($t == 'passw-update') { $enc_pass = $class_filter->clr_str($hasher->HashPassword($_POST["account_manage_pass_new"])); $up_sql = sprintf("UPDATE `db_accountuser` SET %s WHERE `usr_id`='%s' LIMIT 1;", (($_POST["account_manage_pass_new"] != '' and $_POST["account_manage_pass_retype"] != '') ? " `usr_password`='" . $enc_pass . "'" : null), $usr_id); } $db->execute($up_sql); if ($db->Affected_Rows() > 0) { $notice_message = $language["notif.success.request"]; echo VGenerate::declareJS('$("#usr-entry-email' . $usr_id . '").html("' . $usr_email . '");'); } } $html .= ($_POST and ($error_message != '' or $notice_message != '')) ? VGenerate::noticeTpl('', $error_message, $notice_message) : null; return $html; break; } } /* loop folder array */ public function userAction_folderarray($f, $k) { global $language; $l = ' .......... '; foreach ($f[1][$k] as $fk => $fv) { $_s = VFileinfo::getDirectorySize($fv); $html .= '
  • ' . $fv . $l . VUseraccount::numberFormat($_s, 1) . $l . ($_s["count"] . ' ' . $language["frontend.global.files"]) . $l . (is_dir($fv) ? VFileinfo::getOwnerships($fv) : '' . $language["frontend.global.not.found"] . '') . '
  • '; } return $html; } /* user actions, membership details window popup */ public function userAction_subinfo($notice = '') { global $class_filter, $class_database, $language, $cfg; $usr_key = $class_filter->clr_str($_GET["u"]); $usr_id = $class_database->singleFieldValue('db_accountuser', 'usr_id', 'usr_key', $usr_key); $pk_id = $class_database->singleFieldValue('db_packusers', 'pk_id', 'usr_id', $usr_id); $pk_id = $pk_id != '' ? $pk_id : 0; $html .= ''; $html .= '
    '; $html .= VGenerate::headingArticle('' . $language["backend.menu.members.mem.for"] . $class_database->singleFieldValue('db_accountuser', 'usr_user', 'usr_key', $usr_key) . '' . $usr_key . '', 'icon-coin'); $html .= '
    '; $html .= '
    '; $html .= VGenerate::simpleDivWrap('vs-column full', '', VUseraccount::subscriptionStats(0, $usr_id, 1)); $html .= '

    '; $html .= VGenerate::simpleDivWrap('row right-float top-padding15', '', self::userAction_close('sub-info')); $html .= ''; $html .= '
    '; $html .= '
    '; return $html; } /* user actions, membership details window popup */ public function userAction_paidsub($notice = '') { global $class_filter, $class_database, $language, $cfg, $db; $usr_key = $class_filter->clr_str($_GET["u"]); $ui = $db->execute(sprintf("SELECT `usr_id`, `usr_user`, `usr_sub_share`, `usr_sub_perc`, `usr_sub_currency` FROM `db_accountuser` WHERE `usr_key`='%s' LIMIT 1;", $usr_key)); $usr_id = $ui->fields["usr_id"]; $pk_id = 0; if (!$usr_id) { return; } $share_df = $cfg["sub_shared_revenue"]; $share_nr = $ui->fields["usr_sub_perc"]; $share = $ui->fields["usr_sub_share"]; $share_p = $share == 1 ? $share_nr : $share_df; $user = $ui->fields["usr_user"]; $currency = $ui->fields["usr_sub_currency"]; $_currency = explode(',', $language["supported_currency_names"]); $sel_opts = null; foreach ($_currency as $v) { $sel_opts .= ''; } $html .= '
    '; $html .= VGenerate::headingArticle('' . $language["backend.menu.members.sub.for"] . $ui->fields["usr_user"] . '' . $usr_key . '', 'icon-coin'); $html .= '
    '; $html .= ''; $html .= '
    '; return $html; } /* update pk date */ public function pkDate($pk) { global $class_database; $days = $pk > 0 ? $class_database->singleFieldValue('db_packtypes', 'pk_period', 'pk_id', $pk) : 0; $expire_time = date("Y-m-d H:i:s", strtotime("+" . $days . " day")); echo VGenerate::declareJS('$(".sub-expire").val("' . $expire_time . '");'); } /* subscription list */ public function subscriptionList() { global $class_filter, $class_database, $db; $usr_key = $class_filter->clr_str($_GET["u"]); $usr_id = $class_database->singleFieldValue('db_accountuser', 'usr_id', 'usr_key', $usr_key); $pk_id = $class_database->singleFieldValue('db_packusers', 'pk_id', 'usr_id', $usr_id); $sql = $db->execute(sprintf("SELECT `pk_id`, `pk_name`, `pk_period` FROM `db_packtypes` WHERE `pk_active`='1' ORDER BY `pk_id`;")); if ($sql->fields["pk_id"]) { $ht = '
    '; $ht .= ' '; } $html = VGenerate::simpleDivWrap('selector', '', $ht); return $html; } /* user actions, folder info window popup */ public function userAction_folderinfo() { global $class_database, $class_filter, $language, $cfg, $smarty; $usr_key = $class_filter->clr_str($_GET["u"]); $f = VSignup::getUserFolders($usr_key); $_s1 = VFileinfo::getDirectorySize($f[0][0]); $_s2 = VFileinfo::getDirectorySize($f[0][1]); $_s3 = VFileinfo::getDirectorySize($f[0][2]); $uf = $_GET["a"] == 'reset' ? VSignup::createUserFolders($class_filter->clr_str($_GET["u"])) : null; $ht .= ''; $ht .= ''; $ht .= '
    '; $ht .= '
    '; $ht .= ''; $ht .= '
    '; $ht .= '
    '; $html = $ht; $html .= ''; return $html; } /* user accounts template */ public function userEntry($_dsp, $type, $entry_id, $info_array, $pr_array, $ch_array) { global $language, $class_database, $cfg, $db, $backend_access_url; $_user_id = $info_array[0]; $_user_key = $info_array[1]; $_user_name = $info_array[2]; $_user_act = $info_array[3]; $_user_email = $info_array[4]; $_user_ip = $info_array[5]; $_user_feat = $info_array[6]; $_user_login = $info_array[7]; $_user_last = $info_array[8]; $_user_date = $info_array[9]; $_user_del = $info_array[10]; $_user_ver = $info_array[11]; $_user_v = $info_array[12]; $_user_i = $info_array[13]; $_user_a = $info_array[14]; $_user_d = $info_array[15]; $_user_b = $info_array[16]; $_user_l = $info_array[17]; $_user_s = $info_array[18]; /* more */ $_user_descr = $pr_array[0]; $_user_web = $pr_array[1]; $_user_fname = $pr_array[2]; $_user_lname = $pr_array[3]; $_user_pic = $pr_array[4]; $_user_town = $pr_array[5]; $_user_city = $pr_array[6]; $_user_zip = $pr_array[7]; $_user_ctry = $pr_array[8]; $_user_bday = $pr_array[9]; $_user_gen = $pr_array[10]; $_user_rel = $pr_array[11]; $_user_age = VUserinfo::ageFromString($_user_bday); $_user_occup = $pr_array[13]; $_user_comp = $pr_array[14]; $_user_sch = $pr_array[15]; $_user_inter = $pr_array[16]; $_user_mov = $pr_array[17]; $_user_music = $pr_array[18]; $_user_book = $pr_array[19]; $_user_delr = $pr_array[20]; $_user_promo = $pr_array[21]; $_user_aff = $pr_array[22]; $_user_prt = $pr_array[23]; /* more */ $_user_chan = $ch_array[0]; $_user_views = $ch_array[1]; $_user_ch = $class_database->singleFieldValue('db_usertypes', 'db_name', 'db_id', $_user_chan); $_user_ch = $_user_ch == '' ? '-' : $_user_ch; $_init = VbeEntries::entryInit($_dsp, $_user_id, $entry_id); $_dsp = $_init[0]; $_btn = $_init[1]; $tabs = '
    '; $tabs .= '
    '; $tabs .= '
    '; $tabs .= '
    '; $tabs .= '
    '; $tabs .= '
    '; $tabs .= ''; $tabs .= ''; $tabs .= ''; $tabs .= ''; $tabs .= ''; $tabs .= ''; $tabs .= ($cfg["user_subscriptions"] == 1 and $_user_prt == 1) ? '' : null; $tabs .= ($cfg["affiliate_module"] == 1 and $_user_aff == 1) ? '' : null; $tabs .= $cfg["paid_memberships"] == 1 ? '' : null; $tabs .= ''; $tabs .= '
    '; // $html .= '
    '; $html .= '
    '; /* top buttons */ $html .= '
    '; $html .= $tabs; $html .= ''; $html .= '
    '; /* left side details */ $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', VGenerate::entryHiddenInput($_user_id))); $html .= '
    '; $html .= '
    '; $html .= '
      '; $html .= '
    • ' . $language["account.profile.account"] . '
      ' . ($_user_act == 1 ? '' . $language["frontend.global.active"] . '' : '' . $language["frontend.global.inactive"] . '') . '
    • '; $html .= '
    • ' . $language["account.profile.deleted"] . '
      ' . ($_user_del == 0 ? '' . $language["frontend.global.no"] . '' : '' . $language["frontend.global.yes"] . '') . '
    • '; $html .= '
    • ' . $language["files.menu.featured"] . '
      ' . ($_user_feat == 1 ? '' . $language["frontend.global.yes"] . '' : '' . $language["frontend.global.no"] . '') . '
    • '; $html .= '
    • ' . $language["files.menu.promoted"] . '
      ' . ($_user_promo == 1 ? '' . $language["frontend.global.yes"] . '' : '' . $language["frontend.global.no"] . '') . '
    • '; $html .= '
    • ' . $language["account.email.address"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', 'usr-entry-email' . $_user_id, $_user_email, '', 'span') . '
    • '; $html .= '
    • ' . $language["account.profile.email.verified"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_ver == 1 ? '' . $language["frontend.global.yes"] . '' : '' . $language["frontend.global.no"] . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.profile.joined"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_date, '', 'span') . '
    • '; $html .= '
    • ' . $language["account.profile.last.login"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_last, '', 'span') . '
    • '; $html .= '
    • ' . $language["account.profile.login.count"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_login, '', 'span') . '
    • '; $html .= '
    • ' . $language["account.profile.login.ip"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_ip . self::checkBannedIP($_user_ip), '', 'span') . '
    • '; $html .= '
    '; $html .= '
    '; $html .= '
    '; $html .= '
      '; $html .= '
    • ' . $language["account.overview.live.up"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20', '', '' . self::numFormat($_user_l) . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.live.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::fileHits('live', $_user_id), '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.vid.up"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20', '', '' . self::numFormat($_user_v) . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.vid.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::fileHits('video', $_user_id), '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.short.up"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20', '', '' . self::numFormat($_user_s) . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.short.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::fileHits('short', $_user_id), '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.img.up"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20', '', '' . self::numFormat($_user_i) . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.img.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::fileHits('image', $_user_id), '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.aud.up"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20', '', '' . self::numFormat($_user_a) . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.aud.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::fileHits('audio', $_user_id), '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.doc.up"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20', '', '' . self::numFormat($_user_d) . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.doc.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::fileHits('doc', $_user_id), '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.blog.up"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20', '', '' . self::numFormat($_user_b) . '', '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.blog.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::fileHits('blog', $_user_id), '', 'span') . '
    • '; $html .= '
    '; $html .= '
    '; /* right side details */ $html .= '
    '; $html .= '
      '; $html .= '
    • ' . $language["account.profile.key"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_key, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.personal.firstname"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_fname, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.personal.lastname"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_lname, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.about.describe"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_descr, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.about.website"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', '' . $_user_web . '', '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.location.country"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_ctry, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.location.city"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_city, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.location.town"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_town, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.location.zip"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_zip, '', 'span') . '
      '; $html .= '
    • ' . $language["account.overview.chan.type"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_ch, '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.chan.view"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::numFormat($_user_views), '', 'span') . '
    • '; $html .= '
    • ' . $language["account.overview.chan.subs"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', self::numFormat(VUserpage::getSubCount($_user_id)), '', 'span') . '
    • '; $html .= '
    '; $html .= '
    '; $html .= '
    '; $html .= '
      '; $html .= '
    • ' . $language["account.profile.personal.bday"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_bday, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.personal.age"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_age, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.personal.gender"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_gen, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.personal.rel"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_rel, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.job.occup"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_occup, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.job.companies"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_comp, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.education.school"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_sch, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.interests"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_inter, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.interests.movies"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_mov, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.interests.music"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_music, '', 'span') . '
      '; $html .= '
    • ' . $language["account.profile.interests.books"] . '
      ' . VGenerate::simpleDivWrap('left-float lh20 conf-green', '', $_user_book, '', 'span') . '
      '; $html .= '
    '; $html .= '
    '; $html .= '
    '; $html .= ''; $html .= '
    '; return $html; } /* list menu actions, sort files */ public function listMenuActions($type) { global $cfg, $language, $section, $href, $class_filter, $class_database; $btn_id = 'sort-file-time'; $div_id = 'file-sort-div'; $type = 'file-time-actions'; $menu_arr = array( "sort-active" => "files.menu.active", "sort-inactive" => "files.menu.inactive", "sort-deleted" => "files.menu.deleted", "sort-recent" => "files.menu.recent", // "sort-affiliated" => "files.menu.affiliated", "sort-partnered" => "files.menu.partnered", "sort-promoted" => "files.menu.promoted", "sort-featured" => "files.menu.featured", "sort-views" => "files.menu.ch.views", "sort-lcount" => "files.menu.l.count", ); $menu_arr_icons = array( "sort-active" => "icon-play", "sort-inactive" => "icon-stop", "sort-deleted" => "icon-times", "sort-recent" => "icon-clock", // "sort-affiliated" => "icon-coin", "sort-partnered" => "icon-coin", "sort-promoted" => "icon-bullhorn", "sort-featured" => "icon-star", "sort-views" => "icon-eye", "sort-lcount" => "icon-enter", ); if ($cfg["live_module"] == 1) { $menu_arr["sort-lvcount"] = 'files.menu.lv.count'; $menu_arr_icons["sort-lvcount"] = 'icon-live'; } if ($cfg["video_module"] == 1) { $menu_arr["sort-vcount"] = 'files.menu.v.count'; $menu_arr_icons["sort-vcount"] = 'icon-video'; } if ($cfg["short_module"] == 1) { $menu_arr["sort-scount"] = 'files.menu.s.count'; $menu_arr_icons["sort-scount"] = 'icon-mobile'; } if ($cfg["image_module"] == 1) { $menu_arr["sort-icount"] = 'files.menu.i.count'; $menu_arr_icons["sort-icount"] = 'icon-image'; } if ($cfg["audio_module"] == 1) { $menu_arr["sort-acount"] = 'files.menu.a.count'; $menu_arr_icons["sort-acount"] = 'icon-headphones'; } if ($cfg["document_module"] == 1) { $menu_arr["sort-dcount"] = 'files.menu.d.count'; $menu_arr_icons["sort-dcount"] = 'icon-file'; } if ($cfg["blog_module"] == 1) { $menu_arr["sort-bcount"] = 'files.menu.b.count'; $menu_arr_icons["sort-bcount"] = 'icon-pencil2'; } $int_val = $_POST[str_replace('-', '_', $div_id) . '_val'] == '' ? (($_GET["do"] != '' and array_key_exists($_GET["do"], $menu_arr)) ? $_GET["do"] : 'sort-recent') : $_POST[str_replace('-', '_', $div_id) . '_val']; $menu_top = ($_GET["do"] == '' or $language[$menu_arr[$int_val]] == '') ? $language["files.menu.recent"] : $language[$menu_arr[$int_val]]; unset($menu_arr[$int_val]); $m_count = count($menu_arr); $html .= ''; $html .= '
    '; $html .= VGenerate::declareJS('$(function() { $( "#' . $type . '" ).dlmenu({ animationClasses : { classin : "dl-animate-in-5", classout : "dl-animate-out-5" } }); });'); return $html; } /* ban details */ public function banDetails($_dsp = '', $entry_id = '', $db_id = '', $ban_active = '', $ban_ip = '', $ban_descr = '') { global $class_filter, $language, $db; if ($_POST and $_GET["do"] == 'add') { self::processBanEntry(); $form = VArraySection::getArray("ban_list"); $ban_ip = $form[0]["ban_ip"]; $ban_descr = $form[0]["ban_descr"]; if ($db->Affected_Rows() > 0) { $ban_ip = null; $ban_descr = null; } } $_init = VbeEntries::entryInit($_dsp, $db_id, $entry_id); $_date = date('D, m/d/Y, H:i:s A', strtotime($dc_date)); $_sct = 'ban_list'; $_dsp = $_init[0]; $_btn = $_init[1]; $_btn = $_GET["do"] != 'add' ? VGenerate::simpleDivWrap('left-float', '', VGenerate::basicInput('button', 'save_changes', 'save-entry-button button-grey search-button form-button ' . ($_GET["do"] == 'add' ? 'new-entry' : 'update-entry'), '', $entry_id, '' . ($_GET["do"] == 'add' ? $language["frontend.global.savenew"] : $language["frontend.global.saveupdate"]) . ''), 'display: inline-block-off;') : null; $html .= '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', VGenerate::entryHiddenInput($db_id))); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140 act place-left', '', '' . ($ban_active == 1 ? '' . $language["frontend.global.active"] . '' : '' . $language["frontend.global.inactive"] . ''))); $html .= '
    '; $html .= '
    '; $html .= VGenerate::simpleDivWrap('row top-padding5', '', ''); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry3_sub5_ip', 'backend-text-input wd350', $ban_ip); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '', 'left-float', 'frontend_global_note', 'backend-text-input wd350', $ban_descr); $html .= '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', ' ') . VGenerate::simpleDivWrap('left-float lh20', '', $_btn)); $html .= VGenerate::simpleDivWrap('row right-align no-top-padding right-padding20', '', $language["frontend.global.required.items"]); $html .= ''; $html .= ''; $html .= '
    '; return $html; } /* process ban entry */ public function processBanEntry() { global $class_database, $class_filter, $language, $db; $rem_ip = $class_filter->clr_str($_SERVER[REM_ADDR]); $form = VArraySection::getArray("ban_list"); $allowedFields = $form[1]; $requiredFields = $form[2]; $ban_ip = $form[0]["ban_ip"]; $ban_descr = $form[0]["ban_descr"]; $ct_id = intval($_POST["hc_id"]); $error_message = VForm::checkEmptyFields($allowedFields, $requiredFields); $error_message = ($error_message == '' and VIPaccess::banIPrange_single($rem_ip, $ban_ip) == 1) ? $language["notif.error.invalid.request"] : $error_message; $error_message = ($error_message == '' and $rem_ip == $ban_ip) ? $language["notif.error.invalid.request"] : $error_message; if ($error_message != '') { echo VGenerate::noticeTpl('', $error_message, ''); } if ($error_message == '') { switch ($_GET["do"]) { case "update": $sql = sprintf("UPDATE `db_banlist` SET `ban_ip`='%s', `ban_descr`='%s' WHERE `ban_id`='%s' LIMIT 1;", $ban_ip, $ban_descr, $ct_id); $db->execute($sql); break; case "add": $class_database->doInsert('db_banlist', $form[0]); break; } if ($db->Affected_Rows() > 0) { echo VGenerate::noticeTpl('', '', $language["notif.success.request"]); } } } /* check for banned IP */ public function checkBannedIP($ip) { global $class_database, $language; $is_ban = $class_database->singleFieldValue('db_banlist', 'ban_active', 'ban_ip', $ip); return ($is_ban == 1 ? ' ' . $language["account.text.banned"] . '' : null); } /* file hits count */ public function fileHits($type, $uid) { global $db; $sql = sprintf("SELECT SUM(`file_views`) AS `total` FROM `db_%sfiles` WHERE `usr_id`='%s'", $type, $uid); $rs = $db->execute($sql); return $rs->fields["total"]; } /* number format */ public function numFormat($for) { return number_format($for, 0, '', ','); } /* channel types template */ public function chTypes($_dsp = '', $entry_id = '', $db_id = '', $db_name = '', $db_desc = '', $db_style = '', $db_infl = '', $db_state = '') { global $language; $_init = VbeEntries::entryInit($_dsp, $db_id, $entry_id); $_sct = 'channel_types'; $_dsp = $_init[0]; $_btn = $_init[1]; if ($_POST) { $all_array = VArraySection::getArray($_sct); $entry_array = $all_array[0]; switch ($_GET["do"]) { case 'add': $results = VbeEntries::processEntry($_sct, 'add'); $html = $results[2]; if ($results[0] != '') { $db_name = $entry_array["db_name"]; $db_desc = $entry_array["db_desc"]; $db_style = $entry_array["db_styles"]; $db_infl = $entry_array["db_influences"]; }break; case 'update': $results = VbeEntries::processEntry($_sct, 'update', $db_id); $html = $results[2]; break; } } $_btn = VGenerate::simpleDivWrap('left-float', '', VGenerate::basicInput('button', 'save_changes', 'search-button form-button ' . ($_GET["do"] == 'add' ? 'new-entry' : 'update-entry'), '', $entry_id, $language["frontend.global.saveupdate"])); $html .= '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', VGenerate::entryHiddenInput($db_id))); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', $language["frontend.global.estate"]) . VGenerate::simpleDivWrap('left-float lh20', '', $db_state == 1 ? '' . $language["frontend.global.active"] . '' : '' . $language["frontend.global.inactive"] . '')); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', $language["backend.menu.members.entry1.sub2.entry.name"] . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_name', 'backend-text-input wd350', $db_name); $html .= VGenerate::sigleInputEntry('textarea', 'left-float lh20 wd140', $language["backend.menu.members.entry1.sub2.entry.desc"], 'left-float', 'backend_menu_members_entry1_sub2_entry_desc', 'backend-textarea-input wd350', $db_desc); $html .= VGenerate::sigleInputEntry('textarea', 'left-float lh20 wd140', $language["backend.menu.members.entry2.sub2.style"], 'left-float', 'backend_menu_members_entry2_sub2_style', 'backend-textarea-input wd350', $db_style); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', $language["backend.menu.members.entry2.sub2.infl"]) . VGenerate::simpleDivWrap('left-float lh20', '', '')); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', ' ') . VGenerate::simpleDivWrap('left-float lh20', '', $_btn)); $html .= VGenerate::simpleDivWrap('row right-align no-top-padding right-padding20', '', $language["frontend.global.required.items"]); $html .= ''; $html .= '
    '; if ($_GET["do"] != 'add') { $html .= '
    '; $html .= '
    '; $html .= '
    '; $html .= '
    ' . $language["backend.menu.members.entry2.sub2.create.custom"] . '
    '; $html .= '
    '; $html .= ''; $html .= '
    '; $html .= '
    '; $html .= self::customFieldsHTML("text"); $html .= self::customFieldsHTML("input"); $html .= self::customFieldsHTML("link"); $html .= self::customFieldsHTML("select"); $html .= '
    '; // end "custom-fields-source" $html .= '
    '; $html .= '
    '; // end "source-fields-form" $html .= '
    ' . self::listCustomFields($db_id) . '
    '; $html .= '
    '; // end "left-float wd97p top-border" $html .= '
    '; } return $html; } /* custom fields html templates */ public function customFieldsHTML($type, $left = '', $right = '', $arr_key = '', $thedb_id = '') { global $language; $ht_left = $left != '' ? ' value="' . $left . '"' : null; $ht_right = $right != '' ? ' value="' . $right . '"' : null; $cancel_txt = $left != '' ? $language["backend.menu.members.entry2.sub2.this.remove"] : $language["backend.menu.members.entry2.sub2.this.cancel"]; $edit_class = $left != '' ? 'edit' : null; $rem_class = $left != '' ? 'remove' : 'cancel'; $db_id = $left != '' ? $arr_key : rand(0, 99999); $save_id = $left != '' ? 'id="save-custom-edit-' . $arr_key . '" ' : null; $save_txt = $left != '' ? $language["backend.menu.members.entry2.sub2.this.save"] : $language["backend.menu.members.entry2.sub2.this.save.new"]; $html .= '
    '; $html .= $left != '' ? '
    ' : null; switch ($type) { case "text": $html .= '
    ' . $language["backend.menu.members.entry2.sub2.label"] . '' . $language["frontend.global.required"] . '
    '; $html .= '
    ' . $language["backend.menu.members.entry2.sub2.value"] . '' . $language["frontend.global.required"] . '
    '; $html .= '
    '; break; case "input": $html .= '
    ' . ($type == 'input' ? $language["backend.menu.members.entry2.sub2.label"] : $language["backend.menu.members.entry2.sub2.link.name"]) . '' . $language["frontend.global.required"] . '
    '; $html .= '
    ' . ($type == 'input' ? $language["backend.menu.members.entry2.sub2.input.value"] : $language["backend.menu.members.entry2.sub2.link.href"]) . '
    '; $html .= '
    '; break; case "link": $html .= '
    ' . $language["backend.menu.members.entry2.sub2.link.name"] . '' . $language["frontend.global.required"] . '
    '; $html .= '
    ' . $language["backend.menu.members.entry2.sub2.link.href"] . '
    '; $html .= '
    '; $html .= '
     
    ' . $language["backend.menu.members.entry2.sub2.set.img"] . '
    '; break; case "select": $ht_right = $right != '' ? str_replace(",", "\n", $right) : null; $html .= '
    ' . $language["backend.menu.members.entry2.sub2.label"] . '' . $language["frontend.global.required"] . '
    '; $html .= '
    ' . $language["backend.menu.members.entry2.sub2.sel.opt"] . '' . $language["frontend.global.required"] . '
    '; $html .= '
    '; break; } $html .= $left != '' ? '
    ' : null; $html .= $left != '' ? '
    ' : null; $html .= $left != '' ? '
    ' : null; $html .= '
    '; return $html; } /* js error class */ public function setJSerr($div_id, $input1 = '', $input2 = '') { $js = '$(document).ready(function(){'; $js .= 'var val1 = "' . $_POST[$input1] . '";'; $js .= $input2 != '' ? 'var val2 = "' . $_POST[$input2] . '";' : null; $js .= 'if( val1 == "" ) { $("' . $div_id . ' span.' . $input1 . '_req").addClass("err-red"); }'; $js .= 'else if( val1 != "" ) { $("' . $div_id . ' span.' . $input1 . '_req").removeClass("err-red"); }'; $js .= $input2 != '' ? 'if( val2 == "" ) { $("' . $div_id . ' span.' . $input2 . '_req").addClass("err-red"); }' : null; $js .= $input2 != '' ? 'else if( val2 != "" ) { $("' . $div_id . ' span.' . $input2 . '_req").removeClass("err-red"); }' : null; $js .= '});'; echo VGenerate::declareJS($js); } /* saving new custom fields */ public function saveCustomFields($type) { global $class_database, $class_filter, $db; $error = 0; $db_id = intval($_POST["custom_db_id"]); $db_fields = array(); $db_array = array("type" => substr($type, 10), "left" => "", "right" => ""); $post_array = array("source_text_label" => "", "source_text_descr" => "", "source_input_label" => "", "source_input_descr" => "", "source_link_label" => "", "source_link_descr" => "", "allow_img_linking" => "", "source_select_label" => "", "source_select_descr" => "", ); $db_data = $class_database->singleFieldValue('db_usertypes', 'db_custom_fields', 'db_id', $db_id); $db_fields = unserialize($db_data); $db_count = $db_data != '' ? count($db_fields) : 0; foreach ($post_array as $key => $val) { $post_array[$key] = $class_filter->clr_str(trim($_POST[$key])); } switch ($type) { case "savecustomtext": $input1 = 'source_text_label'; $input2 = 'source_text_descr'; if ($post_array[$input1] == '' or $post_array[$input2] == '') { echo self::setJSerr('.custom-wrap-text', $input1, $input2); $error = 1;} $db_array["left"] = $post_array[$input1]; $db_array["right"] = $post_array[$input2]; break; case "savecustominput": case "savecustomlink": $input1 = $type == 'savecustominput' ? 'source_input_label' : 'source_link_label'; $input2 = ''; $input3 = 'allow_img_linking'; $js_class = $type == 'savecustominput' ? '.custom-wrap-input' : '.custom-wrap-link'; if ($post_array[$input1] == '') { echo self::setJSerr($js_class, $input1, $input2); $error = 1;} $db_array["left"] = $post_array[$input1]; $db_array["right"] = $type == 'savecustominput' ? '' : (($type == 'savecustomlink' and $post_array[$input3] == '1') ? 'img_link' : ''); break; case "savecustomselect": $input1 = 'source_select_label'; $input2 = 'source_select_descr'; if ($post_array[$input1] == '' or $post_array[$input2] == '') { echo self::setJSerr('.custom-wrap-select', $input1, $input2); $error = 1;} $db_array["left"] = $post_array[$input1]; $db_array["right"] = str_replace("\n", ",", $post_array[$input2]); break; } $db_fields[($db_count > 0 ? $db_count : 0)] = $db_array; if (count($db_fields) > 0 and $error == 0) { $_POST["hc_id"] = $db_id; $db_update = $class_database->doUpdate('db_usertypes', 'db_id', array("db_custom_fields" => serialize($db_fields))); if ($db->Affected_Rows() > 0) { echo VGenerate::declareJS('$(document).ready(function(){$("#source-fields-form' . $db_id . '").get(0).reset(); $("#source-fields-form' . $db_id . ' span.err-red").removeClass("err-red"); $(".source-custom-field' . $db_id . '>div").addClass("no-display"); resizeDelimiter();});'); } } echo self::listCustomFields($db_id); } /* saving/deleting edited fields */ public function saveEditedFields($type, $delete = 0) { global $db, $class_database, $class_filter, $language; $db_key = intval($_GET["id"]); $arr_key = intval($_GET["key"]); $_POST["hc_id"] = $db_key; $db_array = unserialize($class_database->singleFieldValue('db_usertypes', 'db_custom_fields', 'db_id', $db_key)); switch ($type) { case "savecustomtextedit": $input1 = 'source_text_label'; $input2 = 'source_text_descr'; $resp_div = '.save-text-response'; if ($_POST[$input1] == '' or $_POST[$input2] == '') {return self::setJSerr('#custom-wrap' . $arr_key, $input1, $input2);} $db_array[$arr_key]["left"] = $class_filter->clr_str($_POST[$input1]); $db_array[$arr_key]["right"] = $class_filter->clr_str($_POST[$input2]); break; case "savecustominputedit": case "savecustomlinkedit": $input1 = $type == 'savecustominputedit' ? 'source_input_label' : 'source_link_label'; $input2 = ''; $input3 = 'allow_img_linking'; $resp_div = $type == 'savecustominputedit' ? '.save-input-response' : '.save-link-response'; if ($_POST[$input1] == '') {return self::setJSerr('#custom-wrap' . $arr_key, $input1, '');} $db_array[$arr_key]["left"] = $class_filter->clr_str($_POST[$input1]); $db_array[$arr_key]["right"] = $type == 'savecustominputedit' ? '' : (($type == 'savecustomlinkedit' and $_POST[$input3] == '1') ? 'img_link' : ''); break; case "savecustomselectedit": $input1 = 'source_select_label'; $input2 = 'source_select_descr'; $resp_div = '.save-select-response'; if ($_POST[$input1] == '' or $_POST[$input2] == '') {return self::setJSerr('#custom-wrap' . $arr_key, $input1, $input2);} $db_array[$arr_key]["left"] = $class_filter->clr_str($_POST[$input1]); $db_array[$arr_key]["right"] = str_replace("\n", ",", $class_filter->clr_str($_POST[$input2])); break; } if ($delete == 1) { unset($db_array[$arr_key]); $db_array = array_merge($db_array); $db_clean = self::delCustomField($db_key, $arr_key, $db_array); } $db_update = $class_database->doUpdate('db_usertypes', 'db_id', array("db_custom_fields" => serialize($db_array))); echo $clr_js_err = VGenerate::declareJS('$("#custom-wrap' . $arr_key . ' span.err-red").removeClass("err-red"); $("#save-fields-form' . $arr_key . '-' . intval($_GET["id"]) . ' ' . $resp_div . '").html("[' . $language["frontend.global.saved"] . ']"); setTimeout(function(){$("#save-fields-form' . $arr_key . '-' . intval($_GET["id"]) . ' ' . $resp_div . '").html("");}, 3000);'); } /* delete custom fields function */ public function delCustomField_off($db_key, $arr_key, $db_array) { global $db; if ($db_key > 0 and is_array($db_array)) { $db_n = array(); $db_f = $db->execute(sprintf("SELECT `ch_custom_fields`, `db_id` FROM `db_accountuser` WHERE `ch_type`='%s';", $db_key)); $db_r = $db_f->getrows(); foreach ($db_r as $db_v) { $db_c = unserialize($db_v[0]); $db_id = $db_v[1]; unset($db_c[$db_array[$arr_key]["type"] . $arr_key]); $ak = array_keys($db_c); foreach ($ak as $key => $val) { $db_c_val = $db_c[$val]; $db_c_key = $db_array[$key]["type"] . $key; $db_n[$db_c_key] = $db_c_val; } $db_update = $db->execute(sprintf("UPDATE `db_accountuser` SET `ch_custom_fields`='%s' WHERE `db_id`='%s' LIMIT 1;", serialize($db_n), $db_id)); } } } /* custom fields js */ public function customFieldsJS() { $js .= '$(".remove-custom-field").die();'; $js .= '$(".remove-custom-field").live("click", function(){'; //removing custom fields $js .= 'var rm_key = $(this).attr("id").split("-");'; $js .= 'var save_form = "#" + $(this).closest("form").attr("id");'; $js .= 'var save_id = $(save_form+" .custom_save_id").val();'; $js .= 'var save_url = current_url + menu_section + "?s=' . $_GET["s"] . '&do=removecustomfield&key="+rm_key[3]+"&id="+save_id;'; $js .= '$(save_form).parent().mask(" "); $.post(save_url, $(save_form).serialize(), function(data){'; $js .= '$(save_form+">div.custom-save-response").html(data);'; $js .= '$(save_form).parent().unmask();'; $js .= '$(save_form).parent().parent().replaceWith("");'; $js .= 'resizeDelimiter();'; $js .= '});'; $js .= '});'; $js .= '$(".savecustomtextedit, .savecustominputedit, .savecustomlinkedit, .savecustomselectedit").die();'; $js .= '$(".savecustomtextedit, .savecustominputedit, .savecustomlinkedit, .savecustomselectedit").live("click", function(){'; //click on "save this" - edit existing fields $js .= 'var save_form = "#" + $(this).closest("form").attr("id");'; $js .= 'var save_key = $(this).attr("id").split("-");'; $js .= 'var save_id = $(save_form+" .custom_save_id").val();'; $js .= 'var save_url = current_url + menu_section + "?s=' . $_GET["s"] . '&do="+$(this).attr("class")+"&key="+save_key[3]+"&id="+save_id;'; $js .= '$(save_form).parent().mask(" "); $.post(save_url, $(save_form).serialize(), function(data){'; $js .= '$(save_form+">div.custom-save-response").html(data);'; $js .= '$(save_form).parent().unmask();'; $js .= '});'; $js .= '});'; $js .= '$(".savecustomtext, .savecustominput, .savecustomlink, .savecustomselect").die();'; $js .= '$(".savecustomtext, .savecustominput, .savecustomlink, .savecustomselect").live("click", function(){'; //click on "save this" - save new field $js .= 'var save_url = current_url + menu_section + "?s=' . $_GET["s"] . '&do="+$(this).attr("class");'; $js .= 'var save_form = "#" + $(this).closest("form").attr("id");'; $js .= '$(save_form).mask(" "); $.post(save_url, $(save_form).serialize(), function(data){'; $js .= '$(save_form).next().html(data);'; $js .= '$(save_form).unmask();'; $js .= '});'; $js .= '});'; $js .= '$(".cancel-custom-field").die();'; $js .= '$(".cancel-custom-field").live("click", function(){'; //click on "cancel this" $js .= 'var cn_id = $(this).attr("id").split("-");'; $js .= '$(this).closest("form").get(0).reset();'; $js .= '$(this).parent().parent().parent().addClass("no-display"); $(".insert-custom-"+cn_id[2]).val("---");'; $js .= '});'; $js .= '$(".change-custom-field").change(function(){'; //changing select list options $js .= '$(this).parent().parent().next().children().addClass("no-display");'; $js .= '});'; $js .= '$(".insert-custom-field").die();'; $js .= '$(".insert-custom-field").live("click",function(){'; //click in "insert" $js .= 'var ins_id = $(this).attr("id");'; $js .= 'var ins_type = $(".insert-" + $(this).attr("id")).val();'; $js .= 'if(ins_type == "text"){ $(".source-"+ins_id+">div").addClass("no-display"); $(".source-"+ins_id+">div.custom-text").removeClass("no-display"); }'; $js .= 'else if(ins_type == "input"){ $(".source-"+ins_id+">div").addClass("no-display"); $(".source-"+ins_id+">div.custom-input").removeClass("no-display"); }'; $js .= 'else if(ins_type == "link"){ $(".source-"+ins_id+">div").addClass("no-display"); $(".source-"+ins_id+">div.custom-link").removeClass("no-display"); }'; $js .= 'else if(ins_type == "select"){ $(".source-"+ins_id+">div").addClass("no-display"); $(".source-"+ins_id+">div.custom-select").removeClass("no-display"); }'; $js .= 'else if(ins_type == "---"){ $(".source-"+ins_id+">div").addClass("no-display"); }'; $js .= 'resizeDelimiter();'; $js .= '});'; return VGenerate::declareJS($js); } /* list db custom fields */ public function listCustomFields($db_id) { global $class_database, $language; $db_data = $class_database->singleFieldValue('db_usertypes', 'db_custom_fields', 'db_id', $db_id); $db_fields = unserialize($db_data); if ($db_data != '') { foreach ($db_fields as $key => $val) { $html .= '
    ' . self::customFieldsHTML($val["type"], $val["left"], $val["right"], $key, $db_id) . '
    '; } return $html; } } /* discount template */ public function discountEntry($d = 'none', $entry_id = '', $db_id = '', $dc_name = '', $dc_desc = '', $dc_amount = '', $dc_date = '', $dc_state = '') { global $language, $class_filter; $error_message = ''; $notice_message = ''; $_init = VbeEntries::entryInit($d, $db_id, $entry_id); $_date = date('D, m/d/Y, H:i:s A', strtotime($dc_date)); $_sct = 'discount_codes'; $_dsp = $_init[0]; $_btn = $_init[1]; if ($_POST) { $all_array = VArraySection::getArray($_sct); $entry_array = $all_array[0]; switch ($_GET["do"]) { case 'add': $results = VbeEntries::processEntry($_sct, 'add'); $html = $results[2]; if ($results[0] != '') { $dc_name = $entry_array["dc_code"]; $dc_desc = $entry_array["dc_descr"]; $dc_amount = $entry_array["dc_amount"]; }break; case 'update': $results = VbeEntries::processEntry($_sct, 'update', $db_id); $html = $results[2]; break; } } $_btn = $_GET["do"] != 'add' ? VGenerate::simpleDivWrap('left-float', '', VGenerate::basicInput('button', 'save_changes', 'save-entry-button button-grey search-button form-button ' . ($_GET["do"] == 'add' ? 'new-entry' : 'update-entry'), '', $entry_id, '' . $language["frontend.global.saveupdate"] . ''), 'display: inline-block-off;') : null; $html .= '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', VGenerate::entryHiddenInput($db_id))); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140 act place-left', '', '' . ($dc_state == 1 ? '' . $language["frontend.global.active"] . '' : '' . $language["frontend.global.inactive"] . ''))); $html .= '
    '; $html .= '
    '; $html .= $_GET["do"] != 'add' ? VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', '' . $_date . '')) : null; $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub3_entry_name', 'backend-text-input wd350', $dc_name); $html .= VGenerate::sigleInputEntry('textarea', 'left-float lh20 wd140', '', 'left-float', 'backend_menu_members_entry1_sub2_entry_desc', 'backend-textarea-input wd350', $dc_desc); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub3_entry_amount_' . ((int) $db_id), 'backend-text-input wd50', $dc_amount); $html .= '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', ' ') . VGenerate::simpleDivWrap('left-float lh20', '', $_btn)); $html .= VGenerate::simpleDivWrap('row right-align no-top-padding right-padding20', '', $language["frontend.global.required.items"]); $html .= ''; $html .= '
    '; $db_id = (int) $db_id; $js .= '$("#slider-backend_menu_members_entry1_sub3_entry_amount_' . $db_id . '").noUiSlider({ start: [ ' . ((int) $dc_amount) . ' ], step: 1, range: { "min": [ 1 ], "max": [ 1000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub3_entry_amount_' . $db_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub3_entry_amount_' . $db_id . '\']"));'; $js .= $_GET["do"] == 'add' ? 'var clone = $("#cb-response").clone(true); $("#cb-response").detach(); $(clone).insertBefore(".ct-entry-nowrap");' : null; $html .= VGenerate::declareJS($js); return $html; } /* subscription types */ public function subEntry($d = 'none', $entry_id = '', $pk_id = '', $pk_name = '', $pk_descr = '', $pk_priceunit = '', $pk_priceunitname = '', $pk_price = '', $pk_period = '', $pk_active = '') { global $language, $cfg; $error_message = ''; $notice_message = ''; $price_array = explode(',', $language["supported_currency_names"]); $unit_array = explode(',', $language["supported_currency_codes"]); $subs_per = explode(',', $language["subscription_periods"]); $subs_num = explode(',', $language["subscription_numbers"]); $subs_count = count($subs_per); $_init = VbeEntries::entryInit($d, $pk_id, $entry_id); $_sct = 'subscription_types'; $_dsp = $_init[0]; $_btn = $_init[1]; if ($_POST) { $all_array = VArraySection::getArray($_sct); $entry_array = $all_array[0]; switch ($_GET["do"]) { case 'add': $results = VbeEntries::processEntry($_sct, 'add'); $html = $results[2]; if ($results[0] != '') { $pk_name = $entry_array["pk_name"]; $pk_descr = $entry_array["pk_descr"]; $pk_priceunitname = $entry_array["pk_priceunitname"]; $pk_price = $entry_array["pk_price"]; $pk_period = $entry_array["pk_period"]; }break; case 'update': $results = VbeEntries::processEntry($_sct, 'update', $pk_id); $html = $results[2]; break; } } $_btn = $_GET["do"] != 'add' ? VGenerate::simpleDivWrap('left-float', '', VGenerate::basicInput('button', 'save_changes', 'save-entry-button button-grey search-button form-button ' . ($_GET["do"] == 'add' ? 'new-entry' : 'update-entry'), '', $entry_id, '' . $language["frontend.global.saveupdate"] . ''), 'display: inline-block-off;') : null; $html .= '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', VGenerate::entryHiddenInput($pk_id))); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140 act place-left', '', '' . ($pk_active == 1 ? '' . $language["frontend.global.active"] . '' : '' . $language["frontend.global.inactive"] . ''))); $html .= '
    '; $html .= '
    '; $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_name', 'backend-text-input wd350', $pk_name); $html .= VGenerate::sigleInputEntry('textarea', 'left-float lh20 wd140', '', 'left-float', 'backend_menu_members_entry1_sub2_entry_desc', 'backend-textarea-input wd350', $pk_descr); $do = (int) $pk_id; foreach ($price_array as $key => $val) { $sel_check = ($pk_priceunitname == $val or ($pk_priceunitname == '' and $val == 'USD')) ? 'selected="selected"' : null; $option . $do .= ''; } $pr = '
    '; $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_price_' . ((int) $pk_id), 'backend-text-input wd50', $pk_price); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', '' . $language["frontend.global.required"] . $pr)); $html .= VGenerate::declareJS('$(function(){SelectList.init("pk_priceunit_' . ((int) $pk_id) . '");});'); $do1 = $do + 100; foreach ($subs_per as $key1 => $val1) { $display = 'none'; if ($pk_period == $subs_num[$key1]) {$sel_check1 = 'selected="selected"';} else { $sel_check1 = '';} $options . $do1 .= ''; } $sub = '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', '' . $language["frontend.global.required"]) . VGenerate::simpleDivWrap('left-float', '', $sub)); $html .= '
    ' . VGenerate::basicInput('text', 'frontend_global_days_' . ((int) $pk_id), 'backend-text-input wd50', $pk_period) . '
    '; $html .= '
    '; //end vs-mask $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', ' ') . VGenerate::simpleDivWrap('left-float lh20', '', $_btn)); $html .= VGenerate::simpleDivWrap('row right-align no-top-padding right-padding20', '', $language["frontend.global.required.items"]); $html .= VGenerate::declareJS('$(function(){SelectList.init("backend_menu_members_entry1_sub2_entry_period_' . ((int) $pk_id) . '");});'); $html .= ''; $html .= '
    '; $pk_id = (int) $pk_id; $js = '$("#slider-backend_menu_members_entry1_sub2_entry_price_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_price) . ' ], step: 1, range: { "min": [ 1 ], "max": [ 1000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_price_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_price_' . $pk_id . '\']"));'; $js .= '$("#slider-frontend_global_days_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_period) . ' ], step: 1, range: { "min": [ 1 ], "max": [ 365 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-frontend_global_days_' . $pk_id . '").Link("lower").to($("input[name=\'frontend_global_days_' . $pk_id . '\']"));'; $js .= $_GET["do"] == 'add' ? 'var clone = $("#cb-response").clone(true); $("#cb-response").detach(); $(clone).insertBefore(".ct-entry-nowrap");' : null; $html .= VGenerate::declareJS($js); return $html; } /* pack/membership template */ public function packEntry($d = 'none', $entry_id = '', $pk_id = '', $pk_name = '', $pk_descr = '', $pk_space = '', $pk_bw = '', $pk_priceunit = '', $pk_priceunitname = '', $pk_price = '', $pk_alimit = '', $pk_ilimit = '', $pk_vlimit = '', $pk_slimit = '', $pk_dlimit = '', $pk_llimit = '', $pk_blimit = '', $pk_period = '', $pk_active = '') { global $language, $cfg; $error_message = ''; $notice_message = ''; $price_array = explode(',', $language["supported_currency_names"]); $unit_array = explode(',', $language["supported_currency_codes"]); $subs_per = explode(',', $language["subscription_periods"]); $subs_num = explode(',', $language["subscription_numbers"]); $subs_count = count($subs_per); $_init = VbeEntries::entryInit($d, $pk_id, $entry_id); $_sct = 'membership_types'; $_dsp = $_init[0]; $_btn = $_init[1]; if ($_POST) { $all_array = VArraySection::getArray($_sct); $entry_array = $all_array[0]; switch ($_GET["do"]) { case 'add': $results = VbeEntries::processEntry($_sct, 'add'); $html = $results[2]; if ($results[0] != '') { $pk_name = $entry_array["pk_name"]; $pk_descr = $entry_array["pk_descr"]; $pk_space = $entry_array["pk_space"]; $pk_bw = $entry_array["pk_bw"]; $pk_priceunitname = $entry_array["pk_priceunitname"]; $pk_price = $entry_array["pk_price"]; $pk_alimit = $entry_array["pk_alimit"]; $pk_ilimit = $entry_array["pk_ilimit"]; $pk_vlimit = $entry_array["pk_vlimit"]; $pk_slimit = $entry_array["pk_slimit"]; $pk_dlimit = $entry_array["pk_dlimit"]; $pk_llimit = $entry_array["pk_llimit"]; $pk_blimit = $entry_array["pk_blimit"]; $pk_period = $entry_array["pk_period"]; }break; case 'update': $results = VbeEntries::processEntry($_sct, 'update', $pk_id); $html = $results[2]; break; } } $_btn = $_GET["do"] != 'add' ? VGenerate::simpleDivWrap('left-float', '', VGenerate::basicInput('button', 'save_changes', 'save-entry-button button-grey search-button form-button ' . ($_GET["do"] == 'add' ? 'new-entry' : 'update-entry'), '', $entry_id, '' . $language["frontend.global.saveupdate"] . ''), 'display: inline-block-off;') : null; $html .= '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', VGenerate::entryHiddenInput($pk_id))); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140 act place-left', '', '' . ($pk_active == 1 ? '' . $language["frontend.global.active"] . '' : '' . $language["frontend.global.inactive"] . ''))); $html .= '
    '; $html .= '
    '; $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_name', 'backend-text-input wd350', $pk_name); $html .= VGenerate::sigleInputEntry('textarea', 'left-float lh20 wd140', '', 'left-float', 'backend_menu_members_entry1_sub2_entry_desc', 'backend-textarea-input wd350', $pk_descr); $do = (int) $pk_id; foreach ($price_array as $key => $val) { $sel_check = ($pk_priceunitname == $val) ? 'selected="selected"' : null; $option . $do .= ''; } $pr = '
    '; $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_price_' . ((int) $pk_id), 'backend-text-input wd50', $pk_price); $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', '' . $language["frontend.global.required"] . $pr)); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_space_' . ((int) $pk_id), 'backend-text-input wd50', $pk_space); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_bw_' . ((int) $pk_id), 'backend-text-input wd50', $pk_bw); $html .= VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_vlimit_' . ((int) $pk_id), 'backend-text-input wd50', $pk_vlimit); $html .= $cfg["live_module"] == 1 ? VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_slimit_' . ((int) $pk_id), 'backend-text-input wd50', $pk_slimit) : null; $html .= $cfg["live_module"] == 1 ? VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_llimit_' . ((int) $pk_id), 'backend-text-input wd50', $pk_llimit) : null; $html .= $cfg["image_module"] == 1 ? VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_ilimit_' . ((int) $pk_id), 'backend-text-input wd50', $pk_ilimit) : null; $html .= $cfg["audio_module"] == 1 ? VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_alimit_' . ((int) $pk_id), 'backend-text-input wd50', $pk_alimit) : null; $html .= $cfg["document_module"] == 1 ? VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_dlimit_' . ((int) $pk_id), 'backend-text-input wd50', $pk_dlimit) : null; $html .= $cfg["blog_module"] == 1 ? VGenerate::sigleInputEntry('text', 'left-float lh20 wd140', '' . $language["frontend.global.required"], 'left-float', 'backend_menu_members_entry1_sub2_entry_blimit_' . ((int) $pk_id), 'backend-text-input wd50', $pk_blimit) : null; $html .= VGenerate::declareJS('$(function(){SelectList.init("pk_priceunit_' . ((int) $pk_id) . '");});'); $do1 = $do + 100; foreach ($subs_per as $key1 => $val1) { $display = 'none'; if ($pk_period == $subs_num[$key1]) {$sel_check1 = 'selected="selected"';} else { $sel_check1 = '';} if ($key1 == ($subs_count - 1) and !in_array($pk_period, $subs_num)) { $sel_check1 = 'selected="selected"'; $display = 'block';} $options . $do1 .= ''; } $sub = '
    '; $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', '' . $language["frontend.global.required"]) . VGenerate::simpleDivWrap('left-float', '', $sub)); $html .= '
    ' . VGenerate::basicInput('text', 'frontend_global_days_' . ((int) $pk_id), 'backend-text-input wd50', $pk_period) . '
    '; $html .= '
    '; //end vs-mask $html .= VGenerate::simpleDivWrap('row', '', VGenerate::simpleDivWrap('left-float lh20 wd140', '', ' ') . VGenerate::simpleDivWrap('left-float lh20', '', $_btn)); $html .= VGenerate::simpleDivWrap('row right-align no-top-padding right-padding20', '', $language["frontend.global.required.items"]); $html .= VGenerate::simpleDivWrap('row right-align no-top-padding right-padding20', '', $language["backend.menu.members.entry1.sub2.entry.unlim"]); $html .= VGenerate::declareJS('$(function(){SelectList.init("backend_menu_members_entry1_sub2_entry_period_' . ((int) $pk_id) . '");});'); $html .= ''; $html .= '
    '; $pk_id = (int) $pk_id; $js = '$("#slider-backend_menu_members_entry1_sub2_entry_price_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_price) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 1000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_price_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_price_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_space_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_space) . ' ], step: 5, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_space_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_space_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_bw_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_bw) . ' ], step: 5, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_bw_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_bw_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_vlimit_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_vlimit) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_vlimit_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_vlimit_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_slimit_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_slimit) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_slimit_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_slimit_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_ilimit_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_ilimit) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_ilimit_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_ilimit_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_alimit_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_alimit) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_alimit_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_alimit_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_dlimit_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_dlimit) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_dlimit_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_dlimit_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_llimit_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_llimit) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_llimit_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_llimit_' . $pk_id . '\']"));'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_blimit_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_blimit) . ' ], step: 1, range: { "min": [ 0 ], "max": [ 10000 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-backend_menu_members_entry1_sub2_entry_blimit_' . $pk_id . '").Link("lower").to($("input[name=\'backend_menu_members_entry1_sub2_entry_blimit_' . $pk_id . '\']"));'; $js .= '$("#slider-frontend_global_days_' . $pk_id . '").noUiSlider({ start: [ ' . ((int) $pk_period) . ' ], step: 1, range: { "min": [ 1 ], "max": [ 365 ] }, format:wNumb({ decimals: 0 }) });'; $js .= '$("#slider-frontend_global_days_' . $pk_id . '").Link("lower").to($("input[name=\'frontend_global_days_' . $pk_id . '\']"));'; $js .= $_GET["do"] == 'add' ? 'var clone = $("#cb-response").clone(true); $("#cb-response").detach(); $(clone).insertBefore(".ct-entry-nowrap");' : null; $html .= VGenerate::declareJS($js); return $html; } /* custom affiliate payout */ public static function affiliatePayout() { return; global $db, $cfg, $language, $class_filter, $class_database, $class_language, $smarty; include_once $class_language->setLanguageFile('backend', 'language.members.entries'); $_do = $class_filter->clr_str($_GET["do"]); $_u = $class_filter->clr_str($_GET["u"]); $u = $db->execute(sprintf("SELECT `usr_user`, `affiliate_pay_custom`, `affiliate_custom`, `affiliate_maps_key` FROM `db_accountuser` WHERE `usr_key`='%s' LIMIT 1;", $_u)); $usr_user = $u->fields["usr_user"]; $ac = unserialize($u->fields["affiliate_custom"]); $cp = $u->fields["affiliate_pay_custom"]; $maps = $u->fields["affiliate_maps_key"]; if ($ac["share"] != '') { $cfg["affiliate_payout_share"] = $ac["share"]; } if ($ac["figure"] != '') { $cfg["affiliate_payout_figure"] = $ac["figure"]; } if ($ac["currency"] != '') { $cfg["affiliate_payout_currency"] = $ac["currency"]; } if ($ac["units"] != '') { $cfg["affiliate_payout_units"] = $ac["units"]; } if ($ac["maps"] != '') { $cfg["affiliate_geo_maps"] = $ac["maps"]; } $_currency = explode(',', $language["supported_currency_names"]); $sel_opts = null; foreach ($_currency as $v) { $sel_opts .= ''; } $html = ''; $html .= '
    '; $html .= '
    '; $html .= ''; $html .= '
    '; $html .= '
    '; $html .= ''; $html .= ''; $html .= ' '; return $html; } /* save custom payout */ public static function affiliatePayoutSave() { global $db, $cfg, $class_filter, $language; $_u = $class_filter->clr_str($_GET["u"]); if ($_POST and $cfg["affiliate_module"] == 1) { $backend_menu_af_maps = (int) $_POST["affiliate_geo_maps"]; $backend_menu_af_maps_key = $class_filter->clr_str($_POST["backend_menu_af_p_maps_api_key"]); $backend_menu_af_cp = (int) $_POST["custom_payout"]; $backend_menu_af_p_share = $class_filter->clr_str($_POST["backend_menu_af_p_share"]); $backend_menu_af_p_figure = $class_filter->clr_str($_POST["backend_menu_af_p_figure"]); $backend_menu_af_p_currency = $class_filter->clr_str($_POST["backend_menu_af_p_currency"]); $backend_menu_af_p_units = $class_filter->clr_str($_POST["backend_menu_af_p_units"]); if ($backend_menu_af_p_share == '') { $backend_menu_af_p_share = $cfg["affiliate_payout_share"]; } if ($backend_menu_af_p_figure == '') { $backend_menu_af_p_figure = $cfg["affiliate_payout_figure"]; } if ($backend_menu_af_p_currency == '') { $backend_menu_af_p_currency = $cfg["affiliate_payout_currency"]; } if ($backend_menu_af_p_units == '') { $backend_menu_af_p_units = $cfg["affiliate_payout_units"]; } $_a = array("share" => $backend_menu_af_p_share, "figure" => $backend_menu_af_p_figure, "currency" => $backend_menu_af_p_currency, "units" => $backend_menu_af_p_units, "maps" => $backend_menu_af_maps); $sql = sprintf("UPDATE `db_accountuser` SET `affiliate_pay_custom`='%s', `affiliate_custom`='%s', `affiliate_maps_key`='%s' WHERE `usr_key`='%s' AND `usr_affiliate`='1' LIMIT 1;", $backend_menu_af_cp, serialize($_a), $backend_menu_af_maps_key, $_u); $rs = $db->execute($sql); if ($db->Affected_Rows() > 0) { return VGenerate::noticeTpl('', '', $language["notif.success.request"]); } } } /* affiliate confirmation emails */ public static function affiliateConfirmationEmail() { global $cfg, $language, $smarty, $class_filter, $db, $class_database, $class_language; include_once $class_language->setLanguageFile('frontend', 'language.email.notif'); $_do = $class_filter->clr_str($_GET["do"]); switch ($_do) { case "usr-make-affiliate": $s1 = $language["affiliate.subject.approved"]; $s2 = 'affiliate_confirm'; break; case "usr-clear-affiliate": $s1 = (isset($_GET["n"]) and $_GET["n"] == 'n2') ? $language["affiliate.subject.closed"] : $language["affiliate.subject.denied"]; $s2 = (isset($_GET["n"]) and $_GET["n"] == 'n2') ? 'affiliate_closed' : 'affiliate_denied'; $reason = (isset($_GET["n"]) and $_GET["n"] == 'n2') ? $language["account.entry.affiliate.closed"] : $language["account.entry.affiliate.denied"]; break; case "usr-make-partner": $s1 = $language["partner.subject.approved"]; $s2 = 'partner_confirm'; break; case "usr-clear-partner": $s1 = (isset($_GET["n"]) and $_GET["n"] == 'n2') ? $language["partner.subject.closed"] : $language["partner.subject.denied"]; $s2 = (isset($_GET["n"]) and $_GET["n"] == 'n2') ? 'partner_closed' : 'partner_denied'; $reason = (isset($_GET["n"]) and $_GET["n"] == 'n2') ? $language["account.entry.partner.closed"] : $language["account.entry.partner.denied"]; break; } if (isset($_POST["cb_in2"]) and $_POST["cb_in2"] != '') { $p = urldecode($_POST["cb_in2"]); $rs = $db->execute(sprintf("SELECT `usr_id`, `usr_email` FROM `db_accountuser` WHERE %s", $p)); if ($rs->fields["usr_id"]) { while (!$rs->EOF) { $user_id = $rs->fields["usr_id"]; $user_data = VUserinfo::getUserInfo($user_id); $mailto = $rs->fields["usr_email"]; $notifier = new VNotify; $website_logo = $smarty->fetch($cfg["templates_dir"] . '/tpl_frontend/tpl_header/tpl_headerlogo.tpl'); $cfg = $class_database->getConfigurations('backend_email,backend_username,affiliate_payout_currency'); $notifier->msg_subj = $s1; $_replace = array( '##TITLE##' => $s1, '##LOGO##' => $website_logo, '##H2##' => $language["recovery.forgot.password.h2"] . $user_data["uname"] . ',', '##REASON##' => $reason, '##YEAR##' => date('Y'), ); $notifier->dst_mail = $mailto; $notifier->dst_name = (($user_data["fname"] != '' or $user_data["lname"] != '') ? $user_data["fname"] . ' ' . $user_data["lname"] : $user_data["uname"]); $notifier->Mail('frontend', $_do, $_replace); $_output[] = $cfg["backend_username"] . ' -> ' . $s2 . ' -> ' . $notifier->dst_mail . ' -> ' . date("Y-m-d H:i:s"); $log_mail = '.mailer.log'; VServer::logToFile($log_mail, implode("\n", $_output)); $rs->MoveNext(); } } } } /* affiliate confirmation lightbox */ public static function affiliateConfirmation() { global $cfg, $language, $smarty, $class_filter; $_do = $class_filter->clr_str($_GET["do"]); switch ($_do) { case "make-affiliate": $l1 = $language["backend.menu.members.entry2.sub2.aff.text1"]; break; case "clear-affiliate": $l1 = $language["backend.menu.members.entry2.sub2.aff.text2"]; break; case "make-partner": $l1 = $language["backend.menu.members.entry2.sub2.prt.text1"]; break; case "clear-partner": $l1 = $language["backend.menu.members.entry2.sub2.prt.text2"]; break; } $html = '
    '; $html .= '
    '; $html .= ''; $html .= '
    '; $html .= '
    '; $html .= ''; return $html; } }