function render() { $op = $this->op = @$this->module_params['op']; if ($this->op) { if (!empty($this->module_params['comment'])) { $target = new Comment2(); $target->load($this->module_params['comment']); } else { if (!empty($this->module_params['review'])) { $target = new Review(); $target->load($this->module_params['review']); } else { if (!empty($this->module_params['uid'])) { $target = new ShadowUser('videoplay'); $target->load_by_pa((int) $this->module_params['uid']); } } } switch ($op) { case "delete": if (!empty($this->module_params['uid'])) { $target->remove(); } else { $target->delete(); } break; case "hide": case "show": if (!empty($this->module_params['uid'])) { $target->toggle_active($op == 'hide' ? -1 : 1); } else { $target->toggle_active($op == 'hide' ? 0 : 1); } break; } } switch ($this->mode) { case "comments": $inner_template = dirname(__FILE__) . '/admin_content.tpl'; list($this->contents, $this->n, $this->n_pages, $this->page, $this->per_page) = Comment2::get_recent($this->per_page, $this->page); break; case "reviews": $inner_template = dirname(__FILE__) . '/admin_content.tpl'; list($this->contents, $this->n, $this->n_pages, $this->page, $this->per_page) = Review::get_recent($this->per_page, $this->page); break; case "users": $inner_template = dirname(__FILE__) . '/admin_users.tpl'; list($this->users, $this->n, $this->n_pages, $this->page, $this->per_page) = ShadowUser::admin_paged('videoplay', $this->per_page, $this->page); break; default: return "Unknown display type.<pre>" . print_r($this, 1) . "</pre>"; break; } $inner_html_gen =& new Template($inner_template, $this); $this->inner_HTML = $inner_html_gen->fetch(); $content = parent::render(); return $content; }
public static function admin_paged($namespace, $per_page = 10, $page = 1) { $per_page = (int) $per_page; $page = (int) $page; $sql = "SELECT COUNT(*) FROM {users}"; $ct = Dal::query_first($sql, array()); $n_pages = (int) ceil($ct / $per_page); $start = ($page - 1) * $per_page; $sql = "SELECT user_id, is_active, comment_count, review_count, rating_count FROM {users} ORDER BY created DESC LIMIT {$start}, {$per_page}"; $uids = self::load_many_from_query("User", $sql, array()); $shUsers = array(); foreach ($uids as $i => $u) { $su = new ShadowUser($namespace); $su->load_by_pa((int) $u->user_id); $su->is_active = $u->is_active; $su->comment_count = $u->comment_count; $su->review_count = $u->review_count; $su->rating_count = $u->rating_count; $shUsers[] = $su; } return array($shUsers, $ct, $n_pages, $page, $per_page); }
<?php require_once dirname(__FILE__) . '/../../config.inc'; require_once PA::$path . "/db/Dal/Dal.php"; require_once PA::$path . "/api/User/ShadowUser.php"; require_once PA::$path . "/ext/JSON.php"; if (!@$_PA->enable_vp_user_dump) { echo '"$_PA->enable_vp_user_dump must be TRUE to use this, for security reasons."'; exit; } $sql = "SELECT user_id FROM user_profile_data WHERE field_type='videoplay' AND field_name='user_id'"; $res = Dal::query($sql); $vp_users = array(); if ($res->numrows() > 0) { $fields = array('display_login_name', 'remote_id', 'user_id', 'login_name', 'first_name', 'last_name', 'email', 'url'); while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { $uid = (int) $row->user_id; $vpu = new ShadowUser('videoplay'); $vpu->load_by_pa($uid); foreach ($fields as $i => $k) { $vp_users[$uid][$k] = @$vpu->{$k}; } } } $json = new Services_JSON(); header("Content-Type: application/x-javascript"); echo $json->encode($vp_users);