!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 14.16 GB of 61.93 GB (22.86%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     RestRequestItem.php (7.05 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.
 */

/**
 * Represents the request items that come from the restful request.
 */
class RestRequestItem extends RequestItem {
  private 
$url;
  private 
$params;
  
  
/**
   * @var InputConverter
   */
  
private $inputConverter;
  
  
/**
   * @var OutputConverter
   */
  
private $outputConverter;
  private 
$postData;

  public function 
__construct($service$methodSecurityToken $token$inputConverter$outputConverter) {
    
parent::__construct($service$method$token);
    
$this->inputConverter $inputConverter;
    
$this->outputConverter $outputConverter;
  }

  
/**
   * @return RestRequestItem
   */
  
public static function createWithRequest($servletRequest$token$inputConverter$outputConverter) {
    
$restfulRequestItem = new RestRequestItem(self::getServiceFromPath($servletRequest['url']), self::getMethod(), $token$inputConverter$outputConverter);
    
$restfulRequestItem->setUrl($servletRequest['url']);
    if (isset(
$servletRequest['params'])) {
      
$restfulRequestItem->setParams($servletRequest['params']);
    } else {
      
$paramPieces parse_url($restfulRequestItem->url);
      if (isset(
$paramPieces['query'])) {
        
$params = array();
        
parse_str($paramPieces['query'], $params);
        
$restfulRequestItem->setParams($params);
      }
    }
    if (isset(
$servletRequest['postData'])) {
      
$restfulRequestItem->setPostData($servletRequest['postData']);
    }
    return 
$restfulRequestItem;
  }

  public function 
setUrl($url) {
    
$this->url $url;
  }

  public function 
setParams($params) {
    
$this->params $params;
  }

  public function 
setPostData($postData) {
    
$this->postData $postData;
    
$service $this->getServiceFromPath($this->url);
    switch (
$service) {
      case 
ApiServlet::$PEOPLE_ROUTE:
        
// in our current implementation this will throw a SocialSPIException since we don't support 
        // adding people/friendships in our API yet, but this might be added some day
        
$data $this->inputConverter->convertPeople($this->postData);
        break;
      case 
ApiServlet::$ACTIVITY_ROUTE:
        
$data $this->inputConverter->convertActivities($this->postData);
        
$this->params['activity'] = $data;
        break;
      case 
ApiServlet::$APPDATA_ROUTE:
        
$data $this->inputConverter->convertAppData($this->postData);
        
$this->params['data'] = $data;
        break;
      case 
ApiServlet::$MESSAGE_ROUTE:
        
$data $this->inputConverter->convertMessages($this->postData);
        
// 'entity' may be a message or a message collection.
        
$this->params['entity'] = $data;
        break;
      case 
ApiServlet::$INVALIDATE_ROUTE:
        
$this->params json_decode($this->postDatatrue);
        break;
      case 
ApiServlet::$ALBUM_ROUTE:
        
$data $this->inputConverter->convertAlbums($this->postData);
        
$this->params['album'] = $data;
        break;
      case 
ApiServlet::$MEDIA_ITEM_ROUTE:
        
$data $this->inputConverter->convertMediaItems($this->postData);
        if (isset(
$data)) {
          
$this->params['mediaItem'] = $data;
        }
        break;
      default:
        throw new 
Exception("Invalid or unknown service endpoint: $service");
        break;
    }
  
  }
  
  
/**
   * '/people/@me/@self' => 'people'
   * '/invalidate?invalidationKey=1' => 'invalidate'
   */
  
static function getServiceFromPath($pathInfo) {
    
$pathInfo substr($pathInfo1);
    
$indexOfNextPathSeparator strpos($pathInfo'/');
    
$indexOfNextQuestionMark strpos($pathInfo'?');
    if (
$indexOfNextPathSeparator !== false && $indexOfNextQuestionMark !== false) {
      return 
substr($pathInfo0min($indexOfNextPathSeparator$indexOfNextQuestionMark));
    }
    if (
$indexOfNextPathSeparator !== false) {
      return 
substr($pathInfo0$indexOfNextPathSeparator);
    }
    if (
$indexOfNextQuestionMark !== false) {
      return 
substr($pathInfo0$indexOfNextQuestionMark);
    }
    return 
$pathInfo;
  }

  static function 
getMethod() {
    if (isset(
$_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
      return 
$_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'];
    } else {
      return 
$_SERVER['REQUEST_METHOD'];
    }
  }

  
/**
   * This could definitely be cleaner..
   * TODO: Come up with a cleaner way to handle all of this code.
   *
   * @param urlTemplate The template the url follows
   */
  
public function applyUrlTemplate($urlTemplate) {
    
$paramPieces = @parse_url($this->url);
    
$actualUrl explode("/"$paramPieces['path']);
    
$expectedUrl explode("/"$urlTemplate);
    for (
$i 1$i count($actualUrl); $i ++) {
      
$actualPart = isset($actualUrl[$i]) ? $actualUrl[$i] : null;
      
$expectedPart = isset($expectedUrl[$i]) ? $expectedUrl[$i] : null;
      if (
strpos($expectedPart"{") !== false) {
        
$this->params[preg_replace('/\{|\}/'''$expectedPart)] = explode(','$actualPart);
      } elseif (
strpos($actualPart',') !== false) {
        throw new 
IllegalArgumentException("Cannot expect plural value " $actualPart " for singular field " $expectedPart " in " $this->url);
      } else {
        
$this->params[$expectedPart] = $actualPart;
      }
    }
  }

  public function 
getParameters() {
    return 
$this->params;
  }

  public function 
setParameter($paramName$paramValue) {
    
// Ignore nulls
    
if ($paramValue == null) {
      return;
    }
    
$this->params[$paramName] = $paramValue;
  }

  
/**
   * Return a single param value
   */
  
public function getParameter($paramName$defaultValue null) {
    
$paramValue = isset($this->params[$paramName]) ? $this->params[$paramName] : null;
    if (
$paramValue != null && ! empty($paramValue)) {
      return 
$paramValue;
    }
    return 
$defaultValue;
  }

  
/**
   * Return a list param value
   */
  
public function getListParameter($paramName) {
    
$stringList = isset($this->params[$paramName]) ? $this->params[$paramName] : null;
    if (
$stringList == null) {
      return array();
    } elseif (
is_array($stringList)) {
      
// already converted to array, return straight away
      
return $stringList;
    }
    if (
strpos($stringList',') !== false) {
      
$stringList explode(','$stringList);
    } else {
      
// Allow up-conversion of non-array to array params.
      
$stringList = array($stringList);
    }
    
$this->params[$paramName] = $stringList;
    return 
$stringList;
  }
}

:: 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.5935 ]--