if ($session->is_logged_in()) { redirect_to("index.php"); } $message = ""; // Remeber to give the form's submit tag a name="sumbit" attribute if (isset($_POST['submit'])) { // form has been submitted. $username = trim($_POST['username']); $password = trim($_POST['password']); // Check database for username/password. $found_user = User::authenticate($username, $password); if ($found_user) { $session->login($found_user); // log user has logged in to log_file. $log_message = $found_user->username . " is logged in"; Logger::log_action(logger::LOG_ACTION_LOGIN, $log_message); redirect_to("index.php"); } else { $message = "Username/password combination incorrect."; } } else { // for not submitted $username = ""; $password = ""; } /* <?php echo htmlentities($password); ?> */ ?> <html> <head>
<?php require_once "../includes/initialize.php"; //if (!$session->is_logged_in()) { redirect_to("login.php"); } include_layout_tempate('header.php'); ?> <?php // // testing logger code // echo "<hr />"; Logger::log_action("login", "Rich is logging in"); echo "the log file name is: " . Logger::display_log_file_name(); echo Logger::read_log_file(); Logger::clear_log_file(); echo Logger::read_log_file(); ?> <?php include_layout_tempate('footer.php'); ?> ?>
$session->login($found_user); redirect_to("index.php"); } else { // username/password combo was not found in the database. Logger::log_action('invalid login', $username . " attempted log in."); $message = "Username/password combination incorrect."; } } else { // Form has not been submitted. $username = ""; $password = ""; } if ($_GET['logout'] == true) { // echo $_GET['logout']; if ($session->logout()) { Logger::log_action('Logout', $username . " logged out."); } //Logger::log_action('Logout',$username." logged out 2."); } ?> <?php include_layout_template('admin_header.php'); ?> <h2>Staff Login</h2> <?php echo output_message($message); ?>
function change() { global $IN, $TMPL, $DB, $FNS, $SESS, $PREFS; if( ! class_exists('Logger') ) { require PATH_CP . 'cp.log' . EXT; } $LOG = new Logger; if (!$TMPL->fetch_param('group_id')) { $mode = "link"; $encoded_change_string = $this->_getLastSegment($FNS->fetch_current_uri()); // Deconstruct the encoded change string $decoded_change_string = base64_decode($encoded_change_string); $parts = explode("~", $decoded_change_string); $member_id = (int)$parts[0]; $field = $parts[1]; $value = $parts[2]; $return_url = $parts[3]; } else { $mode = "instant"; // Collect params from template tag and session instead if (!$TMPL->fetch_param('member_id')) { $member_id = $SESS->userdata['member_id']; } else { $member_id = (int)$TMPL->fetch_param('member_id'); } $field = $TMPL->fetch_param('field'); $value = $TMPL->fetch_param('value'); } // Does the member id provided even exist? $query = $DB->query("SELECT member_id, group_id FROM exp_members WHERE member_id = $member_id"); if ($query->num_rows < 1) { $this->usermessage .= $this->invalid_member; return $this->usermessage; } // Do the member field update! $query = $DB->query("UPDATE exp_member_data set '".$field."' = '".$value."' WHERE member_id = '".$member_id."'"); // Show a error message if($query!=1) { $this->usermessage = $this->fatal_error; return $this->usermessage; } else { // If no error redirect or do nothing, depending on usage type $LOG->log_action(array("Member Data Changed")); if ($mode=="link") { $FNS->redirect($return_url); } } }
<?php require_once "../../includes/initialize.php"; $log = SITE_ROOT . DS . "logs" . DS . "log.txt"; if ($_GET['clear'] == 'true') { if (file_exists($log)) { file_put_contents($log, ''); Logger::log_action("Log Cleared", " by user id {$session->user_id}."); redirect_to('logfile.php'); } } if (!$session->is_logged_in()) { redirect_to("login.php"); } ?> <?php include_layout_template('admin_header.php'); ?> <a href="index.php">«Back</a> <h2>Log File</h2> <?php if (file_exists($log) && is_writable($log) && ($handle = fopen($log, 'r'))) { echo "<ul class=\"log-entries\">"; while (!feof($handle)) { $entry = fgets($handle); // reads each LINE incrementally. if (trim($entry) != "") { echo '<li>' . $entry . '</li>'; } }
public function member_rank() { global $TMPL, $DB; //get parameters $weighting_params = $TMPL->fetch_param('weighting_params'); $weighting_points = $TMPL->fetch_param('weighting_points'); $credit_duration = $TMPL->fetch_param('credit_duration'); $log = $TMPL->fetch_param('log'); if ($weighting_params != '') { $weighting_params = explode('|', $weighting_params); $weighting_points = explode('|', $weighting_points); } //parameters //$weighting_params = array('weblog_entry_count', 'connections', 'profile_completeness', 'member_group'); //$weighting_points = array('10', '2', '25', '25'); //$credit_duration = 365; //check passed parameters //no arrays or count mismatch if (!is_array($weighting_params) || !is_array($weighting_points) || count($weighting_params) != count($weighting_points)) { return false; } //delete all from weighting table $sql = "DELETE FROM exp_social_ranks\n\t\t\t\tWHERE 1=1"; $DB->query($sql); // get members from the relevant groups $sql = "SELECT * FROM exp_members, exp_member_data\n\t\t\t\tWHERE exp_members.member_id = exp_member_data.member_id\n\t\t\t\tAND (exp_members.group_id != '2'\n\t\t\t\tAND exp_members.group_id != '3'\n\t\t\t\tAND exp_members.group_id != '4')"; $query = $DB->query($sql); $all_members = $query->result; //loop all members and recalculate weightings foreach ($all_members as $member) { $weighting = 0; $i = 0; //loop params foreach ($weighting_params as $param) { //switch on param count switch ($param) { //accepted content contributions case 'weblog_entry_count': //get weblog count $sql = "SELECT entry_id FROM exp_weblog_titles\n\t\t\t\t\t\t\t\tWHERE author_id = '" . $member['member_id'] . "'\n\t\t\t\t\t\t\t\tAND status = 'open'\n\t\t\t\t\t\t\t\tAND weblog_id = '5'"; $query = $DB->query($sql); $result = $query->result; $count = count($result); //add to weighting $weighting += $count * $weighting_points[$i]; break; //number of reciprocated connections //number of reciprocated connections case 'connections': //get follower count $count = 0; $sql = "SELECT * FROM exp_social_followers\n\t\t\t\t\t\t\t\tWHERE leader_id = '" . $member['member_id'] . "'"; $query = $DB->query($sql); $result = $query->result; //for each follower if (count($result) > 0) { foreach ($result as $r) { //check for reciprocation $sql = "SELECT * FROM exp_social_followers\n\t\t\t\t\t\t\t\t\t\tWHERE leader_id = '" . $r['follower_id'] . "'\n\t\t\t\t\t\t\t\t\t\tAND follower_id = '" . $member['member_id'] . "'"; $query = $DB->query($sql); $s = $query->result; if (count($s) > 0) { $count++; } } } $weighting += $count * $weighting_points[$i]; break; //profile completeness //profile completeness case 'profile_completeness': //get profile completeness id $sql = "SELECT m_field_id FROM exp_member_fields\n\t\t\t\t\t\t\t\tWHERE m_field_name = 'profile_completeness'"; $query = $DB->query($sql); $result = $query->result; if (count($result) > 0) { $profile_completeness_id = $result[0]['m_field_id']; //get profile completeness $sql = "SELECT m_field_id_" . $profile_completeness_id . " FROM exp_member_data\n\t\t\t\t\t\t\t\t\tWHERE member_id = '" . $member['member_id'] . "'"; $query = $DB->query($sql); $r = $query->result; //add to weighting if complete profile if ($r[0]['m_field_id_' . $profile_completeness_id] == '100') { $weighting += $weighting_points[$i]; } } break; //scheme members //scheme members case 'member_group': // check to see if member belong to a premium member group if ($member['group_id'] == 7) { // Premium member $check = 1; } else { // Non premium member, let's check to see if they have credits assigned //get teams that member is assigned to $sql = "SELECT * FROM exp_teams_members, exp_teams\n\t\t\t\t\t\t\t\t\tWHERE exp_teams_members.teamID = exp_teams.teamID\n\t\t\t\t\t\t\t\t\tAND exp_teams_members.member_id = '" . $member['member_id'] . "'"; $query = $DB->query($sql); $teams = $query->result; $check = 0; //user as assigned to at least one team if (is_array($teams)) { //for each team, check to see if user is in credit foreach ($teams as $team) { //get team members $sql = "SELECT * FROM exp_teams_members\n\t\t\t\t\t\t\t\t\t\t\tWHERE exp_teams_members.teamID = '" . $team['teamID'] . "'\n\t\t\t\t\t\t\t\t\t\t\tORDER BY exp_teams_members.dateAdded ASC"; $query = $DB->query($sql); $team_members = $query->result; //get orders for this team $sql = "SELECT exp_foxee_orders.transaction_date, exp_foxee_order_detail.product_quantity FROM exp_foxee_orders, exp_foxee_order_detail\n\t\t\t\t\t\t\t\t\t\t\tWHERE exp_foxee_orders.id = exp_foxee_order_detail.order_id\n\t\t\t\t\t\t\t\t\t\t\tAND exp_foxee_orders.fe_memberid = '" . $team['teamOwner'] . "'\n\t\t\t\t\t\t\t\t\t\t\tAND exp_foxee_order_detail.product_code = '00012'\n\t\t\t\t\t\t\t\t\t\t\tAND exp_foxee_orders.fe_orderstatus = '8'"; $query = $DB->query($sql); $orders = $query->result; //figure out which orders are active $count = 0; list($usec, $sec) = explode(" ", microtime()); $today_float = round((double) $usec + (double) $sec); $active_period = 60 * 60 * 24 * $credit_duration; if (is_array($orders)) { foreach ($orders as $order) { $transaction_date = $order['transaction_date']; $transaction_date_float = strtotime($transaction_date); $expiration_float = $transaction_date_float + $active_period; if ($today_float < $expiration_float) { //add the quantity of the active order to the count $count += $order['product_quantity']; } } } //based on the date the user was added to the team, determine if the user has a credit for that team $j = 1; if (is_array($team_members)) { foreach ($team_members as $team_member) { if ($j <= $count && $team_member['member_id'] == $member['member_id']) { $check++; } $j++; } } } } } //user has a credit if ($check > 0) { $weighting += $weighting_points[$i]; } break; default: break; } $i++; } // add to weighting table $sql = "INSERT INTO exp_social_ranks (member_id, weighting) VALUES ('" . $member['member_id'] . "', '" . $weighting . "')"; $DB->query($sql); } if ($log == "true") { if (!class_exists('Logger')) { require PATH_CP . 'cp.log' . EXT; } $LOG = new Logger(); $log_message = "Member rankings successfully updated (Social Module)."; $LOG->log_action($log_message); } }