'Member info', 'pi_version' => '1.0', 'pi_author' => 'Tom Kiss', 'pi_author_url' => 'http://www.tomkiss.net', 'pi_description' => 'Get member information.', 'pi_usage' => memberinfo::usage() ); class memberinfo { var $return_data; // isMember function - returns true/false from username parameter function exists() { global $TMPL, $FNS, $DB, $SESS, $PREFS, $LOC; // Parameters $username = (!$TMPL->fetch_param('username')) ? '' : $TMPL->fetch_param('username'); // DB Query $query = $DB->query("SELECT screen_name FROM exp_members WHERE username = '".$username."'"); // Return data if ($query->num_rows == 1) { return true; } else { return false; } } // bio empty function _emptybio() { global $TMPL; $text = trim((!$TMPL->tagdata) ? '' : $TMPL->tagdata); $before = (!$TMPL->fetch_param('before')) ? '' : $TMPL->fetch_param('before'); $type = (!$TMPL->fetch_param('type')) ? '' : $TMPL->fetch_param('type'); $class = (!$TMPL->fetch_param('before')) ? '' : $TMPL->fetch_param('class'); $heading = '<'.$type.' class="'.$class.'">'.$before.''.$type.'>'; if (!empty($text)) { return $heading.$text; } else { return ""; } } // Return age from birthday date function getAge() { global $TMPL, $DB; // Params $y = (!$TMPL->fetch_param('y')) ? '' : $TMPL->fetch_param('y'); $m = (!$TMPL->fetch_param('m')) ? '' : $TMPL->fetch_param('m'); $d = (!$TMPL->fetch_param('d')) ? '' : $TMPL->fetch_param('d'); $age = date('Y') - $y - (date('n') < (ltrim($m,'0') + (date('j') < ltrim($d,'0')))); return ((!is_nan($age) && $age > 0 && $age < 100) ? $age : 'From beyond the grave'); } // Decode EE date function decDate($date) { global $LOC; $decDate = $LOC->decode_date('%j%S %M %Y %H:%i', $date); return $decDate; } // Return user list function getList() { global $TMPL, $DB; // Params $orderby = " ORDER BY "; $orderby .= (!$TMPL->fetch_param('orderby')) ? 'join_date' : $TMPL->fetch_param('orderby'); $sort = (!$TMPL->fetch_param('sort')) ? ' DESC ' : $TMPL->fetch_param('sort'); $limit = (!$TMPL->fetch_param('limit')) ? '10' : $TMPL->fetch_param('limit'); $cols = (!$TMPL->fetch_param('cols')) ? '0' : $TMPL->fetch_param('cols'); $search_field = (!$TMPL->fetch_param('search_field')) ? '' : $TMPL->fetch_param('search_field'); $searchy = ""; $search = ""; $searchterm = ""; if (!empty($search_field)) { if (!empty($_REQUEST[$search_field])) { $searchy = '&'.$search_field.'='.$_REQUEST[$search_field]; $searching = true; $searchterm = $_REQUEST[$search_field]; $search = " AND (LOWER(screen_name) LIKE LOWER('%".$searchterm."%') OR LOWER(username) LIKE LOWER('%".$searchterm."%')) "; } } // Page $page = (!empty($_REQUEST['page']) ? $_REQUEST['page'] : 1); // Get total count $query1 = $DB->query("SELECT count(*) AS total_members FROM exp_members WHERE (group_id = '5' OR group_id = '1' OR group_id = '6') ".$search); $total_members = $query1->row['total_members']; $total_pages = ceil($total_members/$limit); // Get selection $start = ($page * $limit) - $limit; $query2 = $DB->query("SELECT screen_name, username, member_id, group_id, avatar_filename, photo_filename, location FROM exp_members WHERE (group_id = '5' OR group_id = '1' OR group_id = '6') ".$search." $orderby $sort LIMIT $start, $limit"); if ($query2->num_rows > 0) { // Text $text = (!$TMPL->tagdata) ? '' : $TMPL->tagdata; $text = html_entity_decode($text); $nonrowtext1 = substr($text, 0, strpos($text, "{row}")); $nonrowtext2 = substr($text, strpos($text, "{/row}")+6); // Row vars $rowtext = $this->substring_between($text, "{row}", "{/row}"); $content = ''; $count = 0; foreach($query2->result as $row) { $thisrow = $rowtext; if ($cols > 0) { $thisrow = (($count%$cols) ? '': '
No members found under those search terms.
"; } else { $content = "No members!
"; } } // Return return $content; } // ---------------------------------------- // Plugin Usage // ---------------------------------------- // This function describes how the plugin is used. // Make sure and use output buffering function usage() { ob_start(); ?>