/**
  * Build the required return array for a single or multiple statements.
  *
  * @param array $statements  Statements to return
  * @param array $params      Parameters used to filter statements
  *
  * @return response
  *
  **/
 public function returnArray($statements = array(), $params = array(), $debug = array())
 {
     $array = array('X-Experience-API-Version' => \Config::get('xapi.using_version'));
     //replace replace &46; in keys with .
     //see http://docs.learninglocker.net/docs/statements#quirks for more info
     if (!empty($statements)) {
         foreach ($statements as &$s) {
             $s = \app\locker\helpers\Helpers::replaceHtmlEntity($s['statement']);
         }
     }
     $array['statements'] = $statements;
     //return total available statements
     $array['total'] = $this->statement->count($this->lrs->_id, $this->params);
     //set more link. 100 is our default limit. This should be a value that admins can
     //set, not hardcoded.
     if (isset($this->params['offset'])) {
         if (isset($this->params['limit'])) {
             $offset = $this->params['offset'] + $this->params['limit'];
         } else {
             $offset = $this->params['offset'] + 100;
         }
     } else {
         if (isset($this->params['limit'])) {
             $offset = $this->params['limit'];
         } else {
             $offset = 100;
         }
     }
     //set the more url
     if ($array['total'] > $offset) {
         //$url = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
         $url = "{$_SERVER['REQUEST_URI']}";
         if (isset($this->params['offset'])) {
             if (strpos($url, '?offset=' . $this->params['offset']) !== false) {
                 $url = str_replace('?offset=' . $this->params['offset'], '?offset=' . $offset, $url);
             } elseif (strpos($url, '&offset=' . $this->params['offset']) !== false) {
                 $url = str_replace('&offset=' . $this->params['offset'], '&offset=' . $offset, $url);
             } else {
                 $url = $url . '&offset=' . $offset;
             }
         } else {
             if (sizeof($this->params) > 0) {
                 $url = $url . '&offset=' . $offset;
             } else {
                 $url = $url . '?offset=' . $offset;
             }
         }
         $array['more'] = $url;
     } else {
         $array['more'] = '';
     }
     $response = \Response::make($array, 200);
     //set consistent through data
     $current_date = \DateTime::createFromFormat('U.u', microtime(true));
     $current_date->setTimezone(new \DateTimeZone(\Config::get('app.timezone')));
     $current_date = $current_date->format('Y-m-d\\TH:i:s.uP');
     $response->headers->set('X-Experience-API-Consistent-Through', $current_date);
     return $response;
 }
Esempio n. 2
0
$stored = new Carbon\Carbon($statement['stored']);
?>

<div class="row">
  <div class="col-xs-12 col-sm-12 col-lg-12">
    <div class="statement-row clearfix">

      <span onclick="$('.state-{{ $statement['id'] }}').toggle();"><i class="icon icon-cog lightgrey pull-left"></i></span>

      <span class="pull-left statement-avatar">
          <img src="{{ $avatar }}" alt='avatar' class="img-circle" />
      </span> 
        
      {{ $name }}
      
      <i>{{ $verb }}</i>
        
      <a href="{{ $object_id }}">{{{ $object }}}</a>

      <small>| {{ $stored->diffForHumans() }} ({{ $stored->toDayDateTimeString() }})</small>

      <div class="full-statement state-{{ $statement['id'] }}" style="display:none;">
        <?php 
$statement = \app\locker\helpers\Helpers::replaceHtmlEntity($json);
?>
        <pre>{{{ json_encode($statement,JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) }}}</pre>
      </div>

    </div>
  </div>
</div>