'Italiano','ln_code'=>'it','code'=>'a'),array('language'=>'English','ln_code'=>'en','code'=>'b')); // To define inline: Languages_list=array(array('language'=>'Italiano','ln_code'=>'it','code'=>'a')); // To lookup table: $Languages_list='languages'; $THIS_PAGE=$_SERVER['PHP_SELF']; //////////////////////////////////////// define('DEF_IMG_FONT','Arialbd.TTF'); // define('DEF_IMG_FONT','AVANGELI.TTF'); // define('DEF_IMG_FONT','ARIALN.TTF'); // define('DEF_IMG_FONT','Arial.ttf'); // define('IMG_RESIZER',C_O.'iw/irs.php'); require(C_O.'local_inc/setup.php'); require(C_O.'inc/invars.php'); require(C_O.'inc/css_emu.php'); require(C_O.'inc/img_writer.php'); require(C_O.'inc/chunks.php'); require(C_O.'inc/navigation.php'); require(C_O.'inc/database_utils.php'); require(C_O.'inc/generic_utils.php'); require(C_O.'inc/universalsessionids.php'); require(C_O.'inc/image_resizing.php'); require(C_O.'inc/swf.php'); //////////////////////////////////////// //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// STARTUP & PARAMETERS // // // $ITEMS_PER_PAGE=5; $OUT=''; mycontenttype(); extract(AcceptInVars(array('ln'=>'Ln','c'=>'Cat','cl'=>'Client','i'=>'ItemId','p'=>'Page'))); db_StartConnectionArea(); // $CSS_EMU_STYLES=ReadCSSFile(C_O.'templates/css_emu.css'); //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// INIT LANGUAGES // // // $Languages=array(); if(!isset($Languages_list)) $Languages_list='languages'; if(!is_array($Languages_list)) { $Languages_list=DBCollect($Languages_list,'',array('active'=>'true'),'',''); } foreach($Languages_list as $LItm) { if($Ln=='') $Ln=$LItm['code']; $Languages[$LItm['code']]=$LItm; } $LANG_CODE=$Languages[$Ln]['ln_code']; header('Content-Language: '.$LANG_CODE); ModifyInVars(array('ln'=>$Ln),array()); //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// INIT LOCALE TEXTS: $L // // // $L=array(); $Lang=DBCollect('locale_strings','',array(),'',''); foreach($Lang as $LItm) { $L[$LItm['code']]=$LItm[$Ln.'-text']; } //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// CHUNK OPTIONS // // // include(C_O.'local_inc/default_chunks.php'); //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// INIT MAIN TEMPLATE // // // $MAIN_TEMPL=array(); $MAIN_TEMPL_READ=@implode('',@file(C_O.'templates/main.html')); $MAIN_TEMPL_READ=explode('',$MAIN_TEMPL_READ); $IsName=true; foreach($MAIN_TEMPL_READ as $TemplPiece) { if($IsName) { $LastName=trim($TemplPiece); if(substr($LastName,0,2)=='') { $LastName=substr($LastName,2,-1); } } else { $MAIN_TEMPL[$LastName]=$TemplPiece; } $IsName=!$IsName; } /////////////// //////// ///// //// CAN READ ADDITIONAL TEMPLATES HERE // // $LOCAL_PAGE_TEMPL=array(); // if($Cat=='aaaa') { // $LOCAL_PAGE_TEMPL_READ=@implode('',@file(C_O.'templates/aaaa.html')); //} //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// PREPARING TEMPLATE OUTPUTS // // // // PREPARING JAVASCRIPTS $SCRIPTS=''; // PREPARING INLINE CSS $STYLES=''; $MAIN_OUPUTS=array( '@@_TITLE_@@'=>$L['home_title'], '@@_LOGO_ALT_@@'=>$L['home_title'], '@@_HOME_LINK_@@'=>'/', '@@_DESCRIPTION_@@'=>$L['home_description'], '@@_KEYWORDS_@@'=>$L['home_keywords'], '@@_LANG_CODE_@@'=>$LANG_CODE, '@@_MORE_STYLES_@@'=>'', '@@_MORE_HEADS_@@'=>$SCRIPTS, '@@_BACKGROUND_@@'=>'#efefef', '@@_LANGUAGE_SWITCHER_@@'=>'', '@@_MAIN_MENU_@@'=>'', '@@_CONTENT_@@'=>'', ); //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// LANGUAGE SWITCHER // // // // $LngSep=AIWriteText($L['_separator_lang_'],0,'language_link_sep'); $ThisChunk=ChunkDuplicate($LANGUAGE_SEP_CHUNK,array('CHUNK_CONTENT'=>$L['_separator_lang_'])); $LngSep=(WriteChunk($ThisChunk)); $Sep=''; $LANGUAGE_SWITCHER=''; foreach($Languages as $id=>$LangData) { $LangLabel=$LangData['language']; $LangUrl=LinkEnt(BuildLink($in,'u',$THIS_PAGE,array('con'=>TRUE,'cou'=>TRUE,'town'=>TRUE),array('ln'=>$id))); if($id!=$Ln) { $ThisChunk=ChunkDuplicate($LANGUAGE_LINK_CHUNK,array('CHUNK_CONTENT'=>$LangLabel,'ADDVARS'=>ModifiedInVars(array('ln'=>$id)))); $LangLink=(WriteChunk($ThisChunk)); // print_r($ThisChunk); } else { $ThisChunk=ChunkDuplicate($LANGUAGE_SEL_CHUNK,array('CHUNK_CONTENT'=>$LangLabel,'ADDVARS'=>ModifiedInVars(array('ln'=>$id)))); $LangLink=(WriteChunk($ThisChunk)); // print_r($ThisChunk); } $LANGUAGE_SWITCHER.=$Sep.$LangLink; $Sep=$LngSep; } $MAIN_OUPUTS['@@_LANGUAGE_SWITCHER_@@']=$LANGUAGE_SWITCHER; //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// BASIC NAVIGATION // // // $NavigationInfo=array( 'cats'=>array( 'KEY'=>'id', 'KEY_VAR'=>'c', 'DISPLAY'=>array($Ln.'-title'), 'IN'=>array(), 'WHERE'=>array(), 'SORT'=>'`sort_order` ASC,`id` ASC', 'SKIPVARS'=>array('i','p','cl'), 'CHUNK'=>$STD_MENU_ITEM_CHUNK, 'CHUNK_SEL'=>$STD_MENU_ITEM_SEL_CHUNK, ), 'clients'=>array( 'KEY'=>'id', 'KEY_VAR'=>'cl', 'DISPLAY'=>array($Ln.'-title'), 'IN'=>array(), 'WHERE'=>'', 'SORT'=>'`sort_order` ASC,`id` ASC', 'SKIPVARS'=>array('i','p','c'), 'CHUNK'=>$STD_MENU_ITEM_CHUNK, 'CHUNK_SEL'=>$STD_MENU_ITEM_SEL_CHUNK, ), ); $Menus=NavigateBy($NavigationInfo,$L['menu_label_all']); // print_r($Menus); $MenuOutput=array(); foreach($Menus as $Cnt=>$CurMenu) { $MenuOutput[$Cnt]=(ExplodeList($CurMenu,'ProcessMenuItem',$Cnt,', ')); } $Where=array(); if($Client!='') $Where['client_id']=$Client; if($Cat!='') $Where['cat_id']=$Cat; if($Page=='') $Page=0; $St=$Page*$ITEMS_PER_PAGE; $Items_list=DBCollect('photos','',$Where,'','`sort_order` DESC,`date_y` DESC,`date_m` DESC,`date_d` DESC,`id` DESC',$St.','.$ITEMS_PER_PAGE); $Items_count=CountItems('photos','',$Where); $HOME_URL=UrlTo($THIS_PAGE,array(),array('i','c','cl','p'),''); $MAIN_OUPUTS['@@_CATS_MENU_@@']=$MenuOutput['cats']; $MAIN_OUPUTS['@@_CLIENTS_MENU_@@']=$MenuOutput['clients']; $MAIN_OUPUTS['@@_HOME_LINK_@@']=$HOME_URL; $MAIN_OUPUTS['@@_FACEBOOK_LINK_@@']=$L['contact_facebook']; $MAIN_OUPUTS['@@_FACEBOOK_ALT_@@']=$L['label_facebook']; $MAIN_OUPUTS['@@_TWITTER_LINK_@@']=$L['contact_twitter']; $MAIN_OUPUTS['@@_TWITTER_ALT_@@']=$L['label_twitter']; $MAIN_OUPUTS['@@_YOUTUBE_LINK_@@']=$L['contact_youtube']; $MAIN_OUPUTS['@@_YOUTUBE_ALT_@@']=$L['label_youtube']; $PAGES_ITEM_OUPUTS=array(); $PAGES_ITEM_OUPUTS['@@_TITLE_@@']='1'; $PAGES_ITEM_OUPUTS['@@_URL_@@']='#'; $OUT.=ProcessOutputs($MAIN_TEMPL['OPEN_SITE'],$MAIN_OUPUTS); if($ItemId=='') { //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// HOME // // // $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_LIST_START'],array()); foreach($Items_list as $iKey=>$iVal) { $ITEM_OUPUTS=array(); // if(trim($iVal['url'])!='') $URL=$iVal['url']; // else $URL=UrlTo($THIS_PAGE,array('i'=>$iVal['id']),array(),''); $ItemImageCode=ImageCut($iVal['image1'],680,400,$iVal[$Ln.'-title'],'item_image',NextImageId()); $ITEM_OUPUTS['@@_TITLE_@@']=CleanHtmlText($iVal[$Ln.'-title']); $ITEM_OUPUTS['@@_SUBTITLE_@@']=CleanHtmlText($iVal[$Ln.'-subtitle']); $ITEM_OUPUTS['@@_TEXT_@@']=CleanHtmlText($iVal[$Ln.'-text']); $ITEM_OUPUTS['@@_URL_@@']=$URL; $ITEM_OUPUTS['@@_URL_TITLE@@']=CleanHtmlText($iVal['url_text']); $ITEM_OUPUTS['@@_IMAGE_@@']=$ItemImageCode; $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_LIST_ITEM'],$ITEM_OUPUTS); } $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_LIST_END'],array()); $OUT.=ProcessOutputs($MAIN_TEMPL['PAGES_LIST_START'],array()); $OUT.=PageMenu($ITEMS_PER_PAGE,$Items_count,$Page,$MAIN_TEMPL['PAGES_LIST_ITEM'],$MAIN_TEMPL['PAGES_LIST_ITEM_SEL'],'p'); $OUT.=ProcessOutputs($MAIN_TEMPL['PAGES_LIST_END'],array()); } else { //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// CONTENT PAGE // // // $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_VIEW_START'],array()); $TheItem=ConversionLookup('photos','id',$ItemId,''); $ImagesAndOptions=GetAdminImagesWithOption($TheItem,'half',3); // Leave first for home, second for top.. $Images=$ImagesAndOptions[0]; $Options=$ImagesAndOptions[1]; $ImgHeight=1024; if(FALSE!==strpos(strtolower($TheItem['image2']),'.flv',0)) $ImgHeight=400; $ItemImageCode=ImagePreview($TheItem['image2'],680,$ImgHeight,$TheItem[$Ln.'-title'],'item_image',NextImageId()); if($ItemImageCode=='') $ItemImageCode='
MISSING IMAGE (or wrong format)
'; $ITEM_OUPUTS=array(); if(trim($TheItem['credits'])!='') { $ITEM_OUPUTS['@@_CREDITS_LABEL_@@']=$L['label_credits'].':'; $ITEM_OUPUTS['@@_CREDITS_VALUE_@@']=$TheItem['credits']; } $ITEM_OUPUTS['@@_TITLE_@@']=CleanHtmlText($TheItem[$Ln.'-title']); $ITEM_OUPUTS['@@_SUBTITLE_@@']=CleanHtmlText($TheItem[$Ln.'-subtitle']); $ITEM_OUPUTS['@@_TEXT_@@']=CleanHtmlText($TheItem[$Ln.'-text']); $ITEM_OUPUTS['@@_URL_@@']=$TheItem['url']; $ITEM_OUPUTS['@@_URL_TITLE@@']=CleanHtmlText($TheItem['url_text']); $ITEM_OUPUTS['@@_IMAGE_@@']=$ItemImageCode; $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_VIEW_ITEM_START'],$ITEM_OUPUTS); $Fullsizes=array(680,1024); $Halfsizes=array(332,1024); $Count=0; foreach($Images as $Cnt=>$ImageItem) { $ImageHalf=$Options[$Cnt]; $ThisImageId=NextImageId(); if($ImageHalf=='true') { if(($Count % 2)==0) $LeftRightFull='left'; else $LeftRightFull='right'; $ImgHeight=$Halfsizes[1]; if(FALSE!==strpos(strtolower($ImageItem),'.flv',0)) $ImgHeight=195; $ItemImageCode=ImagePreview($ImageItem,$Halfsizes[0],$ImgHeight,$TheItem[$Ln.'-title'].' ('.($Cnt+2).')'.$Count,'item_view_image_'.$LeftRightFull,$ThisImageId); $Count++; } else { $LeftRightFull='full'; $ImgHeight=$Fullsizes[1]; if(FALSE!==strpos(strtolower($ImageItem),'.flv',0)) $ImgHeight=400; $ItemImageCode=ImagePreview($ImageItem,$Fullsizes[0],$ImgHeight,$TheItem[$Ln.'-title'].' ('.($Cnt+2).')'.$Count,'item_view_image_'.$LeftRightFull,$ThisImageId); $Count=0; } WriteImageFadeIn($ThisImageId); if($ItemImageCode=='') $ItemImageCode='
WRONG IMAGE FORMAT
'; $ITEM_OUPUTS=array(); $ITEM_OUPUTS['@@_IMAGE_@@']=$ItemImageCode; $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_VIEW_ITEM_IMAGE'],$ITEM_OUPUTS); } $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_VIEW_ITEM_END'],array()); $OUT.=ProcessOutputs($MAIN_TEMPL['CONTENT_VIEW_END'],array()); } $FOOTER_OUPUTS=array( '@@_FOOTER_LEFT_@@'=>CleanHtmlText($L['footer_left']), '@@_FOOTER_RIGHT_@@'=>CleanHtmlText($L['footer_right']), '@@_CATS_MENU_TITLE_@@'=>CleanHtmlText($L['cats_title']), '@@_CATS_MENU_@@'=>$MenuOutput['cats'], '@@_CLIENTS_MENU_TITLE_@@'=>CleanHtmlText($L['clients_title']), '@@_CLIENTS_MENU_@@'=>$MenuOutput['clients'], '@@_CONTACT_TITLE_@@'=>CleanHtmlText($L['contact_title']), '@@_CONTACT_INFO_@@'=>'
'.CleanHtmlText($L['about_us_text']).'
'.CleanHtmlText($L['contact_address']).'
'.CleanHtmlText($L['contact_email']).'
', ); $FOOTER_OUPUTS['@@_FACEBOOK_LINK_@@']=$L['contact_facebook']; $FOOTER_OUPUTS['@@_FACEBOOK_ALT_@@']=$L['label_facebook']; $FOOTER_OUPUTS['@@_TWITTER_LINK_@@']=$L['contact_twitter']; $FOOTER_OUPUTS['@@_TWITTER_ALT_@@']=$L['label_twitter']; $FOOTER_OUPUTS['@@_YOUTUBE_LINK_@@']=$L['contact_youtube']; $FOOTER_OUPUTS['@@_YOUTUBE_ALT_@@']=$L['label_youtube']; $OUT.=ProcessOutputs($MAIN_TEMPL['CLOSE_SITE'],$FOOTER_OUPUTS); echo($OUT); //////////////////////////////////////////////////////////// ////////////////////////////// /////////////// //////// ///// //// FUNCTIONS // // // function ProcessOutputs($Template,$Replacements) { $Repl2=array(); foreach($Replacements as $key=>$val) { $Repl2['']=$val; } $OUT=str_replace(array_keys($Repl2),array_values($Repl2),$Template); return $OUT; } function AddZero($n) { if($n<=9) return '0'.$n; else return ''.$n; } function PageMenu($ItemsPerPage,$TotalItems,$CurrPage,$TEMPLATE,$TEMPLATE_SEL,$PageVar='p') { global $THIS_PAGE; $OUT=''; $NumOfPages=ceil(($TotalItems+.0)/($ItemsPerPage+.0)); for($i=0;$i<$NumOfPages;$i++) { $URL=UrlTo($THIS_PAGE,array($PageVar=>$i),array(),''); $PAGES_OUPUTS=array( '@@_TITLE_@@'=>AddZero($i+1), '@@_URL_@@'=>$URL, ); if($i==$CurrPage) { $OUT.=ProcessOutputs($TEMPLATE_SEL,$PAGES_OUPUTS); } else { $OUT.=ProcessOutputs($TEMPLATE,$PAGES_OUPUTS); } } return $OUT; } function ProcessMenuItem($Item,$Class,$Num,$Total,$Sep='') { global $STD_MENU_ITEM_CHUNK,$STD_MENU_ITEM_SEL_CHUNK; $IsFirst=($Num==0); $IsLast=($Num==$Total-1); $CCont=$Item['DISPLAY'][0]; if(!$IsLast) $CCont.=$Sep; if($Item['SELECTED']!=true) { $ThisChunk=ChunkDuplicate($Item['CHUNK'], array('CHUNK_CONTENT'=>$CCont,'ADDVARS'=>$Item['ADDVARS'],'SKIPVARS'=>$Item['SKIPVARS'],) ); $MenuLink=(WriteChunk($ThisChunk,$IsLast)); } else { $ThisChunk=ChunkDuplicate($Item['CHUNK_SEL'], array('CHUNK_CONTENT'=>$CCont,'ADDVARS'=>$Item['ADDVARS'],'SKIPVARS'=>$Item['SKIPVARS']) ); $MenuLink=(WriteChunk($ThisChunk,$IsLast)); // print_r($ThisChunk); } return '
  • '.$MenuLink.'
  • '; } function ExplodeList($TheList,$ProcessItemFunction,$Class,$Sep='') { $Out=''; $Len=count($TheList); $RealCount=0; foreach($TheList as $Cnt=>$ListItem) { $Out.=$ProcessItemFunction($ListItem,$Class,$RealCount,$Len,$Sep); $RealCount++; } if(trim($Out)!='') return '
    '; else return ''; } function CleanALabText($t) { $Src='/(A)(Lab)/i'; $Dst='\1Lab'; $t=preg_replace($Src,$Dst,$t); return $t; } function CleanHtmlText($t) { if(strlen($t)>0) $t{0}=strtoupper($t{0}); $t=myhtmlentities($t); $t=str_replace("\r\n","\r",$t); $t=str_replace("\n","\r",$t); $t=str_replace("\r","
    ",$t); return $t; } function CleanUrl($t) { $t=myhtmlentities($t); return $t; } // Font color function NextImageId() { global $g_TheNextImageIdCounter; if(!isset($g_TheNextImageIdCounter)) $g_TheNextImageIdCounter=1; else $g_TheNextImageIdCounter++; return 'p_im_'.$g_TheNextImageIdCounter; } function WriteImageFadeIn($nme) { return ''; } function GetAdminImagesWithOption($AdminItem,$Option,$Start=1,$End=30) { $Images=array(); $Options=array(); for($i=$Start;$i<=$End;$i++) { if(isset($AdminItem['image'.$i]) && $AdminItem['image'.$i]!='') { $Images[]=$AdminItem['image'.$i]; $Options[]=$AdminItem[$Option.$i]; } } return array($Images,$Options); } function GetAdminImages($AdminItem,$Start=1,$End=30) { $Images=array(); for($i=$Start;$i<=$End;$i++) { if(isset($AdminItem['image'.$i]) && $AdminItem['image'.$i]!='') { $Images[]=$AdminItem['image'.$i]; } } return $Images; }