You are here

function word_link_load_all in Word Link 7.2

Loads words from the database.

Parameters

bool $enabled: If TRUE load only enabled words.

Return value

array An array of words objects indexed by text.

3 calls to word_link_load_all()
WordLinkWebTestCase::testWordLinkCreate in tests/word_link.test
Tests creation and editing of a word.
word_link_convert_text in ./word_link.module
Find and convert defined word to link.
word_link_exchange_export_form_submit in modules/word_link_exchange/word_link_exchange.module
Submit for export form.

File

./word_link.module, line 545

Code

function word_link_load_all($enabled = TRUE) {
  $words =& drupal_static(__FUNCTION__);
  if (!isset($words)) {
    if ($cache = cache_get('word_link_words')) {
      $words = $cache->data;
    }
    else {
      $query = db_select('word_link', 'wl');
      $query
        ->addExpression('LOWER(wl.text)', 'text_lower');
      $query
        ->fields('wl');
      if ($enabled) {
        $query
          ->condition('status', 1);
      }
      $query
        ->orderBy('wl.weight');
      $results = $query
        ->execute();
      $words = array();
      foreach ($results as $word) {
        if (isset($words[$word->text_lower])) {
          if ($words[$word->text_lower]->weight >= $word->weight) {
            $words[$word->text_lower] = $word;
          }
        }
        else {
          $words[$word->text_lower] = $word;
        }
      }
      cache_set('word_link_words', $words, 'cache');
    }
  }
  return $words;
}