~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-08-04 00:05:46 UTC
  • mto: (1.26.1 push-trunk)
  • mto: This revision was merged to the branch mainline in revision 25.
  • Revision ID: chad.heuschober@mail.cuny.edu-20110804000546-4dqh6a7xrkrwccdh
Moved around some data fixtures to put the regular fixtures into more of a production-ready state.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
{
20
20
 
21
21
  /**
22
 
   * An event-driven way to index models related to a specific event
23
 
   * @param sfEvent $event A symfony event
24
22
   * @param boolean $reset by default is 0, meaning the entire index is rewritten.
25
 
  */
 
23
   * @todo maybe refactor to do all this stuff by reference? -UA
 
24
   */
26
25
  public static function indexAll(sfEvent $event = null, $reset = 0)
27
26
  {
 
27
 
 
28
    ignore_user_abort(true);
 
29
    set_time_limit(0);
 
30
 
 
31
 
28
32
    if (isset($event)) {
29
33
      $action = $event->getSubject();
30
34
    }
37
41
      return;
38
42
    }
39
43
 
40
 
    self::indexModels($models, $context, $reset);
41
 
  }
42
 
 
43
 
  /**
44
 
   * Reindexes  models passed in the $models array
45
 
   * @param array $models An array of models to reindex
46
 
   * @param sfContext $context The sfContext instance to use
47
 
   * @param boolean $reset by default is 0, meaning the entire index is rewritten.
48
 
   * @todo maybe refactor to do all this stuff by reference? -UA
49
 
   */
50
 
  public static function indexModels(array $models, sfContext $context = NULL, $reset = 0)
51
 
  {
52
 
    ignore_user_abort(true);
53
 
    set_time_limit(0);
54
 
 
55
 
    if (is_null($context)) {
56
 
      $context = sfContext::getInstance();
57
 
    }
58
 
 
59
44
    $dispatcher = $context->getEventDispatcher();
60
45
    $task = new luceneReindexTask($dispatcher, new sfFormatter());
61
46
 
 
47
    // "Tricks" plugin into thinking we're in a project directory
62
48
    $oldDir = getcwd();
63
 
    try {
64
 
      // "Tricks" plugin into thinking we're in a project directory
65
 
      chdir(sfConfig::get('sf_root_dir'));
66
 
      if (isset($models)) {
67
 
        foreach ($models as $indexModel) {
68
 
          $task->run(
69
 
              array('model' => $indexModel),
70
 
              array(
71
 
            'reset' => $reset,
72
 
            'env' => 'all',
73
 
            'connection' => 'doctrine',
74
 
            'application' => 'frontend'
75
 
              )
76
 
          );
77
 
        }
78
 
      } else {
 
49
    chdir(sfConfig::get('sf_root_dir'));
 
50
 
 
51
    if (isset($models)) {
 
52
      foreach ($models as $indexModel) {
79
53
        $task->run(
80
 
            array(),
 
54
            array('model' => $indexModel),
81
55
            array(
82
56
          'reset' => $reset,
83
57
          'env' => 'all',
86
60
            )
87
61
        );
88
62
      }
89
 
    } catch(Exception $e) {
90
 
      $this->sfContext->getLogger()->warning("Failed execute reindex task: \n" . $e->getMessage());
 
63
    } else {
 
64
      $task->run(
 
65
          array(),
 
66
          array(
 
67
        'reset' => $reset,
 
68
        'env' => 'all',
 
69
        'connection' => 'doctrine',
 
70
        'application' => 'frontend'
 
71
          )
 
72
      );
91
73
    }
92
74
 
93
75
    // restores context