source: spip-zone/_plugins_/indexer/trunk/Sources/Articles.php @ 82748

Last change on this file since 82748 was 82748, checked in by fil@…, 7 years ago

pensez à moi qui n'ai pas de crochets [] pour désigner les array()

File size: 1.8 KB
Line 
1<?php
2
3namespace Spip\Indexer\Sources;
4
5use \Indexer\Sources\Document;
6
7class Articles extends SpipDocuments {
8
9
10
11    public function getDocuments($start = 0, $end = 0, $column = 'id_article') {
12
13        $where = array();
14        if ($start) $where[] = "$column >= $start";
15        if ($end)   $where[] = "$column < $end";
16
17        $all = sql_allfetsel(
18            '*',
19            'spip_articles',
20            $where, // Where
21            '', // Gr By
22            '', // Or By
23            '' // Limit
24        );
25
26        $documents = array();
27        foreach ($all as $article) {
28            $documents[] = $this->createDocumentArticle($article);
29        }
30        return $documents;
31    }
32
33
34
35    public function createDocumentArticle($article) {
36         $id = $article['id_article'];
37
38         return new Document(array(
39            'id'           => $this->getObjectId('article', $id),
40            'title'        => supprimer_numero($article['titre']),
41            'summary'      => $article['surtitre'] . $article['soustitre'] . $article['chapo'],
42            'content'      => $article['texte'],
43            'date'         => (substr($article['date_redac'],0,4) == '0000') ? $article['date'] : $article['date_redac'],
44            'uri'          => generer_url_entite_absolue($id, 'article'),
45            'properties'   =>
46            array(
47                'authors'  => $this->getAuthorsProperties('article', $id),
48                'tags'     => $this->getTagsProperties('article', $id),
49                'objet'    => 'article',
50                'id_objet' => $id,
51                'lang'     => $article['lang']
52            )
53        ));
54    }
55
56
57    public function getBounds() {
58        return $bornes = sql_fetsel(array('MIN(id_article) AS min', 'MAX(id_article) AS max'), 'spip_articles');
59    }
60
61
62}
Note: See TracBrowser for help on using the repository browser.