/** * 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; }