!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_tdfonline/php/3ros/shindig/src/social/service/   drwxr-xr-x
Free 13.99 GB of 61.93 GB (22.58%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     PersonHandler.php (5.38 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

class PersonHandler extends DataRequestHandler {

  private static 
$PEOPLE_PATH "/people/{userId}/{groupId}/{personId}";
  private static 
$DEFAULT_FIELDS = array('id''displayName''gender''thumbnailUrl');

  private static 
$ANONYMOUS_ID_TYPE = array('viewer''me');
  private static 
$ANONYMOUS_VIEWER = array(
      
'isOwner' => false,
      
'isViewer' => true,
      
'name' => 'anonymous_user',
      
'displayName' => 'Guest'
  
);

  public function 
__construct() {
    
parent::__construct('person_service');
  }

  public function 
handleDelete(RequestItem $request) {
    throw new 
SocialSpiException("You can't delete people."ResponseError::$BAD_REQUEST);
  }

  public function 
handlePut(RequestItem $request) {
    throw new 
SocialSpiException("You can't update right now."ResponseError::$NOT_IMPLEMENTED);
  }

  public function 
handlePost(RequestItem $request) {
    throw new 
SocialSpiException("You can't add people right now."ResponseError::$NOT_IMPLEMENTED);
  }

  
/**
   * Allowed end-points /people/{userId}+/{groupId} /people/{userId}/{groupId}/{optionalPersonId}+
   *
   * examples: /people/john.doe/@all /people/john.doe/@friends /people/john.doe/@self
   */
  
public function handleGet(RequestItem $request) {
    
$this->checkService();
    
$request->applyUrlTemplate(self::$PEOPLE_PATH);

    
$groupId $request->getGroup();
    
$optionalPersonId $request->getListParameter("personId");
    
$fields $request->getFields(self::$DEFAULT_FIELDS);
    
$userIds $request->getUsers();

    
// Preconditions
    
if (count($userIds) < 1) {
      throw new 
IllegalArgumentException("No userId specified");
    } elseif (
count($userIds) > && count($optionalPersonId) != 0) {
      throw new 
IllegalArgumentException("Cannot fetch personIds for multiple userIds");
    }

    
$options = new CollectionOptions();
    
$options->setSortBy($request->getSortBy());
    
$options->setSortOrder($request->getSortOrder());
    
$options->setFilterBy($request->getFilterBy());
    
$options->setFilterOperation($request->getFilterOperation());
    
$options->setFilterValue($request->getFilterValue());
    
$options->setStartIndex($request->getStartIndex());
    
$options->setCount($request->getCount());

    
$token $request->getToken();
    
$groupType $groupId->getType();
    
// handle Anonymous Viewer exceptions
    
$containAnonymousUser false;
    if (
$token->isAnonymous()) {
      
// Find out whether userIds contains
      // a) @viewer, b) @me, c) SecurityToken::$ANONYMOUS
      
foreach ($userIds as $key=>$id) {
        if (
in_array($id->getType(), self::$ANONYMOUS_ID_TYPE) ||
            ((
$id->getType() == 'userId') && ($id->getUserId($token) == SecurityToken::$ANONYMOUS))) {
          
$containAnonymousUser true;
          unset(
$userIds[$key]);
        }
      }
      if (
$containAnonymousUser) {
        
$userIds array_values($userIds);
        
// Skip any requests if groupId is not @self or @all, since anonymous viewer won't have friends.
        
if (($groupType != 'self') && ($groupType != 'all')) {
          throw new 
Exception("Can't get friend from an anonymous viewer.");
        }
      }
    }
    if (
$containAnonymousUser && (count($userIds) == 0)) {
      return 
self::$ANONYMOUS_VIEWER;
    }
    
$service $this->service;
    
$ret null;
    if (
count($userIds) == 1) {
      if (
count($optionalPersonId) == 0) {
        if (
$groupType == 'self') {
          
$ret $service->getPerson($userIds[0], $groupId$fields$token);
        } else {
          
$ret $service->getPeople($userIds$groupId$options$fields$token);
        }
      } elseif (
count($optionalPersonId) == 1) {
        
$ret $service->getPerson($optionalPersonId[0], $groupId$fields$token);
      } else {
        
$personIds = array();
        foreach (
$optionalPersonId as $pid) {
          
$personIds[] = new UserId('userId'$pid);
        }
        
// Every other case is a collection response of optional person ids
        
$ret $service->getPeople($personIds, new GroupId('self'null), $options$fields$token);
      }
    } else {
      
// Every other case is a collection response.
      
$ret $service->getPeople($userIds$groupId$options$fields$token);
    }
    
// Append anonymous viewer
    
if ($containAnonymousUser) {
      if (
is_array($ret)) {
        
// Single user
        
$people = array($retself::$ANONYMOUS_VIEWER);
        
$ret = new RestfulCollection($people$options->getStartIndex(), 2);
        
$ret->setItemsPerPage($options->getCount());
      } else {
        
// Multiple users
        
$ret->entry[] = self::$ANONYMOUS_VIEWER;
        
$ret->totalResults += 1;
      }
    }
    return 
$ret;
  }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.9635 ]--