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;
 }
Example #2
0
function peopleaggregator_deleteShadowUser($args)
{
    global $_PA;
    $remote_user = @$args['remoteUser'];
    if (!$_PA->enable_widgetization_server) {
        throw new PAException(OPERATION_NOT_PERMITTED, "Widgetization disabled; you cannot use remote user functions");
    }
    require_once PA::$path . "/api/User/ShadowUser.php";
    $remote_id = explode(":", $remote_user);
    if (count($remote_id) == 1) {
        throw new PAException(INVALID_ID, "Remote user IDs must be of the form 'namespace:id'");
    }
    $u = new ShadowUser($remote_id[0]);
    $u->load($remote_id[1]);
    if (!$u->user_id) {
        throw new PAException(USER_NOT_FOUND, "Failed to locate user '" . $remote_id[1] . "' in namespace '" . $remote_id[0] . "'");
    }
    $u->remove();
    return array("success" => TRUE, "msg" => "User {$remote_user} was deleted.");
}