Besøgende
Gæster online: 5
Brugere online: 0
Antal brugere: 1,670
Nyeste bruger: mikkelpedersen23
10 nyeste brugere: Klik her
 45,023,166 Unikke besøg
10114 Besøg pr. dag
Synes godt om
Tilfældige Avatars
384 brugere (23.05%)
Har allerede en Avatar.
Artikler
Nyeste artikler
V7 versions-liste 16482
V6/V7-identifier 21293
Tilfældigt tema på ... 16571
Hvordan tælles unik... 17954
Ens registreringssi... 211051
Populære artikler
Ens registreringssi... 211051
Kør PHP-Fusion loka... 40831
Tilfældigt banner/l... 31618
Flytning af PHP-Fus... 30662
Opgradering af PHP-... 25960
Info om artikler
Artikler i databasen: 9
Læst antal gange: 412422
Downloads
Nyeste downloads
Danske sprogfiler ... 510
Avatar in viewforu... 998
Latest Blacklisted... 1009
Search in Shouts 945
Users Websites Pan... 921
Populære downloads
DeLuxe Dropdown Me... 3883
CSS Dropdown Menu ... 2825
Installations-vide... 2657
PHP-Fusion v7.00.0... 2570
Forum Pack v1.0 2302
Info om downloads
Filer i databasen: 180
Hentet antal gange: 134931
Statistik mm.
Se indlæg
PHPFusion-Tips.dk :: PHP-Fusion v7.01.XX :: Infusioner
Hvem er her? 1 gæst(er)
 Udskriv debat
recipe_infusion
Fyrsting
#1 Udskriv indlæg
Lagt på d. 11-05-2011 17:47
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Hejsa

Jeg er fuldstændig VILD med recipe_infusion og eksalteret over endelig at kunne få glæde og gavn af den på en god måde http://forum.fugl...p?cat_id=1

Men er det muligt at få lavet lidt mere mellemrum mellem hver opskrift, som bliver vist på linket? Smile

Tak for hjælpen på forhånd



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
olelau
#2 Udskriv indlæg
Lagt på d. 12-05-2011 07:54
Brugers avatar

Medium bruger


Antal indlæg: 224
Tilmeldt: 19.02.08
Sidst set: 15.11.17
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:
Ikke valgt
 
Uden at have kigget på det ville jeg nok lave den <br /> der er efter hvert skift om til en <hr /> så får du en linje som adskillelse.
Til forsiden  Til toppen af forum  Til bunden af forum
Fyrsting
#3 Udskriv indlæg
Lagt på d. 12-05-2011 09:24
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Det er en rigtig god ide Ole - det tror jeg vil blive endnu bedre. Jeg ved dog ikke hvilken fil jeg skal have fat i og hvor eller hvor mange steder jeg skal have ændret <br /> til <hr />



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#4 Udskriv indlæg
Lagt på d. 12-05-2011 13:28
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
Nu er det jo igen jeg ikke kan teste det men dette virker i version 7.00.XX, ved så ikke om infusionen er den samme til begge versioner *helpless*

Find:
Download kildekode  Kode
echo "<td><a href='recipes.php?action=view&amp;rec_id=".$data['rec_id']."'>".$data['rec_name']."</a></td>\n";



Ved mig er det linie 102

Ændre det til:
Download kildekode  Kode
echo "<td><a href='recipes.php?action=view&amp;rec_id=".$data['rec_id']."'>".$data['rec_name']."</a><hr /></td>\n";




Find:
Download kildekode  Kode
echo "<td>".$data['rec_description']."</td>\n";



Ved mig er det linie 103

Ændre det til:
Download kildekode  Kode
echo "<td>".$data['rec_description']."<hr /></td>\n";




Dette sætter en linie under hver Beskrivelse
Jeg kan også godt få en linie under Navn men hvis der ikke er lige mange linier i alle navne kan den godt forskyde linierne :@
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#5 Udskriv indlæg
Lagt på d. 12-05-2011 15:03
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Hej Thomas

Tusind tak for din hjælp. Jeg vender tilbage lidt senere med et svar om det virker eller ej Wink

Men det tror jeg da at det vil gøre, for jeg bruger "den samme gamle infusion", og mit forum kører på v7.01.05

Men som sagt - jeg vender lige tilbage Tup



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#6 Udskriv indlæg
Lagt på d. 12-05-2011 15:14
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
He he, jamen hvis det er den gamle infusion du bruger er jeg ret sikker i min sag for det har jeg testet Tup

Jeg må altså også snart ind i kampen og have en version 7.01.XX side sat op jeg kan teste på Sunglass
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#7 Udskriv indlæg
Lagt på d. 12-05-2011 15:19
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Det er den gamle infusion jeg bruger ja, for det er den jeg havde liggende på min externe Yes

Jaaaa kom nu ind i kampen Thomas Pfft Wink



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#8 Udskriv indlæg
Lagt på d. 12-05-2011 15:37
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
He he, jamen jeg har skam allerede hentet en backup af en anden side og vil da forsøge at sætte den op på lokal server senere Music

Lover dog ikke det lykkedes men ellers må jeg jo tage en ny frisk side :-)
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#9 Udskriv indlæg
Lagt på d. 12-05-2011 15:42
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Herligt Tup Det skal nok gå

Og skønt endelig at kunne sige "kom ind i kampen" til nogen Grin



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Fyrsting
#10 Udskriv indlæg
Lagt på d. 13-05-2011 07:26
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Thomas, kan du ikke lige fortælle mig hvilken fil det er jeg skal have fat i?



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#11 Udskriv indlæg
Lagt på d. 13-05-2011 13:18
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
Jo da det er recipes.php der skal pilles ved Tup

Til en anden gang kan du eventuelt tjekke browserlinien, den skriver hvilken fil man har åben når man er...
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#12 Udskriv indlæg
Lagt på d. 13-05-2011 14:31
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
undskyld Frown den forstod jeg ikke lige.. Altså sætningen "Til en anden gang kan du eventuelt tjekke browserlinien, den skriver hvilken fil man har åben når man er..."?



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#13 Udskriv indlæg
Lagt på d. 13-05-2011 14:36
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
Der hvor du skriver "www.fyrsting.dk" den sidste del af linien fortæller dig hvilken fil du får vist på skærmen og dermed også hvilken fil du skal pille ved Tup

Bare hvis du en anden gang ikke vil vente på svar og knolden her har glemt at skrive hvilken fil du skal åbne Hilarious
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#14 Udskriv indlæg
Lagt på d. 13-05-2011 15:10
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Aaaah så faldt 10-øren Hilarious tak.

Jeg er syg i disse dage, så jeg er vist ikke helt skarp Frown



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#15 Udskriv indlæg
Lagt på d. 13-05-2011 15:13
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
Ahh det var vist heller ikke en ret god forklaring jeg kom med der men jeg var ikke helt vågen, sat i lang tid i nat og bøvlede med single-forum der var gået helt i smadder Bugs
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#16 Udskriv indlæg
Lagt på d. 13-05-2011 19:53
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Hej igen Thomas Smile

Jeg har ændret kodestumperne du satte ind, men der kommer kun streg lige efter den første opskrift?

http://fugletosse...p?cat_id=1



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#17 Udskriv indlæg
Lagt på d. 13-05-2011 20:09
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
Ja undskyld det er mig der har rodet rundt i det...

Har du mulighed for lige at sætte koden ind her eller vedhæfte den?
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#18 Udskriv indlæg
Lagt på d. 13-05-2011 20:11
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Det har jeg da ;)

Den kommer her

Download kildekode  Kode
<?php
/**
* Page-description: This php file is the front-end for the normal user. It contains code for browsing, searching, adding, editing and deleting recipes.
* A recipe includes ingredients and a procedure. This page also contains code for managing those.
* It also uses PHP-Fusion comments and rating system. (Comment and Rating character is "R")
* @package infusion
* @tables dbprefix_recipes_categories, dbprefix_recipes_recipe, dbprefix_recipes_settings
*/

/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2009 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: recipes.php
| Author: XtraLars, Bigwimp, johanf, Smokeman, olelau
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "../../maincore.php";
require_once THEMES."templates/header.php";
require_once INCLUDES."comments_include.php";
require_once INCLUDES."ratings_include.php";
require_once INCLUDES."bbcode_include.php";
include INFUSIONS."recipe_infusion/infusion_db.php";

if (file_exists(INFUSIONS."recipe_infusion/locale/".$settings['locale'].".php")) {
   include INFUSIONS."recipe_infusion/locale/".$settings['locale'].".php";
} else {
   include INFUSIONS."recipe_infusion/locale/English.php";
}


// CONSTANTS
define('ERRORCOLOR', "#FF0000", true);

// FUNCTIONS
/**
* Prints a table containing all categories and the amount of recipes registered in each.
* @name printCategoryList
* @tables dbprefix_recipes_categories, dbprefix_recipes_recipe
* @global array $locale Array from language-file (locale-file)
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @author XtraLars <xtralars@baluba.org>
*/
function printCategoryList() {
   global $locale, $DB_;
   $sql = "SELECT cat.cat_id, cat.cat_name, COALESCE(count(rec.rec_id),0) as recipes"
        ." FROM ".DB_RECIPES_CATEGORIES." cat LEFT OUTER JOIN ".DB_RECIPES_RECIPE." rec ON cat.cat_id = rec.cat_id"
        ." GROUP BY cat.cat_id, cat.cat_name ORDER BY cat.cat_name";
   $result = dbquery($sql);
   opentable($locale['REC200']);
   if (dbrows($result) != 0) {
      echo "<center><table width='500'>\n<tr>\n";
      echo "<td><strong>".$locale['REC201']."</strong></td>\n";
      echo "<td align='right'><strong>".$locale['REC202']."</strong></td>\n";
      echo "</tr>\n";
      while ($data = dbarray($result)) {
         echo "<tr>\n";
         echo "<td><a href='recipes.php?cat_id=".$data['cat_id']."'>".$data['cat_name']."</a></td>\n";
         echo "<td align='right'>".$data['recipes']."</td>\n";
         echo "</tr>\n";
      }
      echo "</table>\n</center>\n";
   }else {
      echo "<br /><center>".$locale['REC900']."</center><br />";
   }
   closetable();
}

/**
* Prints the contents of a category in a list (table)
* @name printCategoryContents
* @param integer [$cat_id] The Primary Key in the categories-table
* @tables dbprefix_recipes_categories, dbprefix_recipes_recipe
* @global array $locale Array from language-file (locale-file)
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @author XtraLars <xtralars@baluba.org>
*/
function printCategoryContents($cat_id) {
   global $locale, $DB_;
   $result = dbquery("SELECT rec.*, cat.cat_name FROM ".DB_RECIPES_RECIPE." rec, ".DB_RECIPES_CATEGORIES." cat WHERE rec.cat_id=cat.cat_id AND cat.cat_id=".$cat_id);
   $data = dbarray($result);
   opentable($locale['REC100']."<em>".$data['cat_name']."</em>");
   // Checks if there are any returned rows
   if (dbrows($result) != 0) {

      echo "<table width='100%'>";
      echo "<tr><td><strong>".$locale['REC101']."</strong></td>\n<td><strong>".$locale['REC102']."</strong></td>\n</tr>\n";
      echo "<tr>\n";
      echo "<td><a href='recipes.php?action=view&amp;rec_id=".$data['rec_id']."'>".$data['rec_name']."</a><hr /></td>\n";
      echo "<td>".$data['rec_description']."<hr /></td>\n";
      echo "</tr>\n";
      while ($data = dbarray($result)) {
         echo "<tr>\n";
         echo "<td><a href='recipes.php?action=view&amp;rec_id=".$data['rec_id']."'>".$data['rec_name']."</a></td>\n";
         echo "<td>".$data['rec_description']."</td>\n";
         echo "</tr>\n";
      }
    echo "<tr>\n";
    echo "<td align='right' colspan='2'><a href='".INFUSIONS."recipe_infusion/recipes.php' title='".$locale['REC070']."'><img src='".INFUSIONS."recipe_infusion/img/category.gif' alt='".$locale['REC070']."' border='0' /></a></td>\n";
      echo "</tr>\n</table>\n";
   } else {
      echo "<center>".$locale['REC901']."<br /></center>";
      echo "<div align='right'><a href='".INFUSIONS."recipe_infusion/recipes.php' title='".$locale['REC070']."'><img src='".INFUSIONS."recipe_infusion/img/category.gif' alt='".$locale['REC070']."' border='0' /></a></div>\n";
   }
   closetable();
}

/**
* Prints a table containing the data registered on a Recipe.
* Then calls functions printRecipeIngredients, printRecipeProcedure and PHP-Fusions included showcomments and showratings
* @name printRecipeDetails
* @param integer [$rec_id] The Primary Key in the dbprefix_recipes_recipe-table
* @tables dbprefix_recipes_categories, dbprefix_recipes_recipe
* @global array $locale Array from language-file (locale-file)
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @author XtraLars <xtralars@baluba.org>
* @see printRecipeIngredients
* @see printRecipeProcedure
*/
function printRecipeDetails($rec_id) {
   global $locale, $DB_;
        if (!isset($user_id)) $user_id ='';
   $write = canEditRecipe($rec_id);

   $sql = "SELECT rec.*, cat.cat_name FROM ".DB_RECIPES_CATEGORIES." cat, ".DB_RECIPES_RECIPE." rec
    WHERE cat.cat_id=rec.cat_id AND rec_id=".$rec_id;
   $result = dbquery($sql);
   if(dbrows($result) != 0) {
      $data = dbarray($result);
      $user = dbquery("SELECT * FROM ".DB_USERS." WHERE user_id=".$data['user_id']);
      if (dbrows($user) != 0) {
         $user = dbarray($user);
         $username = "<a href='".BASEDIR."profile.php?lookup=".$user['user_id']."'>".$user['user_name']."</a>";
      } else {
         $username = $locale['REC916'];
      }

      opentable($locale['REC106']);
      echo "<table width='100%'>";
      if($data['rec_image'] != "") {
         echo "<tr>\n<td width='170'>\n<center><img src='img/uploads/".$data['rec_image']."' border='0' alt='' /></center>\n</td>\n";
      } else {
         echo "<tr>\n<td width='170' align='center'>".$locale['REC902']."</td>\n";
      }
                $result = dbquery("UPDATE ".DB_RECIPES_RECIPE." SET recipe_reads=recipe_reads+1 WHERE rec_id='".$rec_id."'");

      echo "<td valign='top'>\n<table width='100%'>\n";
      echo "<tr>\n<td width='1%' style='white-space:nowrap'><strong>".$locale['REC101']."</strong></td>\n<td>".$data['rec_name']."</td>\n</tr>\n";
      echo "<tr>\n<td width='1%' style='white-space:nowrap'><strong>".$locale['REC102']."</strong></td>\n<td>".stripslashes($data['rec_description'])."</td>\n</tr>\n";
      echo "<tr>\n<td width='1%' style='white-space:nowrap'><strong>".$locale['REC103']."</strong></td>\n<td>".$data['rec_keywords']."</td>\n</tr>\n";
      echo "<tr>\n<td width='1%' style='white-space:nowrap'><strong>".$locale['REC105']."</strong></td>\n<td>".$username."</td>\n</tr>\n";
      echo "<tr>\n<td width='1%' style='white-space:nowrap'><strong>".$locale['REC201']."</strong></td>\n<td>".$data['cat_name']."</td>\n</tr>\n";
      echo "<tr>\n<td width='1%' style='white-space:nowrap'><strong>".$locale['REC071']."</strong></td>\n<td>".$data['recipe_reads']." ".$locale['REC072']."</td>\n</tr>\n";
      echo "</table>\n</tr>\n";

      if ($write) {
         echo "<tr>\n<td colspan='2' align='right'><strong>".$locale['REC014']."</strong>: "
            ."<a href='?action=recEdit&amp;rec_id=".$rec_id."' >".$locale['REC010']."</a> - "
            ."<a href='?action=recDelete&amp;rec_id=".$rec_id."'>".$locale['REC012']."</a></td>\n</tr>\n";
      }
      echo "</table>";
      closetable();

      printRecipeIngredients($rec_id);
      printRecipeProcedure($rec_id);
      showratings("R",$rec_id,"recipes.php?action=view&rec_id=".$rec_id);
      showcomments("R",DB_RECIPES_RECIPE,"rec_id",$rec_id,"recipes.php?action=view&rec_id=".$rec_id);
   } else {
      opentable($locale['REC106']);
      echo "<center><br />".$locale['REC903']."<br /><br /></center>";
      closetable();
   }
}

/**
* Prints a table containing the ingredients of a given recipe
* Also prints a small form for input of new ingredients
* @name printRecipeIngredients
* @param integer [$cat_id] The Primary Key in the categories-table
* @tables dbprefix_recipes_ingredients
* @global array $locale Array from language-file (locale-file)
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @author XtraLars <xtralars@baluba.org>
* @see canEditRecipe
*/
function printRecipeIngredients($rec_id) {
   global $locale, $DB_;
   $write = canEditRecipe($rec_id);
   $cols = $write ? 4 : 3;
   $sql = "SELECT * FROM ".DB_RECIPES_INGREDIENTS." WHERE rec_id=".$rec_id;
   $result = dbquery($sql);
   $rows = dbrows($result);
   opentable($locale['REC300']);
   echo "<table width='100%'>\n<tr>\n
   <td align='center' width='20%'><strong>".$locale['REC301']."</strong></td>\n<td><strong>".$locale['REC302']."</strong></td>\n";
   if ($write) {
      echo "<td align='right' width='10%'><strong>".$locale['REC014']."</strong></td>\n";
   }
   echo "</tr>\n";
   if($rows != 0) {
      while ($data = dbarray($result)) {
         echo "<tr><td style='overflow:hidden'><center>".$data['ing_amount']."</center></td>\n<td style='overflow:hidden'>".$data['ing_type']."</td>\n";
         if ($write) {
            echo "<td align='right'>"
               ."<a href='recipes.php?action=delIng&amp;ing_id=".$data['ing_id']."&amp;rec_id=".$rec_id."'>".$locale['REC012']."</a>"
               ."</td>\n";
         }
         echo "</tr>\n";
      }
   } else {
      echo "<tr>\n<td align='center' colspan='".$cols."'>".$locale['REC904']."</td>\n</tr>\n";
   }
   if($write) {
      echo "<tr>\n<td colspan='".$cols."'>\n<form action='recipes.php?action=addIng&amp;rec_id=".$rec_id."' method='post'>"
         ."<table width='100%' cellspacing='0' cellpadding='0'>\n";
      echo "\n<tr>\n<td width='20%' align='center'>\n"
         ."<input name='txt_amount' type='text' class='textbox' style='width:90%' />\n</td>\n"
         ."\n<td>\n<input name='txt_type' type='text' class='textbox' style='width:90%' />\n</td>\n"
         ."\n<td align='right' width='10%'><input type='submit' name='btn_add' value='".$locale['REC011']."' class='button' />\n</td>\n"
         ."</tr>\n</form>\n</table>\n</tr>\n";
   }
   echo "</table>";
   closetable();
}

/**
* Prints a list/menu containing Step types (wait, boil, prepare, fry etc)
* It gets its contents from the locale-file (both value and label)
* @name printProcedyreTypeList
* @param string [$selected] The value of the selected type (for showing with existing value)
* @global array $locale Array from language-file (locale-file)
* @author XtraLars <xtralars@baluba.org>
*/

/**
* Prints a table containing the steps of a given recipe
* Also prints a small form for input of new steps, and links for editing or deleting steps. Form also handles editing
* @name printRecipeProcedure
* @param integer [$rec_id] The Primary Key in the dbprefix_recipes_recipe-table
* @tables dbprefix_recipes_procedure
* @global array $locale Array from language-file (locale-file)
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @author XtraLars <xtralars@baluba.org>
* @see canEditRecipe
*/
function printRecipeProcedure($rec_id) {
   global $locale, $DB_;
   $write = canEditRecipe($rec_id);
   $cols = $write ? 4 : 3;

   $sql = "SELECT * FROM ".DB_RECIPES_PROCEDURE." WHERE rec_id=".$rec_id." ORDER BY pro_order ASC";
   $result = dbquery($sql);
   $rows = dbrows($result);
   opentable($locale['REC351']);
   echo "<table width='100%'>";
   echo "<tr>"
      ."  <td width='10%' align='center'><strong>".$locale['REC352']."</strong></td>\n"
      ."  <td><strong>".$locale['REC354']."</strong></td>\n";
        if (!isset($owner)) $owner ='';
   if ($owner) { echo "<td align='right' width='20%'><strong>".$locale['REC014']."</strong></td>\n"; }
   echo "</tr>\n";
   $currentrow = 0;
   if($rows != 0) {
      while ($data = dbarray($result)) {
         echo "<tr>\n<td align='center' style='overflow:hidden'>".$data['pro_order']."</td>\n"

            ."<td style='overflow:hidden'>".$data['pro_text']."</td>\n";
         if ($write) {
            echo "<td align='right'>\n";
            $printed = false;
            if ($currentrow != 0) {
               echo "<a href='recipes.php?action=stepUp&amp;rec_id=".$rec_id."&amp;step=".$data['pro_id']."' >";
               echo "  <img src='".THEME."images/up.gif' alt='".$locale['REC015']."' title='".$locale['REC015']."' style='border:0px;' />";
               echo "</a>";
               $printed = true;
            }
            if ($currentrow != $rows-1) {
               echo "<a href='recipes.php?action=stepDown&amp;rec_id=".$rec_id."&amp;step=".$data['pro_id']."' >";
               echo "  <img src='".THEME."images/down.gif' alt='".$locale['REC016']."' title='".$locale['REC016']."' style='border:0px;' />";
               echo "</a>";
               $printed = true;
            } else {
               echo " <img src='".THEME."images/blank.gif' width='13' heigth='10' alt='".$locale['REC017']."' title='".$locale['REC017']."' style='border:0px;' />";
            }
            if ($printed) { echo " - "; }
            echo "<a href='recipes.php?action=stepEdit&amp;rec_id=".$rec_id."&amp;step=".$data['pro_id']."' >".$locale['REC010']."</a> - ";
            echo "<a href='recipes.php?action=stepDelete&amp;rec_id=".$rec_id."&amp;step=".$data['pro_id']."' >".$locale['REC012']."</a>";
            echo "</td>\n";
         }
         echo "</tr>\n";
         $currentrow++;
      }
   } else {
      echo "<tr>\n<td align='center' colspan='".$cols."'>".$locale['REC905']."</td>\n</tr>\n";
   }
   if($write) {
      if (isset($_GET['action']) && $_GET['action'] == "stepEdit") {
         $step_id = isNum($_GET['step']) ? (int) $_GET['step'] : -1;
         $sql = "SELECT * FROM ".DB_RECIPES_PROCEDURE." WHERE pro_id=".$step_id;
         $step = dbarray(dbquery($sql));
         $step_id = $step['pro_id'];
         $step_type = $step['pro_type'];
         $step_text = $step['pro_text'];
         $action = "stepEdited";
         $button = $locale['REC013'];
      } else {
         $step_id = "";
         $step_type = "";
         $step_text = "";
         $action = "addStep";
         $button = $locale['REC011'];
      }
      echo "<tr>"
         ."  <td colspan='".$cols."'>\n<form action='recipes.php?action=".$action."&amp;rec_id=".$rec_id."' method='post'>"
         ."<table width='100%' cellspacing='0' cellpadding='0'>\n<tr>\n"
         ."  <td width='10%'>&nbsp;</td>\n"
         ."  <td width='15%' align='center'>\n";

      echo "</td>\n"
         ."<td><input name='txt_action' value='".$step_text."' type='text' class='textbox' style='width:90%' />\n</td>\n"
         ."<td align='right' width='20%'><input type='hidden' name='hidStepId' value='".$step_id."' />"
         ."<input type='submit' name='btn_save' value='".$button."' class='button' /></td>\n"
         ."</tr>\n</form>\n</table>\n</tr>\n";
   }

   echo "</table>\n";

echo " <div align='right' valign='top'><br /><a href='recipes.php' title='".$locale['REC070']."'><img src='".INFUSIONS."recipe_infusion/img/category.gif' alt='".$locale['REC070']."' border='0' /></a> &middot; <a target='_blank' href='print_recipes.php?action=view&amp;rec_id=".$rec_id."'><img src='".INFUSIONS."recipe_infusion/img/printer.gif' alt='".$locale['REC073']."' border='0' /></a> &middot; <a target='_blank' href='print_comment_recipes.php?action=view&amp;rec_id=".$rec_id."'><img src='".INFUSIONS."recipe_infusion/img/print_comments.gif' alt='".$locale['REC074']."' border='0' /></a> &middot; <a href='javascript:history.back()'><img src='".INFUSIONS."recipe_infusion/img/retur.gif' border='0' style='vertical-align:middle;' alt='".$locale['REC075']."' /></a></div>\n";
   closetable();
}

/**
* Prints the form for searching
* @name printRecipeSearchForm
* @param string [$string] Search-string
* @param string [$cat] Where to search (i = ingredients, d = description, k = keywords)
* @param string [$error] What error to show. Normally = "".
* @global array $locale Array from language-file (locale-file)
* @author XtraLars <xtralars@baluba.org>
*/
function printRecipeSearchForm($string, $cat, $error) {
   global $locale;
   opentable($locale['REC040']);
        echo " <div align='right' valign='top'><a href='javascript:history.back()'><img src='".INFUSIONS."recipe_infusion/img/retur.gif' border='0' style='vertical-align:middle;' alt='".$locale['REC075']."' /></a></div>\n";
   echo "<center><form name='rec_search' method='post' action='recipes.php'>";
   echo $locale['REC041']." <input type='text' name='txt_RecipeSearch' value='".$string."' class='textbox' style='width: 200px;' />\n";
   echo "<input type='submit' name='btn_rec-search' value='".$locale['REC042']."' class='button' /><br />\n";
   if ($cat=="i") {
      echo "<input name='searchWhat' type='radio' value='i' checked='checked' />".$locale['REC303']."\n";
   }else {
      echo "<input name='searchWhat' type='radio' value='i' />".$locale['REC303']."\n";
   }
   if ($cat=="d") {
      echo "<input name='searchWhat' type='radio' value='d' checked='checked' />".$locale['REC102']."\n";
   }else {
      echo "<input name='searchWhat' type='radio' value='d' />".$locale['REC102']."\n";
   }
   if ($cat=="k") {
      echo "<input name='searchWhat' type='radio' value='k' checked='checked' />".$locale['REC103']."\n";
   }else {
      echo "<input name='searchWhat' type='radio' value='k' />".$locale['REC103']."\n";
   }
   echo "<br /><strong><span style='color:red'>".$error."</span></strong></form></center>\n";
   closetable();
}

/**
* Prints a list/menu containing all recipe categories.
* Also prints a small form for input of new steps, and links for editing or deleting steps. Form also handles editing
* @name printCategoryDropList
* @param integer [$cat_id] The Primary Key in the dbprefix_recipes_categories table. Used to point out what should be selected in the menu
* @tables dbprefix_recipes_categories
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @author XtraLars <xtralars@baluba.org>
*/
function printCategoryDropList($cat_id) {
   global $DB_;
   $sql = "SELECT * FROM ".DB_RECIPES_CATEGORIES."";
   $result = dbquery($sql);
   $rows = dbrows($result);
   echo "<select name='lst_categories' style='width:220px;' class='textbox'>";
   if($rows != 0) {
      while($data = dbarray($result)) {
         if($data['cat_id'] == $cat_id) {
            echo "<option value='".$data['cat_id']."' selected='selected' >".$data['cat_name']."</option>";
         } else {
            echo "<option value='".$data['cat_id']."'>".$data['cat_name']."</option>";
         }
      }
   }
   echo "</select>";
}
/**
* Prints the form for adding or editing Recipes.
* Also prints a small form for input of new steps, and links for editing or deleting steps. Form also handles editing
* @name printRecipeForm
* @param integer [$rec_id] If editing, the ID is sent to the function to be added in the form
* @param string [$rec_name] If editing, the name is sent to the function to be added in the form
* @param string [$rec_keyword] If editing, the keywords are sent to the function to be added in the form
* @param integer [$cat_id] If editing, the category ID is sent to the function to be added in the form
* @param string [$rec_desc] If editing, the description is sent to the function to be added in the form
* @param string [$rec_imgLoc] If editing, the image location is sent to the function to be added in the form
* @param string [$action] Either "new" or "edit". It decides the processing of the form data
* @param string [$error] If the input data has errors, the function is recalled with an error message
* @tables dbprefix_recipes_categories
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @global array $locale Array from language-file (locale-file)
* @author XtraLars <xtralars@baluba.org>
*/
function printRecipeForm($rec_id, $rec_name, $rec_keyword, $cat_id, $rec_desc, $rec_imgLoc, $action, $error) {
   global $locale, $DB_;
   if ($action == "new") {
      $button = $locale['REC018'];
   } else {
      $button = $locale['REC013'];
   }
   $cats = dbrows(dbquery("SELECT * FROM ".DB_RECIPES_CATEGORIES));
   if ($cats > 0) {
      opentable($locale['REC107']);
         echo "<form action='recipes.php' method='post' enctype='multipart/form-data' name='recipeform'>";
         echo "<center><table width='500'>\n";
         echo "<tr>\n<td>".$locale['REC101'].":</td>\n<td><input name='txt_name' type='text' value='".$rec_name."' class='textbox' style='width:220px;' /></td>\n</tr>\n";
         echo "<tr>\n<td>".$locale['REC103'].":</td>\n<td><input name='txt_keywords' type='text' value='".$rec_keyword."' class='textbox' style='width:220px;' /></td>\n</tr>\n";
         echo "<tr>\n<td>".$locale['REC203'].":</td>\n<td>";
            printCategoryDropList($cat_id);
         echo "</td>\n</tr>\n";
         echo "<tr>\n<td valign='top'>".$locale['REC102'].":</td>\n"
            ."<td>\n<textarea name='txt_description' class='textbox' style='width:220px;' rows='7'>".$rec_desc."</textarea></td>\n</tr>\n";
         echo "<tr>\n<td valign='top'>".$locale['REC108'].":</td>\n<td>\n";
         if ($rec_imgLoc != "") {
            echo "<img src='img/uploads/".$rec_imgLoc."' alt='' border='0' /><br /><br />";
         }
         echo "<input name='fil_recipeimage' type='file' class='textbox' style='width:220px;' /></td>\n</tr>\n";
         echo "<tr>\n<td>&nbsp;</td>\n<td>".$locale['REC109']."</td>\n</tr>\n";
         if ($error != "") {
            echo "<tr>\n<td>&nbsp;</td>\n<td style='color:".ERRORCOLOR."'>".$error."</td>\n</tr>\n";
         }
         echo "<tr>\n<td colspan='2' align='right'><input name='hid_recid' type='hidden' value='".$rec_id."' />"
            ."<input name='hid_action' type='hidden' value='".$action."' />"
            ."<input name='btn_submit' type='submit' class='button' value='".$button."' /></td>\n</tr>\n";
         echo "</table>\n</center>";
         echo "</form>";
                        echo " <div align='right' valign='top'><a href='javascript:history.back()'><img src='".INFUSIONS."recipe_infusion/img/retur.gif' border='0' style='vertical-align:middle;' alt='".$locale['REC075']."' /></a></div>\n";
      closetable();
   }
}

/**
* Checks the file size, height and width of a given image.
* @name checkImage
* @param string [$imagefile] Where the image is located on the server ($_FILES[...]['tmp_name'])
* @param integer [$imagesize] Image size ($_FILES[...]['size'])
* @global array $recipe_settings Array containing the Infusion Settings.
* @global array $locale Array from language-file (locale-file)
* @return boolean Returns weither the image is usable or not.
* @author XtraLars <xtralars@baluba.org>
*/
function checkImage($imagefile, $imagesize) {
   global $recipe_settings, $locale;
   $maxSize = 162000;
   $maxWidth = 200;
   $maxHeight = 200;
   $return = "";
   $imagesize = (int) $imagesize;
   if ($imagesize > $maxSize) {
      $return .= $locale['REC907']." ".$locale['REC405'].": ".$imagesize." ".$locale['REC404'].", ".$locale['REC402'].": ".$maxSize." ".$locale['REC404']."<br />";
   }
   list($width, $height, $type, $attr) = getimagesize($imagefile);
   //echo " type: ".$type." width: ".$width." height ".$height." attr ".$attr;
   switch ($type) {
      case IMAGETYPE_GIF:
         break;
      case IMAGETYPE_JPEG:
         break;
      case IMAGETYPE_PNG:
         break;
      default:
         $return .= $locale['REC908']."<br />";
   }
   if ($width > $maxWidth) {
      $return .= $locale['REC909']." ".$locale['REC400'].": ".$width.", ".$locale['REC402'].": ".$maxWidth."<br />";
   }
   if ($height > $maxHeight) {
      $return .= $locale['REC910']." ".$locale['REC401'].": ".$height.", ".$locale['REC402'].": ".$maxHeight."<br />";
   }

   if ($return == "") {
      return true;
   } else {
      return $return;
   }
}

/**
* Moves the uploaded image from "tmp" to img/uploads/ folder and renames it.
* @name saveRecipeImage
* @param string [$imagefile] Where the image is located on the server ($_FILES[...]['tmp_name'])
* @param string [$imagename] Original Image Name ($_FILES[...]['name'])
* @param integer [$rec_id] The recipe the image should be used with.
* @return boolean If the move is unsuccessful, it returns false
* @return string If the move is successful, it returns the file name ([rec_id]imagename.ext)
* @author XtraLars <xtralars@baluba.org>
*/
function saveRecipeImage($imagefile, $imagename, $rec_id) {
   $folder = "img/uploads/";
   $newname = "[".$rec_id."]".$imagename;
   if (move_uploaded_file($imagefile, $folder.$newname)) {
      return $newname;
   } else {
      return false;
   }
}
/**
* Deletes a file. Used to delete the image when a recipe is deleted or gets a new image.
* @name deleteRecipeImage
* @param string [$imagefile] Where the image is located on the server
* @param integer [$rec_id] The recipe the image should be used with.
* @author XtraLars <xtralars@baluba.org>
*/
function deleteRecipeImage($imagefile) {
   $folder = "img/uploads/";
   @unlink($folder.$imagefile);
}
/**
* Checks to see if the active user has access to editing a certain recipe. This could be that the user is the "owner" of the recipe
* and is still in the usergroup (those with write access), or it can be a member of the moderator-group. {@source}
* @name canEditRecipe
* @param integer [$rec_id] The recipe the image should be used with.
* @global string $db_prefix String representing the PHP-Fusion table prefix (ie: "fusion_")
* @global array $userdata A PHP-Fusion array containing data about the current user.
* @global array $recipe_settings Array containing the infusion settings.
* @return boolean If the user should be able to edit / delete the recipe, it returns true
* @author XtraLars <xtralars@baluba.org>
*/
function canEditRecipe($rec_id) {
   global $DB_, $userdata, $user_data, $recipe_settings;

   $return = false;
   $owner = dbarray(dbquery("SELECT user_id FROM ".DB_RECIPES_RECIPE." where rec_id=".$rec_id));
        if (!isset($userdata['user_id'])) $userdata['user_id'] ='';
   if ($owner['user_id'] == $userdata['user_id'] && checkGroup($recipe_settings['usergroup'])) {
      $return = true;
   } else if (checkGroup($recipe_settings['moderatorgroup'])){
      $return = true;
   }
   return $return;
}

// START RECEIVING DATA
$recipe_settings = dbarray(dbquery("SELECT * FROM ".DB_RECIPES_SETTINGS));
$recipe_name_maxLength = 80;
$recipe_keywords_maxLength = 255;
$recipe_ingType_maxLength = 70;
$recipe_ingAmount_maxLength = 25;
$recipe_stepType_maxLength = 20;

if (checkgroup($recipe_settings['readaccess'])) {
   if (isset($_POST['txt_RecipeSearch'])) {
      $searchString = trim(stripinput($_POST['txt_RecipeSearch']));
      $searchCat = trim(stripinput($_POST['searchWhat']));
      $do_search = true;
      if ($searchString=="") {
         printRecipeSearchForm($searchString, $searchCat, $locale['REC041']);
         $do_search = false;
      } else {
         printRecipeSearchForm($searchString, $searchCat, "");
      }
      if ($do_search) {
         switch($searchCat) {
            case "i":
               $sql = "SELECT cat.cat_name, rec.rec_id, rec.rec_name, rec.rec_keywords, SUBSTRING(rec.rec_description,1,55) as descr"
                  ." FROM ".DB_RECIPES_RECIPE." rec, ".DB_RECIPES_INGREDIENTS." ing, ".DB_RECIPES_CATEGORIES." cat"
                  ." WHERE cat.cat_id=rec.cat_id AND ing.rec_id=rec.rec_id AND ing.ing_type like '%".$searchString."%'";
               break;
            case "k":
               $sql = "SELECT cat.cat_name, rec.rec_id, rec.rec_name, rec.rec_keywords, SUBSTRING(rec.rec_description,1,55) as descr"
                  ." FROM ".DB_RECIPES_RECIPE." rec, ".DB_RECIPES_CATEGORIES." cat"
                  ." WHERE cat.cat_id=rec.cat_id AND rec.rec_keywords LIKE '%".$searchString."%'";
               break;
            case "d":
               $sql = "SELECT cat.cat_name, rec.rec_id, rec.rec_name, rec.rec_keywords, SUBSTRING(rec.rec_description,1,55) as descr"
                  ." FROM ".DB_RECIPES_RECIPE." rec, ".DB_RECIPES_CATEGORIES." cat"
                  ." WHERE cat.cat_id=rec.cat_id AND rec.rec_description LIKE '%".$searchString."%'";
               break;
            default:
               $nothing = "";
         }
         $result = dbquery($sql);
         $rows = dbrows($result);
         opentable($locale['REC044']);
            if ($rows != 0) {
               while($data = dbarray($result)) {
                  echo "<a href='recipes.php?action=view&amp;rec_id=".$data['rec_id']."'>".$data['rec_name']."</a><br />";
                  if($searchCat=="k") {
                     $keywords = preg_replace("/".$searchString."/", "<strong>".$searchString."</strong>", $data['rec_keywords']);
                     echo "<em>".$locale['REC103']."</em>: ".$keywords." - <em>".$locale['REC102']."</em>: ".$data['descr'];
                  } else if ($searchCat=="d") {
                     $description = preg_replace("/".$searchString."/", "<strong>".$searchString."</strong>", $data['descr']);
                     echo "<em>".$locale['REC103']."</em>: ".$data['rec_keywords']." - <em>".$locale['REC102']."</em>: ".$description;
                  } else {
                     echo "<em>".$locale['REC103']."</em>: ".$data['rec_keywords']." - <em>".$locale['REC102']."</em>: ".$data['descr'];
                  }
                  echo "<br /><em>".$locale['REC203']."</em>: ".$data['cat_name']."<br /><br />";
               }
               echo "<center><br />".$locale['REC045'].$rows.$locale['REC110']."<br /><br /></center>";
            } else {
               echo "<center><br />".$locale['REC045']."0".$locale['REC110']."<br /><br /></center>";
            }
         closetable();
      }
   } else if(isset($_GET['cat_id'])) {
      // Print all recipes in the category
      $cat_id = isNum($_GET['cat_id']) ? (int) $_GET['cat_id'] : -1;
      printCategoryContents($cat_id);
   } else if(isset($_GET['action'])) {
      $action = trim(stripinput($_GET['action']));
      $rec_id = isNum($_GET['rec_id']) ? (int) $_GET['rec_id'] : -1;
      $write = canEditRecipe($rec_id);
      switch ($action) {
         case "view":
            printRecipeDetails($rec_id);
            break;
         case "addIng":
            if ($write) {
               $amount = substr(trim(stripinput($_POST['txt_amount'])),0, $recipe_ingAmount_maxLength);
               $type = substr(trim(stripinput($_POST['txt_type'])),0,$recipe_ingType_maxLength);
               if ($amount == "" || $type == "") {
                  // nada
               } else {
                  $sql = "INSERT INTO ".DB_RECIPES_INGREDIENTS." (rec_id, ing_amount, ing_type) "
                       ."values (".$rec_id.", '".$amount."', '".$type."')";
                  $result = dbquery($sql);
               }
               printRecipeDetails($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "recEdit":
            if ($write) {
               $recipe = dbarray(dbquery("SELECT * FROM ".DB_RECIPES_RECIPE." WHERE rec_id=".$rec_id));
               printRecipeForm($recipe['rec_id'], $recipe['rec_name'], $recipe['rec_keywords'], $recipe['cat_id'], $recipe['rec_description'], $recipe['rec_image'], "edit", "");
               printRecipeIngredients($rec_id);
               printRecipeProcedure($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "delIng":
            if ($write) {
               $ing = isNum($_GET['ing_id']) ? (int) $_GET['ing_id'] : -1;
               if ($ing != -1) {
                  dbquery("DELETE FROM ".DB_RECIPES_INGREDIENTS." WHERE rec_id=".$rec_id." AND ing_id=".$ing);
               }
               printRecipeDetails($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "addStep":
            // check ownership
                                if (!isset($_POST['lstStepTypes'])) $_POST['lstStepTypes'] ='';
            if ($write) {
          $_POST['lstStepTypes'] ='';
               $type = substr(trim(stripinput($_POST['lstStepTypes'])),0,$recipe_stepType_maxLength);
               $action = trim(stripinput($_POST['txt_action']));
               $neworder = dbarray(dbquery("select COALESCE(max(pro_order),0) as new from ".DB_RECIPES_PROCEDURE." where rec_id=".$rec_id));
               $neworder = (int) $neworder['new'];
               $neworder++;
               $sql = "INSERT INTO ".DB_RECIPES_PROCEDURE." (rec_id, pro_type, pro_order, pro_text) VALUES (".$rec_id.", '".$type."', ".$neworder.", '".$action."')";
               dbquery($sql);
               printRecipeDetails($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "stepEdit":
            printRecipeDetails($rec_id);
            break;
         case "stepEdited":
            // check ownership
            if ($write) {
          $_POST['lstStepTypes'] ='';
               $step_id = isNum($_POST['hidStepId']) ? (int) $_POST['hidStepId'] : -1;
               $step_type = substr(trim(stripinput($_POST['lstStepTypes'])), 0, $recipe_stepType_maxLength);
               $step_text = trim(stripinput($_POST['txt_action']));
               if ($step_id != -1) {
                  dbquery("UPDATE ".DB_RECIPES_PROCEDURE." SET pro_type='".$step_type."', pro_text='".$step_text."' WHERE pro_id=".$step_id);
               }
               printRecipeDetails($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "stepDelete":
            // check ownership
            if ($write) {
               $stepid = isNum($_GET['step']) ? (int) $_GET['step'] : -1;
               $step = dbarray(dbquery("SELECT * FROM ".DB_RECIPES_PROCEDURE." WHERE rec_id=".$rec_id." AND pro_id=".$stepid));
               $order = (int) $step['pro_order'];
               $delSql = "DELETE FROM ".DB_RECIPES_PROCEDURE." WHERE pro_id=".$stepid;
               $updateSql = "UPDATE ".DB_RECIPES_PROCEDURE." SET pro_order=pro_order-1 WHERE rec_id=".$rec_id." AND pro_order>".$order;
               dbquery($delSql);
               dbquery($updateSql);
               printRecipeDetails($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "stepUp":
            // check ownership
            if ($write) {
               $stepid = isNum($_GET['step']) ? (int) $_GET['step'] : -1;
               $step = dbarray(dbquery("SELECT * FROM ".DB_RECIPES_PROCEDURE." WHERE pro_id=".$stepid));
               $swapfrom = (int) $step['pro_order'];
               if ($swapfrom != 0) {
                  $swapto = $swapfrom -1;
                  $other = dbarray(dbquery("SELECT pro_id, pro_order FROM ".DB_RECIPES_PROCEDURE." WHERE rec_id=".$rec_id." AND pro_order<".$swapfrom." ORDER BY pro_order DESC LIMIT 0,1"));
                  $result = dbquery("UPDATE ".DB_RECIPES_PROCEDURE." SET pro_order=pro_order+1 WHERE rec_id=".$rec_id." AND pro_id=".$other['pro_id']);
                  $result = dbquery("UPDATE ".DB_RECIPES_PROCEDURE." SET pro_order=pro_order-1 WHERE rec_id=".$rec_id." AND pro_id=".$step['pro_id']);
               }
               printRecipeDetails($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "stepDown":
            // check ownership
            if ($write) {
               $stepid = isNum($_GET['step']) ? (int) $_GET['step'] : -1;
               $step = dbarray(dbquery("SELECT * FROM ".DB_RECIPES_PROCEDURE." WHERE pro_id=".$stepid));
               $swapfrom = (int) $step['pro_order'];
               $swapto = $swapfrom +1;
               $other = dbarray(dbquery("SELECT pro_id, pro_order FROM ".DB_RECIPES_PROCEDURE." WHERE rec_id=".$rec_id." AND pro_order>".$swapfrom." ORDER BY pro_order ASC LIMIT 0,1"));
               $result = dbquery("UPDATE ".DB_RECIPES_PROCEDURE." SET pro_order=pro_order-1 WHERE rec_id=".$rec_id." AND pro_id=".$other['pro_id']);
               $result = dbquery("UPDATE ".DB_RECIPES_PROCEDURE." SET pro_order=pro_order+1 WHERE rec_id=".$rec_id." AND pro_id=".$step['pro_id']);
               printRecipeDetails($rec_id);
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "recDelete":
            // check ownership
            if ($write) {
               $image = dbarray(dbquery("SELECT rec_image FROM ".DB_RECIPES_RECIPE." WHERE rec_id=".$rec_id));
               deleteRecipeImage($image['rec_image']);
               dbquery("DELETE FROM ".DB_RECIPES_PROCEDURE." WHERE rec_id=".$rec_id);
               dbquery("DELETE FROM ".DB_RECIPES_INGREDIENTS." WHERE rec_id=".$rec_id);
               dbquery("DELETE FROM ".DB_RECIPES_RECIPE." WHERE rec_id=".$rec_id);
               dbquery("DELETE FROM ".DB_COMMENTS." WHERE comment_item_id='$rec_id' and comment_type='R'");
               dbquery("DELETE FROM ".DB_RATINGS." WHERE rating_item_id='$rec_id' and rating_type='R'");

               opentable($locale['REC113']);
                  echo "<center><table width='500'>\n<tr>\n<td align='center'>".$locale['REC114']."</td>\n</tr>\n</table>\n</center>";
               closetable();
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         default:
            redirect("recipes.php");
            break;
      }
   } else if (isset($_POST['hid_action'])) {
      $action = trim(stripinput($_POST['hid_action']));
      switch ($action) {
         case "new":
            if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
               $cats = dbrows(dbquery("SELECT * FROM ".DB_RECIPES_CATEGORIES.""));
               if ($cats > 0) {
                  $error = "";
                  $name = trim(stripinput($_POST['txt_name']));
                  if ($name == "") {
                     $error .= $locale['REC912']."<br />";
                  }
                  $keywords = trim(stripinput($_POST['txt_keywords']));
                  $catid = isNum($_POST['lst_categories']) ? (int) $_POST['lst_categories'] : -1;
                  $exists = dbarray(dbquery("SELECT COUNT(cat_id) as CATS FROM ".DB_RECIPES_CATEGORIES." WHERE cat_id=".$catid));
                  if ($exists['CATS'] == "0") {
                     $error .= $locale['REC913']."<br />";
                  }
                  $description = trim(stripinput($_POST['txt_description']));
                  $imagefile = $_FILES['fil_recipeimage']['tmp_name'];
                  $imagefilesize = $_FILES['fil_recipeimage']['size'];
                  $imagename = $_FILES['fil_recipeimage']['name'];
                  if ($imagefile != "") {
                     $imageok = checkImage($imagefile, $imagefilesize);
                  } else {
                     $imageok = true;
                  }
                  if (is_bool($imageok) && $imageok == true && $catid != -1 && $error == "") {
                     $rec_id = dbarray(dbquery("SELECT MAX(rec_id) as id FROM ".DB_RECIPES_RECIPE.""));
                     $rec_id = (int) $rec_id['id'];
                     $rec_id++;
                     if ($imagefile != "") {
                        $image = saveRecipeImage($imagefile, $imagename, $rec_id);
                     } else {
                        $image = "";
                     }
                     $sql = "INSERT INTO ".DB_RECIPES_RECIPE." (rec_id, cat_id, rec_keywords, rec_description, user_id, rec_name, rec_image) "
                          ."values (".$rec_id.", ".$catid.", '".$keywords."', '".$description."',  ".$userdata['user_id'].",  '".$name."', '".$image."')";
                     $result = dbquery($sql);
                     $data = dbarray(dbquery("SELECT max(rec_id) as id FROM ".DB_RECIPES_RECIPE." WHERE user_id=".$userdata['user_id']." AND rec_name='".$name."'"));
                     $rec_id = $data['id'];
                     opentable($locale['REC112']);
                        echo "<center>".$locale['REC111']."</center>";
                     closetable();
                     printRecipeDetails($rec_id);
                  } else {
                     $error .= $imageok;
                     printRecipeForm("", $name, $keywords, $catid, $description, "", "new", $error);
                  }
               }
            } else {
               printRecipeSearchForm("", "i", "");
               printCategoryList();
               if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                  printRecipeForm("", "", "", "", "", "", "new", "");
               }
            }
            break;
         case "edit":
            $rec_id = isNum($_POST['hid_recid']) ? (int) $_POST['hid_recid'] : -1;
            if ($rec_id != -1) {
               $write = canEditRecipe($rec_id);
               if ($write) {
                  $recipe = dbarray(dbquery("SELECT * FROM ".DB_RECIPES_RECIPE." WHERE rec_id=".$rec_id));
                  $error = "";
                  $name = substr(trim(stripinput($_POST['txt_name'])),0, $recipe_name_maxLength);
                  if ($name == "") {
                     $error .= $locale['REC912']."<br />";
                  }
                  $keywords = substr(trim(stripinput($_POST['txt_keywords'])), 0, $recipe_keywords_maxLength);
                  $catid = isNum($_POST['lst_categories']) ? (int) $_POST['lst_categories'] : -1;
                  $exists = dbarray(dbquery("SELECT COUNT(cat_id) as CATS FROM ".DB_RECIPES_CATEGORIES." WHERE cat_id=".$catid));
                  if ($exists['CATS'] == "0") {
                     $error .= $locale['REC913']."<br />";
                  }
                  $description = trim(stripinput($_POST['txt_description']));
                  $imagefile = $_FILES['fil_recipeimage']['tmp_name'];
                  $imagefilesize = $_FILES['fil_recipeimage']['size'];
                  $imagename = $_FILES['fil_recipeimage']['name'];
                  if ($imagefile != "") {
                     $imageok = checkImage($imagefile, $imagefilesize);
                  } else {
                     $imageok = true;
                  }
                  if (is_bool($imageok) && $imageok == true && $error == "") {
                     if ($imagefile != "") {
                        $image = saveRecipeImage($imagefile, $imagename, $rec_id);
                        deleteRecipeImage($recipe['rec_image']);
                     } else {
                        $image = $recipe['rec_image'];
                     }
                     if ($error == "") {
                        if ($catid != -1 && $rec_id != -1 && $name != "") {
                           $sql = "UPDATE ".DB_RECIPES_RECIPE.""
                                ." SET cat_id=".$catid.", rec_keywords='".$keywords."', rec_description='".$description."', rec_name='".$name."', rec_image='".$image."' WHERE rec_id=".$rec_id."";
                           $result = dbquery($sql);
                           printRecipeDetails($rec_id);
                        } else {
                           redirect("recipes.php");
                        }
                     } else {
                        printRecipeForm($rec_id, $name, $keywords, $catid, $description, $image, "edit", $error);
                     }
                  }
               } else {
                  printRecipeSearchForm("", "i", "");
                  printCategoryList();
                  if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
                     printRecipeForm("", "", "", "", "", "", "new", "");
                  }
               }
            } else {
               redirect("recipes.php");
            }
            break;
         default:
            redirect("recipes.php");
            break;
      }
   } else {
      printRecipeSearchForm("", "i", "");
      printCategoryList();
      if (checkgroup($recipe_settings['usergroup']) || checkgroup($recipe_settings['moderatorgroup'])) {
         printRecipeForm("", "", "", "", "", "", "new", "");
      }
   }
}

require_once THEMES."templates/footer.php";
?>






Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Thomas_D
#19 Udskriv indlæg
Lagt på d. 13-05-2011 20:20
Brugers avatar

Super bruger


Antal indlæg: 1102
Tilmeldt: 06.05.09
Sidst set: 27.04.13
On/Offline: Offline
Status:
Så er man kommet lidt igang igen :-)
Dagens humør:

 
Vedhæfter lige en ændret version, pak den ud og upload den...

Jeg har nu kun lavet linien i anden kolonne da linierne kan forskubbes hvis alle opskrifter ikke er på 3 linier som dine nuværende 3 er Tup
Thomas_D tilknyttede følgende fil:
Download fil recipes.zip Download fil
Til forsiden  Til toppen af forum  Til bunden af forum
www.bylov-damsgaard.dk
Fyrsting
#20 Udskriv indlæg
Lagt på d. 13-05-2011 20:28
Brugers avatar

Super bruger


Antal indlæg: 1780
Tilmeldt: 26.04.08
Sidst set: 18.12.13
On/Offline: Offline
Status:
Ingen status er valgt
Dagens humør:

 
Perfekt Clap

Tak for hjælpen Music det pyntede Tup



Mindeord:
Fyrsting har valgt at forlade os.
Alt det gode hun har gjort for os her på siden.

Ære være hendes minde
R.I.P. Fyrsting 1968-2016


ju_dk
Ejer og administrator
PHPFusion-Tips.dk
Til forsiden  Til toppen af forum  Til bunden af forum
Spring til debat:
 
Lignende tråde
Debat Forum Svar Nyeste indlæg
recipe_infusion billedfiler MOD's og Elementer 4 23-02-2011 13:59
lave recipe_infusion om til market plads Infusioner 11 23-10-2009 20:00