type = $type; $this->to = array(); $this->cc = array(); $this->bcc = array(); $this->attachements = array(); $this->boundary = md5(uniqid(time())); $this->bnext = '--'.$this->boundary."\n"; $this->bend = '--'.$this->boundary.'--'."\n"; } function setType($type = 'html') { $this->type = $type; } function getType() { return $this->type; } function addTo($address, $name="") { if (!empty($name)) { $add = '"'.$name.'" <'.$address.'>'; if (!in_array($add,$this->to)) $this->to[] = $add; } else { if (!in_array($address,$this->to)) $this->to[] = $address; } } function setTo($to) { $this->to = $to; } function getTo() { return $this->to; } function setFrom($address, $name ="") { if (!empty($name)) { $this->from = '"'.$name.'" <'.$address.'>'; } else $this->from = $address; } function getFrom() { return $this->from; } function setCharset($charset) { $this->charset = $charset; } function getCharset() { return $this->charset; } function addCc($address, $name="") { if (!empty($name)) { $add = '"'.$name.'" <'.$address.'>'; if (!in_array($add,$this->cc)) $this->cc[] = $add; } else { if (!in_array($address,$this->cc)) $this->cc[] = $address; } } function setCc($cc) { $this->cc = $cc; } function getCc() { return $this->cc; } function addBcc($address, $name = "") { if (!empty($name)) { $add = '"'.$name.'" <'.$address.'>'; if (!in_array($add,$this->bcc)) $this->bcc[] = $add; } else { if (!in_array($address,$this->bcc)) $this->bcc[] = $address; } } function setBcc($bcc) { $this->bcc = bcc; } function getBcc() { return $this->bcc; } function setSubject($subject) { $this->subject = $subject; } function getSubject() { return $this->subject; } function setMessage($message) { $this->plainMessage = $message; } function getMessage() { return $this->plainMessage; } function addHTMLMessage($message) { $this->htmlMessage.=$message; } function getHTMLMessage() { return $this->htmlMessage; } function fileAdd($filename) { $filedata = implode(file($filename), ''); return chunk_split(base64_encode($filedata)); } function addImg($filename, $type='gif',$alt) { $this->headers.=$this->bnext; switch ($type) { case 'gif':$tp = "image/gif"; break; case 'jpg':$tp = "image/jpeg"; break; case 'png':$tp = "image/png"; break; case 'bmp':$tp = "image/bmp"; break; } //$this->headers .= "Content-Type: $tp; name=\"$filename\"\n"; $this->headers .= "Content-Type: application/zip; name=\"$filename\"\n"; $this->headers .= "Content-Transfer-Encoding: base64\n"; $cid = md5(uniqid(time())); $this->headers .= "Content-ID: <$cid>\n"; $this->headers .= "Content-Disposition: inline; filename=\"$filename\"\n\n"; $this->headers .= $this->fileAdd($filename); $this->htmlMessage .= ''.$alt.''; } function attach($filename) { $this->headers.=$this->bnext; $this->headers.="Content-Type: application/zip; name:\"$filename\"\n"; $this->headers.="Content-Transfer-Encoding: base64\n"; $this->headers.="Content-Disposition: attachment; filename=\"$filename\"\n\n"; $this->headers.=$this->fileAdd($filename); } function preHeaders() { if ($this->type === 'html') { /* $this->headers = "Reply-To: jaroslav.resovsky@gmail.com\n Return-Path: Jaroslav Resovsky \n Message-ID: <".time()."-".$this->from.">\n X-Mailer: PHP v".phpversion()."\n ".$this->headers;*/ $this->headers = "Content-Type: multipart/mixed; boundary=\"$this->boundary\"\n".$this->headers; $this->headers = "MIME-Version: 1.0\n".$this->headers; } if (!empty($this->bcc)) $this->headers = "Bcc: ".implode(',',$this->bcc)."\n".$this->headers; if (!empty($this->cc)) $this->headers = "Cc: ".implode(',',$this->cc)."\n".$this->headers; $this->headers = "From: ".$this->from."\n". "Message-ID: <".time()."-recepty@kucharka.antechnet.sk>\n". "X-Mailer: PHP v5.2.0\n" .$this->headers; } function send() { $this->preHeaders(); echo(''); if ($this->type === 'plain') { return mail(implode(',',$this->to),$this->subject,$this->plainMessage,$this->headers); } elseif ($this->type === 'html') { $headers = "Content-Type: text/html"; if ($this->charset) { $headers.="; charset=".$this->charset."\n"; } else { $headers.="\n"; } $headers .= "Content-Transfer-Encoding: 7bit\n"; $headers .= "Content-Disposition: inline\n\n"; $this->htmlMessage = $this->bnext.$headers.$this->htmlMessage."\n".$this->bend; $this->headers.=$this->htmlMessage; ini_set("sendmail_from", "recepty@kucharka.antechnet.sk"); $x = mail(implode(',',$this->to),$this->subject,'',$this->headers); return $x; } else return false; } } ?> ]*>", "", $string); // $string = ereg_replace("", "", $string); $string = ereg_replace("([^<])([*_/])([^>])", "\\1\\2\\3", $string); // $string = ereg_replace("", "*", $string); // $string = ereg_replace("", "*", $string); // $string = ereg_replace("", "_", $string); // $string = ereg_replace("", "_", $string); // $string = ereg_replace("", "/", $string); // $string = ereg_replace("", "/", $string); $string = ereg_replace("
", "", $string); $string = ereg_replace("
", "", $string); // $string = ereg_replace("

", "", $string); // $string = ereg_replace("

", "", $string); return $string; } function text2html($string) { $domain = "(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9])+"; $path = "[^\t \r\n<>]+[^\t \r\n,.:;'\"\)<>!]"; $substitutes = array( /*array( 'in' => "\\\\(.)", 'out' => "\\1", 'contains' => 0 ),*/ /*array( 'in' => "(([a-zA-Z0-9_.-])+@$domain)", 'out' => "\\1", 'contains' => 0 ),*/ /*array( 'in' => "((http|ftp|https|gopher|news|telnet|wais)://$domain(:[0-9]*)?/?($path)?)", 'out' => "\\1", 'contains' => 0 ),*/ /* array( 'in' => "\*([^*]*[^*\])\*", 'out' => "\\1", 'contains' => 1 ), array( 'in' => "_([^_]*[^_\])_", 'out' => "\\1", 'contains' => 1 ), array( 'in' => "/([^/]*[^ "\\1", 'contains' => 1 )*/ ); while (strlen($string)) { $changed = false; reset($substitutes); while (list(, $subst) = each($substitutes)) { if (ereg("^" . $subst['in'], $string, $match)) { $string = substr($string, strlen($match[0])); $done = ereg_replace("^" . $subst['in'], $subst['out'], $match[0]); if ($subst['contains']) { $done = text2html($done); } $string2 .= $done; $changed = true; break; } } if (!$changed) { $string2 .= $string[0]; $string = substr($string, 1); } } $string2 = nl2br($string2); return $string2; } ?>id; return $lid; } function addAttribs($polia,$id) { foreach ($polia as $pole) { $strSQL = 'INSERT INTO attr_recipe(recipe_fk,attribute_fk) values ('.$id.','.$pole.');'; mysql_query($strSQL,$_SESSION['db']); } } function getAllAttributes() { $strSQL = 'SELECT * FROM attribute ORDER BY id'; $res = mysql_query($strSQL,$_SESSION['db']); $result = array(); $data='data'; while ($data) { $data = mysql_fetch_object($res); if ($data) { $result[$data->id] = $data->name; } } return $result; } function getAllRecipes($bookid) { $strSQL = 'SELECT * FROM recipe WHERE book_fk='.$bookid.' '.$_SESSION['sort']; $res = mysql_query($strSQL,$_SESSION['db']); return $res; } function getAllRecipesInBooks($id) { $strSQL = 'SELECT * FROM recipe WHERE book_fk IN (SELECT DISTINCT books.id FROM books,user_book WHERE books.owner_fk='.$id.' OR (user_book.user_fk='.$id.' AND user_book.book_fk=books.id)) OR book_fk=0 '.$_SESSION['sort']; return mysql_query($strSQL,$_SESSION['db']); } function getRecId($id) { $strSQL = 'SELECT * FROM recipe WHERE id='.$id; return mysql_query($strSQL,$_SESSION['db']); } function getRecAttr($id) { $strSQL = 'SELECT DISTINCT * FROM attr_recipe WHERE recipe_fk='.$id; return mysql_query($strSQL,$_SESSION['db']); } function getAttrName($id) { $strSQL = 'SELECT name FROM attribute WHERE id='.$id; $res = mysql_query($strSQL,$_SESSION['db']); $data = mysql_fetch_object($res); return $data->name; } function validateUser($Login,$Password) { $strSQL = 'SELECT id,pwd,defbook FROM user WHERE login=\''.$Login.'\''; $res = mysql_query($strSQL,$_SESSION['db']); $data = mysql_fetch_object($res); if (md5($Password) == $data->pwd) { $_SESSION['logged_id'] = $data->id; $_SESSION['defbook'] = $data->defbook; $_SESSION['currentbook'] = $data->defbook; return true; } else { return false; } } function setDefaultBook($id) { $strSQL = 'UPDATE user SET defbook='.$id.' WHERE id='.$_SESSION['logged_id']; mysql_query($strSQL,$_SESSION['db']); $_SESSION['defbook'] = $id; } function getAllBooks($id) { $strSQL = 'SELECT DISTINCT books.id,books.name,books.description,books.owner_fk FROM books,user_book WHERE books.owner_fk='.$id.' OR (user_book.user_fk='.$id.' AND user_book.book_fk=books.id) ORDER BY books.name COLLATE cp1250_general_ci'; return mysql_query($strSQL,$_SESSION['db']); } function getUser($id) { $strSQL = 'SELECT name FROM user WHERE id='.$id; $res = mysql_query($strSQL,$_SESSION['db']); $data = mysql_fetch_object($res); return $data->name; } function getUsr($id) { $strSQL = 'SELECT * FROM user WHERE id='.$id; $res = mysql_query($strSQL,$_SESSION['db']); $data = mysql_fetch_object($res); return $data; } function getBook($id) { $strSQL = 'SELECT * from books WHERE id='.$id; $res = mysql_query($strSQL, $_SESSION['db']); return mysql_fetch_object($res); } function getBookName($id) { $data = getBook($id); return $data->name; } function alterBook($Nazov,$Popis,$id) { $strSQL = 'UPDATE books SET name=\''.$Nazov.'\', description=\''.$Popis.'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); } function addBook($Nazov,$Popis) { $strSQL = 'INSERT INTO books(name,description,owner_fk) VALUES(\''.$Nazov.'\',\''.$Popis.'\','.$_SESSION['logged_id'].')'; mysql_query($strSQL,$_SESSION['db']); } function getAllCategory() { $strSQL = 'SELECT * FROM attribute ORDER BY name'; return mysql_query($strSQL,$_SESSION['db']); } function getCat($id) { $strSQL = 'SELECT * from attribute WHERE id='.$id; $res = mysql_query($strSQL, $_SESSION['db']); return mysql_fetch_object($res); } function alterCat($Nazov,$id) { $strSQL = 'UPDATE attribute SET name=\''.$Nazov.'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); } function addCat($Nazov) { $strSQL = 'INSERT INTO attribute(name) VALUES (\''.$Nazov.'\')'; mysql_query($strSQL,$_SESSION['db']); } function getAllUsers() { $strSQL = 'SELECT * FROM user ORDER BY name'; $res = mysql_query($strSQL,$_SESSION['db']); return $res; } function checkOwnership($id,$setid) { $strSQL = 'SELECT owner_fk FROM books WHERE id='.$setid; $res = mysql_query($strSQL,$_SESSION['db']); $data = mysql_fetch_object($res); if ($data->owner_fk == $id) { return true; } else return false; } function checkRights($id,$setid) { $strSQL = 'SELECT user_fk FROM user_book WHERE book_fk='.$setid; $res = mysql_query($strSQL, $_SESSION['db']); if (mysql_numrows($res)==0) return false; $data = 'data'; while ($data) { $data = mysql_fetch_object($res); if ($data) { if ($data->user_fk == $id) return true; } } return false; } function grant($usrid,$bookid) { $strSQL = 'INSERT INTO user_book (user_fk,book_fk) VALUES ('.$usrid.','.$bookid.')'; mysql_query($strSQL,$_SESSION['db']); } function revoke($usrid,$bookid) { $strSQL = 'DELETE FROM user_book WHERE user_fk='.$usrid.' AND book_fk='.$bookid; mysql_query($strSQL,$_SESSION['db']); } function isFavorite($id,$did) { $strSQL = 'SELECT * FROM favorites WHERE user_fk='.$id.' AND recipe_fk='.$did; $res = mysql_query($strSQL,$_SESSION['db']); if (mysql_numrows($res) > 0) { return true; } else return false; } function removeFavorite($showid,$id) { $strSQL = 'DELETE FROM favorites WHERE user_fk='.$id.' AND recipe_fk='.$showid; mysql_query($strSQL,$_SESSION['db']); } function addFavorite($showid,$id) { $strSQL = 'INSERT INTO favorites (user_fk,recipe_fk) VALUES ('.$id.','.$showid.')'; mysql_query($strSQL,$_SESSION['db']); } function removeRecommended($showid) { $strSQL = 'UPDATE recipe SET recommended=0 WHERE id='.$showid; mysql_query($strSQL,$_SESSION['db']); } function addRecommended($showid) { $strSQL = 'UPDATE recipe SET recommended=1 WHERE id='.$showid; mysql_query($strSQL,$_SESSION['db']); } function sendRecipe($Adresa,$id,$showid) { $recepty = getRecId($showid); $recept = mysql_fetch_object($recepty); $mail = new Mail(); $mail->setCharset('windows-1250'); $mail->addTo($Adresa); $mail->setFrom('Recepty z Kuchárky'); // $mail->setSubject($recept->name); $mail->setSubject('Dostali ste recept z Kuchárky'); $mail->addHTMLMessage('Recept '.$recept->name.''); $mail->addHTMLMessage('

'.$recept->name.'



'); if (!empty($recept->description)) { $mail->addHTMLMessage('

'); $mail->addImg('images/popis.gif','gif','Popis'); $mail->addHTMLMessage(' Popis receptu

'.$recept->description.'

'); } if (!empty($recept->ingr)) { $mail->addHTMLMessage('

'); $mail->addImg('images/prisady.gif','gif','Prisady'); $mail->addHTMLMessage(' Potrebné prísady

'.$recept->ingr.'

'); } if (!empty($recept->howto)) { $mail->addHTMLMessage('

'); $mail->addImg('images/postup.gif','gif','Postup'); $mail->addHTMLMessage(' Postup

'.$recept->howto.'

'); } if (!empty($recept->rtime)) { $mail->addImg('images/time.gif','gif','Čas prípravy'); $mail->addHTMLMessage(' Čas prípravy '.$recept->rtime.' minút
'); } if (!empty($recept->narocnost)) { $mail->addImg('images/narocnost.gif','gif','Náročnosť'); $mail->addHTMLMessage(' Náročnosť: '); for ($i=0;$i<$recept->narocnost;$i++) { $mail->addImg('images/nar.gif','gif','Stupeň náročnosti'); } $mail->addHTMLMessage(''); switch ($recept->narocnost) { case 1:$mail->addHTMLMessage(' Jednoduchý recept');break; case 2:$mail->addHTMLMessage(' Stredne náročný recept');break; case 3:$mail->addHTMLMessage(' Zložitý recept');break; } $mail->addHTMLMessage('
'); } $printed = false; if (!empty($recept->recommended)) { if ($recept->recommended == 1) { $mail->addHTMLMessage('

'); $printed = true; $mail->addImg('images/star.gif','gif','Odporučený recept'); $mail->addHTMLMessage(' Tento recept je medzi odporučenými receptami
'); } } if (isFavorite($_SESSION['logged_id'],$recept->id)) { if (!$printed) { $mail->addHTMLMessage('

'); $printed = true; } $mail->addImg('images/favorite.gif','gif','Môj obľúbený recept'); $mail->addHTMLMessage(' Tento recept je medzi mojimi obľúbenými receptami'); } $mail->addHTMLMessage(''); return $mail->send(); } function getAllComments($id) { $strSQL = 'SELECT * FROM notes WHERE recipe_fk='.$id.' ORDER BY datum DESC'; return mysql_query($strSQL,$_SESSION['db']); } function addComment($id,$showid,$Note) { $strSQL = 'INSERT INTO notes (user_fk,recipe_fk,note) VALUES ('.$id.','.$showid.',\''.$Note.'\');'; mysql_query($strSQL,$_SESSION['db']); } function getVoteCas($id,$showid) { $strSQL = 'SELECT vote FROM votes_c WHERE user_fk='.$id.' AND recipe_fk='.$showid; $res = mysql_query($strSQL,$_SESSION['db']); if (mysql_numrows($res) > 0) { $d = mysql_fetch_object($res); return $d->vote; } else return 0; } function getVoteNarocnost($id,$showid) { $strSQL = 'SELECT vote FROM votes_n WHERE user_fk='.$id.' AND recipe_fk='.$showid; $res = mysql_query($strSQL,$_SESSION['db']); if (mysql_numrows($res) > 0) { $d = mysql_fetch_object($res); return $d->vote; } else return 0; } function getVoteChut($id,$showid) { $strSQL = 'SELECT vote FROM votes_t WHERE user_fk='.$id.' AND recipe_fk='.$showid; $res = mysql_query($strSQL,$_SESSION['db']); if (mysql_numrows($res) > 0) { $d = mysql_fetch_object($res); return $d->vote; } else return 0; } function removeVoteI($id,$showid) { $strSQL = 'DELETE FROM votes_c WHERE user_fk='.$id.' AND recipe_fk='.$showid; mysql_query($strSQL,$_SESSION['db']); } function addVoteI($id,$showid,$vote) { $strSQL = 'INSERT INTO votes_c(user_fk,recipe_fk,vote) VALUES ('.$id.','.$showid.','.$vote.')'; mysql_query($strSQL,$_SESSION['db']); } function removeVoteN($id,$showid) { $strSQL = 'DELETE FROM votes_n WHERE user_fk='.$id.' AND recipe_fk='.$showid; mysql_query($strSQL,$_SESSION['db']); } function addVoteN($id,$showid,$vote) { $strSQL = 'INSERT INTO votes_n(user_fk,recipe_fk,vote) VALUES ('.$id.','.$showid.','.$vote.')'; mysql_query($strSQL,$_SESSION['db']); } function removeVoteC($id,$showid) { $strSQL = 'DELETE FROM votes_t WHERE user_fk='.$id.' AND recipe_fk='.$showid; mysql_query($strSQL,$_SESSION['db']); } function addVoteC($id,$showid,$vote) { $strSQL = 'INSERT INTO votes_t(user_fk,recipe_fk,vote) VALUES ('.$id.','.$showid.','.$vote.')'; mysql_query($strSQL,$_SESSION['db']); } function getAverageI($showid) { $strSQL = 'SELECT * FROM votes_c WHERE recipe_fk='.$showid; $res = mysql_query($strSQL,$_SESSION['db']); $hlasy = 'hlasy'; $pocet = 0; $suma = 0; if (mysql_numrows($res) > 0) { while ($hlasy) { $hlasy = mysql_fetch_object($res); if ($hlasy) { $pocet++; $suma+=$hlasy->vote; } } $moznasuma = 10 * $pocet; $perc = ($suma / $moznasuma)*100; return $perc; } else return 0; } function getAverageN($showid) { $strSQL = 'SELECT * FROM votes_n WHERE recipe_fk='.$showid; $res = mysql_query($strSQL,$_SESSION['db']); $hlasy = 'hlasy'; $pocet = 0; $suma = 0; if (mysql_numrows($res) > 0) { while ($hlasy) { $hlasy = mysql_fetch_object($res); if ($hlasy) { $pocet++; $suma+=$hlasy->vote; } } $moznasuma = 10 * $pocet; $perc = ($suma / $moznasuma)*100; return $perc; } else return 0; } function getAverageC($showid) { $strSQL = 'SELECT * FROM votes_t WHERE recipe_fk='.$showid; $res = mysql_query($strSQL,$_SESSION['db']); $hlasy = 'hlasy'; $pocet = 0; $suma = 0; if (mysql_numrows($res) > 0) { while ($hlasy) { $hlasy = mysql_fetch_object($res); if ($hlasy) { $pocet++; $suma+=$hlasy->vote; } } $moznasuma = 10 * $pocet; $perc = ($suma / $moznasuma)*100; return $perc; } else return 0; } function changeUserLogin($id,$txtLogUS) { $strSQL = 'SELECT * FROM user WHERE login=\''.$txtLogUS.'\' AND id != '.$id.';'; $res = mysql_query($strSQL,$_SESSION['db']); if (mysql_numrows($res)>0) return false; $strSQL = 'UPDATE user SET login=\''.$txtLogUS.'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); return true; } function changeUserName($id,$txtMenUS) { $strSQL = 'UPDATE user SET name=\''.$txtMenUS.'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); } function changeUserEmail($id,$txtEmaUS) { $strSQL = 'UPDATE user SET email=\''.$txtEmaUS.'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); } function changeUserPassword($id,$txtPwdUS) { $strSQL = 'UPDATE user SET pwd=\''.md5($txtPwdUS).'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); } function changeUserRecEmails($id,$txtRecMails) { if ($txtRecMails == 'on') { $val = 1; } else $val = 0; $strSQL = 'UPDATE user SET rec_mails=\''.$val.'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); } function changeUserNewEmails($id,$txtNewMails) { if ($txtNewMails == 'on') { $val = 1; } else $val = 0; $strSQL = 'UPDATE user SET new_recipes=\''.$val.'\' WHERE id='.$id; mysql_query($strSQL,$_SESSION['db']); } function getRecommendedRecipes($book) { $strSQL = 'SELECT * FROM recipe WHERE book_fk='.$book.' AND recommended=1 '.$_SESSION['sort']; return mysql_query($strSQL,$_SESSION['db']); } function getAllRecommendedRecipes($id) { $strSQL = 'SELECT * FROM recipe WHERE recommended=1 AND book_fk IN (SELECT DISTINCT books.id FROM books,user_book WHERE books.owner_fk='.$id.' OR (user_book.user_fk='.$id.' AND user_book.book_fk=books.id)) '.$_SESSION['sort']; return mysql_query($strSQL,$_SESSION['db']); } function getFavoriteRecipes($id,$book) { $strSQL = 'SELECT * FROM recipe WHERE recipe.id IN (SELECT DISTINCT recipe_fk FROM favorites WHERE user_fk='.$id.' AND book_fk='.$book.') '.$_SESSION['sort']; return mysql_query($strSQL,$_SESSION['db']); } function getAllFavoriteRecipes($id) { $strSQL = 'SELECT * FROM recipe WHERE recipe.id IN (SELECT DISTINCT recipe_fk FROM favorites WHERE user_fk='.$id.' AND book_fk IN (SELECT DISTINCT books.id FROM books,user_book WHERE books.owner_fk='.$id.' OR (user_book.user_fk='.$id.' AND user_book.book_fk=books.id)) ) '.$_SESSION['sort']; return mysql_query($strSQL,$_SESSION['db']); } function saveHodnotenie($id,$val) { $strSQL = 'UPDATE recipe SET hodnotenie='.$val.' WHERE id='.$id; mysql_query($strSQL, $_SESSION['db']); } ?> Kuchárka 1.0 ©Jerry 2008 document.location.href=\'?x=rel\''); break; case "wl": $INCLUDE_SCRIPT="welcome.php"; $_SESSION['selectedMenu'] = 'uvod'; break; } } if (!$_SESSION['logged']) { $INCLUDE_SCRIPT="login.php"; } define("INCLUDE_SCRIPT",$INCLUDE_SCRIPT); ?>