~fabiocbalbuquerque/sahana-agasti/web-services

« back to all changes in this revision

Viewing changes to apps/frontend/lib/util/agLuceneIndex.class.php

  • Committer: Chad Heuschober
  • Date: 2011-05-04 18:50:43 UTC
  • mfrom: (1.1.971 trunk)
  • Revision ID: chad.heuschober@mail.cuny.edu-20110504185043-k91xu7u2hbzxlblx
Merged in most recent changes from cuny-sps-trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
/**
 
4
 *
 
5
 * Provides a way for the application to reindex data records after import or install/data-load
 
6
 *
 
7
 * PHP Version 5.3
 
8
 *
 
9
 * LICENSE: This source file is subject to LGPLv2.1 license
 
10
 * that is available through the world-wide-web at the following URI:
 
11
 * http://www.gnu.org/licenses/lgpl-2.1.html
 
12
 *
 
13
 * @author Charles Wisniewski, CUNY SPS
 
14
 *
 
15
 * Copyright of the Sahana Software Foundation, sahanafoundation.org
 
16
 *
 
17
 */
 
18
class agLuceneIndex
 
19
{
 
20
 
 
21
  private static $indexModels;
 
22
 
 
23
  function __construct($indexModels)
 
24
  {
 
25
    self::$indexModels = $indexModels;
 
26
  }
 
27
/**
 
28
 *
 
29
 * @param array $models the model(s) to be reindexed
 
30
 * @param boolean $reset by default is 0, meaning the entire index is rewritten.
 
31
 * @return results of the reindexing command, keyed by the model name
 
32
 */
 
33
  public function indexAll($models = null, $reset=0)
 
34
  {
 
35
    chdir(sfConfig::get('sf_root_dir')); // Trick plugin into thinking you are in a project directory
 
36
    $dispatcher = sfContext::getInstance()->getEventDispatcher();
 
37
    $task = new luceneReindexTask($dispatcher, new sfFormatter()); //this->dispatcher
 
38
 
 
39
    foreach (self::$indexModels as $indexModel) {
 
40
      $returnArray[$indexModel] = $task->run(array('model' => $indexModel), array('reset' => $reset, 'env' => 'all', 'connection' => 'doctrine', 'application' => 'frontend'));
 
41
    }
 
42
    return $returnArray;
 
43
  }
 
44
 
 
45
}
 
46
 
 
47
?>