You are here

class BotchaRecipeModel in BOTCHA Spam Prevention 7.2

Same name and namespace in other branches
  1. 6.2 model/botcha_recipe.model.inc \BotchaRecipeModel
  2. 6.3 model/recipe/botcha.recipe.model.inc \BotchaRecipeModel
  3. 7.3 model/recipe/botcha.recipe.model.inc \BotchaRecipeModel

@file Contains BotchaRecipeModel class.

Model layer of the BotchaRecipe objects.

Hierarchy

Expanded class hierarchy of BotchaRecipeModel

File

model/botcha_recipe.model.inc, line 10
Contains BotchaRecipeModel class.

View source
class BotchaRecipeModel {
  protected static $recipes;
  public static function getRecipes($parameters = NULL) {
    $recipes = db_select('botcha_recipe', 'br')
      ->fields('br');
    if (!empty($parameters['recipes'])) {
      foreach ((array) $parameters['recipes'] as $recipe_id) {
        $recipes
          ->condition('id', $recipe_id, 'IN');
      }
    }

    // Catching of PDOException helps to avoid WSOD during update use case. The
    // reason is in that form_alter is called before performing an update.
    // @see http://drupal.org/node/1828710
    try {
      $result = $recipes
        ->execute()
        ->fetchAllAssoc('id');
    } catch (Exception $e) {
      if ($e instanceof PDOException) {
        watchdog_exception('BOTCHA', $e, 'Please perform an update via update.php or reinstall the BOTCHA module to fix the reason of this warning! %type: !message in %function (line %line of %file).', array(), WATCHDOG_WARNING);
        $result = array();
      }
    }
    return $result;
  }
  public static function getRecipe($id) {
    $recipes = self::getRecipes();
    return !empty($recipes[$id]) ? $recipes[$id] : NULL;
  }
  public static function save($recipe) {

    // Catching of PDOException helps to avoid WSOD during update use case. The
    // reason is in that form_alter is called before performing an update.
    // @see http://drupal.org/node/1828710
    try {

      // Save recipe to DB.
      db_merge('botcha_recipe')
        ->fields(array(
        'id',
        'classname',
        'title',
        'description',
      ))
        ->values(array(
        'id' => $recipe->id,
        'classname' => $recipe->classname,
        'title' => $recipe->title,
        'description' => $recipe->description,
      ))
        ->execute();
    } catch (Exception $e) {
      if ($e instanceof PDOException) {
        watchdog_exception('BOTCHA', $e, 'Please perform an update via update.php or reinstall the BOTCHA module to fix the reason of this warning! %type: !message in %function (line %line of %file).', array(), WATCHDOG_WARNING);
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BotchaRecipeModel::$recipes protected static property
BotchaRecipeModel::getRecipe public static function
BotchaRecipeModel::getRecipes public static function
BotchaRecipeModel::save public static function