public function __construct() { global $globals; parent::__construct(); $this->register_function('list_all_my_groups', 'list_all_my_groups'); $this->register_modifier('cat_pp', 'cat_pp'); $this->assign('it_is_xnet', true); global $globals; $this->assign('is_logged', S::logged()); if ($globals->asso('id')) { $this->assign('asso', $globals->asso()); $this->setType($globals->asso('cat')); $this->assign('is_admin', may_update()); $this->assign('is_member', is_member()); } if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { $this->addJsLink('json2.js'); } $this->addJsLink('jquery.xorg.js'); $this->addJsLink('overlib.js'); $this->addJsLink('core.js'); $this->addJsLink('xorg.js'); if ($globals->core->sentry_js_dsn) { $this->addJsLink('raven.min.js'); } $this->setTitle('Les associations polytechniciennes'); }
function tags_editpost_end() { global $mybb, $db, $lang, $templates, $thread, $post, $tags, $tags_value; if ($mybb->settings['tags_enabled'] == 0 || tags_in_disforum($thread['fid']) || $mybb->settings['tags_groups'] != -1 && !is_member($mybb->settings['tags_groups'])) { return; } $lang->load('tags'); if ($thread['firstpost'] != $mybb->get_input('pid', 1)) { return; } $tags_value = $mybb->get_input('tags'); if (!$tags_value) { $bad_tags = tags_getbads(true, false); $query = $db->simple_select('tags', '*', "tid='{$thread['tid']}'{$bad_tags}"); $thread['tags'] = array(); while ($tag = $db->fetch_array($query)) { if (!in_array($tag['name'], $thread['tags']) && $tag['name'] != '') { array_push($thread['tags'], $tag['name']); } } $tags_value = implode(',', $thread['tags']); } $tags_value = htmlspecialchars_uni(tags_string2tag($tags_value)); eval('$tags = "' . $templates->get('tags_input') . '";'); }
function tags_validate(&$datahandler) { global $mybb, $db, $thread, $lang; if ($mybb->settings['tags_enabled'] == 0 || tags_in_disforum($datahandler->fid) || $mybb->settings['tags_groups'] != -1 && !is_member($mybb->settings['tags_groups'])) { return; } $lang->load('tags'); $mybb->settings['tags_max_thread'] = (int) $mybb->settings['tags_max_thread']; if ($mybb->get_input('tags') != '' && ($datahandler->action == 'thread' || is_array($thread) && $datahandler->data['pid'] == $thread['firstpost'])) { $tags_value = $mybb->get_input('tags'); $tags_value = tags_string2tag($tags_value); $tags = explode(',', $tags_value); if (count($tags) > $mybb->settings['tags_max_thread'] && $mybb->settings['tags_max_thread'] > 0) { $lang->many_tags = $lang->sprintf($lang->many_tags, $mybb->settings['tags_max_thread']); $datahandler->set_error($lang->many_tags); return; } foreach ($tags as $tag) { if (my_strlen($tag) > 0 && my_strlen($tag) < $mybb->settings['tags_minchars']) { $datahandler->set_error($lang->tags_too_short); return; } elseif (my_strlen($tag) > $mybb->settings['tags_maxchars'] && $mybb->settings['tags_maxchars'] > 0) { $datahandler->set_error($lang->tags_too_long); return; } } } }
function tags_newthread_start() { global $mybb, $db, $templates, $tags, $tags_value, $lang, $fid; if ($mybb->settings['tags_enabled'] == 0 || tags_in_disforum($fid) || $mybb->settings['tags_groups'] != -1 && !is_member($mybb->settings['tags_groups'])) { return; } $lang->load('tags'); $tags_value = $mybb->get_input('tags'); $tags_value = htmlspecialchars_uni(tags_string2tag($tags_value)); eval('$tags = "' . $templates->get('tags_input') . '";'); }
public function startAvailableAuth() { if (!S::logged() && Get::has('auth')) { if (!$this->start(AUTH_PASSWD)) { return false; } } global $globals; if (!S::logged() && $globals->xnet->auth_baseurl) { // prevent connection to be linked to disconnection if (($i = strpos($_SERVER['REQUEST_URI'], 'exit')) !== false) { $returl = "http://{$_SERVER['SERVER_NAME']}" . substr($_SERVER['REQUEST_URI'], 0, $i); } else { $returl = "http://{$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}"; } $url = $globals->xnet->auth_baseurl; $url .= "?session=" . session_id(); $url .= "&challenge=" . S::v('challenge'); $url .= "&pass="******"&url=" . urlencode($returl); S::set('loginX', $url); } if (S::logged() && $globals->asso()) { $perms = S::v('perms'); $perms->rmFlag('groupadmin'); $perms->rmFlag('groupmember'); $perms->rmFlag('groupannu'); if (may_update()) { $perms->addFlag('groupadmin'); $perms->addFlag('groupmember'); $perms->addFlag('groupannu'); } if (is_member()) { $perms->addFlag('groupmember'); if ($globals->asso('pub') != 'private') { $perms->addFlag('groupannu'); } } else { if ($globals->asso('pub') == 'public') { $perms->addFlag('groupannu'); } } if ($globals->asso('cat') == 'Promotions') { $perms->addFlag('groupannu'); } S::set('perms', $perms); } return true; }
/** * Verify thread prefix. * * @return boolean True when valid, false when not valid. */ function verify_prefix() { $prefix =& $this->data['prefix']; $prefix_cache = build_prefixes(); // If a valid prefix isn't supplied, don't assign one. if (empty($prefix)) { $prefix = 0; } else { $prefix_cache = build_prefixes($prefix); if (empty($prefix_cache)) { $this->set_error('invalid_prefix'); return false; } if ($prefix_cache['groups'] != "-1") { if (!empty($this->data['edit_uid'])) { // Post is being edited $user = get_user($this->data['edit_uid']); } else { $user = get_user($this->data['uid']); } if (!is_member($prefix_cache['groups'], array('usergroup' => $user['usergroup'], 'additionalgroups' => $user['additionalgroups']))) { $this->set_error('invalid_prefix'); return false; } } if ($prefix_cache['forums'] != "-1") { // Decide whether this prefix can be used in our forum $forums = explode(",", $prefix_cache['forums']); if (!in_array($this->data['fid'], $forums)) { $this->set_error('invalid_prefix'); return false; } } } // Does this forum require a prefix? $forum = get_forum($this->data['fid']); if ($forum['requireprefix'] == 1) { $num_prefixes = false; // Go through each of our prefixes and decide if there are any possible prefixes to use. if (!empty($this->data['edit_uid'])) { // Post is being edited $user = get_user($this->data['edit_uid']); } else { $user = get_user($this->data['uid']); } $prefix_cache = build_prefixes(); if (!empty($prefix_cache)) { foreach ($prefix_cache as $required) { if ($required['forums'] != "-1") { // Decide whether this prefix can be used in our forum $forums = explode(",", $required['forums']); if (!in_array($forum['fid'], $forums)) { continue; } } if ($required['groups'] != "-1") { if (!is_member($required['groups'], array('usergroup' => $user['usergroup'], 'additionalgroups' => $user['additionalgroups']))) { $num_prefixes = true; } } else { $num_prefixes = true; } } } if ($prefix == 0 && $num_prefixes) { $this->set_error('require_prefix'); return false; } } return true; }
function ougc_agi_run(&$post) { global $mybb, $memprofile, $templates; $br_postbit = ''; $br_profile = '<br />'; $var = 'memprofile'; $postbit_tmpl = 'member_profile'; if (!empty($post)) { if ($mybb->settings['postlayout'] != 'classic') { $br_postbit = '<br />'; $br_profile = ''; } $var = 'post'; $postbit_tmpl = $mybb->settings['postlayout'] == 'classic' ? 'postbit_classic' : 'postbit'; } if (empty(${$var}) || $mybb->settings['ougc_agi_groups'] == -1) { return; } ${$var}['ougc_agi'] = ''; static $uidscache = array(); if (!isset($uidscache[${$var}['uid']])) { ${$var}['additionalgroups'] = explode(',', ${$var}['additionalgroups']); if (!empty(${$var}['displaygroup'])) { ${$var}['usergroup'] = ${$var}['displaygroup']; } foreach (${$var}['additionalgroups'] as $key => $val) { if ($val == ${$var}['usergroup']) { unset(${$var}['additionalgroups'][$key]); } } $uidscache[${$var}['uid']] = (array) ${$var}['additionalgroups']; } $usergroups = $uidscache[${$var}['uid']]; $usergroups_cache = $mybb->cache->read('usergroups'); foreach ($usergroups as $group) { if (is_member($mybb->settings['ougc_agi_groups'], array('usergroup' => $group))) { continue; } ${$var}['ougc_agi_' . $group] = ''; $displaygroup = $usergroups_cache[$group]; if (!empty($displaygroup['image'])) { $language = $mybb->settings['bblanguage']; if (!empty($mybb->user['language'])) { $language = $mybb->user['language']; } $usertitle = htmlspecialchars_uni($displaygroup['usertitle'] ? $displaygroup['usertitle'] : $displaygroup['title']); $image = str_replace(array('{lang}', '{theme}'), array($language, $theme['imgdir']), htmlspecialchars_uni($displaygroup['image'])); $tmpl = isset($templates->cache['ougcagi_' . $group]) ? 'ougcagi_' . $group : 'ougcagi'; if (my_strpos($templates->cache[$postbit_tmpl], '{$' . $var . '[\'ougc_agi_' . $group . '\']}') !== false) { eval('$' . $var . '[\'ougc_agi_' . $group . '\'] .= "' . $templates->get($tmpl) . '";'); continue; } eval('$' . $var . '[\'ougc_agi\'] .= "' . $templates->get($tmpl) . '";'); } } }
/** * Check whether we can show the Purge Spammer Feature * * @param int $post_count The users post count * @param int $usergroup The usergroup of our user * @param int $uid The uid of our user * @return boolean Whether or not to show the feature */ function purgespammer_show($post_count, $usergroup, $uid) { global $mybb, $cache; // only show this if the current user has permission to use it and the user has less than the post limit for using this tool $bangroup = $mybb->settings['purgespammerbangroup']; $usergroups = $cache->read('usergroups'); return $mybb->user['uid'] != $uid && is_member($mybb->settings['purgespammergroups']) && !is_super_admin($uid) && !$usergroups[$usergroup]['cancp'] && !$usergroups[$usergroup]['canmodcp'] && !$usergroups[$usergroup]['issupermod'] && (str_replace($mybb->settings['thousandssep'], '', $post_count) <= $mybb->settings['purgespammerpostlimit'] || $mybb->settings['purgespammerpostlimit'] == 0) && !is_member($bangroup, $uid) && !$usergroups[$usergroup]['isbannedgroup']; }
public function member_profile_start() { global $mybb; if (!$mybb->settings['mppermissionsenabled'] || !$mybb->usergroup['canviewprofiles']) { return; } $memprofile = false; $uid = $mybb->get_input('uid', 1); if ($uid) { $memprofile = get_user($uid); } elseif ($mybb->user['uid']) { $memprofile = $mybb->user; } if ($mybb->settings['mppermissionsgroups'] != -1 && !is_member($mybb->settings['mppermissionsgroups'], array('usergroup' => $memprofile['usergroup'], 'additionalgroups' => $memprofile['additionalgroups']))) { return; } if (!$memprofile || !$memprofile['myprofilepermissions'] || $mybb->user['uid'] == $memprofile['uid'] || $mybb->usergroup['caneditprofiles']) { return; } require_once MYBB_ROOT . 'inc/functions_modcp.php'; if (modcp_can_manage_user($memprofile['uid'])) { return; } if ($memprofile['myprofilepermissions'] == 1 || !$memprofile['buddylist'] && !$memprofile['ignorelist']) { error_no_permission(); } if (my_strpos(',' . $memprofile['ignorelist'] . ',', ',' . $mybb->user['uid'] . ',') !== false) { error_no_permission(); } if (!my_strpos(',' . $memprofile['buddylist'] . ',', ',' . $mybb->user['uid'] . ',') !== false) { error_no_permission(); } }
} $returndatemonthsel = array(); foreach (range(1, 12) as $month) { $returndatemonthsel[$month] = ''; } $returndatemonthsel[$returndate[1]] = "selected"; eval("\$awaysection = \"" . $templates->get("usercp_profile_away") . "\";"); } // Custom profile fields baby! $altbg = "trow1"; $requiredfields = $customfields = ''; $mybb->input['profile_fields'] = $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY); $pfcache = $cache->read('profilefields'); if (is_array($pfcache)) { foreach ($pfcache as $profilefield) { if (!is_member($profilefield['editableby']) || $profilefield['postnum'] && $profilefield['postnum'] > $mybb->user['postnum']) { continue; } $profilefield['type'] = htmlspecialchars_uni($profilefield['type']); $profilefield['name'] = htmlspecialchars_uni($profilefield['name']); $profilefield['description'] = htmlspecialchars_uni($profilefield['description']); $thing = explode("\n", $profilefield['type'], "2"); $type = $thing[0]; if (isset($thing[1])) { $options = $thing[1]; } else { $options = array(); } $field = "fid{$profilefield['fid']}"; $select = ''; if ($errors) {
function ougc_pages_init() { global $mybb; global $templatelist, $ougc_pages; global $category, $page, $session; global $plugins; /*if(THIS_SCRIPT == 'portal.php' && !$mybb->settings['ougc_pages_portal'] || THIS_SCRIPT == 'pages.php' && $mybb->settings['ougc_pages_portal']) { return; }*/ if (THIS_SCRIPT != 'pages.php') { return; } if (isset($templatelist)) { $templatelist .= ','; } else { $templatelist = ''; } $templatelist .= 'ougcpages, ougcpages_wrapper, ougcpages_navigation, ougcpages_category_list_item, ougcpages_category_list, ougcpages_navigation_previous, ougcpages_navigation_next'; $is_page = $mybb->get_input('page') && !empty($mybb->cache->cache['ougc_pages']['pages'][$mybb->get_input('page')]); if ($mybb->get_input('page')) { if (!empty($mybb->cache->cache['ougc_pages']['pages'][$mybb->get_input('page')])) { if ($page = $ougc_pages->get_page_by_url($mybb->get_input('page'))) { #$templatelist .= ', ougcpages_page'.$page['pid']; if ($category = $ougc_pages->get_category($page['cid'])) { #$templatelist .= ', ougcpages_category'.$category['cid']; } else { $ougc_pages->invalid_category = true; } } else { $ougc_pages->invalid_page = true; } } else { $ougc_pages->invalid_page = true; } } elseif ($mybb->get_input('category')) { if ($category = $ougc_pages->get_category_by_url($mybb->get_input('category'))) { #$templatelist .= ', ougcpages_category'.$category['cid']; } else { $ougc_pages->invalid_category = true; } } if (!empty($category)) { // Save three queries if no permission check is necessary if ($category['groups'] == '') { $ougc_pages->no_permission = true; } elseif ($category['groups'] != -1) { $ougc_pages->init_session(); is_member($category['groups']) or $ougc_pages->no_permission = true; } } if (!empty($page)) { if (!$page['wol'] && !defined('NO_ONLINE')) { define('NO_ONLINE', 1); } // Save three queries if no permission check is necessary if (!$ougc_pages->no_permission) { if ($page['groups'] == '') { $ougc_pages->no_permission = true; } elseif ($page['groups'] != -1) { $ougc_pages->init_session(); is_member($page['groups']) or $ougc_pages->no_permission = true; } } if ($page['php'] && !$ougc_pages->no_permission) { if ($page['init']) { ougc_pages_execute(); } $plugins->add_hook('global_end', 'ougc_pages_execute'); } } /*if(THIS_SCRIPT == 'portal.php') { $plugins->add_hook('portal_start', 'ougc_pages_portal_start', 999999999); $plugins->add_hook('portal_end', 'ougc_pages_portal_end'); }*/ }
<div class="page"> <div class="cadre main txtcenter"> <h2 class="exergue">Administration</h2> <?php header('Content-type: text/html; charset=utf-8'); /* ici on gère l'affichage général en php ainsi que les requêtes adressées en n2 et leurs confirmations en n3 */ is_member(); aint_connected(); if (isset($_POST['deleteresa']) && !empty($_POST['resa'])) { foreach ($_POST['resa'] as $x => $y) { $suppressresa = $pdo->query("DELETE FROM resa WHERE NumResa ='{$y}'"); } echo "<p class='warning'>Suppression bien prise en compte</p>"; } if (isset($_POST['modif']) && isset($_POST['select_user'])) { $user_id = $_POST['select_user']; foreach ($_POST['changer'] as $x => $y) { if ($x == "DLast_adh") { $date = new DateTime($y); $y = $date->format('Y-m-d'); } if (!empty($y)) { $req5 = $pdo->prepare("UPDATE `users` SET `{$x}` = '{$y}' WHERE `users`.`Num_adh` = {$user_id}"); $req5->execute(); } } echo "<p class='warning'>Modification bien prise en compte</p>"; } if (isset($_POST['modifcourt']) && isset($_POST['select_court'])) { $court_id = $_POST['select_court'];
<?php require_once 'includes/all.php'; if (!is_logged_in()) { header("Location: signin.php"); exit(0); } $db = connect_db(); if (!is_member($db, get_logged_in_user_id(), $_REQUEST['group_id'])) { header("Status: 403 Forbidden"); exit("403 Forbidden"); } $errors = array(); if (isset($_POST['Day'])) { if ($_POST['Day'] === '') { $errors[] = "please enter a date"; } elseif (!preg_match("/^\\d\\d\\d\\d-\\d\\d-\\d\\d\$/", $_POST['Day'])) { $errors[] = "date must be in YYYY-MM-DD format"; } } if (isset($_POST['STime'])) { if ($_POST['STime'] === '') { $errors[] = "please enter a starting time"; } elseif (!preg_match("/^\\d\\d:\\d\\d\$/", $_POST['STime'])) { $errors[] = "starting time must be in HH:MM format"; } } if (isset($_POST['ETime'])) { if ($_POST['ETime'] === '') { // fine } elseif (!preg_match("/^\\d\\d:\\d\\d\$/", $_POST['ETime'])) {
// Load the theme // 1. Check cookies if (!$mybb->user['uid'] && !empty($mybb->cookies['mybbtheme'])) { $mybb->user['style'] = (int) $mybb->cookies['mybbtheme']; } // 2. Load style if (isset($mybb->user['style']) && (int) $mybb->user['style'] != 0) { $loadstyle = "tid='" . (int) $mybb->user['style'] . "'"; } else { $loadstyle = "def='1'"; } // Load basic theme information that we could be needing. if ($loadstyle != "def='1'") { $query = $db->simple_select('themes', 'name, tid, properties, allowedgroups', $loadstyle, array('limit' => 1)); $theme = $db->fetch_array($query); if (isset($theme['tid']) && !is_member($theme['allowedgroups']) && $theme['allowedgroups'] != 'all') { if (isset($mybb->cookies['mybbtheme'])) { my_unsetcookie('mybbtheme'); } $loadstyle = "def='1'"; } } if ($loadstyle == "def='1'") { if (!$cache->read('default_theme')) { $cache->update_default_theme(); } $theme = $cache->read('default_theme'); } // No theme was found - we attempt to load the master or any other theme if (!isset($theme['tid']) || isset($theme['tid']) && !$theme['tid']) { // Missing theme was from a user, run a query to set any users using the theme to the default
/** * Verifies if a style is valid for this user or not. * * @return boolean True when valid, false when invalid. */ function verify_style() { global $lang; $user =& $this->data; if ($user['style']) { $theme = get_theme($user['style']); if (empty($theme) || !is_member($theme['allowedgroups'], $user) && $theme['allowedgroups'] != 'all') { $this->set_error('invalid_style'); return false; } } return true; }
function may_email() { return !is_guest() || (is_member() || is_unit()); // members, units allowed }
$lang->purgespammer_purge_desc = $lang->sprintf($lang->purgespammer_purge_desc, $lang->purgespammer_delete); } eval("\$purgespammer = \"" . $templates->get('moderation_purgespammer') . "\";"); output_page($purgespammer); } } break; default: require_once MYBB_ROOT . "inc/class_custommoderation.php"; $custommod = new CustomModeration(); $tool = $custommod->tool_info($mybb->get_input('action', MyBB::INPUT_INT)); if ($tool !== false) { // Verify incoming POST request verify_post_check($mybb->get_input('my_post_key')); $options = my_unserialize($tool['threadoptions']); if (!is_member($tool['groups'])) { error_no_permission(); } if (!empty($options['confirmation']) && empty($mybb->input['confirm'])) { add_breadcrumb($lang->confirm_execute_tool); $lang->confirm_execute_tool_desc = $lang->sprintf($lang->confirm_execute_tool_desc, htmlspecialchars_uni($tool['name'])); $modtype = $mybb->get_input('modtype'); $inlinetype = $mybb->get_input('inlinetype'); $searchid = $mybb->get_input('searchid'); $url = htmlspecialchars_uni($mybb->get_input('url')); $plugins->run_hooks('moderation_confirmation'); eval('$page = "' . $templates->get('moderation_confirmation') . '";'); output_page($page); exit; } if ($tool['type'] == 't' && $mybb->get_input('modtype') == 'inlinethread') {
function get_event_detail($eid, $item_id = false, $asso_id = null) { global $globals; if (is_null($asso_id)) { $asso_id = $globals->asso('id'); } if (!$item_id) { $where = ''; $group_by = 'e.eid'; } else { $where = XDB::format(' AND ei.item_id = {?}', $item_id); $group_by = 'ei.item_id'; } $evt = XDB::fetchOneAssoc('SELECT SUM(nb) AS nb_tot, COUNT(DISTINCT ep.uid) AS nb, e.*, SUM(IF(nb > 0, 1, 0)) AS user_count, IF(e.deadline_inscription, e.deadline_inscription >= LEFT(NOW(), 10), 1) AS inscr_open, LEFT(e.debut, 10) AS first_day, LEFT(e.fin, 10) AS last_day, LEFT(NOW(), 10) AS now, ei.titre, e.subscription_notification FROM group_events AS e INNER JOIN group_event_items AS ei ON (e.eid = ei.eid) LEFT JOIN group_event_participants AS ep ON(e.eid = ep.eid AND ei.item_id = ep.item_id) WHERE (e.eid = {?} OR e.short_name = {?}) AND e.asso_id = {?}' . $where . ' GROUP BY ' . $group_by, $eid, $eid, $asso_id); if (!$evt) { return null; } if ($GLOBALS['IS_XNET_SITE'] && $evt['accept_nonmembre'] == 0 && !is_member() && !may_update()) { return false; } if (!$item_id) { /* Don't try to be to smart here, in case we're getting the global summary, we cannot have * a general formula to estimate the total number of comers since 'moments' may (or may not be) * disjuncted. As a consequence, we can only provides the number of user having fullfiled the * registration procedure. */ $evt['user_count'] = $evt['nb_tot'] = $evt['nb']; $evt['titre'] = ''; $evt['item_id'] = 0; $evt['csv_name'] = urlencode($evt['intitule']); } else { $evt['csv_name'] = urlencode($evt['intitule'] . '.' . $evt['titre']); } $evt['moments'] = XDB::fetchAllAssoc('SELECT titre, details, montant, ei.item_id, nb, ep.paid, FIND_IN_SET(\'notify_payment\', ep.flags) AS notify_payment FROM group_event_items AS ei LEFT JOIN group_event_participants AS ep ON (ep.eid = ei.eid AND ep.item_id = ei.item_id AND uid = {?}) WHERE ei.eid = {?}', S::i('uid'), $evt['eid']); $evt['topay'] = 0; $evt['paid'] = 0; $evt['notify_payment'] = false; foreach ($evt['moments'] as $m) { $evt['topay'] += $m['nb'] * $m['montant']; if ($m['montant']) { $evt['money'] = true; } $evt['paid'] += $m['paid']; $evt['notify_payment'] = $evt['notify_payment'] || $m['notify_payment']; } $montant = XDB::fetchOneCell('SELECT SUM(amount) AS sum_amount FROM payment_transactions AS t WHERE status = "confirmed" AND ref = {?} AND uid = {?}', $evt['paiement_id'], S::v('uid')); $evt['telepaid'] = $montant; $evt['paid'] += $montant; $evt['organizer'] = User::getSilent($evt['uid']); $evt['date'] = make_event_date($evt['debut'], $evt['fin']); $evt['show_participants'] = $evt['show_participants'] && $GLOBALS['IS_XNET_SITE'] && (is_member() || may_update()); return $evt; }
session_start(); if (isset($_POST["submit"])) { $fname = $_POST["fname"]; $lname = $_POST["lname"]; $degree = $_POST["degree"]; $rollno = $_POST["rollno"]; $batch = $_POST["batch"]; $email = $_POST["email"]; $gender = $_POST["gender"]; $dob = $_POST["dob"]; $username = $_POST["username"]; $password = $_POST["password"]; if ($rollno != "" and $fname != "" and $lname != "" and $username != "" and $password != "" and $dob != "" and $gender != "" and $email != "" and $batch != "" and $degree != "") { include "db.php"; $connectionStatu = connect_db(); $member = is_member($connectionStatu, $username); if (!$member) { $status = signup_user($connectionStatu, $fname, $lname, $rollno, $username, $degree, $batch, $gender, $dob, $email, $password); /*echo print_r($status);exit;*/ if ($status == true) { header("Location: signup.php?id=success&v=You are signed up successfully!!"); } else { header("Location: signup.php?id=error&v=Error: An error has occured. Cannot sign up"); } } else { header("Location: signup.php?id=error&v=Error: Username:{$username} already exists"); } } else { header("Location: signup.php?id=error&v=Error: All fields mandatory"); } } else {
} } elseif ($mybb->input['action'] == "imcenter") { $mybb->input['imtype'] = $mybb->get_input('imtype'); if ($mybb->input['imtype'] != "aim" && $mybb->input['imtype'] != "skype" && $mybb->input['imtype'] != "yahoo") { error($lang->error_invalidimtype); } $uid = $mybb->get_input('uid', MyBB::INPUT_INT); $user = get_user($uid); if (!$user) { error($lang->error_invaliduser); } if (empty($user[$mybb->input['imtype']])) { error($lang->error_invalidimtype); } $settingkey = 'allow' . $mybb->input['imtype'] . 'field'; if (!is_member($mybb->settings[$settingkey], $user)) { error_no_permission(); } // Build IM navigation bar $navigationbar = $navsep = $imtype = $imtype_lang = ''; if ($user['aim']) { $imtype = "aim"; $imtype_lang = $lang->aol_im; eval("\$navigationbar .= \"" . $templates->get("misc_imcenter_nav") . "\";"); $navsep = ' - '; } if ($user['skype']) { $imtype = "skype"; $imtype_lang = $lang->skype; eval("\$navigationbar .= \"" . $templates->get("misc_imcenter_nav") . "\";"); $navsep = ' - ';
static function access_mod_own() { $array = self::settings_get_csv('groups_mod_own'); return $array[0] == -1 || is_member($array); }
function automedia_embedly() { global $mybb, $headerinclude, $footer, $lang, $templates, $am_embedly_script, $am_embedly_head; $am_head = ''; $am_head_embedly = ''; $am_embedly_script = ''; $this_scripts = array('usercp.php', 'showthread.php', 'private.php', 'newthread.php', 'newreply.php', 'editpost.php', 'calendar.php', 'portal.php', 'modcp.php', 'printthread.php'); // Don't load the templates everywhere if (!in_array(THIS_SCRIPT, $this_scripts) && !defined("IN_ARCHIVE")) { return; } /** * Get the settings for the forums **/ if ($mybb->settings['av_forums'] != -1) { global $fid; if (isset($fid)) { $avfid = (int) $fid; } else { $avfid = $mybb->get_input('fid', 1); if ($mybb->version > "1.8.0") { $avfid = $mybb->get_input('fid', MyBB::INPUT_INT); } } // Find the set fid's in settings $fids = explode(',', $mybb->settings['av_forums']); if (!in_array($avfid, $fids)) { return; } } /** *Get the settings for the usergroups **/ // Find the excluded groups in settings if ($mybb->settings['av_groups'] != '' && $mybb->usergroup['cancp'] != 1) { if (is_member($mybb->settings['av_groups']) || $mybb->settings['av_groups'] == -1) { return; } } // Check settings and permissions if ($mybb->settings['av_enable'] == 1 && $mybb->user['uid'] != 0 && $mybb->user['automedia_use'] != 'N' || $mybb->settings['av_enable'] == 1 && $mybb->user['uid'] == 0 && $mybb->settings['av_guest'] == 1) { eval("\$am_head = \"" . $templates->get("automedia_head") . "\";"); $headerinclude .= $am_head; // Embed.ly jQuery if ($mybb->settings['av_embedly'] == 1 && !empty($mybb->settings['av_embedly_key']) && $mybb->settings['av_embedly_key'] != "") { if (!isset($lang->av_click)) { $lang->load("automedia"); } // Set sanitized variables $mybb->settings['av_embedly_key'] = htmlspecialchars_uni($mybb->settings['av_embedly_key']); $mybb->settings['av_width'] = (int) $mybb->settings['av_width']; $mybb->settings['av_height'] = (int) $mybb->settings['av_height']; $modalwidth = (int) $mybb->settings['av_width'] + 50; // Add script to headerinclude eval("\$am_embedly_head = \"" . $templates->get("automedia_head_embedly") . "\";"); if ($mybb->settings['av_embedly_click'] == 'modal') { // Show media as modal popup if ($mybb->settings['av_embedly_card'] != 1) { eval("\$am_embedly_script = \"" . $templates->get("automedia_embedly_modal") . "\";"); } else { eval("\$am_embedly_script = \"" . $templates->get("automedia_embedly_modal_card") . "\";"); } } elseif ($mybb->settings['av_embedly_click'] == 'button') { if ($mybb->settings['av_embedly_card'] != 1) { eval("\$am_embedly_script = \"" . $templates->get("automedia_embedly_button") . "\";"); } else { eval("\$am_embedly_script = \"" . $templates->get("automedia_embedly_button_card") . "\";"); } } else { if ($mybb->settings['av_embedly_card'] != 1) { eval("\$am_embedly_script = \"" . $templates->get("automedia_embedly_direct") . "\";"); } else { eval("\$am_embedly_script = \"" . $templates->get("automedia_embedly_direct_card") . "\";"); } } $headerinclude = $headerinclude . '<!--embedlyhead-->'; $footer = $footer . '<!--embedlyfooter-->'; // Add embedly scripts in archive mode if (defined('IN_ARCHIVE')) { echo '<script type="text/javascript" src="' . $mybb->asset_url . '/jscripts/jquery.js?ver=1800"></script> <script type="text/javascript" src="' . $mybb->asset_url . '/jscripts/jquery.plugins.min.js?ver=1800"></script>'; echo $am_embedly_head; echo $am_embedly_script; } // Add embedly scripts in printthread if (THIS_SCRIPT == 'printthread.php') { global $postrows; $postrows = $postrows . ' <script type="text/javascript" src="' . $mybb->asset_url . '/jscripts/jquery.js?ver=1800"></script> <script type="text/javascript" src="' . $mybb->asset_url . '/jscripts/jquery.plugins.min.js?ver=1800"></script>' . $am_embedly_head . $am_embedly_script; } } } }
/** * Build a post bit * * @param array $post The post data * @param int $post_type The type of post bit we're building (1 = preview, 2 = pm, 3 = announcement, else = post) * @return string The built post bit */ function build_postbit($post, $post_type = 0) { global $db, $altbg, $theme, $mybb, $postcounter, $profile_fields; global $titlescache, $page, $templates, $forumpermissions, $attachcache; global $lang, $ismod, $inlinecookie, $inlinecount, $groupscache, $fid; global $plugins, $parser, $cache, $ignored_users, $hascustomtitle; $hascustomtitle = 0; // Set default values for any fields not provided here foreach (array('pid', 'aid', 'pmid', 'posturl', 'button_multiquote', 'subject_extra', 'attachments', 'button_rep', 'button_warn', 'button_purgespammer', 'button_pm', 'button_pubkey', 'button_reply_pm', 'button_replyall_pm', 'button_forward_pm', 'button_delete_pm', 'replink', 'warninglevel') as $post_field) { if (empty($post[$post_field])) { $post[$post_field] = ''; } } // Set up the message parser if it doesn't already exist. if (!$parser) { require_once MYBB_ROOT . "inc/class_parser.php"; $parser = new postParser(); } if (!function_exists("purgespammer_show")) { require_once MYBB_ROOT . "inc/functions_user.php"; } $unapproved_shade = ''; if (isset($post['visible']) && $post['visible'] == 0 && $post_type == 0) { $altbg = $unapproved_shade = 'unapproved_post'; } elseif (isset($post['visible']) && $post['visible'] == -1 && $post_type == 0) { $altbg = $unapproved_shade = 'unapproved_post deleted_post'; } elseif ($altbg == 'trow1') { $altbg = 'trow2'; } else { $altbg = 'trow1'; } $post['fid'] = $fid; switch ($post_type) { case 1: // Message preview global $forum; $parser_options['allow_html'] = $forum['allowhtml']; $parser_options['allow_mycode'] = $forum['allowmycode']; $parser_options['allow_smilies'] = $forum['allowsmilies']; $parser_options['allow_imgcode'] = $forum['allowimgcode']; $parser_options['allow_videocode'] = $forum['allowvideocode']; $parser_options['me_username'] = $post['username']; $parser_options['filter_badwords'] = 1; $id = 0; break; case 2: // Private message global $message, $pmid; $idtype = 'pmid'; $parser_options['allow_html'] = $mybb->settings['pmsallowhtml']; $parser_options['allow_mycode'] = $mybb->settings['pmsallowmycode']; $parser_options['allow_smilies'] = $mybb->settings['pmsallowsmilies']; $parser_options['allow_imgcode'] = $mybb->settings['pmsallowimgcode']; $parser_options['allow_videocode'] = $mybb->settings['pmsallowvideocode']; $parser_options['me_username'] = $post['username']; $parser_options['filter_badwords'] = 1; $id = $pmid; break; case 3: // Announcement global $announcementarray, $message; $parser_options['allow_html'] = $announcementarray['allowhtml']; $parser_options['allow_mycode'] = $announcementarray['allowmycode']; $parser_options['allow_smilies'] = $announcementarray['allowsmilies']; $parser_options['allow_imgcode'] = 1; $parser_options['allow_videocode'] = 1; $parser_options['me_username'] = $post['username']; $parser_options['filter_badwords'] = 1; $id = $announcementarray['aid']; break; default: // Regular post global $forum, $thread, $tid; $oldforum = $forum; $id = (int) $post['pid']; $idtype = 'pid'; $parser_options['allow_html'] = $forum['allowhtml']; $parser_options['allow_mycode'] = $forum['allowmycode']; $parser_options['allow_smilies'] = $forum['allowsmilies']; $parser_options['allow_imgcode'] = $forum['allowimgcode']; $parser_options['allow_videocode'] = $forum['allowvideocode']; $parser_options['filter_badwords'] = 1; if (!$post['username']) { $post['username'] = $lang->guest; } if ($post['userusername']) { $parser_options['me_username'] = $post['userusername']; } else { $parser_options['me_username'] = $post['username']; } break; } if (!$postcounter) { // Used to show the # of the post if ($page > 1) { if (!$mybb->settings['postsperpage'] || (int) $mybb->settings['postsperpage'] < 1) { $mybb->settings['postsperpage'] = 20; } $postcounter = $mybb->settings['postsperpage'] * ($page - 1); } else { $postcounter = 0; } $post_extra_style = "border-top-width: 0;"; } elseif ($mybb->input['mode'] == "threaded") { $post_extra_style = "border-top-width: 0;"; } else { $post_extra_style = "margin-top: 5px;"; } if (!$altbg) { // Define the alternate background colour if this is the first post $altbg = "trow1"; } $postcounter++; // Format the post date and time using my_date //$post['postdate'] = my_date('relative', $post['dateline']); $post['postdate'] = date('Y-m-d', $post['dateline']); // Dont want any little 'nasties' in the subject $post['subject'] = $parser->parse_badwords($post['subject']); // Pm's have been htmlspecialchars_uni()'ed already. if ($post_type != 2) { $post['subject'] = htmlspecialchars_uni($post['subject']); } if (empty($post['subject'])) { $post['subject'] = ' '; } $post['author'] = $post['uid']; $post['subject_title'] = $post['subject']; // Get the usergroup if ($post['userusername']) { if (!$post['displaygroup']) { $post['displaygroup'] = $post['usergroup']; } $usergroup = $groupscache[$post['displaygroup']]; } else { $usergroup = $groupscache[1]; } if (!is_array($titlescache)) { $cached_titles = $cache->read("usertitles"); if (!empty($cached_titles)) { foreach ($cached_titles as $usertitle) { $titlescache[$usertitle['posts']] = $usertitle; } } if (is_array($titlescache)) { krsort($titlescache); } unset($usertitle, $cached_titles); } // Work out the usergroup/title stuff $post['groupimage'] = ''; if (!empty($usergroup['image'])) { $language = $mybb->settings['bblanguage']; if (!empty($mybb->user['language'])) { $language = $mybb->user['language']; } $usergroup['image'] = str_replace("{lang}", $language, $usergroup['image']); $usergroup['image'] = str_replace("{theme}", $theme['imgdir'], $usergroup['image']); eval("\$post['groupimage'] = \"" . $templates->get("postbit_groupimage") . "\";"); if ($mybb->settings['postlayout'] == "classic") { $post['groupimage'] .= "<br />"; } } if ($post['userusername']) { // This post was made by a registered user $post['username'] = $post['userusername']; $post['profilelink_plain'] = get_profile_link($post['uid']); $post['username_formatted'] = format_name($post['username'], $post['usergroup'], $post['displaygroup']); $post['profilelink'] = build_profile_link($post['username_formatted'], $post['uid']); if (trim($post['usertitle']) != "") { $hascustomtitle = 1; } if ($usergroup['usertitle'] != "" && !$hascustomtitle) { $post['usertitle'] = $usergroup['usertitle']; } elseif (is_array($titlescache) && !$usergroup['usertitle']) { reset($titlescache); foreach ($titlescache as $key => $titleinfo) { if ($post['postnum'] >= $key) { if (!$hascustomtitle) { $post['usertitle'] = $titleinfo['title']; } $post['stars'] = $titleinfo['stars']; $post['starimage'] = $titleinfo['starimage']; break; } } } $post['usertitle'] = htmlspecialchars_uni($post['usertitle']); if ($usergroup['stars']) { $post['stars'] = $usergroup['stars']; } if (empty($post['starimage'])) { $post['starimage'] = $usergroup['starimage']; } if ($post['starimage'] && $post['stars']) { // Only display stars if we have an image to use... $post['starimage'] = str_replace("{theme}", $theme['imgdir'], $post['starimage']); $post['userstars'] = ''; for ($i = 0; $i < $post['stars']; ++$i) { eval("\$post['userstars'] .= \"" . $templates->get("postbit_userstar", 1, 0) . "\";"); } $post['userstars'] .= "<br />"; } $postnum = $post['postnum']; $post['postnum'] = my_number_format($post['postnum']); $post['threadnum'] = my_number_format($post['threadnum']); // Determine the status to show for the user (Online/Offline/Away) /* $timecut = TIME_NOW - $mybb->settings['wolcutoff']; if($post['lastactive'] > $timecut && ($post['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1) && $post['lastvisit'] != $post['lastactive']) { eval("\$post['onlinestatus'] = \"".$templates->get("postbit_online")."\";"); } else { if($post['away'] == 1 && $mybb->settings['allowaway'] != 0) { eval("\$post['onlinestatus'] = \"".$templates->get("postbit_away")."\";"); } else { eval("\$post['onlinestatus'] = \"".$templates->get("postbit_offline")."\";"); } } */ // Show as always offline eval("\$post['onlinestatus'] = \"" . $templates->get("postbit_offline") . "\";"); $post['useravatar'] = ''; if (isset($mybb->user['showavatars']) && $mybb->user['showavatars'] != 0 || $mybb->user['uid'] == 0) { $useravatar = format_avatar($post['avatar'], $post['avatardimensions'], $mybb->settings['postmaxavatarsize']); eval("\$post['useravatar'] = \"" . $templates->get("postbit_avatar") . "\";"); } $post['button_find'] = ''; if ($mybb->usergroup['cansearch'] == 1) { eval("\$post['button_find'] = \"" . $templates->get("postbit_find") . "\";"); } if ($mybb->settings['enablepms'] == 1 && $post['receivepms'] != 0 && $mybb->usergroup['cansendpms'] == 1 && my_strpos("," . $post['ignorelist'] . ",", "," . $mybb->user['uid'] . ",") === false) { //eval("\$post['button_pm'] = \"".$templates->get("postbit_pm")."\";"); } $post['button_rep'] = ''; if ($post_type != 3 && $mybb->settings['enablereputation'] == 1 && $mybb->settings['postrep'] == 1 && $mybb->usergroup['cangivereputations'] == 1 && $usergroup['usereputationsystem'] == 1 && ($mybb->settings['posrep'] || $mybb->settings['neurep'] || $mybb->settings['negrep']) && $post['uid'] != $mybb->user['uid'] && $post['visible'] == 1) { if (!$post['pid']) { $post['pid'] = 0; } eval("\$post['button_rep'] = \"" . $templates->get("postbit_rep_button") . "\";"); } if ($post['website'] != "" && !is_member($mybb->settings['hidewebsite']) && $usergroup['canchangewebsite'] == 1) { $post['website'] = htmlspecialchars_uni($post['website']); eval("\$post['button_www'] = \"" . $templates->get("postbit_www") . "\";"); } else { $post['button_www'] = ""; } if ($post['hideemail'] != 1 && $mybb->usergroup['cansendemail'] == 1) { eval("\$post['button_email'] = \"" . $templates->get("postbit_email") . "\";"); } else { $post['button_email'] = ""; } $post['userregdate'] = $lang->na; //my_date($mybb->settings['regdateformat'], $post['regdate']); // Work out the reputation this user has (only show if not announcement) if ($post_type != 3 && $usergroup['usereputationsystem'] != 0 && $mybb->settings['enablereputation'] == 1) { $post['userreputation'] = get_reputation($post['reputation'], $post['uid']); eval("\$post['replink'] = \"" . $templates->get("postbit_reputation") . "\";"); } // Showing the warning level? (only show if not announcement) if ($post_type != 3 && $mybb->settings['enablewarningsystem'] != 0 && $usergroup['canreceivewarnings'] != 0 && ($mybb->usergroup['canwarnusers'] != 0 || $mybb->user['uid'] == $post['uid'] && $mybb->settings['canviewownwarning'] != 0)) { if ($mybb->settings['maxwarningpoints'] < 1) { $mybb->settings['maxwarningpoints'] = 10; } $warning_level = round($post['warningpoints'] / $mybb->settings['maxwarningpoints'] * 100); if ($warning_level > 100) { $warning_level = 100; } $warning_level = get_colored_warning_level($warning_level); // If we can warn them, it's not the same person, and we're in a PM or a post. if ($mybb->usergroup['canwarnusers'] != 0 && $post['uid'] != $mybb->user['uid'] && ($post_type == 0 || $post_type == 2)) { eval("\$post['button_warn'] = \"" . $templates->get("postbit_warn") . "\";"); $warning_link = "warnings.php?uid={$post['uid']}"; } else { $post['button_warn'] = ''; $warning_link = "usercp.php"; } eval("\$post['warninglevel'] = \"" . $templates->get("postbit_warninglevel") . "\";"); } if ($post_type != 3 && $post_type != 1 && purgespammer_show($post['postnum'], $post['usergroup'], $post['uid'])) { eval("\$post['button_purgespammer'] = \"" . $templates->get('postbit_purgespammer') . "\";"); } // Display profile fields on posts - only if field is filled in if (is_array($profile_fields)) { foreach ($profile_fields as $field) { $fieldfid = "fid{$field['fid']}"; if (!empty($post[$fieldfid])) { $post['fieldvalue'] = ''; $post['fieldname'] = htmlspecialchars_uni($field['name']); $thing = explode("\n", $field['type'], "2"); $type = trim($thing[0]); $useropts = explode("\n", $post[$fieldfid]); if (is_array($useropts) && ($type == "multiselect" || $type == "checkbox")) { foreach ($useropts as $val) { if ($val != '') { eval("\$post['fieldvalue_option'] .= \"" . $templates->get("postbit_profilefield_multiselect_value") . "\";"); } } if ($post['fieldvalue_option'] != '') { eval("\$post['fieldvalue'] .= \"" . $templates->get("postbit_profilefield_multiselect") . "\";"); } } else { $field_parser_options = array("allow_html" => $field['allowhtml'], "allow_mycode" => $field['allowmycode'], "allow_smilies" => $field['allowsmilies'], "allow_imgcode" => $field['allowimgcode'], "allow_videocode" => $field['allowvideocode'], "filter_badwords" => 1); if ($customfield['type'] == "textarea") { $field_parser_options['me_username'] = $post['username']; } else { $field_parser_options['nl2br'] = 0; } if ($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0) { $field_parser_options['allow_imgcode'] = 0; } $post['fieldvalue'] = $parser->parse_message($post[$fieldfid], $field_parser_options); } eval("\$post['profilefield'] .= \"" . $templates->get("postbit_profilefield") . "\";"); } } } eval("\$post['user_details'] = \"" . $templates->get("postbit_author_user") . "\";"); } else { // Message was posted by a guest or an unknown user $post['profilelink'] = format_name($post['username'], 1); if ($usergroup['usertitle']) { $post['usertitle'] = $usergroup['usertitle']; } else { $post['usertitle'] = $lang->guest; } $post['usertitle'] = htmlspecialchars_uni($post['usertitle']); $usergroup['title'] = $lang->na; $post['userregdate'] = $lang->na; $post['postnum'] = $lang->na; $post['button_profile'] = ''; $post['button_email'] = ''; $post['button_www'] = ''; $post['signature'] = ''; $post['button_pm'] = $lang->na; $post['button_find'] = ''; $post['onlinestatus'] = ''; $post['replink'] = ''; eval("\$post['user_details'] = \"" . $templates->get("postbit_author_guest") . "\";"); } $post['button_edit'] = ''; $post['button_quickdelete'] = ''; $post['button_quickrestore'] = ''; $post['button_quote'] = ''; $post['button_quickquote'] = ''; $post['button_report'] = ''; $post['button_reply_pm'] = ''; $post['button_replyall_pm'] = ''; $post['button_forward_pm'] = ''; $post['button_delete_pm'] = ''; // For private messages, fetch the reply/forward/delete icons if ($post_type == 2 && $post['pmid']) { global $replyall; eval("\$post['button_reply_pm'] = \"" . $templates->get("postbit_reply_pm") . "\";"); eval("\$post['button_forward_pm'] = \"" . $templates->get("postbit_forward_pm") . "\";"); eval("\$post['button_delete_pm'] = \"" . $templates->get("postbit_delete_pm") . "\";"); if ($replyall == true) { eval("\$post['button_replyall_pm'] = \"" . $templates->get("postbit_replyall_pm") . "\";"); } } $post['editedmsg'] = ''; if (!$post_type) { // Figure out if we need to show an "edited by" message if ($post['edituid'] != 0 && $post['edittime'] != 0 && $post['editusername'] != "" && ($mybb->settings['showeditedby'] != 0 && $usergroup['cancp'] == 0 || $mybb->settings['showeditedbyadmin'] != 0 && $usergroup['cancp'] == 1)) { //$post['editdate'] = my_date('relative', $post['edittime']); $post['editdate'] = $lang->na; $post['editnote'] = $lang->sprintf($lang->postbit_edited, $post['editdate']); $post['editedprofilelink'] = build_profile_link($post['editusername'], $post['edituid']); $editreason = ""; if ($post['editreason'] != "") { $post['editreason'] = $parser->parse_badwords($post['editreason']); $post['editreason'] = htmlspecialchars_uni($post['editreason']); eval("\$editreason = \"" . $templates->get("postbit_editedby_editreason") . "\";"); } eval("\$post['editedmsg'] = \"" . $templates->get("postbit_editedby") . "\";"); } $time = TIME_NOW; if (is_moderator($fid, "caneditposts") || $forumpermissions['caneditposts'] == 1 && $mybb->user['uid'] == $post['uid'] && $thread['closed'] != 1 && $mybb->usergroup['edittimelimit'] == 0 && $mybb->user['uid'] != 0) { eval("\$post['button_edit'] = \"" . $templates->get("postbit_edit") . "\";"); } // Quick Delete button $can_delete_thread = $can_delete_post = 0; if ($mybb->user['uid'] == $post['uid'] && $thread['closed'] == 0) { if ($forumpermissions['candeletethreads'] == 1 && $postcounter == 1) { $can_delete_thread = 1; } else { if ($forumpermissions['candeleteposts'] == 1 && $postcounter != 1) { $can_delete_post = 1; } } } $postbit_qdelete = $postbit_qrestore = ''; if ($mybb->user['uid'] != 0) { if ((is_moderator($fid, "candeleteposts") || is_moderator($fid, "cansoftdeleteposts") || $can_delete_post == 1) && $postcounter != 1) { $postbit_qdelete = $lang->postbit_qdelete_post; $display = ''; if ($post['visible'] == -1) { $display = "none"; } eval("\$post['button_quickdelete'] = \"" . $templates->get("postbit_quickdelete") . "\";"); } else { if ((is_moderator($fid, "candeletethreads") || is_moderator($fid, "cansoftdeletethreads") || $can_delete_thread == 1) && $postcounter == 1) { $postbit_qdelete = $lang->postbit_qdelete_thread; $display = ''; if ($post['visible'] == -1) { $display = "none"; } eval("\$post['button_quickdelete'] = \"" . $templates->get("postbit_quickdelete") . "\";"); } } // Restore Post if (is_moderator($fid, "canrestoreposts") && $postcounter != 1) { $display = "none"; if ($post['visible'] == -1) { $display = ''; } $postbit_qrestore = $lang->postbit_qrestore_post; eval("\$post['button_quickrestore'] = \"" . $templates->get("postbit_quickrestore") . "\";"); } else { if (is_moderator($fid, "canrestorethreads") && $postcounter == 1) { $display = "none"; if ($post['visible'] == -1) { $display = ""; } $postbit_qrestore = $lang->postbit_qrestore_thread; eval("\$post['button_quickrestore'] = \"" . $templates->get("postbit_quickrestore") . "\";"); } } } // Inline moderation stuff if ($ismod) { if (isset($mybb->cookies[$inlinecookie]) && my_strpos($mybb->cookies[$inlinecookie], "|" . $post['pid'] . "|")) { $inlinecheck = "checked=\"checked\""; $inlinecount++; } else { $inlinecheck = ""; } eval("\$post['inlinecheck'] = \"" . $templates->get("postbit_inlinecheck") . "\";"); if ($post['visible'] == 0) { $invisiblepost = 1; } } else { $post['inlinecheck'] = ""; } $post['postlink'] = get_post_link($post['pid'], $post['tid']); $post_number = my_number_format($postcounter); eval("\$post['posturl'] = \"" . $templates->get("postbit_posturl") . "\";"); global $forum, $thread; if ($forum['open'] != 0 && ($thread['closed'] != 1 || is_moderator($forum['fid'], "canpostclosedthreads")) && ($thread['uid'] == $mybb->user['uid'] || $forumpermissions['canonlyreplyownthreads'] != 1)) { eval("\$post['button_quote'] = \"" . $templates->get("postbit_quote") . "\";"); } if ($forumpermissions['canpostreplys'] != 0 && ($thread['uid'] == $mybb->user['uid'] || $forumpermissions['canonlyreplyownthreads'] != 1) && ($thread['closed'] != 1 || is_moderator($fid, "canpostclosedthreads")) && $mybb->settings['multiquote'] != 0 && $forum['open'] != 0 && !$post_type) { eval("\$post['button_multiquote'] = \"" . $templates->get("postbit_multiquote") . "\";"); } if ($mybb->user['uid'] != "0") { eval("\$post['button_report'] = \"" . $templates->get("postbit_report") . "\";"); } } elseif ($post_type == 3) { if ($mybb->usergroup['canmodcp'] == 1 && $mybb->usergroup['canmanageannounce'] == 1 && is_moderator($fid, "canmanageannouncements")) { eval("\$post['button_edit'] = \"" . $templates->get("announcement_edit") . "\";"); eval("\$post['button_quickdelete'] = \"" . $templates->get("announcement_quickdelete") . "\";"); } } $post['iplogged'] = ''; $show_ips = $mybb->settings['logip']; //$ipaddress = my_inet_ntop($db->unescape_binary($post['ipaddress'])); $ipaddress = '127.0.0.1'; // Show post IP addresses... PMs now can have IP addresses too as of 1.8! if ($post_type == 2) { $show_ips = $mybb->settings['showpmip']; } if (!$post_type || $post_type == 2) { if ($show_ips != "no" && !empty($post['ipaddress'])) { if ($show_ips == "show") { eval("\$post['iplogged'] = \"" . $templates->get("postbit_iplogged_show") . "\";"); } else { if ($show_ips == "hide" && (is_moderator($fid, "canviewips") || $mybb->usergroup['issupermod'])) { $action = 'getip'; if ($post_type == 2) { $action = 'getpmip'; } eval("\$post['iplogged'] = \"" . $templates->get("postbit_iplogged_hiden") . "\";"); } } } } if (isset($post['smilieoff']) && $post['smilieoff'] == 1) { $parser_options['allow_smilies'] = 0; } if ($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0) { $parser_options['allow_imgcode'] = 0; } if ($mybb->user['showvideos'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestvideos'] != 1 && $mybb->user['uid'] == 0) { $parser_options['allow_videocode'] = 0; } // If we have incoming search terms to highlight - get it done. if (!empty($mybb->input['highlight'])) { $parser_options['highlight'] = $mybb->input['highlight']; $post['subject'] = $parser->highlight_message($post['subject'], $parser_options['highlight']); } $post['message'] = $parser->parse_message($post['message'], $parser_options); // Validate key $keyinfo = user_key_info($post['uid']); $post['signstatus']; if ($keyinfo['status'] == "OK") { $post['signstatus'] = "<span style=\"color: #07a407;\" title=\"Fingerprint: {$keyinfo['fingerprint']}\">✓ podpisano przez {$post['profilelink']}</span>"; } // Jid link $ujid = user_jid($post['uid']); $post['jidlink'] = $ujid; // User key $post['userpubkey'] = $keyinfo['key']; if ($keyinfo['key'] != "") { eval("\$post['button_pubkey'] = \"" . $templates->get("postbit_pubkey") . "\";"); } else { $post['button_pubkey']; } $post['attachments'] = ''; if ($mybb->settings['enableattachments'] != 0) { get_post_attachments($id, $post); } if (isset($post['includesig']) && $post['includesig'] != 0 && $post['username'] && $post['signature'] != "" && ($mybb->user['uid'] == 0 || $mybb->user['showsigs'] != 0) && ($post['suspendsignature'] == 0 || $post['suspendsignature'] == 1 && $post['suspendsigtime'] != 0 && $post['suspendsigtime'] < TIME_NOW) && $usergroup['canusesig'] == 1 && ($usergroup['canusesigxposts'] == 0 || $usergroup['canusesigxposts'] > 0 && $postnum > $usergroup['canusesigxposts']) && !is_member($mybb->settings['hidesignatures'])) { $sig_parser = array("allow_html" => $mybb->settings['sightml'], "allow_mycode" => $mybb->settings['sigmycode'], "allow_smilies" => $mybb->settings['sigsmilies'], "allow_imgcode" => $mybb->settings['sigimgcode'], "me_username" => $post['username'], "filter_badwords" => 1); if ($usergroup['signofollow']) { $sig_parser['nofollow_on'] = 1; } if ($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0) { $sig_parser['allow_imgcode'] = 0; } $post['signature'] = $parser->parse_message($post['signature'], $sig_parser); eval("\$post['signature'] = \"" . $templates->get("postbit_signature") . "\";"); } else { $post['signature'] = ""; } $icon_cache = $cache->read("posticons"); if (isset($post['icon']) && $post['icon'] > 0 && $icon_cache[$post['icon']]) { $icon = $icon_cache[$post['icon']]; $icon['path'] = htmlspecialchars_uni($icon['path']); $icon['path'] = str_replace("{theme}", $theme['imgdir'], $icon['path']); $icon['name'] = htmlspecialchars_uni($icon['name']); eval("\$post['icon'] = \"" . $templates->get("postbit_icon") . "\";"); } else { $post['icon'] = ""; } $post_visibility = $ignore_bit = ''; switch ($post_type) { case 1: // Message preview $post = $plugins->run_hooks("postbit_prev", $post); break; case 2: // Private message $post = $plugins->run_hooks("postbit_pm", $post); break; case 3: // Announcement $post = $plugins->run_hooks("postbit_announcement", $post); break; default: // Regular post $post = $plugins->run_hooks("postbit", $post); // Is this author on the ignore list of the current user? Hide this post if (is_array($ignored_users) && $post['uid'] != 0 && isset($ignored_users[$post['uid']]) && $ignored_users[$post['uid']] == 1) { $ignored_message = $lang->sprintf($lang->postbit_currently_ignoring_user, $post['username']); eval("\$ignore_bit = \"" . $templates->get("postbit_ignored") . "\";"); $post_visibility = "display: none;"; } break; } if ($mybb->settings['postlayout'] == "classic") { eval("\$postbit = \"" . $templates->get("postbit_classic") . "\";"); } else { eval("\$postbit = \"" . $templates->get("postbit") . "\";"); } $GLOBALS['post'] = ""; return $postbit; }
wrap_session_register("admin_user"); } elseif ($_SESSION['BUDDY_LIST_EMAILS_SEND']) { // check if this user has any pending buddies - we only want to do this for non-admins and if buddy lists are switched on $_SESSION['number_pending_buddies'] = pending_buddies($_REQUEST['username']); } // set some session info about their privileges // can block book? if (can_block_book($_REQUEST['username'])) { wrap_session_register("block_book"); } //booking credits remaining $_SESSION['booking_credits'] = remaining_booking_credits($_REQUEST['username']); // Member check // check if the user is a member or not - but only if they are not an admin as this flag is not used for admins if (!wrap_session_is_registered("admin_user")) { $_SESSION['is_member'] = is_member($_REQUEST['username']); } //can they view other users bookings? if (is_admin($_REQUEST['username'])) { //admins can always see everyone elses bookings $_SESSION['SHOW_USER_DETAILS'] = true; } else { //how about regular users? This will depend on the site wide value set by an admin $result = wrap_db_query("SELECT function_value FROM " . SETTINGS_TABLE . " WHERE name = 'user_details_viewing' LIMIT 0,1 ;"); if ($result) { if ($fields = wrap_db_fetch_array($result)) { //change 1's and 0's to true and false if ($fields['function_value'] == "1") { $_SESSION['SHOW_USER_DETAILS'] = true; } else { $_SESSION['SHOW_USER_DETAILS'] = false;
/** * Verifies if a profile fields are filled in correctly. * * @return boolean True when valid, false when invalid. */ function verify_profile_fields() { global $db, $cache; $user =& $this->data; $profile_fields =& $this->data['profile_fields']; // Loop through profile fields checking if they exist or not and are filled in. $userfields = array(); $comma = ''; // Fetch all profile fields first. $pfcache = $cache->read('profilefields'); if (is_array($pfcache)) { // Then loop through the profile fields. foreach ($pfcache as $profilefield) { if (isset($this->data['profile_fields_editable']) || isset($this->data['registration']) && ($profilefield['required'] == 1 || $profilefield['registration'] == 1)) { $profilefield['editableby'] = -1; } if (!is_member($profilefield['editableby'], array('usergroup' => $user['usergroup'], 'additionalgroups' => $user['additionalgroups']))) { continue; } // Does this field have a minimum post count? if (!isset($this->data['profile_fields_editable']) && !empty($profilefield['postnum']) && $profilefield['postnum'] > $user['postnum']) { continue; } $profilefield['type'] = htmlspecialchars_uni($profilefield['type']); $thing = explode("\n", $profilefield['type'], "2"); $type = trim($thing[0]); $field = "fid{$profilefield['fid']}"; if (!isset($profile_fields[$field])) { $profile_fields[$field] = ''; } // If the profile field is required, but not filled in, present error. if ($type != "multiselect" && $type != "checkbox") { if (trim($profile_fields[$field]) == "" && $profilefield['required'] == 1 && !defined('IN_ADMINCP') && THIS_SCRIPT != "modcp.php") { $this->set_error('missing_required_profile_field', array($profilefield['name'])); } } elseif (($type == "multiselect" || $type == "checkbox") && $profile_fields[$field] == "" && $profilefield['required'] == 1 && !defined('IN_ADMINCP') && THIS_SCRIPT != "modcp.php") { $this->set_error('missing_required_profile_field', array($profilefield['name'])); } // Sort out multiselect/checkbox profile fields. $options = ''; if (($type == "multiselect" || $type == "checkbox") && is_array($profile_fields[$field])) { $expoptions = explode("\n", $thing[1]); $expoptions = array_map('trim', $expoptions); foreach ($profile_fields[$field] as $value) { if (!in_array(htmlspecialchars_uni($value), $expoptions)) { $this->set_error('bad_profile_field_values', array($profilefield['name'])); } if ($options) { $options .= "\n"; } $options .= $db->escape_string($value); } } elseif ($type == "select" || $type == "radio") { $expoptions = explode("\n", $thing[1]); $expoptions = array_map('trim', $expoptions); if (!in_array(htmlspecialchars_uni($profile_fields[$field]), $expoptions) && trim($profile_fields[$field]) != "") { $this->set_error('bad_profile_field_values', array($profilefield['name'])); } $options = $db->escape_string($profile_fields[$field]); } else { if ($profilefield['maxlength'] > 0 && my_strlen($profile_fields[$field]) > $profilefield['maxlength']) { $this->set_error('max_limit_reached', array($profilefield['name'], $profilefield['maxlength'])); } if (!empty($profilefield['regex']) && !preg_match("#" . $profilefield['regex'] . "#i", $profile_fields[$field])) { $this->set_error('bad_profile_field_value', array($profilefield['name'])); } $options = $db->escape_string($profile_fields[$field]); } $user['user_fields'][$field] = $options; } } return true; }
function register_new_member(Member $member) { if (!is_member($member->email)) { $connection = connect(); $member->password = md5($member->password); $sql = "INSERT INTO team_members (member_id, first_name, last_name, email, password, dob, official_dob, reset_code) VALUES (NULL, '" . $member->first_name . "', '" . $member->last_name . "', '" . $member->email . "' , '" . $member->password . "', '3000-01-01', '" . $member->official_dob . "','" . get_uuid() . "')"; $result = $connection->query($sql); disconnect($connection); if ($result == true) { $member_id_result = query_sql("SELECT `member_id` FROM `team_members` WHERE `email` = '" . $member->email . "'"); $member_id = get_query_result($member_id_result, 'member_id'); $result = array("registered" => true, "status_code" => 200, "member_id" => $member_id); } else { $result = array("registered" => false, "status_code" => 401, "error" => "Registration failed due to internal error"); } } else { $result = array("registered" => false, "status_code" => 409, "error" => "Member already Registered"); } return $result; }
function is_member($a, $lat) { return empty($lat) ? false : (eq(car($lat), $a) ? true : is_member($a, cdr($lat))); }
if (isset($style['style']) && $style['style'] > 0) { $style['style'] = (int) $style['style']; // This theme is forced upon the user, overriding their selection if ($style['overridestyle'] == 1 || !isset($mybb->user['style'])) { $loadstyle = "tid = '{$style['style']}'"; } } // After all of that no theme? Load the board default if (empty($loadstyle)) { $loadstyle = "def='1'"; } // Fetch the theme to load from the cache if ($loadstyle != "def='1'") { $query = $db->simple_select('themes', 'name, tid, properties, stylesheets, allowedgroups', $loadstyle, array('limit' => 1)); $theme = $db->fetch_array($query); if (isset($theme['tid']) && !$load_from_forum && !is_member($theme['allowedgroups']) && $theme['allowedgroups'] != 'all') { if ($load_from_user == 1) { $db->update_query('users', array('style' => 0), "style='{$mybb->user['style']}' AND uid='{$mybb->user['uid']}'"); } if (isset($mybb->cookies['mybbtheme'])) { my_unsetcookie('mybbtheme'); } $loadstyle = "def='1'"; } } if ($loadstyle == "def='1'") { if (!$cache->read('default_theme')) { $cache->update_default_theme(); } $theme = $cache->read('default_theme'); $load_from_forum = $load_from_user = 0;
$warning_level = get_colored_warning_level($warning_level); if ($mybb->usergroup['canwarnusers'] != 0 && $memprofile['uid'] != $mybb->user['uid']) { eval("\$warn_user = \"" . $templates->get("member_profile_warn") . "\";"); $warning_link = "warnings.php?uid={$memprofile['uid']}"; } eval("\$warning_level = \"" . $templates->get("member_profile_warninglevel") . "\";"); } $bgcolor = $alttrow = 'trow1'; $customfields = $profilefields = ''; $query = $db->simple_select("userfields", "*", "ufid = '{$uid}'"); $userfields = $db->fetch_array($query); // If this user is an Administrator or a Moderator then we wish to show all profile fields $pfcache = $cache->read('profilefields'); if (is_array($pfcache)) { foreach ($pfcache as $customfield) { if ($mybb->usergroup['cancp'] != 1 && $mybb->usergroup['issupermod'] != 1 && $mybb->usergroup['canmodcp'] != 1 && !is_member($customfield['viewableby'])) { continue; } $thing = explode("\n", $customfield['type'], "2"); $type = trim($thing[0]); $customfieldval = $customfield_val = ''; $field = "fid{$customfield['fid']}"; if (isset($userfields[$field])) { $useropts = explode("\n", $userfields[$field]); $customfieldval = $comma = ''; if (is_array($useropts) && ($type == "multiselect" || $type == "checkbox")) { foreach ($useropts as $val) { if ($val != '') { eval("\$customfield_val .= \"" . $templates->get("member_profile_customfields_field_multi_item") . "\";"); } }
$tyl_title_display = ""; $tyl_title_display_collapsed = "display: none;"; $tyl_data_display = ""; $tyl_expcolimg = "collapse.png"; eval("\$tyl_expcol = \"" . $templates->get("thankyoulike_expcollapse", 1, 0) . "\";"); } else { $tyl_title_display = ""; $tyl_title_display_collapsed = "display: none;"; $tyl_data_display = ""; $tyl_expcolimg = ""; $tyl_expcol = ""; $lang->tyl_title_collapsed = ""; } } $button_tyl = ''; if ($tyled && $mybb->settings[$prefix . 'removing'] != "1" || !is_moderator($post['fid'], "caneditposts") && $thread['closed'] == 1 && $mybb->settings[$prefix . 'closedthreads'] != "1" || $post['uid'] == $mybb->user['uid'] || is_member($mybb->settings[$prefix . 'hideforgroups']) || $mybb->settings[$prefix . 'hideforgroups'] == "-1") { // Show no button for poster or user who has already thanked/liked or removing is disabled. $button_tyl = ''; } else { if ($tyled && $mybb->settings[$prefix . 'removing'] == "1" && ($mybb->settings[$prefix . 'firstall'] == "first" && $thread['firstpost'] == $post['pid'] || $mybb->settings[$prefix . 'firstall'] == "all")) { // Show remove button if removing already thanked/liked and removing enabled and is either the first post in thread if setting is for first or setting is all eval("\$button_tyl = \"" . $templates->get("thankyoulike_button_del") . "\";"); } else { if ($mybb->settings[$prefix . 'firstall'] == "first" && $thread['firstpost'] == $post['pid'] || $mybb->settings[$prefix . 'firstall'] == "all") { if ((my_strpos($mybb->settings[$prefix . 'firstalloverwrite'], $post['fid']) !== false || $mybb->settings[$prefix . 'firstalloverwrite'] == "-1") && $thread['firstpost'] != $post['pid']) { eval("\$button_tyl = \"" . $templates->get("thankyoulike_button_add") . "\";"); } else { // Same as above but show add button eval("\$button_tyl = \"" . $templates->get("thankyoulike_button_add") . "\";"); } }