예제 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     //
     $recipe = new Recipe();
     $recipe->title = Input::get('title');
     $recipe->save();
     return Response::json(array('success' => true));
 }
예제 #2
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Recipe();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Recipe'])) {
         $model->attributes = $_POST['Recipe'];
         $model->UserID = $_POST['Recipe']['UserID'];
         if ($model->save()) {
             $this->redirect(array('update', 'id' => $model->ID));
         }
     }
     $this->render('create', array('model' => $model));
 }
예제 #3
0
<?php

require_once "models/db.php";
require_once "models/Recipe.php";
$recipe = new Recipe();
if ($_POST) {
    $recipe->copyFromRow($_POST);
    if ($recipe->validate()) {
        $recipe->save($dbh);
        echo "save successfully";
        die;
    }
}
// default route, show page for adding
require_once "views/view_recipe.php";
예제 #4
0
    $oEditForm->checkFilled("authorNotes");
    $oEditForm->checkFilled("ingredients");
    $oEditForm->checkFilled("directions");
    //      $oEditForm -> checkFileUpload("imageUpload");
    //      $oEditForm -> moveFile("imageUpload",$sImageName);
    if ($oEditForm->valid == true) {
        //updating details:
        $oRecipe->title = $_POST["recipeTitle"];
        $oRecipe->authorNotes = $_POST["authorNotes"];
        $oRecipe->ingredients = $_POST["ingredients"];
        $oRecipe->directions = $_POST["directions"];
        //            $sImageName = "recipeImage".$oRecipe -> title.".jpg";
        //            $oRecipe -> imagePath = $sImageName;
        //            $oRecipe -> userID = $oCustomer -> userID;
        //            $oRecipe -> recipeTypeID = $_POST["recipeCategory"];
        $oRecipe->save();
        header("Location: editRecipe.php?message=updated&RecipeID=" . $oRecipe->recipeID);
        exit;
    }
}
//html markup:
$oEditForm->makeInput("recipeTitle", "Recipe Title *", "eight columns editRecipe floatLeft marginBottom10");
$oEditForm->makeSelect("recipeCategory", "Recipe Category *", RecipeTypeManager::listAllTypes(), "eight columns floatLeft editRecipe marginBottom10");
$oEditForm->makeImageUpload("imageUpload", "Image Upload *");
$oEditForm->makeTextArea("authorNotes", "Author Notes *", "eight columns editRecipe floatLeft marginBottom10");
$oEditForm->makeTextArea("ingredients", "Ingredients *", "eight columns editRecipe floatLeft marginBottom10");
$oEditForm->makeTextArea("directions", "Directions *", "clearBoth editRecipe marginRight10 marginBottom30 marginLeft10");
$oEditForm->makeSubmit("update", "update", "blueButton2 bgBlue marginBottom10");
?>
       <h1 class="textAlignCenter marginBottom30">Edit Recipe</h1>
       <span class="displayBlock positionRelative recipeCaption captionLine textAlignCenter marginBottom10">* Required Fields </span>
예제 #5
0
    return Redirect::to('recipe/show/' . $recipe->RecipeId);
});
Route::get('recipe/create', array('as' => 'recipe.create', function () {
    return View::make('recipe.edit');
}));
Route::post('recipe/create', function () {
    $recipe = new Recipe();
    $recipe->RecipeName = Input::get('RecipeName');
    $recipe->ServingCount = Input::get('ServingCount');
    $recipe->PrepTimeMinute = Input::get('PrepTimeMinute');
    $recipe->CookTimeMinute = Input::get('CookTimeMinute');
    $recipe->price = str_replace('$ ', '', Input::get('price'));
    $recipe->Directions = Input::get('Directions');
    $recipe->RecipeNote = Input::get('RecipeNote');
    $recipe->tags = Input::get('tags');
    $recipe->save();
    $currentIngredientIds = array();
    if (Input::has('RecipeIngredientId')) {
        $ingredientIds = Input::get('RecipeIngredientId');
        $itemCounts = Input::get('ItemCount');
        $itemSizes = Input::get('ItemSize');
        $ingredientNames = Input::get('RecipeIngredientName');
        $ingredientNotes = Input::get('RecipeIngredientNote');
        // loop through tag ids submitted from create post form
        foreach ($ingredientIds as $key => $n) {
            // look up the existing Tag by ID
            $ingredient = RecipeIngredient::find($ingredientIds[$key]);
            // Create ingredient if it doesn't exist
            if (!$ingredient) {
                $ingredient = new RecipeIngredient();
                $ingredient->RecipeId = $recipe->RecipeId;
예제 #6
0
function parseRecipe($html, $url)
{
    $parsedRecipe = RecipeParser::parse($html, $url);
    $recipe = new Recipe();
    $recipe->RecipeName = $parsedRecipe->title;
    $recipe->ServingCount = getNumberFromString($parsedRecipe->yield);
    $recipe->PrepTimeMinute = $parsedRecipe->time['prep'];
    $recipe->CookTimeMinute = $parsedRecipe->time['cook'];
    $recipe->RecipeNote = $parsedRecipe->url;
    $directions = '';
    foreach ($parsedRecipe->instructions[0]['list'] as $key => $n) {
        if ($directions != '') {
            $directions .= "\n\n";
        }
        $directions .= $parsedRecipe->instructions[0]['list'][$key];
    }
    $recipe->Directions = $directions;
    $recipe->save();
    foreach ($parsedRecipe->ingredients[0]['list'] as $key => $n) {
        $ingredient = new RecipeIngredient();
        $ingredient->RecipeId = $recipe->RecipeId;
        $origText = $parsedRecipe->ingredients[0]['list'][$key];
        try {
            $text = trim($origText);
            preg_match('~[a-z]~i', $text, $match, PREG_OFFSET_CAPTURE);
            $count = substr($text, 0, $match[0][1]);
            $countEncode = urlencode($count);
            $countEncode = str_replace("%C2%BC", " 1/4", $countEncode);
            $countEncode = str_replace("%C2%BD", " 1/2", $countEncode);
            $countEncode = str_replace("%C2%BE", " 3/4", $countEncode);
            $count = urldecode($countEncode);
            $count = str_replace("-", " ", $count);
            $count = fractionToDecimal($count);
            $text = trim(substr($text, $match[0][1]));
            $size = getItemSize(substr($text, 0, strpos($text, " ")));
            if (!isNullOrEmptyString($size)) {
                $text = trim(substr($text, strpos($text, " ")));
            }
            $ingredient->ItemCount = $count;
            $ingredient->ItemSize = $size;
            $ingredient->RecipeIngredientName = $text;
            //$ingredient->RecipeIngredientNote = $origText;
        } catch (Exception $e) {
            $ingredient->RecipeIngredientName = $origText;
            $ingredient->RecipeIngredientNote = $e->getMessage();
        }
        // save the Tag on the Post
        $recipe->ingredients()->save($ingredient);
    }
    if (!isNullOrEmptyString($parsedRecipe->photo_url)) {
        saveImage($recipe, $parsedRecipe->photo_url);
    }
    return $recipe;
}
예제 #7
0
// Route 1: user comes here to add a new recipe, show them a blank form
$add = true;
// Route 2: user comes here to edit a specific recipe
//   (you'll need to grab that id from the query string)
if (isset($_GET['id'])) {
    $add = false;
    $recipes->find($_GET['id'], $dbh);
}
// Route 3a: user entered a new recipe details and is trying to save it
//   create an object, set values, validate and save, just like in the lab
//   if all is well, send to ShowRecipe to see the added recipe
//   otherwise, back to the edit view with errors!
if ($_POST && !$_GET) {
    $recipes->copyFromRow($_POST);
    if ($recipes->validate()) {
        $recipes->save($dbh);
        header('Location: RecipeList.php?id=' . $recipes->id);
    }
}
// Route 3b: user updated an existing recipe details and is trying to save it
//   create an object, inflate to the proper id, update values, validate and save
//   if all is well, send to ShowRecipe to see the added recipe
//   otherwise, back to the edit view with errors!
if ($_POST && $_GET) {
    $recipes->copyFromRow($_POST);
    if ($recipes->validate()) {
        $recipes->save($dbh);
        header('Location: RecipeList.php?id=' . $recipes->id);
    }
}
require_once "views/edit_recipe.php";