/**
  * Retrieves a listing of texts
  *
  * @param int $page ["param","page"]
  * @param string $fields ["param","fields"]
  * @param array $parameters ["param"]
  * @return array
  *
  * @Access(callback='user_access', args={'access content'}, appendArgs=false)
  */
 public static function index($page = 0, $fields = array(), $parameters = array())
 {
     $builder = new QueryBuilder();
     if ($params['__action'] == 'describe') {
         return $builder->describe();
     }
     if (is_string($fields)) {
         $fields = preg_split('/,\\s?/', $fields);
     }
     $parameters['status'] = 1;
     $parameters['type'] = 'docuwalk_text';
     list($sql, $params) = $builder->query($fields, $parameters);
     $res = db_query_range($sql, $params, $page * 20, 20);
     $nodes = array();
     while ($node = db_fetch_object($res)) {
         $node->uri = services_resource_uri(array('docuwalk-text', $node->nid));
         $nodes[] = $node;
     }
     return $nodes;
 }
 /**
  * Retrieves a listing of content items
  *
  * @param int $page ["param","page"]
  * @param string $fields ["param","fields"]
  * @param array $parameters ["param"]
  * @return array
  *
  * @Access(callback='user_access', args={'access content'}, appendArgs=false)
  * @Model(class='ResourceFeedModel', implementation='ConglomerateContentFeedModel', arguments={mode = 'raw', item_length='fulltext'}, allow_overrides={'mode', 'item_length'})
  */
 public static function index($page = 0, $fields = array(), $parameters = array())
 {
     $builder = new QueryBuilder();
     $builder->add_table('p', 'LEFT OUTER JOIN {content_field_image_url} AS p ON p.nid=n.nid', 'n', array('image' => array('column' => 'field_image_url_url')));
     if ($parameters['__action'] == 'describe') {
         return $builder->describe();
     }
     if (empty($fields)) {
         $fields = array('nid', 'type', 'title', 'teaser', 'language');
     } else {
         if (is_string($fields)) {
             $fields = preg_split('/,\\s?/', $fields);
         }
         $fields = array_fill_keys($fields, TRUE);
         $fields['nid'] = TRUE;
         $fields['type'] = TRUE;
         $fields = array_keys($fields);
     }
     // Always enforce the node status condition
     $parameters['status'] = 1;
     // Generate and execute the sql
     list($sql, $params) = $builder->query($fields, $parameters);
     $res = db_query_range($sql, $params, $page * 20, 20);
     $nodes = array();
     while ($node = db_fetch_object($res)) {
         $node->url = url('node/' . $node->nid, array('absolute' => TRUE));
         $node->uri = services_resource_uri(array($node->type, $node->nid));
         $nodes[] = $node;
     }
     return $nodes;
 }