$value) {
$recipe[$key] = explode('|', $value);
$optindex = $recipe[$key][0];
$option[ $optindex ] = array();
unset($recipe[$key][0]);
if(count($recipe[$key])) {
$c = 0;
foreach($recipe[$key] as $optval) {
$option[ $optindex ][$c] = $optval;
$c++;
}
}
}
$recipe = '';
$set_it = false;
if(isset($option['LOCALE']) && !empty($option['LOCALE'][0])) {
$_oldLocale = setlocale(LC_ALL, NULL);
setlocale(LC_ALL, $option['LOCALE'][0]);
}
if(empty($_getVar['recipesearch'])) { // && isset($option['LISTCAT'])
//$recipe .= listRecipeCategories($option);
$recipe .= showRecipeSeach();
} else {
$recipe .= listRecipes();
}
if(isset($_oldLocale)) {
setlocale(LC_ALL, $_oldLocale);
}
return $recipe;
}
function showRecipeSeach() {
global $_getVar;
$search = file_get_contents(PHPWCMS_TEMPLATE.'inc_cntpart/recipe/search/search.html');
return ($search ? $search : '');
}
function listRecipeCategories($option) {
global $_getVar;
$cat = _dbQuery('SELECT acontent_text FROM '.DB_PREPEND.'phpwcms_articlecontent WHERE acontent_type=26 AND acontent_trash=0');
$cat_all = '';
if($cat) {
foreach($cat as $temp) {
if($temp['acontent_text']) {
if($cat_all) $cat_all .= ', ';
$cat_all .= $temp['acontent_text'];
}
}
$cat_all = convertStringToArray($cat_all);
sort($cat_all, SORT_LOCALE_STRING);
} else {
$cat_all = array();
}
$cat = '';
unset($_getVar['recipecat']);
$base_link = 'index.php' . returnGlobalGET_QueryString('htmlentities');
foreach($cat_all as $temp) {
$cat .= '
'.$temp.'' . LF;
}
if($cat) {
$cat = LF . '' . LF;
}
if(isset($option['LISTCAT'][0])) $cat = $option['LISTCAT'][0] . $cat;
if(isset($option['LISTCAT'][1])) $cat .= $option['LISTCAT'][1];
return $cat;
}
function listRecipes($alt=NULL) {
global $_getVar;
$order_by = array();
/*
$recipecat = trim($recipecat);
if($recipecat == '') {
return listRecipeCategories( array( 'LISTCAT'=> array() ) );
}
*/
$sql = "SELECT * FROM " . DB_PREPEND . "phpwcms_articlecontent ";
$sql .= "INNER JOIN " . DB_PREPEND . "phpwcms_article ON ";
$sql .= DB_PREPEND . "phpwcms_article.article_id = " . DB_PREPEND . "phpwcms_articlecontent.acontent_aid ";
$sql .= "WHERE acontent_type=26 AND acontent_visible = 1 ";
$sql .= "AND acontent_trash = 0 AND ";
if(!empty($_getVar['recipecat'])) {
$sql .= "acontent_text LIKE '%".aporeplace($_getVar['recipecat'])."%' AND ";
}
if(!empty($_getVar['recipecal']) && intval($_getVar['recipecal'])) {
$_getVar['recipecal'] = intval($_getVar['recipecal']);
switch($_getVar['recipecal']) {
//bis 400 kcal
case 1: $sql .= "( SUBSTRING(acontent_alink, 3) / 4.1868) <= 400 AND ";
$order_by[] = 'acontent_alink';
break;
//400 bis 600 kcal
case 2: $sql .= "( SUBSTRING(acontent_alink, 3) / 4.1868) > 400 AND ";
$sql .= "( SUBSTRING(acontent_alink, 3) / 4.1868) <= 600 AND ";
$order_by[] = 'acontent_alink';
break;
//über 600 kcal
case 3: $sql .= "( SUBSTRING(acontent_alink, 3) / 4.1868) > 600 AND ";
$order_by[] = 'acontent_alink';
break;
}
}
if(!empty($_getVar['recipetime']) && intval($_getVar['recipetime'])) {
$_getVar['recipetime'] = intval($_getVar['recipetime']);
switch($_getVar['recipetime']) {
//bis 20 Min.
case 1: $sql .= "( SUBSTRING(acontent_media, 3) * 1) <= 20 AND ";
$order_by[] = 'acontent_media';
break;
//20 bis 40 Min.
case 2: $sql .= "( SUBSTRING(acontent_media, 3) * 1) > 20 AND ";
$sql .= "( SUBSTRING(acontent_media, 3) * 1) <= 40 AND ";
$order_by[] = 'acontent_media';
break;
//über 40 Min.
case 3: $sql .= "( SUBSTRING(acontent_media, 3) * 1) > 40 AND ";
$order_by[] = 'acontent_media';
break;
}
}
if(!empty($_getVar['recipetext'])) {
$text = optimizeForSearch(rawurldecode($_getVar['recipetext']));
$text = str_replace(array('UPDATE', 'INSERT', 'SELECT', 'FROM', 'DROP', 'CREATE', "'"), '', $text);
$text = convertStringToArray($text, ' ');
$t = array();
$sql .= '( ';
foreach($text as $value) {
$t[] = '( CONCAT(acontent_newsletter, '.DB_PREPEND."phpwcms_article.article_title, acontent_title) LIKE '%".aporeplace($value)."%' )";
}
$sql .= implode(' AND ', $t).' ) AND ';
}
$order_by[] = 'article_title';
$sql .= DB_PREPEND . "phpwcms_article.article_deleted=0 AND ";
$sql .= DB_PREPEND . "phpwcms_article.article_begin < NOW() AND ";
$sql .= DB_PREPEND . "phpwcms_article.article_end > NOW() ";
$sql .= 'ORDER BY '.implode(', ', $order_by);
$result = _dbQuery($sql);
$result_listing = '';
if(is_array($result) && count($result)) {
$articles = array();
foreach($result as $value) {
$value['article_image'] = unserialize($value['article_image']);
$articles[ $value['article_id'] ] = $value;
}
$result_listing = list_articles_summary($articles);
}
return $result_listing;
}
$content["all"] = preg_replace_callback('/\{RECIPES:(.*?)\}/s', 'doRecipes', $content["all"]);
}
?>