"Type title here...","Description"=>"Type description here...","Language"=>"en-us","Copyright"=>"","Managing editor"=>"","Webmaster"=>"","Category"=>"","Category domain"=>"","Cloud domain"=>"","Cloud port"=>"","Cloud path"=>"","Cloud reg proc"=>"","Cloud protocol"=>"","TTL"=>"","Rating"=>"","Skip hours"=>"","Skip days"=>"","Text input title"=>"","Text input description"=>"","Text input name"=>"","Text input link"=>"","Image"=>""); $use_html_inrss=TRUE; $use_creation_date_in_rss=FALSE; $category_name=array("General","Literature","Music","Movies"); $category_id=array(0,1,2,3); $category_color=array("#FFC18A","#F2BFBF","#FBF484","#CCFF00"); update_categories_list(); $page_charset='UTF-8'; $all_settings=f_read_file($blockedips_fname); $lang_l=array("full..."=>"full","view"=>"view","search"=>"search","archive"=>"archive","posted by"=>"posted by","comments"=>"comments","post a comment"=>"post comment","edit comment"=>"edit comment","your name"=>"your name","email address"=>"email address","url"=>"url","post"=>"submit","cancel"=>"cancel","delete"=>"delete","entries"=>"posts","add entry"=>"write post","edit"=>"edit","manage comments"=>"comments","logout"=>"logout","title"=>"title","posted at"=>"posted on","mass delete"=>"delete checked posts","edit entry"=>"edit post","category"=>"category","content"=>"content","created on"=>"created on","last modified on"=>"last modified on","uploaded image"=>"uploaded file","upload image"=>"upload file","visitor"=>"author","ip"=>"ip","host"=>"host","browser"=>"browser","all"=>"all","filter by category"=>"filter by category","none entries posted in your blog"=>"blog is empty","none comments posted in your blog"=>"no comments posted","none posts match your search criteria"=>"no posts match your search criteria","results"=>"results","field is required"=>"field is required","invalid email address"=>"invalid email address","only JPEG, JPG, PNG, GIF and mp3 files can be uploaded"=>"You can't upload this file. To check allowed file types, go to Settings.","comment note"=>"","permalink"=>"permalink","block ip"=>"block ip","unblock ip"=>"unblock ip","your IP is blocked"=>"Your IP is blocked. You are not allwed to post comments.","IP is blocked"=>"IP is blocked","IP already blocked"=>"IP already blocked","IP is unblocked"=>"IP is unblocked","check blocked ips"=>"check blocked ips","none blocked ips"=>"no blocked ips","blocked IPs"=>"blocked IPs","upload file types"=>"allowed upload file types","validator"=>"verification code","field should macth the text on the right"=>"field does not match the captcha text","creation date"=>"publish date","use this field"=>"Use this field only in case you want to set publish date&time other that the current date&time","settings saved"=>"settings saved","language"=>"language","keywords"=>"keywords","other settings"=>"settings","set target"=>"link target for uploaded file","send trackback to"=>"send trackback to URL","pinging blog"=>"pinging blog","status"=>"status","unapproved"=>"unapproved","approved"=>"approved","unapprove"=>"unapprove","approve"=>"approve","trackbacks"=>"trackbacks","trackback url"=>"trackback URL","excerpt"=>"excerpt","allow comments"=>"allow comments","allow trackbacks"=>"allow trackbacks","none trackbacks"=>"no trackbacks posted","save"=>"save","of"=>"of","first"=>"first","prev"=>"prev","next"=>"next","last"=>"last","tags"=>"tags","read all"=>"read all from","public rss"=>"public RSS in protected Blog","all tags"=>"view all tags","manage categories"=>"categories","name"=>"name","add category"=>"add new category","cat err msg"=>"You have to set both Name and Color for the category.","del comment msg"=>"Are you sure you want to delete this comment?","del entry msg"=>"Are you sure you want to delete this post?","del trackback msg"=>"Are you sure you want to delete this trackback?","del category msg"=>"Are you sure you want to delete this category?","already pinged"=>"already pinged","unpublished"=>"unpublished","published"=>"published","pending preview"=>"pending preview","use my own"=>"use my own set","Sunday"=>"Sunday","Monday"=>"Monday","Tuesday"=>"Tuesday","Wednesday"=>"Wednesday","Thursday"=>"Thursday","Friday"=>"Friday","Saturday"=>"Saturday","January"=>"January","February"=>"February","March"=>"March","April"=>"April","May"=>"May","June"=>"June","July"=>"July","August"=>"August","September"=>"September","October"=>"October","November"=>"November","December"=>"December","publish"=>"publish","unpublish"=>"unpublish","spam"=>"spam","reply"=>"reply","none_for_category"=>"this category is empty","visits"=>"visits","max filesize to upload"=>"max filesize to upload","ranking"=>"ranking","rankings"=>"rankings","r_bg_color"=>"Background color","r_num_bg_color"=>"Numbers background color","r_font_color"=>"Font color","tags_delimiter"=>"To define multiple tags (keywords), use comma as delimiter.","full article"=>"full article","change password"=>"change password","edit profile"=>"edit profile","duplicate"=>"duplicate","enable upload field"=>"Enable Upload field in Add Entry Form","public"=>"public","hidden"=>"hidden","accessibility"=>"accessibility","filter"=>"filter","all categories"=>"all categories","all periods"=>"all periods"); $month_name=$f_month_names; $day_name=$f_day_names; $lg_=''; update_language_set(); $nav_labels=array('first'=>$lang_l['first'],'prev'=>$lang_l['prev'],'next'=>$lang_l['next'],'last'=>$lang_l['last']); if($page_type=='podcast') $db_entries_fields='"Id","Category","Title","Subtitle","Author","Content","Explicit","Keywords","Duration","Block","Mediafile_Url","Mediafile_Size","Image_Url","Last_Modified","Publish_Status","User","Creation_Date","Accessibility"'.$f_lf; else $db_entries_fields='"Id","Category","Title","Content","Image_Url","Last_Modified","Allow_Comments","Allow_Pings","Entry_Excerpt","Keywords","Publish_Status","User","Creation_Date","Accessibility"'.$f_lf; $db_comments_fields='"Entry_Id","Timestamp","Visitor","EmailAddress","Url","Comments","IP","HOST","AGENT","Approved"'.$f_lf; $db_map_fields='"Entry_Id","Comments_Count"'.$f_lf; $db_trackbacks_map_fields='"Entry_Id","Trackbacks_Count"'.$f_lf; $db_trackbacks_fields='"Entry_Id","Timestamp","Blog_Name","Url","Title","Excerpt","Approved","IP","HOST","AGENT"'.$f_lf; //tb $db_pinged_blogs_fields='"Entry_Id","Pinged_Url"'.$f_lf; $db_domain_fields='"Id","Domain","Add1","Add2"'.$f_lf; //fl studio only $entry_status=array('0'=>ucfirst($lang_l['unpublished']),'1'=>ucfirst($lang_l['published']),'2'=>ucfirst($lang_l['pending preview'])); $entry_accessibility=array('0'=>ucfirst($lang_l['hidden']),'1'=>ucfirst($lang_l['public'])); $blog_css=''sectionh1','templatestyle'=>'rvts0','fontid'=>'SECTIONH1_FONT','fontsize'=>'SECTIONH1_FONTSIZE','fontcolor'=>'SECTIONH1_FONTCOLOR'); $css_title=array('customstyle'=>'title','templatestyle'=>'rvts0','fontid'=>'TITLE_FONT','fontsize'=>'TITLE_FONTSIZE','fontcolor'=>'TITLE_FONTCOLOR'); $css_date=array('customstyle'=>'date','templatestyle'=>'rvts8','fontid'=>'DATE_FONT','fontsize'=>'DATE_FONTSIZE','fontcolor'=>'DATE_FONTCOLOR'); $css_content= array('customstyle'=>'content','templatestyle'=>'rvts8','fontid'=>'CONTENT_FONT','fontsize'=>'CONTENT_FONTSIZE','fontcolor'=>'CONTENT_FONTCOLOR'); $css_footer= array('customstyle'=>'footer','templatestyle'=>'rvts8','fontid'=>'FOOTER_FONT','fontsize'=>'FOOTER_FONTSIZE','fontcolor'=>'FOOTER_FONTCOLOR'); $css_urlfooter= array('customstyle'=>'urlfooter','templatestyle'=>'rvts12','fontid'=>'FOOTER_FONT','fontsize'=>'FOOTER_FONTSIZE','fontcolor'=>'FOOTER_FONTCOLOR'); $css_urlsidebar= array('customstyle'=>'urlsidebar','templatestyle'=>'rvts12','fontid'=>'SIDEBAR_FONT','fontsize'=>'SIDEBAR_FONTSIZE','fontcolor'=>'SIDEBAR_FONTCOLOR'); $css_urltitle= array('customstyle'=>'urltitle','templatestyle'=>'rvts4','fontid'=>'TITLE_FONT','fontsize'=>'TITLE_FONTSIZE','fontcolor'=>'TITLE_FONTCOLOR'); $css_catcolor=array('customstyle'=>'input1 catcolor','templatestyle'=>'input1','fontid'=>'CATEG_FONT','fontsize'=>'CATEG_FONTSIZE','fontcolor'=>'CATEG_FONTCOLOR'); $css_hr=array('templatestyle'=>'rvts0','customstyle'=>'hr','hrstyle'=>'HR_STYLE','hrcolor'=>'HR_COLOR'); $file_type_array=array('jpg','jpeg','png','gif','tif','tiff','bmp','mp3','htm','html','txt','rtf','doc','xls','pdf','ppt','pps','wmf','zip'); $file_type_array_podcast=array('jpg','jpeg','png','gif'); $media_types_itunes=array( "m4a"=>"audio/x-m4a","mp3"=>"audio/mpeg","mov"=>"video/quicktime","mp4"=>"video/mp4","m4v"=>"video/x-m4v","pdf"=>"application/pdf"); $media_types=array('asf','avi','wm','wma','wmd','wmv','mp3','wav','au','aif','aiff','mov','qt','ram','ra','rm','rms','rmn','r1m','rom','rp','rtx','rt','rmx','mns','mnd','3gp','m4a','mp4','m4v','mpg','mpeg','swf','flv','ogg','pdf'); $innova_script= << MSG; $innova_script_definition= << var oEdit1=new InnovaEditor("oEdit1");oEdit1.width="100%";oEdit1.height="350px";oEdit1.btnPrint=false;oEdit1.useTab=false; oEdit1.btnPreview=false;oEdit1.btnPaste=false;oEdit1.btnPasteText=true;oEdit1.btnFlash=true; oEdit1.btnMedia=true;oEdit1.btnSuperscript=true;oEdit1.btnSubscript=true;oEdit1.btnStrikethrough=true;oEdit1.btnClearAll=true;oEdit1.btnSave=false; oEdit1.arrStyle=[["BODY",false,"","font: 11px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;background: #ffffff;"],["a",false,"","font: 11px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;margin:0px;"],["p",false,"","text-indent:0px;padding:0px;margin:0px;"],["h1",false,"","font: bold 23px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;margin:0px;"],["h2",false,"","font: bold 17px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;margin:0px;"],["h3",false,"","font: bold 15px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#666666;margin:0px;"],["h4",false,"","font: bold 12px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;margin:0px;"],["h5",false,"","font: bold 11px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;margin:0px;"],["h6",false,"","font: 11px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;margin:0px;"],["h6",false,"","font: 11px Verdana, Geneva, Arial, Helvetica, sans-serif;color:#000000;margin:0px;"]]; oEdit1.cmdAssetManager="modalDialogShow('../innovaeditor/assetmanager/assetmanager.php?lang=english&root=../',640,465)"; oEdit1.customColors=["#ff4500","#ffa500","#808000","#4682b4","#1e90ff","#9400d3","#ff1493","#a9a9a9"]; oEdit1.mode="HTMLBody";oEdit1.REPLACE("htmlarea"); MSG; $innova_on_output=false; $ext_styles=array("sub","L","XL","XXL","XXXL","pageheader_my","plasak","Online_services","IndexBold","IndexBoldSub"); if($page_type=='blog') {$from_wiki="A weblog is a web-based publication consisting primarily of "; $from_wiki.="periodic articles (normally in reverse chronological order). Although most early weblogs were manually updated, tools to automate the "; $from_wiki.="maintenance of such sites made them accessible to a much larger population, and the use of some sort of browser-based software is now "; $from_wiki.="a typical aspect of \"blogging\". Blogs can be hosted by dedicated blog hosting services, or they can be run using blog software on "; $from_wiki.="regular web hosting services. Like other media, blogs often focus on a particular subject, such as food, politics, or local news. Some "; $from_wiki.="blogs function as online diaries. A typical blog combines text, images, and links to other blogs, web pages, and other media related "; $from_wiki.="to its topic. ".$f_br."To read more on the topic, visit"; } else { $from_wiki="Podcasting is the method of distributing multimedia files, such as audio programs or music videos, over the Internet for playback"; $from_wiki.=" on mobile devices and personal computers. Podcasts are distributed using either the RSS or Atom syndication formats. The term podcast, "; $from_wiki.="like \"radio\", can mean both the content and the method of delivery. The host or author of a podcast is often called "; $from_wiki.="a \"podcaster\". ".$f_br."To read more on the topic, visit "; } $hour=array('00','01','02','03','04','05','06','07','08','09','10'); $min_sec=array(); for($n=0; $n<60; $n++) { if($n<10) $min_sec[]='0'.strval($n); else $min_sec[]=strval($n); } // 00-59 $explicit=array('no','clean','yes'); $preview_on=false; $blogobj_params=''; $date_params=''; $datetime_params=''; $flash_tags_param=array(); $obj_prefix=($page_type=='podcast'?"PODCAST":"BLOG"); $admin_actions=array('postentry','index','del_entry','pub_entry','unpub_entry','duplicate','mng_comments','mng_tb','mng_settings','mng_categories','del_category','edit_category','add_category','approve_tb','unapprove_tb','del_tb','spam_tb','approve_cmt','unapprove_cmt','edit_comment','del_comment','spam_comment','reply_comment','configpass'); $input_nobr="',''); if($page_lang!='') $page_lang=strtoupper($page_lang); elseif(isset($_REQUEST['lang'])) $page_lang=strtoupper(f_strip_tags($_REQUEST['lang'])); else $page_lang='EZG'; if(!array_key_exists($page_lang,$f_names_lang_sets)) $page_lang='EZG'; $lg_=($page_lang=='EN' || $page_lang=='EZG'?'':'lang='.$page_lang); if($page_lang!='EZG') { $lang_set_results=f_read_lang_set($lang_set_fname,$page_lang,$page_type); if(isset($lang_set_results['day_name'])) $day_name=$lang_set_results['day_name']; if(isset($lang_set_results['month_name'])) $month_name=$lang_set_results['month_name']; if(isset($lang_set_results['lang_l'])) $lang_l=$lang_set_results['lang_l']; } else { foreach($lang_l as $k=>$v) { if(in_array($k,$f_day_names)) $new_day_name[]=$v; elseif(in_array($k,$f_month_names)) $new_month_name[]=$v; } if(isset($new_day_name)) $day_name=$new_day_name; if(isset($new_month_name)) $month_name=$new_month_name; } } function show_frontpage($action_id,$page_info) { global $page_id,$script_path,$full_script_path,$blog_css,$page_type,$doc_dir,$thispage_id,$rel_path,$db_entries_fname,$db_comments_fname, $db_entries_fields, $db_comments_fields,$db_map_fname,$db_trackbacks_fname,$db_trackbacks_fields,$blockedips_fname,$blog_template,$category_id, $category_name, $page_title,$month_name,$lang_l,$max_entries_on_fp,$obj_prefix,$lg_,$nav_labels,$enable_comments,$css_sectionh1,$css_urlsidebar, $blogobj_params,$datetime_params,$date_params,$f_ct,$f_br,$max_recent_entries,$max_recent_comments,$all_settings,$most_visted_enabled,$ranking_enabled,$show_old_posts_first,$flash_tags_param, $c_page; //$query_st_time=f_microtime_float(); $navigation_section=''; $incl_nav=true; $tags_param=50; $no_posts_msg=$f_br."".$lang_l['none posts match your search criteria'].""; if(isset($_GET['entry_id'])) $entry_id=intval($_GET['entry_id']); $indexes_to_be_listed=array(); $indexes_recent=array(); $indexes_most_visited=array(); $ids_to_be_listed=array(); $indexes_top_rank=array(); $show_archive_list=(isset($_GET['archive']) && !isset($_GET['category_id']) && !isset($_GET['category'])&& !isset($_GET['mon'])); $template_content=f_read_file($blog_template); // get content from source page $page_title=f_GFS($template_content,'',''); if((strpos($template_content,'%'.$obj_prefix.'_NAVIGATION%')!==false) || (strpos($template_content,'%NO_'.$obj_prefix.'_NAVIGATION%')!==false)) $incl_nav=false; $template_content=f_obj_div_replacing('%'.$obj_prefix.'_OBJECT%',$template_content); if(strpos($template_content,'_OBJECT%')===false) $template_content=str_replace('%'.$obj_prefix.'_OBJECT%','
%'.$obj_prefix.'_OBJECT%
',$template_content); if(strpos($template_content,'%'.$obj_prefix.'_OBJECT(')!==false) { $template_content=f_obj_clearing($obj_prefix."_OBJECT",$template_content); $blogobj_params_t=f_GFS($template_content,'%'.$obj_prefix.'_OBJECT(',')%'); $blogobj_params=f_p_tag_clearing($blogobj_params_t); $template_content=str_replace("%".$obj_prefix."_OBJECT(".$blogobj_params_t,"%".$obj_prefix."_OBJECT(".$blogobj_params,$template_content); $template_content=f_obj_div_replacing('%'.$obj_prefix.'_OBJECT('.$blogobj_params.')%',$template_content); $template_content=str_replace('%'.$obj_prefix.'_OBJECT('.$blogobj_params.')%','%'.$obj_prefix.'_OBJECT%',$template_content); $datetime_params=(strpos($blogobj_params,'%datetime[')!==false)? f_GFS($blogobj_params,'%datetime[',']%'): f_GFS($blogobj_params,'%DATETIME[',']%'); $date_params=(strpos($blogobj_params,'%date[')!==false)?f_GFS($blogobj_params,'%date[',']%'):f_GFS($blogobj_params,'%DATE[',']%'); } $template_content=f_build_logged_info($template_content,$page_id,$rel_path,$script_path,$lg_); if(strpos($template_content,'<'.'?')!==false) $template_content=f_eval_php($template_content); $fields_for_index_read=array('Id','Category','Creation_Date'); $tags_cloud=f_GFS($all_settings,'',''); // tags cloud $flash_tags_cloud=f_GFS($all_settings,'',''); if(strpos($template_content,'%FLASH_TAGS_CLOUD(')!==false) { $temp_par=f_GFS($template_content,'%FLASH_TAGS_CLOUD(',')%'); $flash_tags_param=explode(',',$temp_par); $template_content=str_replace('%FLASH_TAGS_CLOUD('.$temp_par.')%','%FLASH_TAGS_CLOUD%',$template_content); } if(strpos($template_content,'%TAGS_CLOUD(')!==false) { $tags_param=f_GFS($template_content,'%TAGS_CLOUD(',')%'); settype($tags_param,'integer'); $tags_cloud=''; $template_content=str_replace('%TAGS_CLOUD('.$tags_param.')%','%TAGS_CLOUD%',$template_content); } if(empty($tags_cloud) || empty($flash_tags_cloud) || isset($_GET['tag'])) $fields_for_index_read[]='Keywords'; $all_entries_indexes=extract_all_records_indexes($db_entries_fname,$db_entries_fields,$fields_for_index_read,($action_id=='entrypreview'?true:false)); // array with indexes $temp_ids_array=array();$need_sort=false; //sorting (if needed) foreach($all_entries_indexes as $k=>$v) { $temp_id=$v['Creation_Date']; settype($temp_id,'integer'); $temp_ids_array[]=$temp_id; if($temp_id',''); $newset_tag[]='v_'.$entry_id; $newset_data[]=(!empty($current_visits)?$current_visits+1:1); setcookie('visited_'.$page_id.intval($entry_id), md5(uniqid(mt_rand(),true)),$expire_timestamp); } if((strpos($blogobj_params,'%ranking%')!==false) && $ranking_enabled && $action_id=='ranking' && (!isset($_COOKIE['ranking_'.$page_id.$entry_id]))) { $current_value=0;$current_total=0; $rating_value=intval($_GET['value']); if(in_array($rating_value, array(1,2,3,4,5))) { $current_ranking=f_GFS($all_settings,'',''); if(!empty($current_ranking)) { $current_value=f_GFS($current_ranking,'',''); settype($current_value, 'integer'); $current_total=f_GFS($current_ranking,'',''); settype($current_total, 'integer'); } $newset_tag []='r_'.$entry_id; $newset_data []=''.($current_total+$rating_value).''.($current_value+1).''; setcookie('ranking_'.$page_id.intval($entry_id), md5(uniqid(mt_rand(),true)),$expire_timestamp); } } } } if(!empty($newset_tag)) { f_write_tagged_data($newset_tag,$newset_data,$blockedips_fname,$blog_template); $all_settings=f_read_file($blockedips_fname); $tags_cloud=f_GFS($all_settings,'',''); $flash_tags_cloud=f_GFS($all_settings,'',''); } if(isset($entry_id) && $action_id!='ranking') { foreach($all_entries_indexes as $k=>$v) {if($v['Id']==$entry_id){$indexes_to_be_listed[]=$v; break;}} $count_all_entries=1; } elseif(isset($_GET['category_id']) || isset($_GET['category'])) { $category=f_strip_tags(isset($_GET['category_id'])?$_GET['category_id']:$_GET['category']); $category=f_un_esc(urldecode($category)); $cat_id=($category=='All categories')?'-1':array_search($category,$category_name); $indexes_to_be_listed=array(); if($cat_id>=0) { foreach($all_entries_indexes as $k=>$v) { $ct=get_category_info($v['Category'],'name'); if($ct==$category || $v['Category']==$category) $indexes_to_be_listed[]=$v; } } else $indexes_to_be_listed=$all_entries_indexes; $count_all_entries=count($indexes_to_be_listed); } elseif(isset($_GET['mon'])) { $mon=intval($_GET['mon']); $year=intval($_GET['year']); $result=array(); foreach($all_entries_indexes as $k=>$v) {$ts=f_tzone_date($v['Creation_Date']); if((date('n',$ts)==$mon) && (date('Y',$ts)==$year)) $indexes_to_be_listed[]=$v;} $count_all_entries=count($indexes_to_be_listed); } elseif(isset($_GET['tag'])) { $tag=stripslashes(stripslashes(strtolower(urldecode(f_strip_tags($_GET['tag']))))); foreach($all_entries_indexes as $k=>$v) if(strpos(strtolower(f_sth_2(urldecode($v['Keywords']))),$tag)!==false) {$indexes_to_be_listed[]=$v;} $count_all_entries=count($indexes_to_be_listed); } elseif(isset($_GET['search_string']) || $show_archive_list) $count_all_entries=0; if($max_entries_on_fp!=0 && $count_all_entries>$max_entries_on_fp) // ids of entries to be listed on frontpage { if(isset($_GET['category_id']) || isset($_GET['category']) || isset($_GET['mon']) || isset($_GET['tag'])) $indexes_to_be_listed=array_slice($indexes_to_be_listed,($c_page-1)*$max_entries_on_fp,$max_entries_on_fp); else $indexes_to_be_listed=array_slice($all_entries_indexes,($c_page-1)*$max_entries_on_fp,$max_entries_on_fp); } else { if((empty($_GET) && $count_all_entries>0) || ($action_id=='ranking' && !isset($_GET['mon']) && !isset($_GET['tag']) && !isset($_GET['category']))) $indexes_to_be_listed=$all_entries_indexes; } foreach($indexes_to_be_listed as $k=>$v) $ids_to_be_listed[]=$v['Id']; if($max_recent_entries!=0) $indexes_recent=array_slice($all_entries_indexes,0,$max_recent_entries); else $indexes_recent=$all_entries_indexes; foreach($indexes_recent as $k=>$v) $ids_recent[]=$v['Id']; // ids of recent entries if(strpos($template_content,'%'.$obj_prefix.'_MOST_VISITED')!==false && $most_visted_enabled) { $indexes_most_visited=get_most_visited($all_entries_indexes); foreach($indexes_most_visited as $k=>$v) { $ids_most_visited[]=$v['Id']; $ids_most_value[]=$v['visits']; }// ids of most visited } if(strpos($template_content,'%'.$obj_prefix.'_TOP_RANK')!==false && $ranking_enabled) { $indexes_top_rank=get_top_rank($all_entries_indexes); foreach($indexes_top_rank as $k=>$v) $ids_top_rank[]=$v['Id']; // ids of most visited } //$rec_count=count($entries_records); $random_array=array(); $random_entries=array(); //for($i=0; $i<10; $i++) $random_array[]=rand (0,$rec_count); //foreach($random_array as $k=>$v) { $random_entries[]=$entries_records[$v]; } // get full records from db $all_indexes_to_fetch=array_merge($indexes_to_be_listed,$indexes_recent,$indexes_most_visited); $indexes_to_be_listed=array(); $indexes_recent=array(); $indexes_most_visited=array(); $indexes_top_rank=array(); $entries_records=extract_records_by_position($db_entries_fname,$db_entries_fields,$all_indexes_to_fetch); $all_indexes_to_fetch=array(); $entries_to_be_listed=array(); $entries_recent=array(); $entries_most_visited=array(); $entries_top_rank=array(); foreach($entries_records as $k=>$v) { if(in_array($v['Id'],$ids_to_be_listed)) $entries_to_be_listed[]=$v; if(in_array($v['Id'],$ids_recent)) $entries_recent[]=$v; if($most_visted_enabled && isset($ids_most_visited) && in_array($v['Id'],$ids_most_visited)) $entries_most_visited[]=$v; if($ranking_enabled && isset($ids_top_rank) && in_array($v['Id'],$ids_top_rank)) $entries_top_rank[]=$v; } if(!empty($entries_most_visited) && $most_visted_enabled) { foreach($entries_most_visited as $key=>$val) { $index=array_search($val['Id'],$ids_most_visited); if($index!==false) {$val['visits']=$ids_most_value[$index]; $temp[]=$val; $sort_by[]=$ids_most_value[$index];} } if(isset($temp) && !empty($temp)) { array_multisort($sort_by,SORT_DESC,SORT_NUMERIC,$temp); $entries_most_visited=$temp; } } $archive_entries=array(); foreach($all_entries_indexes as $k=>$v) { $archive_entries[]=array('mon'=>date('n',f_tzone_date($v['Creation_Date'])),'year'=>date('Y',f_tzone_date($v['Creation_Date']))); } $archive_entries=f_multi_unique($archive_entries); foreach($category_name as $k=>$v) { $cat_allocation[]=extract_category_entries($all_entries_indexes,$category_id[$k]); } $all_entries_indexes=array(); $comments_records=array(); if($enable_comments) { $comments_records=extract_all_records($db_comments_fname,$db_comments_fields); $comments_records=array_reverse($comments_records); if($max_recent_comments!=0) $comments_records=array_slice($comments_records,0,$max_recent_comments); } // building output if($action_id=='trackback' && $page_type=='blog') { $body_section=body_section_html(1,$entries_to_be_listed,$action_id); $trackbacks_records=extract_all_records($db_trackbacks_fname,$db_trackbacks_fields,$entry_id); $body_section.=trackbacks_html($entry_id,$trackbacks_records); } elseif(isset($entry_id) && !isset($_GET['comments']) && $action_id!='ranking') // specific entry { if(!empty($entries_to_be_listed[0])) $body_section=body_section_html(1,$entries_to_be_listed,$action_id,$incl_nav); else { $hidden_entry=extract_specific_entry($entry_id); if(!empty($hidden_entry) && $hidden_entry['Publish_Status']=='1') $body_section=body_section_html(1,array($hidden_entry),$action_id); else $body_section="This entry does not exist."; } } elseif(isset($cat_id) && $cat_id>=0) //m // all entries for specific category { if(empty($entries_to_be_listed)) $body_section=$no_posts_msg; else $body_section= body_section_html($count_all_entries,$entries_to_be_listed,$action_id,$incl_nav,'category='.urlencode($category)); $navigation_section=f_page_navigation($count_all_entries,$script_path,$max_entries_on_fp,$c_page,$lang_l['of'],build_font_style($css_urlsidebar),$nav_labels,"?"); $cat_title=''; if(in_array($category,$category_name)) {$cat_title='

'.f_sth($category)."

".$f_br;} $template_content=str_replace('%'.$obj_prefix.'_OBJECT',$cat_title.'%'.$obj_prefix.'_OBJECT',$template_content); } elseif(isset($_GET['tag'])) { if(empty($entries_to_be_listed)) $body_section=$no_posts_msg; else $body_section=body_section_html($count_all_entries,$entries_to_be_listed,$action_id,$incl_nav,'tag='.$tag); $navigation_section=f_page_navigation($count_all_entries,$script_path,$max_entries_on_fp,$c_page,$lang_l['of'],build_font_style($css_urlsidebar),$nav_labels,"?"); $template_content=str_replace('%'.$obj_prefix.'_OBJECT',"

".f_sth(ucfirst($tag))."

".$f_br.'%'.$obj_prefix.'_OBJECT',$template_content); } elseif($show_archive_list) // all entries { $body_section=''; foreach($archive_entries as $k=>$v) { $body_section.="". strtoupper($month_name[$v['mon']-1]).' '.$v['year']."".$f_br.$f_br; } $month_title="

".ucfirst($lang_l['archive'])."

".$f_br; $template_content=str_replace('%'.$obj_prefix.'_OBJECT',$month_title.'%'.$obj_prefix.'_OBJECT',$template_content); } elseif(isset($_GET['mon'])) // archive by month { $body_section=body_section_html($count_all_entries,$entries_to_be_listed,$action_id,$incl_nav,'mon='.$mon.'&year='.$year); if($page_type=='podcast') $navigation_section=f_page_navigation($count_all_entries,$script_path,$max_entries_on_fp,$c_page,$lang_l['of'],build_font_style($css_urlsidebar),$nav_labels,"?"); $month_title="

".f_sth(strtoupper($month_name[$mon-1]).' '.$year)."

".$f_br; $template_content=str_replace('%'.$obj_prefix.'_OBJECT',$month_title.'%'.$obj_prefix.'_OBJECT',$template_content); } elseif(isset($_GET['comments']) && $enable_comments) // comments { if(isset($entries_to_be_listed[0])) { if($page_type=='podcast' || $entries_to_be_listed[0]['Allow_Comments']=='' || $entries_to_be_listed[0]['Allow_Comments']=='1') { if(!isset($_SESSION)) f_int_start_session('private'); if(isset($_POST['Post'])) // save comment { if(!f_is_logged('CAPTCHA_CODE') && !isset($thispage_id)) { echo "This is illegal operation."; exit; } else { $ip=(isset($_SERVER['REMOTE_ADDR'])? $_SERVER['REMOTE_ADDR']: ""); if($ip!="" && is_ip_blocked($ip)) { $body_section=f_format_err_msg($lang_l['your IP is blocked']).$f_br; $body_section.=display_comments($action_id,$entry_id); } else $body_section=process_comment($action_id,$entry_id); } } else // all comments for specific entry { if(!isset($_SESSION)) f_regenerate_session_id(); $body_section=display_comments($action_id,$entry_id); if(strpos($blogobj_params,'%commentsform%')===false) $body_section.='
'.add_comment_form(intval($_GET['entry_id'])).'
'; } } else $body_section=body_section_html(1,$entries_to_be_listed,$action_id,$incl_nav); } else $body_section="This entry does not exist."; } elseif(isset($_GET['search_string']) )// search { $search_string=f_strip_tags($_GET['search_string']); $search_string=trim($search_string); if(empty($search_string)) { $body_section=$no_posts_msg; } else { $search_results=search_in_entries($search_string); $search_results=f_data_sorting($search_results,'Creation_Date'); if(empty($search_results)) $body_section=$no_posts_msg; else $body_section=search_result_html($search_results,$action_id); } } else { $body_section=body_section_html($count_all_entries,$entries_to_be_listed,$action_id,$incl_nav); $navigation_section=f_page_navigation($count_all_entries,$script_path,$max_entries_on_fp,$c_page,$lang_l['of'],build_font_style($css_urlsidebar),$nav_labels,"?"); } $entries_obj=$obj_prefix.'_RECENT_'.($page_type=='podcast'?"EPISODES":"ENTRIES"); $html_frontpage=''; $html_frontpage.='
'.$body_section."
"; $template_content=str_replace('%'.$obj_prefix.'_OBJECT%',$html_frontpage,$template_content); $template_content=str_replace('%'.$obj_prefix.'_OBJECT('.$blogobj_params.')%',$html_frontpage,$template_content); $template_content=str_replace('%'.$obj_prefix.'_HOME_LINK%',home_link_html(),$template_content); $template_content=str_replace('%'.$obj_prefix.'_LINK%',$script_path,$template_content); $template_content=str_replace('%'.$obj_prefix.'_HOME_URL%',$script_path,$template_content); $template_content=str_replace('%HOME_LINK%',$script_path,$template_content); $template_content=replace_param('%'.$obj_prefix.'_NAVIGATION%',$navigation_section,$template_content); $template_content=replace_param('%NO_'.$obj_prefix.'_NAVIGATION%','',$template_content); $template_content=str_replace('%TAGS_CLOUD%',$tags_cloud,$template_content); $template_content=str_replace('%FLASH_TAGS_CLOUD%',f_build_flash_tag($rel_path,$flash_tags_param,$flash_tags_cloud),$template_content); $template_content=str_replace('

%'.$obj_prefix.'_SEARCH%

',search_box_html($action_id),$template_content); $template_content=str_replace('%'.$obj_prefix.'_SEARCH%',search_box_html($action_id),$template_content); if(strpos($template_content,'%'.$obj_prefix.'_CATEGORY_LIST_VER%')!==false) $template_content=str_replace('%'.$obj_prefix.'_CATEGORY_LIST_VER%',category_sidebar($cat_allocation,'ver'),$template_content); if(strpos($template_content,'%'.$obj_prefix.'_CATEGORY_LIST_HOR%')!==false) $template_content=str_replace('%'.$obj_prefix.'_CATEGORY_LIST_HOR%',category_sidebar($cat_allocation,'hor'),$template_content); if(strpos($template_content,'%'.$obj_prefix.'_ARCHIVE%')!==false) $template_content=str_replace('%'.$obj_prefix.'_ARCHIVE%',archive_sidebar($archive_entries),$template_content); if(strpos($template_content,'%'.$entries_obj.'%')!==false) $template_content=str_replace('%'.$entries_obj.'%',entries_sidebar($entries_recent),$template_content); if($most_visted_enabled && strpos($template_content,'%'.$entries_obj.'%')!==false) $template_content=str_replace('%'.$obj_prefix.'_MOST_VISITED%',entries_sidebar($entries_most_visited),$template_content); if($ranking_enabled && strpos($template_content,'%'.$entries_obj.'%')!==false) $template_content=str_replace('%'.$obj_prefix.'_TOP_RANK%',entries_sidebar($entries_top_rank),$template_content); if(strpos($template_content,'%'.$obj_prefix.'_CATEGORY_FILTER%')!==false) $template_content=str_replace('%'.$obj_prefix.'_CATEGORY_FILTER%',categories_combo_html($action_id,(isset($category)?$category:'All')),$template_content); if($enable_comments && strpos($template_content,'%'.$obj_prefix.'_RECENT_COMMENTS%')!==false) $template_content=str_replace('%'.$obj_prefix.'_RECENT_COMMENTS%',recentcomments_html($comments_records),$template_content); $objects=array($entries_obj,$obj_prefix.'_ARCHIVE',$obj_prefix.'_CATEGORY_LIST_VER',$obj_prefix.'_CATEGORY_LIST_HOR',$obj_prefix.'_MOST_VISITED',$obj_prefix.'_RECENT_COMMENTS',$obj_prefix.'_CATEGORY_FILTER',$obj_prefix.'_TOP_RANK'); foreach($objects as $key=>$object) { if(strpos($template_content,'%'.$object.'(')!==false) { $template_content=f_obj_clearing($object,$template_content); $obj_content_t=f_GFS($template_content,'%'.$object.'(',')%'); $obj_content=f_p_tag_clearing($obj_content_t); $template_content=str_replace('%'.$object.'('.$obj_content_t.')%','%'.$object.'('.$obj_content.')%',$template_content); $template_content=f_obj_div_replacing('%'.$object.'('.$obj_content.')%',$template_content); $for_replace='%'.$object.'('.$obj_content.')%'; if($key==0) $template_content=str_replace($for_replace,entries_sidebar($entries_recent,$obj_content),$template_content); elseif($key==1) $template_content=str_replace($for_replace,archive_sidebar($archive_entries,$obj_content),$template_content); elseif($key==2) $template_content=str_replace($for_replace,category_sidebar($cat_allocation,'ver',$obj_content),$template_content); elseif($key==3) $template_content=str_replace($for_replace,category_sidebar($cat_allocation,'hor',$obj_content),$template_content); elseif($key==4 && $most_visted_enabled) $template_content=str_replace($for_replace,entries_sidebar($entries_most_visited,$obj_content),$template_content); if($key==5 && !$enable_comments) $template_content=str_replace($for_replace,'',$template_content); elseif($key==5) $template_content=str_replace($for_replace,recentcomments_html($comments_records,$obj_content),$template_content); elseif($key==6) $template_content= str_replace($for_replace,categories_combo_html($action_id,(isset($category)?$category:'All'),$obj_content),$template_content); elseif($key==7 && $ranking_enabled) $template_content=str_replace($for_replace,entries_sidebar($entries_top_rank,$obj_content),$template_content); } } $admin_link=$doc_dir.'centraladmin.php?pageid='.$page_id.'&indexflag=index&'.$lg_; $template_content=str_replace('%LINK_TO_ADMIN%',$admin_link,$template_content); $template_content=str_replace('',''.$blog_css,$template_content); // meta tags fixation $template_content=str_replace(array('',''),array('',''),$template_content); $key_meta_st='',''.f_sth_2(urldecode($entries_to_be_listed[0]['Title'])).' « ',$template_content); if(!empty($key_tag) && !empty($entries_to_be_listed[0]['Keywords'])) $template_content=str_replace($key_tag,$key_meta_st.f_sth_2(urldecode($entries_to_be_listed[0]['Keywords'])).'"'.$f_ct,$template_content); if(!empty($desc_tag)) { if(isset($entries_to_be_listed[0]['Entry_Excerpt']) && !empty($entries_to_be_listed[0]['Entry_Excerpt'])) { $description=f_sth_2(urldecode($entries_to_be_listed[0]['Entry_Excerpt'])); } else { $description=f_sth_2(urldecode($entries_to_be_listed[0]['Content'])); $description=preg_replace("'<[/!]*?[^<>]*?>'si"," ",$description); if(strlen($description)>250) $description=f_split_html_content($description,250); } $description=htmlspecialchars($description,ENT_QUOTES); $template_content=str_replace($desc_tag, $desc_meta_st.$description.'"', $template_content); } } elseif(isset($_GET['tag']) || isset($_GET['category_id']) || isset($_GET['category']) || isset($_GET['mon']) && isset($_GET['year'])) { if(isset($_GET['mon'])) $new_value=f_sth($month_name[$mon-1].' '.$year); elseif(isset($_GET['category_id']) || isset($_GET['category'])) {$new_value=''; if(in_array($category,$category_name)) $new_value=f_sth($category);} else $new_value=f_sth(f_strip_tags($_GET['tag'])); $new_value=stripslashes(stripslashes($new_value)); $template_content=str_replace('<title>','<title>'.$new_value.' « ',$template_content); if((isset($_GET['tag']) || isset($_GET['category_id']) || isset($_GET['category'])) && !empty($key_tag)) $template_content=str_replace($key_tag,$key_meta_st.$new_value.'"'.$f_ct,$template_content); $template_content=str_replace($desc_tag, $key_meta_st.ucfirst($lang_l['read all']).' '.f_GFS($template_content,'<title>','').'"',$template_content); } //$template_content.=$f_br.'
Page created in '.round(f_microtime_float() - $query_st_time,4) .' seconds
'; print $template_content; } function get_most_visited(&$entries_records) { global $all_settings,$max_recent_entries; $visits_by_entry=array(); $result=array(); $most_visited=array(); $all_visits=$all_settings; foreach($entries_records as $k=>$v) { if(strpos($all_visits,'',''); settype($visits, 'integer'); $visits_by_entry[]=array('id'=>$v['Id'],'visits'=>$visits); } } if(!empty($visits_by_entry)) { $rec_order=array(); foreach($visits_by_entry as $key=>$item) { $numbers[$key]=$item['visits']; } array_multisort($numbers,SORT_DESC,SORT_NUMERIC,$visits_by_entry); $visits_by_entry=array_slice($visits_by_entry,0,$max_recent_entries); foreach($visits_by_entry as $k=>$v) { $ids_order[]=$v['id']; $value_order[]=$v['visits']; } foreach($entries_records as $key=>$val) { $index=array_search($val['Id'],$ids_order); if($index!==false) { $val['visits']=$value_order[$index]; $result[]=$val;} } } return $result; } function get_top_rank(&$entries_records) { global $all_settings,$max_recent_entries; $visits_by_entry=array(); $result=array(); $most_visited=array(); $all_ranking=$all_settings; foreach($entries_records as $k=>$v) { if(strpos($all_ranking,'',''); $value=f_GFS($ranking_data,'',''); settype($value, 'integer'); $total=f_GFS($ranking_data,'',''); settype($total, 'integer'); if($value>0) {$ranking_by_entry[]=array('id'=>$v['Id'],'ranking'=>round($total/$value,1)); $top_rank[]=$v['Id'];} } } if(!empty($ranking_by_entry)) { arsort($ranking_by_entry,SORT_NUMERIC); $ranking_by_entry=array_slice($ranking_by_entry,0,$max_recent_entries); foreach($entries_records as $key=>$val) { if(in_array($val['Id'],$top_rank)) $result[]=$val; } } return $result; } function get_ranking($entry_id) { global $all_settings; $ranking_data=f_GFS($all_settings,'',''); $value=f_GFS($ranking_data,'',''); settype($value, 'integer'); $total=f_GFS($ranking_data,'',''); settype($total, 'integer'); $ranking=($value>0)? round($total/$value,1): 0; return $ranking; } function extract_all_records_indexes($fname,$db_field_names,$fields,$admin_flag=false) { global $f_db_last_line,$f_max_chars,$blog_template; $result=array(); if(file_exists($fname)) { $handle=fopen($fname,"r"); $php_start_line=fgetcsv($handle,2048); $db_field_line=fgetcsv($handle,2048); $pos=ftell($handle); while($data=fgetcsv($handle,$f_max_chars)) { if($data[0]!=$f_db_last_line) { $temp=build_assoc_array($data,$db_field_names); if($admin_flag || ($temp['Publish_Status']=='1' && $temp['Accessibility']=='1')) { $build_rec['Pos']=$pos; foreach($fields as $k=>$v) $build_rec[$v]=$temp[$v]; $result[]=$build_rec; } } $pos=ftell($handle); } fclose($handle); } else { print f_fmt_in_template($blog_template,f_fmt_error_msg('MISSING_DBFILE',$fname)); exit;} return $result; } function extract_records_by_position($fname,$db_field_names,$ids) { global $f_db_last_line,$f_max_chars,$blog_template; $result=array(); $ids_buffer=array(); if(file_exists($fname)) { $handle=fopen($fname,"r"); foreach($ids as $k=>$v) { fseek($handle,$v['Pos']); $data=fgetcsv($handle,$f_max_chars); $rec=build_assoc_array($data,$db_field_names); if(!in_array($rec['Id'],$ids_buffer)) { $result[]=$rec; $ids_buffer[]=$rec['Id']; } } fclose($handle); } else { print f_fmt_in_template($blog_template,f_fmt_error_msg('MISSING_DBFILE',$fname)); exit;} return $result; } function display_comments($action_id,$entry_id) { global $enable_comments,$blogobj_params,$db_comments_fname,$db_comments_fields; $entries_records=array(); $comments_records=array(); $entries_records[]=extract_specific_entry($entry_id); $output=body_section_html(count($entries_records),$entries_records,$action_id); if($enable_comments==true && ($blogobj_params=='' || strpos($blogobj_params,'%comments%')===false)) { $comments_records=extract_all_records($db_comments_fname,$db_comments_fields,$entry_id); $buffer=comments_html($comments_records,$action_id); if(strpos($output,'%comments%')!==false) $output=str_replace('%comments%',$buffer,$output); else $output.=$buffer; } return $output; } function process_comment($action_id,$entry_id) { global $lang_l,$month_name,$forbid_urls,$doc_dir,$page_id,$script_path,$full_script_path,$f_lf,$f_ct,$time_format,$email_notification,$f_mail_type, $notification_subject,$f_demo_mode,$thispage_id,$comments_require_approval,$f_br,$f_use_search,$comments_require_email,$comments_email_enabled, $c_page; $body_html='';$errors=''; if(!isset($_SESSION)) f_int_start_session('private'); $fromuser=($action_id=='frontpage'); if($fromuser) { if($_POST['Visitor']=='') $errors.=f_format_err_msg("'".ucfirst($lang_l['your name'])."' ".$lang_l['field is required']).$f_br; if($_POST['Comments']=='') $errors.=f_format_err_msg("'".ucfirst($lang_l['comments'])."' ".$lang_l['field is required']).$f_br; if($forbid_urls && (strpos($_POST['Comments'],'http')!==false || strpos($_POST['Comments'],'href')!==false || strpos($_POST['Comments'],'www.')!==false)) $errors.=f_format_err_msg("Not allowed to include url!").$f_br; if($comments_email_enabled && $comments_require_email && (!f_validate_email(f_strip_tags($_POST['EmailAddress'])))) $errors.=f_format_err_msg(ucfirst($lang_l['invalid email address'])).$f_br; if(!isset($thispage_id)) { if(!isset($_POST['Validator']) || $_POST['Validator']=='') $errors.=f_format_err_msg("'".ucfirst($lang_l['validator'])."' ".$lang_l['field is required']).$f_br; elseif(md5(strtolower($_POST['Validator']))!=f_get_session_var('CAPTCHA_CODE')) $errors.=f_format_err_msg(ucfirst($lang_l['validator'])."' ".$lang_l['field should macth the text on the right']).$f_br; } } if($errors!='') { foreach($_POST as $k=>$v) { if($k=='Post') continue; $data[$k]=f_strip_tags(trim($v)); } $body_html=$errors.error_comment_form($entry_id,$data); } else { $data['Entry_Id']=intval($_GET['entry_id']); foreach(array('Timestamp','Visitor','EmailAddress','Url','Comments','IP','HOST','AGENT') as $v) $data[$v]=((($v=='Url')&&$forbid_urls)||(!isset($_POST[$v])))?'':f_strip_tags(trim($_POST[$v])); if($fromuser) { $data['Timestamp']=mktime(); $data['IP']=(isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:""); $data['HOST']=(isset($_SERVER['REMOTE_HOST'])?$_SERVER['REMOTE_HOST']:""); $data['AGENT']=(isset($_SERVER['HTTP_USER_AGENT'])?f_define_os($_SERVER['HTTP_USER_AGENT']):""); } $data['Approved']=($fromuser)? (($comments_require_approval)?'0':'1'):f_strip_tags($_POST['Approved']); $record_line=prepare_for_write($data); if($fromuser) { if($f_demo_mode) $body_html.="Your comment was not saved. This is a demo!".$f_br; else { $entry_data=extract_specific_entry($data['Entry_Id']); $send_to_entry_author=(!empty($entry_data['User']) && $entry_data['User']!='admin')?$entry_data['User']:''; db_add_comment($record_line,$data['Entry_Id']); if($email_notification) { $dt=format_date($data['Timestamp']).f_format_time($data['Timestamp'],$time_format); $content='Comment was posted at '.$full_script_path.'?comments=comments&entry_id='.$data['Entry_Id'].$f_lf.$f_lf; $content.='Visitor: '.$data['Visitor'].($comments_email_enabled?' ['.$data['EmailAddress'].']':'').$f_lf. "Date&Time: ".$dt.$f_lf. "Comments: ".$data['Comments'].$f_lf; if(strpos(strtolower($content),'mime-version')!==false || strpos(strtolower($content),'content-type')!==false) { $content="Comment with possible dangerous content was posted on your blog!"; $content.=$f_lf.' On '.$dt.($comments_email_enabled?' From '.$data['EmailAddress']:'').$f_lf; } $flag=send_notification($content,$send_to_entry_author); } } $body_html.=display_comments($action_id,$entry_id); } else { if($f_demo_mode) $body_html="The comment was not edited. This is a demo!".$f_br.$f_br; else db_edit_comment($data['Timestamp'],$record_line); $body_html.=manage_comments(1); } if(!isset($thispage_id)) { if($fromuser) f_unset_session(); if($f_use_search && $data['Approved']=='1') {f_url_redirect($doc_dir.'search.php?action=reindex&pid='.$page_id.'&entryid='.$entry_id.'&redirect=' .urlencode (str_replace('../','',$script_path).'?action='.$action_id.'&entry_id='.$entry_id.($fromuser?'&comments=comments': '&page='.$c_page)),false);exit;} } } return $body_html; } function show_adminpage($action_id) { global $page_id,$blog_owner_email,$doc_dir,$script_path,$thispage_id,$rel_path,$f_demo_mode,$lang_l,$page_type,$f_br,$f_ct,$lg_,$month_name, $save_rss_as_file,$db_map_fname,$blog_template,$f_names_lang_sets,$blog_css,$file_type_array,$innova_on_output,$innova_script, $category_id, $user_edit_own_posts_only,$db_comments_fname,$db_comments_fields,$blockedips_fname, $db_trackbacks_fname, $db_trackbacks_fields, $all_settings, $f_use_search,$f_ftm_title,$ranking_bg_color_def,$ranking_num_bg_color_def,$ranking_font_color_def,$blog_dir, $mediadefault_folder; $msg_noaccess='Sorry, you don\'t have permission to access this screen!'; $tag='UPLOADTYPES'; $entries_records=array(); $comments_records=array(); $period_id=''; $cat_id=''; if(strpos($all_settings,$tag)===false) {$allowed_up_types_arr=array('jpg','jpeg','png','gif','mp3');} else { $allowed_up_types=f_GFS($all_settings,"<$tag>",""); $allowed_up_types_arr=explode('|',$allowed_up_types); array_pop($allowed_up_types_arr); } if(isset($_GET['entry_id'])) $entry_id=intval($_GET['entry_id']); if(isset($_GET['category_id'])) $cat_id=f_un_esc(f_strip_tags($_GET['category_id'])); elseif(isset($_GET['category'])) $cat_id=f_un_esc(f_strip_tags($_GET['category'])); if(isset($_GET['period_id'])) $period_id=f_strip_tags(trim($_GET['period_id'])); $access_all_flag=($user_edit_own_posts_only==false); // when logged as limited user if($action_id=='postentry') $body_section=add_entry_form(); elseif(isset($_POST['save_entry']) || isset($_POST['add_category'])) $body_section=save_entry(); // save entry elseif($action_id=='index' && isset($entry_id)) // edit entry form { $entries_records=extract_specific_entry($entry_id); if($access_all_flag || $entries_records['User']==f_get_session_var('cur_user')) $body_section=edit_entry_form($entries_records); else $body_section=$msg_noaccess.$f_br.$f_br.manage_entries($cat_id,$period_id); } elseif(isset($_REQUEST['del_entry']) || $action_id=='del_entry') // delete entries { if(is_array($_REQUEST['entry_id'])) $entry_id=$_REQUEST['entry_id']; else $entry_id=array($_REQUEST['entry_id']); foreach($entry_id as $k=>$v) { $record=extract_specific_entry(intval($v)); if($access_all_flag || $record['User']==f_get_session_var('cur_user')) db_delete_entry(intval($v)); } if(!isset($thispage_id)) { if($save_rss_as_file) update_rssfeed(); if($f_use_search) {f_url_redirect($doc_dir.'search.php?action=reindex&pid='.$page_id.'&redirect=' .urlencode(str_replace('../','',$script_path).'?action=index'), false); exit;} } $body_section=manage_entries($cat_id,$period_id); } elseif($action_id=='pub_entry' || $action_id=='unpub_entry') // publish/unpublish entry { $record=extract_specific_entry($entry_id); $body_section=''; if($access_all_flag || $record['User']==f_get_session_var('cur_user')) { $record['Publish_Status']=($action_id=='pub_entry')?'1':'0'; $record_line=prepare_for_move($record); db_edit_entry($entry_id,$record_line); } else $body_section.=$msg_noaccess.$f_br.$f_br; if(!isset($thispage_id) && $save_rss_as_file) update_rssfeed(); if(!isset($thispage_id) && $f_use_search) { f_url_redirect($doc_dir.'search.php?action=reindex&pid='.$page_id.'&redirect=' .urlencode(str_replace('../','',$script_path).'?action=index'), false); exit; } $body_section.=manage_entries($cat_id,$period_id); } elseif($action_id=='duplicate' && isset($entry_id)) // duplicate entry { $ts=mktime(); $record=extract_specific_entry($entry_id); $record['Id']=$ts; $record['Last_Modified']=$ts; $record['Creation_Date']=$ts; $record['User']=(isset($_SESSION['cur_user']))? f_get_session_var_str('cur_user'): 'admin'; $record['Title']=strtoupper($lang_l['duplicate']).' '.$record['Title']; if(!empty($record['Image_Url'])) { $orig_file_name=urldecode($record['Image_Url']); $ext=substr($orig_file_name,strrpos($orig_file_name,".")); $new_file_name=str_replace($ext,'_'.$ts.$ext,$orig_file_name); copy($blog_dir.$orig_file_name,$blog_dir.$new_file_name); $record['Image_Url']=urlencode($new_file_name); } if($page_type=='podcast' && !empty($record['Mediafile_Url']) && strpos($record['Mediafile_Url'],'youtube.')===false) { $orig_m_file_name=urldecode($record['Mediafile_Url']); $ext=substr($orig_m_file_name,strrpos($orig_m_file_name,".")); $new_m_file_name=str_replace($ext,'_'.$ts.$ext,$orig_m_file_name); copy($rel_path.$orig_m_file_name,$rel_path.$new_m_file_name); $record['Mediafile_Url']=urlencode($new_m_file_name); } $record_line=prepare_for_move($record); db_add_entry($record_line,$record['Id']); if(!isset($thispage_id)) { if($save_rss_as_file) update_rssfeed(); if($f_use_search) {f_url_redirect($doc_dir.'search.php?action=reindex&pid='.$page_id.'&redirect=' .urlencode(str_replace('../','',$script_path).'?action=index'), false); exit;} } $body_section=manage_entries($cat_id,$period_id); } elseif((isset($_GET['blockip']) || isset($_GET['unblockip'])) && $access_all_flag) // block ips { $ip=f_strip_tags(isset($_GET['blockip'])?$_GET['blockip']:$_GET['unblockip']); $tag='BLOCKEDIPS'; $blocked_ips=f_GFS($all_settings,"<$tag>",""); if(isset($_GET['blockip'])) { if(!is_ip_blocked($ip)) {$blocked_ips.=$ip.'|'; f_write_tagged_data($tag,$blocked_ips,$blockedips_fname,$blog_template); $msg=$lang_l['IP is blocked'];} else $msg=$lang_l['IP already blocked']; } else {$blocked_ips=str_replace($ip.'|','',$blocked_ips); f_write_tagged_data($tag,$blocked_ips,$blockedips_fname,$blog_template); $msg=$lang_l['IP is unblocked'];} $body_section="".$msg.''.$f_br; $body_section.=$f_br.($f_demo_mode?"IP was not actually blocked. This is a demo!".$f_br:""); $body_section.=($action_id=='mng_tb')?manage_comments(2):manage_comments(1); } elseif(isset($_GET['check_blockedip']) && $access_all_flag) // checked blocked ips { $blocked_records_raw=f_GFS($all_settings,'',''); $blocked_records=explode('|',$blocked_records_raw); array_pop($blocked_records); if(!empty($blocked_records[0])) { $blocked_records_rev=array_reverse($blocked_records); $body_section=blockedips_list_admin($action_id,$blocked_records_rev); } else $body_section=f_fmt_admin_title($lang_l['none blocked ips']); } elseif((isset($_REQUEST['del_comment']) || $action_id=='del_comment') && $access_all_flag) // delete comment { $comment_id=intval($_REQUEST['comment_id']); $comment=extract_specific_comment($comment_id); db_delete_record($comment_id,$db_comments_fname,1); if($comment['Approved']=='1' || $comment['Approved']=='') db_reduce_count($comment['Entry_Id']); if(!isset($thispage_id)) { if($f_use_search){f_url_redirect($doc_dir.'search.php?action=reindex&pid='.$page_id.'&redirect='.urlencode(str_replace('../','',$script_path).'?action=mng_comments'),false); exit; } } $body_section=manage_comments(1); } elseif($action_id=='reply_comment' && isset($_POST['submit'])) { if(isset($_SESSION['SID_ADMIN'])) { $visitor='admin'; $email=$blog_owner_email;} else {$visitor=f_get_session_var_str('cur_user'); $user_data=f_get_user($visitor,$rel_path); $email=$user_data['details']['email'];} $entry_id=intval($_GET['entry_id']); $data['Entry_Id']=$entry_id; $data['Timestamp']=mktime(); $data['Visitor']=$visitor; $data['EmailAddress']=$email; $data['Url']=''; $data['Comments']=f_strip_tags(trim($_POST['Comments'])); $data['IP']=(isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:""); $data['HOST']=(isset($_SERVER['REMOTE_HOST'])?$_SERVER['REMOTE_HOST']:""); $data['AGENT']=(isset($_SERVER['HTTP_USER_AGENT'])?f_define_os($_SERVER['HTTP_USER_AGENT']):''); $data['Approved']='1'; $record_line=prepare_for_write($data); db_add_comment($record_line,$data['Entry_Id']); $body_section=manage_comments(1); } elseif($action_id=='mng_comments' && $access_all_flag) // manage comments { if(isset($_POST['Post'])) $body_section=process_comment($action_id,$entry_id); elseif($access_all_flag) $body_section=manage_comments(1);// list of comments else $body_section=$msg_noaccess; } elseif(($action_id=='approve_cmt' || $action_id=='unapprove_cmt') && $access_all_flag) // approve/block comment { $id=intval($_GET['cmt_id']); $record=extract_specific_record($id,$db_comments_fname,$db_comments_fields,1); $record['Approved']=($action_id=='approve_cmt')?'1':'0'; $record_line=prepare_for_move($record); if(!$f_demo_mode) db_edit_comment($id,$record_line); if($action_id=='approve_cmt') db_increase_count($record['Entry_Id']); else db_reduce_count($record['Entry_Id']); if(!isset($thispage_id) && $f_use_search) { f_url_redirect($doc_dir.'search.php?action=reindex&pid='.$page_id.'&entryid='.$record['Entry_Id'].'&redirect=' .urlencode(str_replace('../','',$script_path) .'?action=mng_comments'),false); exit; } $body_section=manage_comments(1); } elseif($action_id=='spam_comment' && $access_all_flag) { $comment_id=intval($_GET['comment_id']); $record=extract_specific_record($comment_id,$db_comments_fname,$db_comments_fields,1); $record['Approved']='0'; $record_line=prepare_for_move($record); db_edit_comment($comment_id,$record_line); db_reduce_count($record['Entry_Id']); $tag='BLOCKEDIPS'; $ip=$record['IP']; $blocked_ips=f_GFS($all_settings,"<$tag>",""); if(!empty($ip) && !is_ip_blocked($ip)) { $blocked_ips.=$ip.'|'; f_write_tagged_data($tag,$blocked_ips,$blockedips_fname,$blog_template);} $body_section=manage_comments(1); } elseif($action_id=='mng_tb' && $access_all_flag)// manage trackbacks { if(isset($entry_id)) { $entries_records[]=extract_specific_entry($entry_id); if($access_all_flag || $entries_records[0]['User']==f_get_session_var('cur_user')) { $body_section='
'.body_section_html(count($entries_records),$entries_records,$action_id).'
'; $trackbacks_records=extract_all_records($db_trackbacks_fname,$db_trackbacks_fields,$entry_id); $body_section.=trackbacks_html($entry_id,$trackbacks_records); } else $body_section=$msg_noaccess; } elseif($access_all_flag) $body_section=manage_comments(2); else $body_section=$msg_noaccess; } elseif($action_id=='spam_tb' && $access_all_flag) { $tb_id=intval($_GET['tb_id']); $record=extract_specific_record($tb_id,$db_trackbacks_fname,$db_trackbacks_fields,1); $record['Approved']='0'; $record_line=prepare_for_move($record); db_edit_trackback($tb_id,$record_line); db_reduce_count($record['Entry_Id'],false); $tag='BLOCKEDIPS'; $ip=$record['IP']; $blocked_ips=f_GFS($all_settings,"<$tag>",""); if(!empty($ip) && !is_ip_blocked($ip)) { $blocked_ips.=$ip.'|'; f_write_tagged_data($tag,$blocked_ips,$blockedips_fname,$blog_template);} $body_section=manage_comments(2); } elseif($action_id=='del_tb' && $access_all_flag) // delete trackback { $tb_id=intval($_GET['tb_id']); if(is_tb_approved($tb_id)) db_reduce_count($entry_id,false); db_delete_record($tb_id,$db_trackbacks_fname,1); $body_section=manage_comments(2); } elseif(($action_id=='approve_tb' || $action_id=='unapprove_tb') && $access_all_flag) // approve/block trackback { $id=intval($_GET['tb_id']); $record=extract_specific_record($id,$db_trackbacks_fname,$db_trackbacks_fields,1); $record['Approved']=($action_id=='approve_tb')?'1':'0'; $record_line=prepare_for_move($record); if(!$f_demo_mode) db_edit_trackback($id,$record_line); if($action_id=='approve_tb') db_increase_count($record['Entry_Id'],false); else db_reduce_count($record['Entry_Id'],false); $body_section=manage_comments(2); } elseif($action_id=="mng_settings" && $access_all_flag) { if(isset($_POST['submit'])) { $enable_upfile_field=f_GFS($all_settings,'',''); if($enable_upfile_field=='') $enable_upfile_field='1'; $tags=array('language','public_rss'); $newset=array(f_strip_tags($_POST['lang']), f_strip_tags($_POST['public_rss'])); if($enable_upfile_field=='1') {$tags[]='url_target'; $newset[]=f_strip_tags($_POST['url_target']);} if($page_type=='podcast') {$tags[]='use_youtube_player'; $newset[]=f_strip_tags($_POST['use_youtube_player']);} if($page_type=='blog' && $enable_upfile_field) { $new_up_types=''; foreach($file_type_array as $k=>$v) if(isset($_POST[$v])) $new_up_types.=f_strip_tags($v).'|'; $tags[]='UPLOADTYPES'; $newset[]=$new_up_types; } if(isset($_POST['enable_upfile_field'])) {$tags[]='enable_upfile_field';$newset[]='1';} else {$tags[]='enable_upfile_field';$newset[]='0';} $tags[]='ranking_bg_color'; $newset[]=f_strip_tags($_POST['ranking_bg_color']); $tags[]='ranking_num_bg_color'; $newset[]=f_strip_tags($_POST['ranking_num_bg_color']); $tags[]='ranking_font_color'; $newset[]=f_strip_tags($_POST['ranking_font_color']); f_write_tagged_data($tags,$newset,$blockedips_fname,$blog_template); update_language_set(); $body_section=$f_br.''.ucfirst($lang_l['settings saved']).""; $all_settings=f_read_file($blockedips_fname); } else { $true_false_options=array('0'=>'false','1'=>'true'); $target_list=array('_self'=>'Same Window','_blank'=>'New Window'); $def_lang=f_GFS($all_settings,'',''); if($def_lang=='') $def_lang='EZG'; $def_target=f_GFS($all_settings,'',''); if($def_target=='') $def_target='_self'; $def_public_rss=f_GFS($all_settings,'',''); if($def_public_rss=='') $def_public_rss='0'; $def_use_you_player=f_GFS($all_settings,'',''); if($def_use_you_player=='') $def_use_you_player='1'; $def_enable_upfile_field=f_GFS($all_settings,'',''); if($def_enable_upfile_field=='') $def_enable_upfile_field='1'; $names_lang_sets=array_merge(array('EZG'=>ucfirst($lang_l['use my own'])),$f_names_lang_sets); $table_data=array(); if($page_type=='blog' && $def_enable_upfile_field=='1') { $file_type_buffer=''; foreach($file_type_array as $k=>$v) { $file_type_buffer.=''; if($k==6 || $k==13) $file_type_buffer.=''; } $file_type_buffer.='
'.$v.'
'; $table_data[]=array(ucfirst($lang_l['upload file types']),$file_type_buffer); } if($def_enable_upfile_field=='1') $table_data[]=array(ucfirst($lang_l['set target']),f_build_select('url_target',$target_list,$def_target)); $table_data[]=array(ucfirst($lang_l['language']),f_build_select('lang',$names_lang_sets,strtoupper($def_lang))); $table_data[]=array(ucfirst($lang_l['public rss']),f_build_select('public_rss',$true_false_options,$def_public_rss)); if($page_type=='podcast') $table_data[]=array(ucfirst($lang_l['use youtube player']), f_build_select('use_youtube_player',$true_false_options,$def_use_you_player)); $table_data[]=array('',''.ucfirst($lang_l['enable upload field']).''); // ranking $ranking_bg_color=f_GFS($all_settings,'',''); if($ranking_bg_color=='') $ranking_bg_color=$ranking_bg_color_def; $ranking_num_bg_color=f_GFS($all_settings,'',''); if($ranking_num_bg_color=='') $ranking_num_bg_color=$ranking_num_bg_color_def; $ranking_font_color=f_GFS($all_settings,'',''); if($ranking_font_color=='') $ranking_font_color=$ranking_font_color_def; $ranking_buffer=$f_br.''.ucfirst($lang_l['r_bg_color']).'' .'' .''.$f_br.$f_br; $ranking_buffer.=' '.ucfirst($lang_l['r_num_bg_color']).'' .'' .''.$f_br.$f_br; $ranking_buffer.=' '.ucfirst($lang_l['r_font_color']).'' .'' .''; $table_data[]=array(ucfirst($lang_l['ranking']),$ranking_buffer); $table_data[]=$f_br."'.$f_br.''; $body_section.=f_addentrytable($lang_l['other settings'],$table_data).""; } } elseif($action_id=='add_category' || (($action_id=='mng_categories' || $action_id=='del_category' || $action_id=='edit_category') && $access_all_flag)) { $body_section=categories_admin($action_id); } else $body_section=manage_entries($cat_id,$period_id); $admin_menu=build_admin_menu($action_id); $body_section=f_fmt_admin_screen($body_section,$admin_menu); $data=f_fmt_in_template($blog_template,$body_section,$blog_css); if(isset($_FILES['Image_Url'])) $up_file=strtolower(basename($_FILES['Image_Url']['name'])); if($innova_on_output) //m $data=str_replace(array('',''),array(' '.$innova_script.' ',' '.$innova_script.' '),$data); $data=f_removeAreas($data); print $data; } function manage_entries($cat_id='',$period_id='') { global $db_entries_fname,$db_entries_fields,$category_name,$category_id,$user_edit_own_posts_only,$f_max_rec_on_admin,$month_name,$c_page; $pending_total=0; $draft_total=0; $published_total=0; $periods_array=array(); $all_entries_indexes=extract_all_records_indexes($db_entries_fname,$db_entries_fields,array('Id','Category','User','Publish_Status','Creation_Date'),true); foreach($all_entries_indexes as $k=>$v) {$ts=f_tzone_date($v['Creation_Date']);$periods_array[]=$month_name[date('n',$ts)-1].' '.date('Y',$ts); } $periods_array=f_multi_unique($periods_array); $need_sort=false;$temp_ids_array=array(); foreach($all_entries_indexes as $k=>$v) { $temp_id=$v['Creation_Date']; settype($temp_id,'integer'); $temp_ids_array[]=$temp_id; if($temp_id$v) { if($v['User']==f_get_session_var('cur_user')) $temp[]=$v;} $all_entries_indexes=$temp; } foreach($all_entries_indexes as $k=>$v) { if($v['Publish_Status']=='0') $draft_total++; elseif($v['Publish_Status']=='1') $published_total++; elseif($v['Publish_Status']=='2') $pending_total++; } $entry_total=count($all_entries_indexes); if(isset($_GET['status'])) { $temp=array(); foreach($all_entries_indexes as $k=>$v) {if($v['Publish_Status']==$_GET['status']) $temp[]=$v;} $all_entries_indexes=$temp; } $indexes_to_be_listed=array_slice($all_entries_indexes,($c_page-1)*$f_max_rec_on_admin,$f_max_rec_on_admin); $entries_records=extract_records_by_position($db_entries_fname,$db_entries_fields,$indexes_to_be_listed); $indexes_to_be_listed=array(); if(isset($_REQUEST['search_string'])) // search { $search_string=f_strip_tags($_REQUEST['search_string']); $search_string=trim($search_string); if(!empty($search_string)) { $entries_records=search_in_entries($search_string,'admin'); $entries_records=f_data_sorting($entries_records,'Creation_Date'); if($user_edit_own_posts_only && !f_is_logged('SID_ADMIN')) { $temp_s=array(); foreach($all_entries_indexes as $k=>$v) { if($v['User']==f_get_session_var('cur_user')) $temp_s[]=$v;} $entries_records=$temp_s; } } } $output=entries_admin($entries_records,$cat_id,$period_id,$periods_array,$entry_total,$published_total,$pending_total,$draft_total); return $output; } function manage_comments($flag) { global $db_comments_fname,$db_comments_fields,$db_trackbacks_fname,$db_trackbacks_fields,$lang_l; $records=($flag==1)? extract_all_records($db_comments_fname,$db_comments_fields): extract_all_records($db_trackbacks_fname,$db_trackbacks_fields); $records_rev=array_reverse($records); if(!empty($records)) { if($flag==1) $body_section=comments_admin($records_rev); else $body_section=trackbacks_admin($records_rev); } else $body_section="".f_fmt_admin_title($flag==2? $lang_l['none trackbacks']: $lang_l['none comments posted in your blog']).""; return $body_section; } function save_entry() { global $doc_dir,$page_id,$script_path,$full_script_path,$images_dir,$blog_dir,$rel_path,$page_type,$blockedips_fname,$lang_l,$f_demo_mode, $page_charset,$time_format,$month_name,$save_rss_as_file,$media_types,$file_type_array_podcast,$mediadefault_folder,$f_use_search, $f_lf,$full_script_path,$f_ct,$blog_template,$db_entries_fname,$db_entries_fields,$ext_styles, $all_settings,$f_lf; $output=''; $mg=''; if($page_type=='blog') { $tag='UPLOADTYPES'; if(strpos($all_settings,$tag)===false) $allowed_up_types_arr=array('jpg','jpeg','png','gif','mp3'); else { $allowed_up_types=f_GFS($all_settings,"<$tag>",""); $allowed_up_types_arr=explode('|',$allowed_up_types); array_pop($allowed_up_types_arr); } } else $allowed_up_types_arr=$file_type_array_podcast; $timestamp=mktime(); $data['Id']=(isset($_POST['Id']))? intval($_POST['Id']): $timestamp; if($_POST['Date_month']!='NA') { $m=array_search($_POST['Date_month'],$month_name)+1; if($_POST['Date_hour']!='NA') { if($time_format==12) $start_hour=intval($_POST['Date_ampm']=='AM'?$_POST['Date_hour']:($_POST['Date_hour']+12)); else $start_hour=intval($_POST['Date_hour']); $temp_creation=mktime($start_hour,intval($_POST['Date_min']),0,$m,intval($_POST['Date_day']),intval($_POST['Date_year'])); } else {$temp_creation=mktime(0,0,0,$m,intval($_POST['Date_day']),intval($_POST['Date_year']));} $data['Creation_Date']=$temp_creation; } else $data['Creation_Date']=$timestamp; foreach($_POST as $k=>$v) { if(in_array($k,array('Category','Title','Subtitle','Content','Image_Url','Author','Explicit','Keywords','Publish_Status','Allow_Comments','Allow_Pings','Entry_Excerpt','Accessibility'))) $data[$k]=trim($v); } if(isset($_POST['add_category'])) // adding new category { if(empty($_POST['cat_name']) || empty($_POST['cat_color']) || $_POST['cat_color']=='#') {$output.=f_format_err_msg(ucfirst($lang_l['cat err msg']));} else { $new_cat_id=add_edit_category('add'); update_categories_list(); $_POST['Category']=$new_cat_id;} $output.=add_entry_form($_POST,$_FILES['Image_Url']['name']); } else //add & edit entry { $upload_file_fullpath=(isset($_FILES['Image_Url']))?$_FILES['Image_Url']['name']:''; $upload_file=basename($upload_file_fullpath); $upload_file_valid=($upload_file!='') && (in_array(strtolower(substr($upload_file,strrpos($upload_file,'.')+1)),$allowed_up_types_arr)) && (substr_count($upload_file,'.')==1); $upload_media_file_fullpath=''; if($page_type=='podcast') { $upload_media_file_fullpath=$_FILES['Upload_Media']['name']; $upload_media_file=basename($upload_media_file_fullpath); $upload_media_file_valid=($upload_media_file!='') && (in_array(strtolower(substr($upload_media_file,strrpos($upload_media_file,'.')+1)),$media_types)) && (substr_count($upload_media_file,'.')==1); $mediafile_url=stripslashes($_POST['Mediafile_Url']); } //collecting data if(isset($_REQUEST['image_url_old'])) $data['Image_Url']=f_strip_tags($_REQUEST['image_url_old']); if(isset($_REQUEST['User'])) $data['User']=f_strip_tags($_REQUEST['User']); if(isset($_REQUEST['Last_Modified'])) $data['Last_Modified']=f_strip_tags($_REQUEST['Last_Modified']); if($page_type=='podcast') { $data['External_Media']=f_strip_tags($_POST['External_Media']); if(isset($_REQUEST['Mediafile_Size'])) $data['Mediafile_Size']=f_strip_tags($_REQUEST['Mediafile_Size']); $data['Mediafile_Url']=$mediafile_url; $data['Duration']=implode(':',array($_POST['Hour'],$_POST['Min'],$_POST['Sec'])); $data['Block']=(isset($_POST['Block'])? 'yes': "no"); } else { $data['Allow_Comments']=(isset($_POST['Allow_Comments'])? $_POST['Allow_Comments']:'0'); $data['Allow_Pings']=(isset($_POST['Allow_Pings'])? $_POST['Allow_Pings']:'0'); $data['Entry_Excerpt']=(isset($_POST['Entry_Excerpt'])? $_POST['Entry_Excerpt']:''); } // end collecting data if($data['Title']=='') { $msg=f_format_err_msg("'".ucfirst($lang_l['title'])."' ".$lang_l['field is required']); $output.=$msg.((!isset($_POST['Id']))? add_entry_form($_POST,$upload_media_file_fullpath):edit_entry_form($data,$upload_media_file_fullpath)); } elseif((!empty($upload_file) && (!$upload_file_valid))) { if($page_type=='blog') $msg=f_format_err_msg($lang_l['only JPEG, JPG, PNG, GIF and mp3 files can be uploaded']); else $msg=f_format_err_msg($lang_l['only JPEG, JPG, PNG and GIF files can be uploaded']); $output.=$msg.(!isset($_POST['Id'])? add_entry_form($_POST): edit_entry_form($data)); } elseif($page_type=='podcast' && ( (!file_exists($rel_path.$mediafile_url) && $upload_media_file=="" && empty($_POST['External_Media']) ) || (!empty($_POST['External_Media']) && strpos($_POST['External_Media'],'youtube.')===false) || ($upload_media_file!="") && (!$upload_media_file_valid) ) ) { if(!file_exists($rel_path.$mediafile_url) && $upload_media_file=="" && empty($_POST['External_Media'])) $output.=f_format_err_msg($lang_l['please, either select or upload media file']); elseif(!empty($_POST['External_Media']) && strpos($_POST['External_Media'],'youtube.')===false) $output.=f_format_err_msg($lang_l['only youtube']); elseif($upload_media_file!="" && !$upload_media_file_valid) $output.=f_format_err_msg($lang_l['this media format is not supported']); $output.=(!isset($_POST['Id'])? add_entry_form($_POST): edit_entry_form($data)); } else { $sm=ini_get('safe_mode'); if($page_type=='podcast' && !$sm && function_exists('set_time_limit') && strpos(ini_get('disable_functions'),'set_time_limit')===false) @set_time_limit(30); if(isset($_SESSION['cur_user']) && !isset($_POST['Id'])) $data['User']=f_get_session_var_str('cur_user'); //USER elseif(isset($_SESSION['SID_ADMIN']) && !isset($_POST['Id'])) $data['User']='admin'; elseif(isset($_POST['User']) && isset($_POST['Id'])) { if(!empty($_POST['User'])) $data['User']=f_strip_tags($_POST['User']); elseif(isset($_SESSION['cur_user'])) $data['User']=f_get_session_var_str('cur_user'); elseif(isset($_SESSION['SID_ADMIN'])) $data['User']='admin'; } if($page_type=='podcast') { if(!empty($_FILES['Upload_Media']['name'])) { $fname=uploadFile('Upload_Media',$images_dir); if($fname!=false) { $data['Mediafile_Url']=$mediadefault_folder.$fname; clearstatcache(); $data['Mediafile_Size']=filesize($rel_path.$data['Mediafile_Url']); if(isset($_POST['Id'])) unlink($rel_path.$data['Mediafile_Url']); } else { $output.=f_format_err_msg($lang_l["file upload failed"]); $output.=(!isset($_POST['Id'])? add_entry_form($_POST): edit_entry_form($data) ); exit; } } else { clearstatcache(); if(!empty($_POST['External_Media'])) { $data['Mediafile_Url']=f_strip_tags($_POST['External_Media']); $data['Mediafile_Size']='';} else { $data['Mediafile_Url']=$mediafile_url; $data['Mediafile_Size']=filesize($rel_path.$mediafile_url); } } } $data['Image_Url']=''; if(!empty($upload_file)) { $fname=uploadFile('Image_Url',$images_dir); if($fname!=false) $data['Image_Url']='php/'.$fname; elseif(isset($_POST['Id']) && $_GET['image_url_old']!="") $data['Image_Url']=f_strip_tags($_GET['image_url_old']); if($fname!=false && isset($_POST['Id']) && $_GET['image_url_old']!='') { $_dir=(strpos($_GET['image_url_old'],'php/')!==false)?$blog_dir:$images_dir; if(file_exists($_dir.$_GET['image_url_old'])) unlink($_dir.$_GET['image_url_old']); } } elseif(isset($_GET['image_url_old'])) { if(isset($_POST['Id']) && $_GET['image_url_old']!='') { if(isset($_POST['Delete_Old'])) { $_dir=(strpos($_GET['image_url_old'],'php/')!==false)?$blog_dir:$images_dir; if(file_exists($_dir.$_GET['image_url_old'])) unlink($_dir.$_GET['image_url_old']); } else $data['Image_Url']=f_strip_tags($_GET['image_url_old']); } } $data['Last_Modified']=$timestamp; if($page_type=='podcast') $data['Additional4']=''; $es=(get_magic_quotes_gpc()? '\\': ''); for($i=0;$i','class='.$es.'rvts'.(($i+1)*8).$es.'">',$data['Content']); } $record_line=prepare_for_write_new($data); if(!$f_demo_mode) { if(!isset($_POST['Id'])) db_add_entry($record_line,$data['Id']); else db_edit_entry($data['Id'],$record_line); } $output.=manage_entries(); if($save_rss_as_file) update_rssfeed(); if(!empty($_POST['Ping_urls']) && $page_type=='blog') { $send_tb_to=explode(' ',f_strip_tags(trim($_POST['Ping_urls']))); $title_for_url=rawurlencode(str_replace(' ','-',strtolower(f_strip_tags($_POST['Title'])))); $excerpt=f_strip_tags(!empty($data['Entry_Excerpt']))?$_POST['Entry_Excerpt']:$_POST['Content']; $len=strlen($excerpt); if($len>150) {$excerpt=f_split_html_content($excerpt,600);} $permalink=$full_script_path."?entry_id=".$data['Id']."&title=".$title_for_url; foreach($send_tb_to as $k=>$v) { if(!empty($v) &&!is_pinged($data['Id'],$v)) { $res=send_trackback($v,f_strip_tags($_POST['Title']),$excerpt,$permalink); if($res!==false) { $record_line=prepare_for_write(array('Entry_Id'=>$data['Id'],'Pinged_Url'=>$v)); db_add_ping($record_line,$data['Id']); } } } } // rebuild tags cloud $templ=f_read_file($blog_template); $tags_par=50; if(strpos($templ,'%TAGS_CLOUD(')!==false) {$tags_par=f_GFS($templ,'%TAGS_CLOUD(',')%'); settype($tags_par,'integer');} $tags_list=extract_all_records_indexes($db_entries_fname,$db_entries_fields,array('Keywords')); $tags_cloud=array(f_build_tag_cloud($script_path.'?',$tags_list,$tags_par), f_build_tag_cloud($full_script_path.'?', $tags_list,50,'',false,true)); f_write_tagged_data(array('tags_cloud','flash_tags_cloud'),$tags_cloud,$blockedips_fname,$blog_template); if(!isset($thispage_id) && $f_use_search && $data['Publish_Status']=='1' && $data['Accessibility']=='1') { f_url_redirect($doc_dir.'search.php?action=reindex&pid='.$page_id.'&entryid='.$data['Id'].'&redirect=' .urlencode(str_replace('../','',$script_path).'?action=index'),false); exit; } } } return $output; } function update_categories_list() { global $blockedips_fname,$category_name,$category_id,$category_color; $new_category_id=array(); $new_category_name=array(); $new_category_color=array(); $file_content=f_read_file($blockedips_fname); while(strpos($file_content,''); settype($cat_id,'integer'); $category_info=f_GFS($file_content,'',''); list($name,$color)=explode('%%',$category_info); $new_category_id[]=$cat_id; $new_category_name[]=$name; $new_category_color[]=$color; $file_content=str_replace(''.$category_info.'','',$file_content); } if(!empty($new_category_id)) {$category_name=f_un_esc($new_category_name); $category_id=$new_category_id; $category_color=$new_category_color;} $file_content=''; } function add_edit_category($flag,$cat_id='') { global $blockedips_fname,$category_name,$category_id,$category_color,$blog_template; clearstatcache(); if($flag!='del' && $flag!='none') {$cat_name=f_strip_tags($_POST['cat_name']); $cat_color=f_strip_tags($_POST['cat_color']);} $next_id=false; $file_con=''; if(!file_exists($blockedips_fname)) { print f_fmt_in_template($blog_template,f_fmt_error_msg('MISSING_DBFILE',$blockedips_fname)); exit;} elseif(!$fp=fopen($blockedips_fname,'r+')) {print f_fmt_in_template($blog_template,f_fmt_error_msg('DBFILE_NEEDCHMOD',$blockedips_fname)); exit;} else { flock($fp,LOCK_EX); $fsize=filesize($blockedips_fname); if($fsize>0) $file_con=fread($fp,$fsize); $tags_arr=array(); $newset_arr=array(); if(strpos($file_con,'$v) {$tags_arr[]='cat_'.$v; $newset_arr[]=$category_name[$k].'%%'.$category_color[$k];} } if($flag=='add') { $next_id=count($category_id); while(in_array($next_id,$category_id)) $next_id++; $tags_arr[]='cat_'.$next_id; $newset_arr[]=$cat_name.'%%'.$cat_color; } foreach($tags_arr as $k=>$cat) {$file_con=str_replace("*/ ?>","<$cat>".$newset_arr[$k]."*/ ?>",$file_con);} if($flag=='edit') { $file_con=str_replace(f_GFSAbi($file_con,'',''),''.$cat_name.'%%'.$cat_color.'',$file_con); } elseif($flag=='del') { $file_con=str_replace(f_GFSAbi($file_con,'',''),'',$file_con);} ftruncate($fp,0); fseek($fp,0); if(fwrite($fp,$file_con)===FALSE) {print "Cannot write to file";exit;} flock($fp,LOCK_UN); fclose($fp); } return $next_id; } function send_trackback($trackback_url,$title,$excerpt,$permalink) { global $page_charset,$rss_settings; if(empty($trackback_url)) return; $title=urlencode(f_un_esc($title)); $excerpt=urlencode(f_un_esc($excerpt)); $blog_name=urlencode(strpos($rss_settings['Title'],'Type title here')===false? f_un_esc($rss_settings['Title']): ''); $tb_url=$trackback_url; $url=urlencode($permalink); $query_string="title=$title&url=$url&blog_name=$blog_name&excerpt=$excerpt"; $trackback_url=parse_url($trackback_url); $http_request='POST '.$trackback_url['path']. (isset($trackback_url['query'])? '?'.$trackback_url['query']: '')." HTTP/1.0\r\n"; $http_request.='Host: '.$trackback_url['host']."\r\n"; $http_request.='Content-Type: application/x-www-form-urlencoded; charset='.$page_charset."\r\n"; $http_request.='Content-Length: '.strlen($query_string)."\r\n"; $http_request.="User-Agent: EZGenerator/"; $http_request.="\r\n\r\n"; $http_request.=$query_string; $trackback_url['port']=80; $fs=@fsockopen($trackback_url['host'],$trackback_url['port'],$errno,$errstr,4); $res=@fputs($fs,$http_request); @fclose($fs); return $res; } //--------------- MISC functions function uploadFile($input_file,$path) { @ignore_user_abort(); $sm=ini_get('safe_mode'); if(!$sm && function_exists('set_time_limit') && strpos(ini_get('disable_functions'),'set_time_limit')===false) @set_time_limit(0); ini_set('max_input_time',2000); $flag=false; $errors=array(0=>"There is no error, the file uploaded with success", 1=>"The uploaded file exceeds the upload_max_filesize directive in php.ini", 2=>"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form", 3=>"The uploaded file was only partially uploaded", 4=>"No file was uploaded", 6=>"Missing a temporary folder"); if(isset($_FILES[$input_file])) { if(!empty($_FILES[$input_file]['name'])) { //if(isset($_POST['userfilename']) && $_POST['userfilename']!=$_FILES['Upload_Media']['name']) $fname=stripslashes($_POST['userfilename']); $fname=stripslashes(basename($_FILES[$input_file]['name'])); clearstatcache(); if(file_exists($path.$fname)) { $ext_pos=strrpos($fname,"."); $fname=substr($fname,0,$ext_pos)."_".mktime().substr($fname,$ext_pos); } if(copy($_FILES[$input_file]['tmp_name'],$path ."$fname")) $flag=$fname; else $flag=false; } if(0!= $_FILES[$input_file]['error']) { $errn=$_FILES[$input_file]['error']; $flag=false; echo "ERROR: {$errors[$errn]}"; } } return $flag; } function send_notification($content,$send_to_author='') // send notification when comment posted { global $blog_owner_email,$blog_owner_emails_array,$f_mail_type,$notification_subject,$f_use_linefeed,$f_return_path,$page_charset,$f_SMTP_HOST, $f_SMTP_PORT,$f_SMTP_HELLO,$f_SMTP_AUTH,$f_SMTP_AUTH_USR,$f_SMTP_AUTH_PWD,$rel_path; $result=false; if(strpos($blog_owner_email,'your@email.here')===false && $blog_owner_email!='') { $mail=new htmlMimeMail(); if($f_use_linefeed) $mail->setCrlf("\r\n"); $mail->setHeadCharset($page_charset); $mail->setTextCharset($page_charset); $mail->setText($content); $mail->setSubject($notification_subject); $mail->setFrom($blog_owner_email); if ($f_return_path!= '') $mail->setReturnPath($f_return_path); if(($f_mail_type=='smtp')&&($f_SMTP_HOST!=='')) $mail->setSMTPParams($f_SMTP_HOST,$f_SMTP_PORT,$f_SMTP_HELLO,$f_SMTP_AUTH,$f_SMTP_AUTH_USR,$f_SMTP_AUTH_PWD); $result=$mail->send($blog_owner_emails_array,$f_mail_type); if($send_to_author!='') { $author_data=f_get_user($send_to_author,$rel_path); if(!empty($author_data['details']['email']) && f_validate_email($author_data['details']['email'])) $mail->send(array($author_data['details']['email']),$f_mail_type); } if($result) return true; else return false; } } function prepare_for_write($data) // format blog records for writing in db files { global $f_lf; $enf=array('Title','Subtitle','Content','Author','Keywords','Comments','Visitor','AGENT','Image_Url','Mediafile_Url','Url','Excerpt','Entry_Excerpt','Blog_Name','Pinged_Url'); foreach($data as $k=>$v) { $temp=trim($v); if(in_array($k,$enf)) $data[$k]='"'.urlencode($temp).'"'; else { $data[$k]='"'.(get_magic_quotes_gpc()? str_replace(",","%2C",$temp): str_replace( array('\\','\'','"',',' ), array('\\\\','\\\'','\"',"%2C"),$temp)).'"'; } } $line=implode(',',array_values($data)).$f_lf; return $line; } function prepare_for_write_new($data) // format blog records for writing in db files { global $f_lf,$db_entries_fields,$page_type; $enf=array('Title','Subtitle','Content','Author','Keywords','Comments','Visitor','AGENT','Image_Url','Mediafile_Url','Url','Entry_Excerpt'); $temp=str_replace(array($f_lf,'"'),array('',''),$db_entries_fields); $fields=explode(',',$temp); $linea=array(); foreach($fields as $k) { if(isset($data[$k])) $temp=trim($data[$k]); else $temp=''; if(in_array($k,$enf)) $val='"'.urlencode($temp).'"'; else $val='"'.(get_magic_quotes_gpc()? str_replace(",","%2C",$temp): str_replace( array( '\\','\'','"',',' ), array('\\\\','\\\'','\"',"%2C"),$temp)).'"'; $linea[]=$val; } $line=implode(',',array_values($linea)).$f_lf; return $line; } function prepare_for_move($data) // format blog records when moving from file to file { global $f_lf; foreach ($data as $k=>$v) $data[$k]='"'.$v.'"'; $line=implode(',',array_values($data)).$f_lf; return $line; } function build_assoc_array($values,$keys) // format data in associative array { global $f_lf,$page_type; $output=array(); if(!is_array($keys)) { $temp=str_replace(array($f_lf,'"'),array('',''),$keys); $keys=explode(',',$temp);} $index=0; foreach($keys as $k=>$v) { if($v=='Title') { $cur_v=f_sth(urldecode($values[$index])); $us=f_GFS($cur_v,'%%USER','%%'); $cur_v=str_replace('%%USER'.$us.'%%','',$cur_v); $kw=f_GFS($cur_v,'%%KEYW','%%'); $cur_v=str_replace('%%KEYW'.$kw.'%%','',$cur_v); $output[$v]=urlencode(html_entity_decode($cur_v)); if(array_search('Excerpt',$keys)===false) { if($page_type=='blog' && !isset($values[11])) $output['User']=$us; elseif($page_type=='podcast' && empty($values[15])) $output['User']=$us; if($page_type=='blog' && !isset($values[9])) $output['Keywords']=$kw; } } elseif($v=='Creation_Date') { $output[$v]=(!isset($values[$index]) || $values[$index]=='')? $values[array_search('Id',$keys)]: $values[$index];} else { if(isset($values[$index]) && $v=='Publish_Status' && $values[$index]=='') $output[$v]='1'; elseif(isset($values[$index]) && $v=='Accessibility' && $values[$index]=='') $output[$v]='1'; elseif(isset($values[$index])) $output[$v]=$values[$index]; elseif(!isset($output[$v])) $output[$v]=($v=='Publish_Status' || $v=='Accessibility')?'1':''; } $index++; } return $output; } function get_file_list() { global $lang_l,$mediafolders_list,$media_types,$rel_path; $list=array('-- '.$lang_l['select media file'].' --'); foreach($mediafolders_list as $k=>$v) { $handle=opendir($rel_path.$v); while($file=readdir($handle)) { if(($file!='.') && ($file!='..')) { if(in_array(strtolower(substr($file,strrpos($file,'.')+1)),$media_types)) $list[]=$v."/".$file; } } } return $list; } // ---------- DB functions ------------ function db_add_record($db_file,$db_fields,$record_line) { global $f_db_first_line,$f_db_last_line,$f_lf,$blog_template; $need_sort=false; clearstatcache(); if(file_exists($db_file)) { if(!$handle=@fopen($db_file,"r+")) {print f_fmt_in_template($blog_template,f_fmt_error_msg('DBFILE_NEEDCHMOD',$db_file)); exit;} flock($handle,LOCK_EX); $fsize=filesize($db_file); if($fsize==0) fwrite($handle,$f_db_first_line.$f_lf. $db_fields. $record_line. $f_db_last_line); else { fseek($handle,$fsize-5); fwrite($handle,$record_line. $f_db_last_line); } flock($handle,LOCK_UN); fclose($handle); } else { print f_fmt_in_template($blog_template,f_fmt_error_msg('MISSING_DBFILE',$db_file)); exit;} } function db_add_entry($record_line,$entry_id) // add blog entry { global $db_entries_fields,$page_type,$db_entries_fname,$prefix,$f_db_first_line,$f_db_last_line,$f_lf,$fl_studio_flag, $db_domain_fname, $db_domain_fields; db_add_record($db_entries_fname,$db_entries_fields,$record_line); if($fl_studio_flag && $page_type=='blog' && (!empty($_POST['Domain']) || !empty($_POST['Add1'])) ) // fl studio only { $domain_line=prepare_for_write(array($entry_id,$_POST['Domain'],$_POST['Add1'],'')); db_add_record($db_domain_fname,$db_domain_fields,$domain_line); } return true; } function db_add_comment($record_line,$entry_id) // add comment { global $db_comments_fields,$db_map_fields,$db_comments_fname,$db_map_fname,$comments_require_approval; db_add_record($db_comments_fname,$db_comments_fields,$record_line); if(!$comments_require_approval) db_increase_count($entry_id); return true; } function db_add_trackback($record_line,$entry_id) // add trackback { global $db_trackbacks_fields,$db_trackbacks_fname; db_add_record($db_trackbacks_fname,$db_trackbacks_fields,$record_line); return true; } function db_add_ping($record_line,$entry_id) // add sent pings { global $db_pinged_blogs_fields,$db_pinged_blogs_fname; db_add_record($db_pinged_blogs_fname,$db_pinged_blogs_fields,$record_line); return true; } function db_edit_record($entry_id,$editedrecord_line,$db_fname,$index=0) // edit record { global $f_db_first_line,$f_db_last_line,$f_lf,$f_max_chars,$blog_template,$db_entries_fname,$page_type; $data=""; $old_data=""; $need_user_keyw_rem=false; if(!$handle=@fopen($db_fname,"r+")) {print f_fmt_in_template($blog_template,f_fmt_error_msg('DBFILE_NEEDCHMOD',$db_fname)); exit;} flock($handle,LOCK_EX); $old_data=fread($handle,filesize($db_fname)); fseek($handle,0); $php_start_line=fgetcsv($handle,2048); if($db_fname==$db_entries_fname && (strpos($old_data,'%25%25USER')!==false || strpos($old_data,'%25%25KEYW')!==false)) $need_user_keyw_rem=true; if(strpos($php_start_line[0],$f_db_first_line)===false) $data.=$f_db_first_line.$f_lf; else $data.=implode(',',array_values($php_start_line)).$f_lf; while($result=fgetcsv($handle,$f_max_chars)) { if($result[0]==$f_db_last_line) $data.=$f_db_last_line; elseif($result[$index]==$entry_id) $data.=$editedrecord_line; else { if($need_user_keyw_rem) { $ct=count($result); if($page_type=='blog' && $ct<12) { for($i=$ct; $i<12; $i++) $result[$i]='';} if(strpos($result[2],'%25%25USER')!==false) { $us=f_GFS($result[2],'%25%25USER','%25%25'); $result[2]=str_replace('%25%25USER'.$us.'%25%25','',$result[2]); if($page_type=='blog') $result[11]=$us; else $result[15]=$us; } if(strpos($result[2],'%25%25KEYW')!==false && $page_type=='blog') { $ke=f_GFS($result[2],'%25%25KEYW','%25%25'); $result[2]=str_replace('%25%25KEYW'.$ke.'%25%25','',$result[2]); $result[9]=$ke; } } $record_line=prepare_for_move($result); $data.=$record_line; } } if(ftruncate($handle,0)==false) {echo "Failed to truncate file --> last update failed"; exit;} fseek($handle,0); if(fwrite($handle,$data)==FALSE) {fwrite($handle,$old_data); echo "Failed to edit file --> last update failed"; exit;} flock($handle,LOCK_UN); fclose($handle); $old_data='';$data=''; return true; } function db_edit_entry($entry_id,$editedrecord_line) // edit blog entry { global $db_entries_fname,$page_type,$fl_studio_flag,$db_domain_fname,$db_domain_fields,$f_db_first_line,$f_db_last_line,$f_lf,$f_max_chars; db_edit_record($entry_id,$editedrecord_line,$db_entries_fname); if($fl_studio_flag && $page_type=='blog' && (!empty($_POST['Domain']) || !empty($_POST['Add1']))) // fl studio only { $domain_line=prepare_for_write(array($entry_id,$_POST['Domain'],$_POST['Add1'],'')); $handle=fopen($db_domain_fname,"r"); if(filesize($db_domain_fname)!=0) { $old_data=fread($handle,filesize($db_domain_fname)); if(strpos($old_data,$entry_id)!==false) db_edit_record($entry_id,$domain_line,$db_domain_fname); else db_add_record($db_domain_fname,$db_domain_fields,$domain_line); } else db_add_record($db_domain_fname,$db_domain_fields,$domain_line); } } function db_edit_comment($comment_id,$editedrecord_line) { global $db_comments_fname; db_edit_record($comment_id,$editedrecord_line,$db_comments_fname,1); } function db_edit_trackback($trackback_id,$editedrecord_line) { global $db_trackbacks_fname; db_edit_record($trackback_id,$editedrecord_line,$db_trackbacks_fname,1); } function db_delete_record($entry_id,$db_fname,$index=0) // delete record { global $f_db_last_line,$f_lf,$f_max_chars,$blog_template; $data="";$old_data=""; clearstatcache(); if(file_exists($db_fname)) { if(!$handle=@fopen($db_fname,"r+")) {print f_fmt_in_template($blog_template,f_fmt_error_msg('DBFILE_NEEDCHMOD',$db_fname)); exit;} flock($handle,LOCK_EX); $fsize=filesize($db_fname); if($fsize!=0) { $old_data=fread($handle,$fsize); fseek($handle,0); $php_start_line=fgetcsv($handle,2048); $data.=implode(',',array_values($php_start_line)).$f_lf; while($result=fgetcsv($handle,$f_max_chars)) { if($result[0]==$f_db_last_line) $data.=$f_db_last_line; elseif($result[$index]==$entry_id) continue; else { $record_line=prepare_for_move($result); $data.=$record_line;} } if(ftruncate($handle,0)==false) { echo "Failed to truncate file --> last update failed";exit;} fseek($handle,0); if (fwrite($handle,$data)==FALSE) {fwrite($handle,$old_data); echo "Failed to delete file --> last update failed"; exit;} flock($handle,LOCK_UN); fclose($handle); $old_data='';$data=''; } } return true; } function db_delete_media($entry_id,$db_entries_fname,$index=0) // delete the entry image { global $f_db_last_line,$page_type,$f_max_chars,$rel_path,$images_dir,$blog_dir,$db_entries_fields, $mediadefault_folder;// customization for JMC (image-line site) $image_for_del=''; $handle=fopen($db_entries_fname,"r"); flock($handle,LOCK_EX); $php_start_line=fgetcsv($handle,2048); $db_fields_line=fgetcsv($handle,$f_max_chars); while($data=fgetcsv($handle,$f_max_chars)) { if($data[0]==$f_db_last_line) continue; elseif($data[$index]==$entry_id) { $result=build_assoc_array($data,$db_entries_fields); $image_for_del=f_sth(urldecode($result['Image_Url'])); if($page_type=='podcast') $media_for_del=f_sth(urldecode($result['Mediafile_Url'])); } } flock($handle,LOCK_UN); fclose($handle); $_dir=(strpos($image_for_del,'php/')!==false)?$blog_dir:$images_dir; if(($image_for_del!='') && file_exists($_dir.$image_for_del)) unlink($_dir.$image_for_del); if($page_type=='podcast' && file_exists($rel_path.$media_for_del)) unlink($rel_path.$media_for_del); } function db_increase_count($entry_id,$cm_flag=true) // increase count for comment/trackback --> cm_flag: true->comments; false->trackbacks { global $db_map_fname,$db_map_fields,$db_trackbacks_map_fname,$db_trackbacks_map_fields,$f_db_first_line,$f_db_last_line,$f_lf,$f_max_chars; $flag=false; $data=""; $old_data=""; if($cm_flag==true) { $db_fname=$db_map_fname; $db_fields=$db_map_fields;} else { $db_fname=$db_trackbacks_map_fname; $db_fields=$db_trackbacks_map_fields;} clearstatcache(); if (!$map_handle=fopen($db_fname,"r+")) { echo "Could not open db file to edit"; exit; } flock($map_handle,LOCK_EX); $fsize=filesize($db_fname); if($fsize==0) { $data.=$f_db_first_line.$f_lf. $db_fields. prepare_for_write(array($entry_id,1)). $f_db_last_line; fseek($map_handle,0);} else { $old_data=fread($map_handle,$fsize); fseek($map_handle,0); $php_start_line=fgetcsv($map_handle,2048); $data.=implode(',',array_values($php_start_line)).$f_lf; while($result=fgetcsv($map_handle,$f_max_chars)) { if($result[0]==$entry_id) { $comments_count_line=prepare_for_write(array($entry_id,$result[1]+1) ); $data.=$comments_count_line; $flag=true; } elseif($result[0]==$f_db_last_line) continue; else {$comments_count_line=prepare_for_move($result); $data.=$comments_count_line;} } if($flag==false) $data.=prepare_for_write(array($entry_id,1)); $data.=$f_db_last_line; if(ftruncate($map_handle,0)===false) { echo "Failed to truncate file --> last update failed"; exit;} fseek($map_handle,0); } if(fwrite($map_handle,$data)===FALSE) { if($old_data!="") {fwrite($map_handle,$old_data);} echo "Failed to edit file --> last update failed";exit; } flock($map_handle,LOCK_UN); fclose($map_handle); return true; } function db_reduce_count($entry_id,$cm_flag=true) // reduce comments number for an entry { global $db_map_fname,$db_trackbacks_map_fname,$f_max_chars,$f_db_last_line,$f_lf; $flag=false; $data=""; $old_data=""; $db_fname=($cm_flag==true)?$db_map_fname:$db_trackbacks_map_fname; clearstatcache(); if (!$map_handle=fopen($db_fname,"r+")) { echo "Could not open db file"; exit; } flock($map_handle,LOCK_EX); $fsize=filesize($db_fname); if($fsize!=0) { $old_data=fread($map_handle,$fsize); fseek($map_handle,0);} $php_start_line=fgetcsv($map_handle,2048); $data.=implode(',',array_values($php_start_line)).$f_lf; while($result=fgetcsv($map_handle,$f_max_chars)) { if($result[0]==$entry_id) { if(($result[1]-1)==0) continue; else $data.=prepare_for_write(array($entry_id,$result[1]-1)); } elseif ($result[0]==$f_db_last_line) $data.=$f_db_last_line; else $data.=prepare_for_move($result); } if(ftruncate($map_handle,0)==false) { echo "Failed to truncate file --> last update failed";exit;} fseek($map_handle,0); if(fwrite($map_handle,$data)==FALSE) { if($old_data!="") fwrite($map_handle,$old_data); echo ">>Failed to edit file --> last update failed"; exit; } flock($map_handle,LOCK_UN); fclose($map_handle); $flag=true; return $flag; } function db_delete_entry($entry_id) // delete blog entry { global $page_type,$db_entries_fname,$db_comments_fname,$db_map_fname,$db_trackbacks_fname,$db_trackbacks_map_fname,$db_pinged_blogs_fname, $db_domain_fname,$f_lf,$mediadefault_folder,$fl_studio_flag; // JMC (image-line site) db_delete_media($entry_id,$db_entries_fname); db_delete_record($entry_id,$db_entries_fname); db_delete_record($entry_id,$db_comments_fname); db_delete_record($entry_id,$db_map_fname); if($page_type=='blog') { db_delete_record($entry_id,$db_pinged_blogs_fname); db_delete_record($entry_id,$db_trackbacks_fname); db_delete_record($entry_id,$db_trackbacks_map_fname); } if($fl_studio_flag && $page_type=='blog') db_delete_record($entry_id,$db_domain_fname); // fl studio only } function is_ip_blocked($ip) { global $blockedips_fname; $file_contents=f_read_file($blockedips_fname); $blocked_ips=f_GFS($file_contents,'',''); if(strpos($blocked_ips,$ip.'|')!==false) return true; else return false; } function is_tb_approved($id) { global $db_trackbacks_fname,$db_trackbacks_fields; $record=extract_specific_record($id,$db_trackbacks_fname,$db_trackbacks_fields,1); if(!empty($record) && $record['Approved']=='1') return true; else return false; } function is_pinged($entry_id,$url) { global $db_trackbacks_fname,$db_trackbacks_fields; $res=false; $pinged_record=get_pinged_urls($entry_id); if(!empty($pinged_record)) { $filtered=array(); foreach($pinged_record as $k=>$v) $filtered[]=urldecode($v['Pinged_Url']); if(in_array($url,$filtered)) $res=true; } return $res; } function get_pinged_urls($id) { global $db_pinged_blogs_fname,$db_pinged_blogs_fields; $records=extract_all_records($db_pinged_blogs_fname,$db_pinged_blogs_fields,$id); return $records; } // ------------------------------- DB QUERY functions ------------------------- function extract_all_records($fname,$db_field_names,$entry_id='') // extract all records from specific db file { global $f_db_last_line,$f_max_chars,$blog_template; $result=array(); if(file_exists($fname)) { $handle=fopen($fname,"r"); $php_start_line=fgetcsv($handle,2048); $db_field_line=fgetcsv($handle,2048); while($data=fgetcsv($handle,$f_max_chars)) { if($data[0]!=$f_db_last_line) { if($entry_id!='') { if ($data[0]==$entry_id) {$result[]=build_assoc_array($data,$db_field_names);} } else $result[]=build_assoc_array($data,$db_field_names); } } fclose($handle); } else { print f_fmt_in_template($blog_template,f_fmt_error_msg('MISSING_DBFILE',$fname)); exit;} return $result; } function extract_specific_record($entry_id,$db_fname,$db_field_names,$index=0) // extract specific record { global $f_db_last_line,$f_max_chars,$blog_template; $result=array(); if(file_exists($db_fname)) { $handle=fopen($db_fname,"r"); $php_start_line=fgetcsv($handle,2048); $db_field_line=fgetcsv($handle,2048); while ($data=fgetcsv($handle,$f_max_chars)) { if ($data[0]!=$f_db_last_line) { if($data[$index]==$entry_id) { $result=build_assoc_array($data,$db_field_names); break;} else continue; } } fclose($handle); } else { print f_fmt_in_template($blog_template,f_fmt_error_msg('MISSING_DBFILE',$fname)); exit;} return $result; } function extract_specific_entry($entry_id) { global $db_entries_fname,$db_entries_fields; $result=array(); $result=extract_specific_record($entry_id,$db_entries_fname,$db_entries_fields); return $result; } function extract_specific_comment($comment_id) { global $db_comments_fname,$db_comments_fields; $result=array(); $result=extract_specific_record($comment_id,$db_comments_fname,$db_comments_fields,1); return $result; } function extract_category_entries($records,$cat_id) { global $f_db_last_line,$f_max_chars; $result=array(); foreach($records as $k=>$v){if($v['Category']==$cat_id) $result[]=$v;} return $result; } function extract_period_entries($records,$mon,$year) { $result=array(); foreach($records as $k=>$v) { $date_ts=f_tzone_date($v['Creation_Date']); if(date('n',$date_ts)==$mon && date('Y',$date_ts)==$year) $result[]=$v; } return $result; } function search_in_entries($search_string,$flag='user') { global $page_type,$f_db_last_line,$f_max_chars,$blog_template,$db_entries_fname,$db_entries_fields; $result=array(); $xfield=($page_type=='blog')?'Entry_Excerpt':'Subtitle'; $s_s_lower=strtolower($search_string); $s_s_lower=str_replace('\"','"',$s_s_lower); $exact=($s_s_lower[0]=='"' && $s_s_lower[strlen($s_s_lower)-1]=='"'); if($exact)$s_s_lower=f_GFS($s_s_lower,'"','"'); $sa=explode(" ",$s_s_lower); if(file_exists($db_entries_fname)) { $handle=fopen($db_entries_fname,"r"); $php_start_line=fgetcsv($handle,2048); $db_field_line=fgetcsv($handle,2048); while($data=fgetcsv($handle,$f_max_chars)) { if($data[0]!=$f_db_last_line) { $rec=build_assoc_array($data,$db_entries_fields); if($flag=='admin' || ($rec['Publish_Status']=='1' && $rec['Accessibility']=='1')) { $merged=get_category_info($rec['Category'],'name').' ' .f_sth_2(urldecode($rec['Title'])).' '.f_sth_2(urldecode($rec['Content'])).' '.f_sth_2(urldecode($rec['Keywords'])).' ' .f_sth_2(urldecode($rec[$xfield])); $merged=strtolower($merged); if ($exact) {if(strpos($merged,$s_s_lower)!== false) $result[]=$rec;} else { $ct=0; foreach($sa as $x=>$y) if(strpos($merged,$y)!== false) $ct++; if($ct==count($sa)) $result[]=$rec; } } } } } else { print f_fmt_in_template($blog_template,f_fmt_error_msg('MISSING_DBFILE',$db_entries_fname)); exit;} return $result; } function get_comments_count($fname,$db_field_names) { global $f_max_chars,$f_db_last_line; $result=array(); if(file_exists($fname)) { $handle=fopen($fname,"r"); $php_start_line=fgetcsv($handle,2048); $db_field_line=fgetcsv($handle,2048); while($data=fgetcsv($handle,$f_max_chars)) { if(strpos($data[0],$f_db_last_line)===false) $result[$data[0]]=$data[1]; } fclose($handle); } return $result; } function entry_exists($records,$entry_id) { $result=false; foreach($records as $k=>$v){if($v['Id']==$entry_id) $result=true; } return $result; } // ------------------------------- HTML functions ------------------------- function replace_param($key,$value,$src) { $result=$src; $result=str_replace('

'.$key.'

','
'.$value.'
',$result); $result=str_replace('

'.$key.'

','
'.$value.'
',$result); $result=str_replace('

'.$key.'

',$value,$result); return str_replace($key,$value,$result); } function build_font_style($css_array) // building font style (for preview function) { global $use_template_styles,$preview_on; if($preview_on) { foreach($_GET as $k=>$v) $_GET[$k]=f_strip_tags($v); $preview=$_GET; $result="class='".$css_array['customstyle']."' " .((!isset($preview[$css_array['fontid']])? "": "style='font-family: ".str_replace('_',' ',$preview[$css_array['fontid']])."' ")) .((!isset($preview[$css_array['fontsize']])? "": "style='font-size: ".$preview[$css_array['fontsize']]."px' ")) .((!isset($preview[$css_array['fontcolor']])? "": "style='color: #".$preview[$css_array['fontcolor']]."' ")); } elseif($use_template_styles) $result="class='".$css_array['templatestyle']."'"; else $result="class='".$css_array['customstyle']."'"; return $result; } function build_hr_style($css_array ) { global $use_template_styles,$preview_on,$f_ct; if($preview_on) { foreach($_GET as $k=>$v) $_GET[$k]=f_strip_tags($v); $preview=$_GET; $result="
\n"; foreach($data as $k=>$v) { $r.="
'; foreach($entries_records as $k=>$v) { if(!empty($v)) { $title=f_sth_2(urldecode($v['Title'])); $permalink_url=$script_path."?entry_id=".$v['Id']."&title=".rawurlencode(str_replace(' ','-',strtolower($title))); $permalink_line="".$lang_l['permalink'].""; $excerpt=f_sth(urldecode($v['Entry_Excerpt'])); $content=f_split_html_content(f_sth_2(urldecode($v['Content'])),300); $output.=""; if($page_type=='blog' && $use_excerpt_on_frontpage && !empty($v['Entry_Excerpt'])) $output.=""; elseif(!empty($v['Content'])) $output.=""; $count++; } } $output.='
".$count.". ".$title."".$f_br; $output.="".format_date($v['Creation_Date'],'short')."".$f_br.$f_br."
".str_replace('%permalink%',$permalink_line,$excerpt).$f_br.$f_br."
".str_replace('%permalink%',$permalink_line,$content).$f_br.$f_br."
'.$f_br.f_page_navigation($total_records,$script_path.'?search_string='.urlencode(f_strip_tags($_GET['search_string'])),$max_search_results,$c_page,$lang_l['of'],build_font_style($css_urlsidebar),$nav_labels); return $output; } function categories_result_html($entries_records,$action_id,$full_flag=false) { global $lang_l,$css_title,$css_date,$css_urltitle,$css_hr,$script_path,$month_name,$f_br; $curr_cat_name=get_category_info($entries_records[0]['Category'],'name'); $body_html="".strtoupper($lang_l['archive']).' ' .($full_flag==false? strtoupper($curr_cat_name).' ':'')."".$f_br.$f_br; reset($entries_records); foreach ($entries_records as $k=>$v) { $title=f_sth_2(urldecode($v['Title'])); $title_for_url=rawurlencode(str_replace(' ','-',strtolower($title))); if($k==0 || date('n',f_tzone_date($v['Creation_Date']))!=date('n',f_tzone_date($entries_records[$k-1]['Creation_Date']))) { $body_html.=$f_br."".strtoupper($month_name[date('n',f_tzone_date($v['Creation_Date']))-1].date(' Y',f_tzone_date($v['Creation_Date'])))."".$f_br.$f_br; } $body_html.="".$title."".$f_br; $body_html.="".format_date($v['Creation_Date'],'short')."".$f_br.$f_br; } return $body_html; } function comments_html($comments_records,$action_id) { global $lang_l,$month_name,$script_path,$time_format,$css_date,$css_content,$css_footer,$css_urlfooter,$css_hr,$f_br,$f_lf,$user_edit_own_posts_only; $body_html=""; $spcon=""; $spfooter=""; if(!empty($comments_records)) { $body_html.="

".strtoupper($lang_l['comments'])."

"; foreach($comments_records as $k=>$v) { if($v['Approved']=='1' || $v['Approved']=='') { $url=$v['Url']; $comments_value=str_replace($f_lf,$f_br,f_sth_2(urldecode($v['Comments']))); $body_html.=$f_br.$spfooter.'[ '.ucfirst($lang_l['posted by'])." "; if(empty($url)) $body_html.=$spfooter.''.f_sth(urldecode($v['Visitor'])).""; else $body_html.="" .f_sth(urldecode($v['Visitor'])).""; $body_html.=$spfooter.", ".format_date($v['Timestamp']).f_format_time($v['Timestamp'],$time_format)." ] "; if($action_id!='frontpage' && ($user_edit_own_posts_only==false || f_is_logged('SID_ADMIN'))) { $body_html.=$spfooter." | ".ucfirst($lang_l['edit'])."" .$spfooter." | " .ucfirst($lang_l['delete'])."".$spfooter." |"; } $body_html.=$f_br.'     '.$spcon.ucfirst($comments_value)."".$f_br; } } $body_html.=$f_br."
"; } return $body_html; } function trackbacks_html($entry_id,$records) { global $lang_l,$month_name,$script_path,$time_format,$css_date,$css_content,$css_footer,$css_urlfooter,$css_hr,$f_br; $spcon=""; $spfooter=""; $body_html=''; if(!empty($records)) { $body_html.="

".strtoupper($lang_l['trackbacks'])."

"; foreach ($records as $k=>$v) { if($v['Approved']=='1') { $body_html.=$f_br.$spfooter.'[ '.format_date($v['Timestamp']).f_format_time($v['Timestamp'],$time_format).", ".f_sth(urldecode($v['Blog_Name'])).' >> '.f_sth_2(html_entity_decode(urldecode($v['Title']),ENT_QUOTES))."".$spfooter.' ]'.$f_br; $body_html.=$f_br.'     '.$spfooter .f_sth_2(html_entity_decode(urldecode($v['Excerpt']),ENT_QUOTES))." ".$f_br; } } $body_html.=$f_br."
"; } return $body_html; } // --------------------- ADMIN screen -------------------- function build_admin_menu($action_id) { global $script_path,$doc_dir,$page_type,$page_id,$lang_l,$lg_,$f_br,$enable_comments,$db_comments_fname,$rel_path, $user_edit_own_posts_only; $captions=array(); $urls=array(); $indexes=array(); $url_base=$script_path.'?action='; $ca_url_base=$doc_dir.'centraladmin.php?process='; $admin_logged=f_is_logged('SID_ADMIN'); $captions[]=(isset($lang_l['add entry'])? $lang_l['add entry']: $lang_l['post entries']); $urls[]=$url_base.'postentry'; $indexes[]='postentry'; $captions[]=$lang_l['entries']; $urls[]=$url_base.'index'; $indexes[]='index'; if($user_edit_own_posts_only==false || $admin_logged) { $captions[]=$lang_l['manage categories']; $urls[]=$url_base.'mng_categories'; $indexes[]='mng_categories'; if($enable_comments || file_exists($db_comments_fname) && filesize($db_comments_fname)!=0) {$captions[]=$lang_l['manage comments']; $urls[]=$url_base.'mng_comments'; $indexes[]='mng_comments';} if($page_type=='blog') { $captions[]=$lang_l['trackbacks']; $urls[]=$url_base.'mng_tb'; $indexes[]='mng_tb';} $captions[]=$lang_l['other settings']; $urls[]=$url_base.'mng_settings'; $indexes[]='mng_settings'; } if(!isset($_SESSION)) f_int_start_session(); $logged_as=f_get_session_var_str(isset($_SESSION['SID_ADMIN'])?'SID_ADMIN':'cur_user'); if($admin_logged) { $captions[]=$lang_l['logout'].'['.$logged_as.']'; $urls[]=$ca_url_base.'logoutadmin&pageid='.$page_id.'&'.$lg_; $captions[]='CENTRAL ADMIN'; $urls[]=$ca_url_base.'index&'.$lg_; } else { $ca_url_ext=$doc_dir.'centraladmin.php?pageid='.$page_id."&username=".f_get_session_var_str('cur_user') .'&ref_url='.urlencode($script_path.'?action=index').$lg_.'&process='; $captions[]=$lang_l['change password']; $urls[]=$ca_url_ext."changepass"; $captions[]=$lang_l['edit profile']; $urls[]=$ca_url_ext."editprofile"; $captions[]=$lang_l['logout'].'['.$logged_as.']'; $urls[]=$ca_url_base.'logout&pageid='.$page_id.'&'.$lg_; } $action_key=array_search($action_id,$indexes); if($action_key!==false) $selected=$action_key; elseif(in_array($action_id,array('duplicate'))) $selected=array_search('index',$indexes); elseif(in_array($action_id,array('approve_tb','unapprove_tb','del_tb'))) $selected=array_search('mng_tb',$indexes); elseif(in_array($action_id,array('del_comment','edit_comment','approve_cmt','unapprove_cmt'))) $selected=array_search('mng_comments',$indexes); else $selected=1; $output=f_admin_navigation($captions,$urls,$selected); return $output; } function entries_admin($data_to_show,$cat_id,$period_id,$periods_array,$entries_total,$published_total,$pending_total,$draft_total) // manage entries { global $script_path,$month_name,$category_name,$f_max_rec_on_admin,$lang_l,$page_type,$f_br,$f_max_rec_on_admin,$db_comments_fname, $enable_comments, $db_map_fname,$db_map_fields,$db_trackbacks_map_fields,$db_trackbacks_map_fname,$time_format,$nav_labels,$f_ct, $entry_status,$page_charset,$most_visted_enabled,$all_settings,$f_js_end,$f_js_st,$f_max_rec_on_admin,$ranking_enabled,$c_page; $prepend=''; $cap_arrays=array(); $table_data=array(); $append=''; $uft_flag=(strpos(strtolower($page_charset),'utf')!==false? true: false); $is_blog=($page_type=='blog'); $curr_status=f_strip_tags(isset($_GET['status'])?$_GET['status']:''); $amp_pg=($c_page!=1?'&page='.$c_page:''); $amp_st=($curr_status!=''?'&status='.f_strip_tags($_GET['status']):''); $amp_st1=($curr_status!=''?'&status='.f_strip_tags($_GET['status']):''); $amp_cat=($cat_id!=='')?'&category='.urlencode($cat_id):''; $amp_per=($period_id!=='')?'&period_id='.$period_id:''; $amp_search=(isset($_REQUEST['search_string']))?'&search_string='.f_strip_tags($_REQUEST['search_string']):''; foreach($category_name as $k=>$v) $category_name_temp[$k]=urlencode($v); array_unshift($category_name_temp,'All categories'); array_unshift($periods_array,'All periods'); foreach($periods_array as $k=>$v) if($v=='All periods') $periods_array_t[$v]=ucfirst($lang_l['all periods']); else $periods_array_t[$v]=$v; $periods_array=$periods_array_t; $pass_total=$entries_total; if(isset($_GET['status'])) $pass_total=($_GET['status']=='0'? $draft_total: ($_GET['status']=='2'? $pending_total:$published_total)); elseif(isset($_REQUEST['search_string'])) { $pass_total=count($data_to_show); $data_to_show=array_slice($data_to_show,($c_page-1)*$f_max_rec_on_admin,$f_max_rec_on_admin);} $left_content=' '; $left_content.=build_select_cat_combo('Selected_Category',$category_name_temp,urlencode($cat_id)); $left_content.=f_build_select('Selected_Period',$periods_array, ($period_id==''?'All periods':$period_id)). " '; $right_content.=" ucfirst($lang_l['all']),'count'=>$entries_total,'url'=>$script_path.'?action=index'.$amp_cat.$amp_per); $fast_nav_array[]=array('label'=>ucfirst($entry_status['1']),'count'=>$published_total,'url'=>$script_path.'?action=index&status=1'.$amp_cat.$amp_per,'status'=>'1'); $fast_nav_array[]=array('label'=>ucfirst($entry_status['2']),'count'=>$pending_total,'url'=>$script_path.'?action=index&status=2'.$amp_cat.$amp_per,'status'=>'2'); $fast_nav_array[]=array('label'=>ucfirst($entry_status['0']),'count'=>$draft_total,'url'=>$script_path.'?action=index&status=0'.$amp_cat.$amp_per,'status'=>'0'); $fast_nav_selected=$curr_status; $prepend.=f_admin_filter_bar(array($fast_nav_array, $fast_nav_selected),$left_content,$right_content); if(!empty($data_to_show)) { $all_comments_map=get_comments_count($db_map_fname,$db_map_fields); $all_tb_map=get_comments_count($db_trackbacks_map_fname,$db_trackbacks_map_fields); if(!isset($_SESSION)) f_int_start_session(); $logged_as=f_get_session_var_str('SID_ADMIN'); $nav_bar=f_page_navigation($pass_total,$script_path.'?action=index'.$amp_cat.$amp_st.$amp_per.$amp_search,$f_max_rec_on_admin,$c_page,$lang_l['of'],"class='rvts12'",$nav_labels); $prepend.=$nav_bar; $use_comments=$enable_comments || (file_exists($db_comments_fname) && filesize($db_comments_fname)!=0); $com_title=($use_comments)?$lang_l['comments']:''; $track_title=($page_type=='blog')?$lang_l['trackbacks']:$lang_l['downloads']; if($most_visted_enabled) $cap_arrays=array('',$lang_l['title'],$lang_l['visitor'],$com_title,$track_title,$lang_l['visits'],$lang_l['status'],$lang_l['category']); else $cap_arrays=array('',$lang_l['title'],$lang_l['visitor'],$com_title,$track_title,$lang_l['status'],$lang_l['category']); foreach($data_to_show as $key=>$value) { $non_published=($value['Publish_Status']=='2' || $value['Publish_Status']=='0'); $inp='' .f_sth_2(urldecode($value['Title'])).''.$f_br; $you=''; if(!$is_blog) { if(isset($value['Mediafile_Url'])&&(!empty($value['Mediafile_Url']))) { $mf=f_sth(urldecode($value['Mediafile_Url'])); if(strpos($mf,'youtube')!==false) $you=$mf; else $entry.=''.basename($mf).''.$f_br; } } $entry.='' .f_my_substr($month_name[date('n',f_tzone_date($value['Creation_Date']))-1],0,3,$uft_flag) .f_format_time($value['Creation_Date'],$time_format,'long').''; $entry_pub=($value['Publish_Status']=='1'); $entry_nav=array($lang_l['edit']=>$script_path.'?action=index&entry_id='.$value['Id'].$amp_pg, $lang_l['duplicate']=>$script_path.'?action=duplicate&entry_id='.$value['Id'].$amp_pg, $lang_l['delete']=>$script_path.'?action=del_entry&entry_id='.$value['Id'].$amp_pg.'" onclick="javascript:return confirm(\''.ucfirst($lang_l['del entry msg']).'\');', $lang_l[($entry_pub?'unpublish':'publish')]=>$script_path.'?action='.($entry_pub?'unpub_entry':'pub_entry').'&entry_id='.$value['Id']); if($non_published) $entry_nav['preview']=$script_path.'?action=entrypreview&entry_id='.$value['Id'].$amp_pg.'" target="_blank'; if($you!='')$entry_nav['youtube']=$you; $postedby=''.((isset($value['User']))?f_sth(urldecode($value['User'])):'').''; $comments='';$comments_nav=array(); if($use_comments) { $cc=(isset($all_comments_map[$value['Id']])? $all_comments_map[$value['Id']]: 0); $comments='('.$cc.')'; if($cc>0) $comments_nav=array($lang_l['view']=>$script_path.'?comments=comments&entry_id='.$value['Id']); } $count_visits=f_GFS($all_settings,'',''); $visits="(".(empty($count_visits)? '0': $count_visits).")"; $ct=get_category_info($value['Category'],'name'); $ct_color=get_category_info($value['Category'],'color'); $category=''.$ct.' '.'
 
'; // ranking $ranking_data=f_GFS($all_settings,'',''); $ranking_voted=f_GFS($ranking_data,'','');settype($ranking_voted,'integer'); $ranking_total=f_GFS($ranking_data,'','');settype($total,'integer'); if($ranking_voted>0) { $space=3; $w=5; $ranking_line='
'; $r_main=floor($ranking_total/$ranking_voted); for($i=0;$i<$r_main;$i++) { $ranking_line.='
 
'; } $r_reminder=($ranking_total%$ranking_voted); if($r_reminder==1) $r_reminder=2; if($r_reminder!=0) $ranking_line.='
 
'; //style="color:'.$ct_color.';" $ranking_line.='
' .(($ranking_voted>0)? round($ranking_total/$ranking_voted,1): 0).' \\ '.$ranking_voted.' '.ucfirst($lang_l['rankings']).'
'; $entry.=$ranking_line; } $track=''; $track_nav=array(); if($is_blog) { $cc=(isset($all_tb_map[$value['Id']])? $all_tb_map[$value['Id']]: 0); $track='('.$cc.')'; if($cc>0) $track_nav=array($lang_l['view']=>$script_path.'?action=trackback&entry_id='.$value['Id']); } else { $count_downloads=f_GFS($all_settings,'',''); $track="(".(empty($count_downloads)? '0': $count_downloads).")"; } $publish=''.$entry_status[$value['Publish_Status']].''; if($most_visted_enabled && $ranking_enabled) $row_data=array($inp,array($entry,$entry_nav),$postedby,array($comments,$comments_nav), array($track,$track_nav),$visits,$publish,$category); else $row_data=array($inp,array($entry,$entry_nav),$postedby,array($comments,$comments_nav), array($track,$track_nav),$publish,$category); $table_data[]=$row_data; } $append=''; if($cat_id!='') $prepend.=ucfirst($lang_l['none_for_category']); elseif(isset($_GET['status'])) $prepend.=ucfirst('No posts'); elseif(isset($_REQUEST['search_string'])) $prepend.=ucfirst($lang_l['none posts match your search criteria']); else $prepend.=ucfirst($lang_l['none entries posted in your blog']); $prepend.='
'; } $output=f_admintable($prepend.'
',$cap_arrays,$table_data,$append)."
"; return $output; } function comments_admin($data) // manage comments { global $script_path,$month_name,$f_max_rec_on_admin,$lang_l,$f_br,$f_ct,$f_lf,$nav_labels,$time_format,$page_charset,$f_ftm_title,$c_page; if(!empty($data)) { $result=(count($data)>$f_max_rec_on_admin)?array_slice($data,($c_page-1)*$f_max_rec_on_admin,$f_max_rec_on_admin):$data; $output=$f_br; $nav=f_page_navigation(count($data),$script_path.'?action=mng_comments',$f_max_rec_on_admin,$c_page,$lang_l['of'],'class="rvts12"',$nav_labels); $cap_arrays=array($lang_l['comments'],$lang_l['visitor'],$lang_l['ip'].'&'.$lang_l['host'],$lang_l['status']); $table_data=array(); foreach($result as $key=>$value) { $approve_fl=($value['Approved']=='0'? false: true); $url=f_sth(urldecode($value['Url'])); $uft_flag=(strpos(strtolower($page_charset),'utf')!==false? true: false); $e_id=$value['Entry_Id'];$t_st=$value['Timestamp']; $comments_value=str_replace($f_lf,$f_br,f_sth_2(urldecode($value['Comments']))); $entry_url=$script_path.'?comments=comments&entry_id='.$e_id; $entry=''.$comments_value.''.$f_br.'' .f_my_substr($month_name[date('n',f_tzone_date($t_st))-1],0,3,$uft_flag).f_format_time($t_st,$time_format,'long').'' .''.edit_comment_form($t_st,$value['Entry_Id'],$value); $entry_nav=array($lang_l['edit']=>'javascript:void(0);" onclick="javascript:svc(\'reply_to_'.$t_st.'\');sv(\'edit_'.$t_st.'\');"', $lang_l['delete']=>$script_path.'?action=del_comment&entry_id='.$e_id.'&comment_id=' .$t_st.'" onclick="javascript:return confirm(\''.ucfirst($lang_l['del comment msg']).'\');', $lang_l['reply']=>'javascript:void(0);" onclick="javascript:svc(\'edit_'.$t_st.'\');sv(\'reply_to_'.$t_st.'\');"', $lang_l[(($approve_fl)?'unapprove':'approve')]=>$script_path.'?action='.(($approve_fl)?'unapprove_cmt':'approve_cmt').'&cmt_id='.$t_st); if($approve_fl) $entry_nav[$lang_l['spam']]=$script_path.'?action=spam_comment&comment_id='.$t_st; $visitor=($url!=''? ' ' .f_sth(urldecode($value['Visitor'])).'':''.f_sth(urldecode($value['Visitor'])).''); if(!empty($value['EmailAddress'])) $visitor.=$f_br.''.$value['EmailAddress'].' '; $iphost_nav=array(); $iphost=(!empty($value['IP'])?f_ip_locator($value['IP']):'').$f_br; $iphost.=($value['IP']!=$value['HOST'] && !empty($value['IP']))?''.$value['HOST'].'':''; if(!empty($value['IP']) ) { $ipb=is_ip_blocked($value['IP']); $iphost_nav [ucfirst($lang_l[(($ipb)?'unblock ip':'block ip')])]=$script_path.'?action=mng_comments&' .(($ipb)?'unblockip=':'blockip=').$value['IP']; } $approved=''.ucfirst($lang_l[(($value['Approved']=='0')?'unapproved':'approved')]).''; $row_data=array(array($entry,$entry_nav),$visitor,array($iphost,$iphost_nav),$approved); $table_data[]=$row_data; } $append='"; return $output; } function trackbacks_admin($data) // manage trackbacks { global $script_path,$month_name,$f_max_rec_on_admin,$lang_l,$f_br,$f_hr,$f_ct,$nav_labels,$time_format,$page_charset,$c_page; $result=(count($data)>$f_max_rec_on_admin)?array_slice($data,($c_page-1)*$f_max_rec_on_admin,$f_max_rec_on_admin):$data; $output=''; $nav=f_page_navigation(count($data),$script_path.'?action=mng_tb',$f_max_rec_on_admin,$c_page,$lang_l['of'],"class='rvts12'",$nav_labels); $cap_arrays=array($lang_l['pinging blog'],$lang_l['title'].'&'.$lang_l['excerpt'],$lang_l['ip'].'&'.$lang_l['host'],$lang_l['status']); $table_data=array(); foreach($result as $key=>$value) { $uft_flag=(strpos(strtolower($page_charset),'utf')!==false? true: false); $tobeap=($value['Approved']=='0'? false: true);; $entry_nav=array($lang_l['delete']=>$script_path.'?action=del_tb&entry_id='.$value['Entry_Id'].'&tb_id='.$value['Timestamp'].'" onclick="javascript:return confirm(\''.ucfirst($lang_l['del trackback msg']).'"', $lang_l[(($tobeap)?'unapprove':'approve')]=>$script_path.'?action='.(($tobeap)?'unapprove_tb':'approve_tb').'&tb_id='.$value['Timestamp']); if($tobeap) $entry_nav[$lang_l['spam']]=$script_path.'?action=spam_tb&tb_id='.$value['Timestamp']; $tb_url=urldecode($value['Url']); $ping_blog_url=(strpos($tb_url,'?')!==false? substr($tb_url,0,strpos($tb_url,'?')): $tb_url); $pingsrc=''.strtoupper(f_sth(urldecode($value['Blog_Name']))) .''.$f_br .''.f_my_substr($month_name[date('n',f_tzone_date($value['Timestamp']))-1],0,3,$uft_flag) .f_format_time($value['Timestamp'],$time_format,'long').''; $entry=''.f_sth_2(html_entity_decode(urldecode($value['Title']),ENT_QUOTES)).''.$f_br .''.f_sth_2(html_entity_decode(urldecode($value['Excerpt']),ENT_QUOTES)).''; $iphost_nav=array(); $iphost=(!empty($value['IP'])?f_ip_locator($value['IP']):'').$f_br; $iphost.=($value['IP']!=$value['HOST'] && !empty($value['IP']))?''.$value['HOST'].'':''; if(!empty($value['IP'])) { $ipb=is_ip_blocked($value['IP']); $iphost_nav[ucfirst($lang_l[(($ipb)?'unblock ip':'block ip')])]=$script_path.'?action=mng_tb&' .(($ipb)?'unblockip=':'blockip=').$value['IP']; } $status=''.ucfirst($lang_l[(($value['Approved']=='0')?'unapproved':'approved')]).''; $row_data=array($pingsrc,array($entry,$entry_nav),array($iphost,$iphost_nav),$status); $table_data[]=$row_data; } $append="$v) { $cat_count[$v]=count(extract_category_entries($all_entries_indexes,$v)); } $all_entries_indexes=''; $err_on_submit=(isset($_POST['submit']) && (empty($_POST['cat_color']) || empty($_POST['cat_name']) || $_POST['cat_color']=='#')); $valid_submit=isset($_POST['submit']) && !$err_on_submit; $adding=($action_id=='add_category'); $output=$f_br; if($err_on_submit) $output.=f_format_err_msg(ucfirst($lang_l['cat err msg'])).$f_br; $show_id=''; if($action_id=='del_category') {if(isset($_GET['cat_id'])) {add_edit_category('del', intval($_GET['cat_id'])); update_categories_list();}} elseif($action_id=='edit_category') { if($valid_submit) {add_edit_category('edit', intval($_POST['cat_id'])); update_categories_list();} else $show_id=intval($_POST['cat_id']); } elseif($action_id=='add_category' && $valid_submit) {add_edit_category('add'); update_categories_list();} $cap_arrays=array('',$lang_l['category'],$lang_l['entries']); $table_data=array(); $nav=''; $entry.=''; $entry.='
'.sprintf($f_ftm_title,ucfirst($lang_l['name'])).''.f_color_picker('cat_color',$rel_path) .'
"; $row_data=array('',array($entry,''),''); $table_data[]=$row_data; foreach($category_id as $k=>$v) { $entry_nav=array($lang_l['edit']=>'javascript:void(0);" onclick="javascript:sv(\'reply_to_'.$v.'\');"', $lang_l['delete']=>$script_path.'?action=del_category&cat_id='.$v.'" onclick="javascript:return confirm(\''.ucfirst($lang_l['del category msg']).'\');"'); $cat_name=get_category_info($v,'name'); $cat_color=get_category_info($v,'color'); $entry='
'.$cat_name.'
' .'
' .'
' .''.f_color_picker('cat_color'.$v,$rel_path).'
'; $color='
 
'; $row_data=array($color,array($entry,$entry_nav),'('.(isset($cat_count[$v])?$cat_count[$v]:0).')'); $table_data[]=$row_data; } $output.=f_admintable($nav,$cap_arrays,$table_data); return $output; } function blockedips_list_admin($action_id,$data) { global $script_path,$f_max_rec_on_admin,$lang_l,$f_br,$nav_labels, $c_page; $result=(count($data)>$f_max_rec_on_admin)?array_slice($data,($c_page-1)*$f_max_rec_on_admin,$f_max_rec_on_admin):$data; $output=$f_br.''; $output.='"; foreach($result as $key=>$value) { $output.='"; } $output.='
'.f_page_navigation(count($data),$script_path.'?action='.$action_id.'&check_blockedip=1',$f_max_rec_on_admin,$c_page,$lang_l['of'],'class="rvts12"',$nav_labels)."
'.$value.'['; $output.=''. ucfirst($lang_l['unblock ip']) ."]
'; return $output; } function add_entry_form($data=null,$file='') // build add_entry form { global $script_path,$page_type,$category_name,$category_id,$month_name,$time_format,$lang_l,$innova_script_definition,$innova_on_output, $enable_comments,$entry_status,$entry_accessibility, $hour,$min_sec,$explicit,$fl_studio_flag,$input,$f_fmt_star,$f_br,$f_ct,$innova_script, $rel_path,$user_edit_own_posts_only,$rel_path,$f_ftm_title,$all_settings; $enable_upfile_field=f_GFS($all_settings,'',''); if($enable_upfile_field=='') $enable_upfile_field='1'; $output=$f_br.'
'; $table_data=array(); $table_data[]=array($lang_l['title'].$f_fmt_star,sprintf($input,'Title',($data==null?'':f_sth_2(urldecode($data['Title']))))); $cat=build_select_cat('Category',$category_name,($data==null?'':(in_array($data['Category'],$category_id)? $data['Category']: '0')),' style="width:500px" '); //if($user_edit_own_posts_only==false || f_is_logged('SID_ADMIN')) //{ $cat.=' '.ucfirst($lang_l['add category']).''.$f_br. '
' .sprintf($f_ftm_title,ucfirst($lang_l['name'])).''.f_color_picker('cat_color',$rel_path) .'
'; //} $table_data[]=array($lang_l['category'].$f_fmt_star,$cat); if($page_type=='podcast') { $table_data[]=array($lang_l['subtitle'],sprintf($input,'Subtitle',($data==null?'':f_sth(urldecode($data['Subtitle']))))); $table_data[]=array($lang_l['author'],sprintf($input,'Author',($data==null?'':f_sth(urldecode($data['Author']))))); } $cnt="".$innova_script_definition; $table_data[]=array(($page_type=='podcast'? ucfirst($lang_l['description']): ucfirst($lang_l['content'])),$cnt); $innova_on_output=true; if($page_type=='blog') { $exc="".$f_br; $table_data[]=array($lang_l['excerpt'],$exc); } $tags_line=sprintf($input,'Keywords',($data==null?'':f_sth(urldecode($data['Keywords'])))); $tags_line.=''.htmlspecialchars(ucfirst($lang_l['tags_delimiter'])).''; $table_data[]=array($lang_l['tags'].' ('.ucfirst($lang_l['keywords']).')', $tags_line); $max_f_size_msg=" (".ucfirst($lang_l['max filesize to upload']).": ".ini_get('upload_max_filesize').")"; if($page_type=='podcast') { $file_list=array(); $file_list=get_file_list(); $up=sprintf($f_ftm_title,ucfirst($lang_l['upload media file']).$max_f_size_msg).'".ucfirst($lang_l['advanced player notice']).")"); $up.=f_build_select('Mediafile_Url',$file_list,($data==null?'':f_sth(urldecode($data['Mediafile_Url'])))," style='width:500px' ",'value').$f_br; $up.=sprintf($f_ftm_title,ucfirst($lang_l['youtube URL'])) .sprintf($input,'External_Media',($data==null?'':f_sth(urldecode($data['External_Media'])))).$f_br; $up.=sprintf($f_ftm_title,ucfirst($lang_l['duration'])." ") .f_build_select('Hour',$hour,($data!=null? $data['Hour']: "0"),'','value')." h " .f_build_select('Min',$min_sec,($data!=null? $data['Min']: "0"),'','value')." m " .f_build_select('Sec',$min_sec,($data!=null? $data['Sec']: "0"),'','value')." s   "; $up.="   " .ucfirst($lang_l['explicit'])."  " .f_build_select('Explicit',$explicit,($data!=null && isset($data['Block'])?$data['Explicit']:'no'),'','value') ."      " .ucfirst($lang_l['block'])."  "." h ' .f_build_select('Date_min',$min_sec,($data==null?$min_sec[0]:intval($_POST['Date_min'])),'','value').' min '; if($time_format==12) {$cd.=f_build_select('Date_ampm',$ampm_array,($data==null?$ampm_array[0]:f_strip_tags($_POST['Date_ampm'])),'','value');} $cd.=$f_br.''.htmlspecialchars(ucfirst($lang_l['use this field'])).''; $table_data[]=array($lang_l['creation date'],$cd); $table_data[]=array($lang_l['status'],f_build_select('Publish_Status',$entry_status,($data==null?'1':intval($_POST['Publish_Status'])))); $table_data[]=array($lang_l['accessibility'],f_build_select('Accessibility',$entry_accessibility,($data==null?'1':intval($_POST['Accessibility'])))); $end=$f_br."',''); if($enable_upfile_field=='') $enable_upfile_field='1'; $table_data=array(); $output=$f_br."
"; $tit="".$textarea_content.""; $ta.=$innova_script_definition; $innova_on_output=true; $ta.=''.ucfirst($lang_l['posted at']).": ".$month_name[date('n',f_tzone_date($data['Id']))-1].f_format_time($data['Id'],$time_format,'long')."  " .(!empty($data['User'])? ucfirst($lang_l['posted by']).': '.strtoupper(urldecode($data['User'])):"").'  ' .ucfirst($lang_l['last modified on']).": ".$month_name[date('n',f_tzone_date($data['Last_Modified']))-1] .f_format_time($data['Last_Modified'],$time_format,'long').''; $table_data[]=array(($page_type=='podcast'? ucfirst($lang_l['description']): ucfirst($lang_l['content'])),$ta); if($page_type=='blog') { $exc="".$f_br; $table_data[]=array($lang_l['excerpt'],$exc); } $tags_line=sprintf($input,'Keywords',(isset($data['Keywords'])? f_sth(urldecode($data['Keywords'])):'')); $tags_line.=''.htmlspecialchars(ucfirst($lang_l['tags_delimiter'])).''; $table_data[]=array($lang_l['tags'].' ('.ucfirst($lang_l['keywords']).')', $tags_line); $max_f_size_msg=" (".ucfirst($lang_l['max filesize to upload']).": ".ini_get('upload_max_filesize').")"; if($page_type=='podcast') { $file_list=get_file_list(); if(isset($data['Duration'])) $duration_array=explode(':',$data['Duration']); else $duration_array=array($data['Hour'],$data['Min'],$data['Sec']); $m_file=f_sth_2(urldecode($data['Mediafile_Url'])); $md=sprintf($f_ftm_title,ucfirst($lang_l['upload media file']).$max_f_size_msg); $md.='".ucfirst($lang_l['advanced player notice']).")") .f_build_select('Mediafile_Url',$file_list,$m_file," style='width:500px' ",'value') .' h ' .f_build_select('Min',$min_sec,$duration_array[1],'','value').' min ' .f_build_select('Sec',$min_sec,$duration_array[2],'','value').' sec 0?''.ucfirst($lang_l['size']).' '.round($data['Mediafile_Size']/1024).' KB ':' ').'  '; $md.=''.ucfirst($lang_l['explicit']).'  ' .f_build_select('Explicit',$explicit,(isset($data['Explicit'])?$data['Explicit']:"no"),'','value') .'  '.ucfirst($lang_l['block']).'".ucfirst($lang_l['delete']) ."".f_sth($mp3_fname)."

".$f_br; } $im.=sprintf($f_ftm_title,ucfirst($lang_l['upload image']).$max_f_size_msg)."$v) $pi.=sprintf($f_fmt_span8_br,urldecode($v['Pinged_Url'])); $pi=' '.ucfirst($lang_l['already pinged']).''.$f_br. ''; } $table_data[]=array($lang_l['send trackback to'],sprintf($input_nobr,'Ping_urls','').$pi); $ec=""; if($enable_comments)$ec.="".ucfirst($lang_l['allow comments']).""." h ' .f_build_select('Date_min',$min_sec,$create_min,'','value').' min '; if($time_format==12) {$cd.=f_build_select('Date_ampm',$ampm_array,$create_ampm,'','value');} $table_data[]=array($lang_l['creation date'],$cd); $table_data[]=array($lang_l['status'],f_build_select('Publish_Status',$entry_status,$data['Publish_Status'])); $table_data[]=array($lang_l['accessibility'],f_build_select('Accessibility',$entry_accessibility,$data['Accessibility'])); $end=$f_br.""; $output.="
"; $output.="".ucfirst($lang_l['post a comment'])."".$f_br.$f_br; $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['your name']).$f_fmt_star).sprintf($f_fmt_input_c,'Visitor',$visitor_v); $output.=($comments_email_enabled?sprintf($f_fmt_span8_br,ucfirst($lang_l['email address']).($comments_require_email?$f_fmt_star:'')):'') .sprintf(($comments_email_enabled?$f_fmt_input_c:$f_fmt_hidden),'EmailAddress', $email_v); if(!$forbid_urls) $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['url'])).sprintf($f_fmt_input_c,'Url',''); $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['comments']).$f_fmt_star)."".$f_br; if(!isset($thispage_id)) { $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['validator']).$f_fmt_star) .""; } $output.=$f_br; } $output.=sprintf($f_fmt_span8_br,"".ucfirst($lang_l['comment note']).""); $output.="'; $output.="'.f_sth_2(urldecode($data['Comments']))."".$f_br; if(isset($data['IP']) ) { $output.=sprintf($f_fmt_hidden,'IP',$data['IP']); $output.=sprintf($f_fmt_hidden,'HOST',$data['HOST']); $output.=sprintf($f_fmt_hidden,'AGENT',f_sth(urldecode($data['AGENT']))); } $output.=$f_br.'"; $output.="
"; $output.="".ucfirst($lang_l['post a comment'])."".$f_br.$f_br; if(isset($data['IP']))$output.=sprintf($f_fmt_hidden,'Timestamp',$data['Timestamp']); $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['your name']).$f_fmt_star).sprintf($f_fmt_input_c,'Visitor',f_sth(urldecode($data['Visitor']))); $output.=($comments_email_enabled?sprintf($f_fmt_span8_br,ucfirst($lang_l['email address']).($comments_require_email?$f_fmt_star:'')):'').sprintf(($comments_email_enabled?$f_fmt_input_c:$f_fmt_hidden),'EmailAddress',(f_validate_email($data['EmailAddress'])?$data['EmailAddress']:'')); if(!$forbid_urls) $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['url'])).sprintf($f_fmt_input_c,'Url',f_sth(urldecode($data['Url']))); $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['comments']).$f_fmt_star)." ".$f_br; if (isset($data['IP']) ) { $output.=sprintf($f_fmt_hidden,'IP',$data['IP']); $output.=sprintf($f_fmt_hidden,'HOST',$data['HOST']); $output.=sprintf($f_fmt_hidden,'AGENT',f_sth(urldecode($data['AGENT']))); } if(!isset($thispage_id)) { $output.=sprintf($f_fmt_span8_br,ucfirst($lang_l['validator']).$f_fmt_star).""; } $output.=$f_br; } $output.=sprintf($f_fmt_span8_br,"".ucfirst($lang_l['comment note']).""); $output.="0) { $handle=fopen($rss_fname,'r'); $content=fread($handle,$fsize); fclose($handle); if(isset($_GET['items'])) { $nr_items=f_strip_tags($_GET['items']); settype($nr_items,"integer"); if(substr_count($content,'$nr_items) { $items=array(); $t=''; if($fl_studio_flag) $t=' '; // fl studio only $buffer=''); $pos=strpos($content,''); $content=str_replace($item,'',$content); $items []=$item; $pos=strpos($content,'$v) $buffer.=$t.$v.$f_lf; $buffer.=$t."".$f_lf.$t.""; $content=$buffer; } } header("Content-Type: text/xml; charset=$page_charset"); } } echo $content; } function update_rssfeed() { global $rel_path,$full_script_path,$db_entries_fname,$f_lf,$enable_comments,$script_name,$rss_settings,$use_html_inrss,$max_items_in_rss, $use_excerpt_in_rss,$save_rss_as_file,$rss_fname,$max_lines_in_rss_desc,$rss_settings,$images_dir,$blog_dir,$f_http_prefix,$page_charset, $media_types_itunes,$fl_studio_flag,$db_domain_fname,$page_type,$use_creation_date_in_rss,$f_br,$db_entries_fields,$db_domain_fields,$rss_image_width,$show_old_posts_first_inrss; clearstatcache();$fl_flag=($page_type=='blog' && $fl_studio_flag); $new_data=''; $full_script_path2=str_replace("/".$script_name, '', $full_script_path); $all_entries_indexes=extract_all_records_indexes($db_entries_fname,$db_entries_fields,array('Id','Category','Creation_Date')); $category=f_strip_tags(isset($_GET['cat']))?$_GET['cat']:((isset($_GET['category']))?$_GET['category']:''); $category=f_un_esc(urldecode($category)); if($category!=='') { $temp=array(); foreach($all_entries_indexes as $k=>$v) { $ct=get_category_info($v['Category'],'name'); if($ct==$category || $v['Category']==$category) $temp[]=$v; } $all_entries_indexes=$temp; } $temp_ids_array=array();$need_sort=false; // sorting (if needed) foreach($all_entries_indexes as $k=>$v) { $temp_id=$v['Creation_Date']; settype($temp_id,'integer'); $temp_ids_array[]=$temp_id; if($temp_id$v) { $domain_info[$v['Id']]=$v['Domain']; $link_info[$v['Id']]=$v['Add1'];} } $rss_data=array(); foreach($entries_records_pack as $k=>$v) { $rss_item=array(); $title=str_replace(''',"'",f_sth_2(urldecode($v['Title']))); $title=(empty($v['Title'])?'empty':str_replace('&','&',$title)); if(!empty($v['Image_Url'])) { $image_field_value=f_sth(urldecode($v['Image_Url'])); $image_fname=substr($image_field_value,strrpos($image_field_value,"/")+1); $_dir=(strpos($image_field_value,'php/')!==false)?$blog_dir:$images_dir; $img_exists=file_exists($_dir.$image_field_value); if($img_exists) { $scaled_width=$rss_image_width;$scaled_height=0; if($rss_image_width>0) { $img_dimensions=getimagesize($_dir.$image_field_value); if($img_dimensions!==false) { $img_width=$img_dimensions[0];$img_height=$img_dimensions[1]; if($img_width>$rss_image_width) $scaled_height=round(($scaled_width/$img_width)*$img_height); else { $scaled_width=$img_width; $scaled_height=$img_height; } } } } } settype($max_lines_in_rss_desc,"integer"); if($page_type=='blog' && $use_excerpt_in_rss && !empty($v['Entry_Excerpt'])) $description=f_sth_2(urldecode($v['Entry_Excerpt'])); elseif($max_lines_in_rss_desc==0) $description=f_sth_2(urldecode($v['Content'])); else { $temp=f_sth_2(urldecode($v['Content'])); $max_chrl=$max_lines_in_rss_desc*60; $len=strlen($temp); $description=($len>$max_chrl)?f_split_html_content($temp,$max_chrl):$temp; } $description=f_fix_innova_paths($description,$script_name,$full_script_path,$rel_path); if($fl_flag) $description=str_replace(array("
","
","
"),array("%%%","%%%","%%%"),$description); //fl blog only else $description=str_replace('&','&',$description); if($use_html_inrss) $description=str_replace(array('<','>'),array('<','>'),$description); else $description=preg_replace("'<[/!]*?[^<>]*?>'si"," ",$description); if($fl_flag) $description=str_replace("%%%",$f_br,$description); //fl blog only $description=str_replace(array('"',' ','<'),array('"',' ','<'),$description); if($fl_flag && !empty($link_info[$v['Id']])) { if(strpos($link_info[$v['Id']],'http://')!==false) $link_line=str_replace('&','&',$link_info[$v['Id']]); else $link_line=$f_http_prefix.str_replace('&','&',$link_info[$v['Id']]); } else $link_line=$full_script_path."?entry_id=".$v['Id']; $desc_line=''; if(strpos($images_dir,'../')!==false) $full_path_to_script_fixed=str_replace(substr($full_script_path2,strrpos($full_script_path2,'/')),'',$full_script_path2); $src_pref=(strpos($images_dir,'../')===false?$full_script_path2:$full_path_to_script_fixed); if(!empty($v['Image_Url']) && $img_exists) { $ext=substr($image_field_value, (strrpos($image_field_value,".")+1)); $image_rawencode=str_replace($image_fname,rawurlencode($image_fname),$image_field_value); if(in_array(strtolower($ext),array('jpg','jpeg','png','gif','tif','tiff','bmp'))) { $desc_line.='<a href="'.$full_script_path."?entry_id=".$v['Id'].'"><img src="'.$src_pref."/".str_replace('../','',$_dir) .$image_rawencode.'" align="left"'; if($scaled_height>0) $desc_line.=' width="'.$scaled_width.'px" height="'.$scaled_height.'px"'; $desc_line.=' border="0" alt="" style="'.($use_html_inrss?"float:left;padding: 0 5px 5px 0;":"margin: 3px 4px 3px 0;").'"></a> '; } } $desc_line.=(empty($v['Content'])?' ':$description) .'<br clear="all">'; $rss_item=array('title'=>$title,'description'=>$desc_line,'link'=>$link_line); if($page_type=='blog' && !empty($v['Image_Url']) && $img_exists && strpos($image_fname,'.mp3')!==false ) { $enclose_url=substr($full_script_path2,0,strrpos($full_script_path2,'/'))."/".$image_rawencode; $rss_item['enclosure']=array('url'=>$enclose_url, 'length'=>filesize($_dir.f_sth(urldecode($v['Image_Url']))), 'type'=>'audio/mpeg'); } elseif($page_type=='podcast') { $media_field_value=f_sth_2(urldecode($v['Mediafile_Url'])); $media_fname=substr($media_field_value,strrpos($media_field_value,"/")+1); $media_rawencode=str_replace($media_fname,rawurlencode($media_fname),$media_field_value); if(strpos(strtolower($media_field_value),'youtube.')!==false) { $rss_item['enclosure']=array('url'=>(strpos($media_rawencode,'http')===false?$f_http_prefix:'').$media_rawencode, 'length'=>0, 'type'=>'video/quicktime'); } else { $media_ext=substr($media_field_value,strrpos($media_field_value,'.')+1); $rss_item['enclosure']=array('url'=>$src_pref."/".$media_rawencode, 'length'=>$v['Mediafile_Size'], 'type'=>(isset($media_types_itunes[$media_ext])?$media_types_itunes[$media_ext]:($media_ext=='flv'? 'video/x-flv':''))); } } $category_line=str_replace(''',"'",f_sth(get_category_info($v['Category'],'name'))); if($fl_flag) //fl blog only { $domain=(isset($domain_info[$v['Id']])?str_replace (array('<','>'),array('<','>'),f_sth($domain_info[$v['Id']])):''); if(!empty($domain)) $rss_item['category']=array('domain'=>$domain, 'value'=>$category_line); else $rss_item['category']=$category_line; } else $rss_item['category']=$category_line; if($enable_comments && ($page_type=='podcast' || $v['Allow_Comments']=='' || $v['Allow_Comments']=='1')) $rss_item['comments']=$full_script_path.'?entry_id='.$v['Id'].'&comments=comments'; $rss_item['guid']=$full_script_path."?entry_id=".$v['Id']; $rss_item['pubDate']=date('r',f_tzone_date($use_creation_date_in_rss? $v['Creation_Date']: $v['Last_Modified'])); if($page_type=='podcast') { $summary=preg_replace("'<[/!]*?[^<>]*?>'si"," ",f_sth_2(urldecode($v['Content']))); if(!empty($v['Subtitle'])) $rss_item['itunes:subtitle']=f_sth(urldecode($v['Subtitle'])); $rss_item['itunes:summary']=str_replace (array('&','<','>','\'','"',' '),array('&','<','>',''','"',''),$summary); if($v['Duration']!='00:00:00') $rss_item['itunes:duration']=$v['Duration']; if ($v['Explicit']!='no') $rss_item['itunes:explicit']=$v['Explicit']; if($v['Block']=='yes') $rss_item['itunes:block']=$v['Block']; if(!empty($v['Author'])) $rss_item['itunes:author']=f_sth(urldecode($v['Author'])); elseif(!empty($rss_settings['Author (iTunes)'])) $rss_item['itunes:author']=f_sth($rss_settings['Author (iTunes)']); if(!empty($v['Keywords'])) $rss_item['itunes:keywords']=f_sth(urldecode($v['Keywords'])); } $rss_data[]=$rss_item; } $new_data=f_build_rss($rss_data,$rss_settings,$page_charset,$full_script_path, f_tzone_date(filemtime($db_entries_fname)),'',$fl_flag); if($save_rss_as_file) { if(!$handle=fopen($rss_fname,'w')) {echo "Could not create exif file.";return;} flock($handle,LOCK_EX); fwrite($handle,$new_data); flock($handle,LOCK_UN); fclose($handle); } else { header("Content-Type:text/xml; charset=".$page_charset); echo $new_data;} } function download_file($path,$entry_id) { global $all_settings,$blog_template,$blockedips_fname; f_download_file($path); // count downloads $current_downloads=f_GFS($all_settings,'',''); $new_downloads=(!empty($current_downloads))? ($current_downloads+1): 1; f_write_tagged_data('d_'.$entry_id,$new_downloads,$blockedips_fname,$blog_template); exit; } function process_blog() { global $prefix,$page_id,$thispage_id,$doc_dir,$rel_path,$page_type,$version,$lang_l,$script_path,$preview_on,$lg_,$save_rss_as_file,$lg_,$f_lf, $f_br,$f_ct,$db_trackbacks_fname,$db_trackbacks_fields,$admin_actions,$ranking_enabled,$user_edit_own_posts_only,$f_ca_db_fname, $email_notification,$time_format,$full_script_path, $db_entries_fname,$db_comments_fname,$db_map_fname,$blockedips_fname,$all_settings,$blog_dir; if($all_settings=='') { f_db_convert($blog_dir.$prefix."db_blog_entries.ezg.php",$db_entries_fname,false); f_db_convert($blog_dir.$prefix."db_blog_comments.ezg.php",$db_comments_fname,false); f_db_convert($blog_dir.$prefix."db_entries_comments_map.ezg.php",$db_map_fname,false); f_db_convert($blog_dir.$prefix."blocked_ips.ezg.php",$blockedips_fname); clearstatcache(); $all_settings=f_read_file($blockedips_fname); update_categories_list(); update_language_set(); } if(strpos($all_settings,''.$f_lf.''; if(isset($_GET['entry_id'])) { $entry_id=intval($_GET['entry_id']); $entry_record[]=extract_specific_entry($entry_id);} if($entry_record[0]['Allow_Pings']=='1') { if(isset($_POST['title']) && isset($_POST['excerpt']) && isset($_POST['url']) && isset($_POST['blog_name']) && isset($entry_id) ) { $ip=(isset($_SERVER['REMOTE_ADDR'])? $_SERVER['REMOTE_ADDR']: ""); if($ip!="" && is_ip_blocked($ip)) $output.='1'.$f_lf.'Your IP is blocked'; else { $data['Entry_Id']=intval($entry_id); $data['Timestamp']=mktime(); $data['Blog_Name']=f_strip_tags($_POST['blog_name']); $data['Url']=f_strip_tags($_POST['url']); $data['Title']=f_strip_tags($_POST['title']); $excerpt=f_strip_tags($_POST['excerpt']); $len=strlen($excerpt); if($len>150) {$excerpt=f_split_html_content($excerpt,600);} $data['Excerpt']=f_sth($excerpt); $data['Approved']='0'; $data['IP']=(isset($_SERVER['REMOTE_ADDR'])? $_SERVER['REMOTE_ADDR']: ""); $data['HOST']=(isset($_SERVER['REMOTE_HOST'])? $_SERVER['REMOTE_HOST']: ""); $data['AGENT']=(isset($_SERVER['HTTP_USER_AGENT'])? f_define_os($_SERVER['HTTP_USER_AGENT']): ""); $record_line=prepare_for_write($data); db_add_trackback($record_line,$data['Entry_Id']); $output.='0'; if($email_notification) { $entry_data=extract_specific_entry($data['Entry_Id']); $send_to_entry_author=(!empty($entry_data['User']) && $entry_data['User']!='admin')?$entry_data['User']:''; $dt=format_date($data['Timestamp']).f_format_time($data['Timestamp'],$time_format); $content="Trackback was posted at " .$full_script_path.'?action=trackbacks&entry_id='.$data['Entry_Id'].$f_lf.$f_lf; $content.="Date&Time: ".$dt.$f_lf.ucfirst($lang_l['pinging blog']).": ".$data['Blog_Name'].' '.$data['Url'].$f_lf. ucfirst($lang_l['title']).": ".$data['Title'].$f_lf; send_notification($content,$send_to_entry_author); } } $output.=$f_lf.''; header("Content-Type: text/xml; "); echo $output; exit; } } } if($action_id=="frontpage" || $action_id=="trackback" || $ranking_enabled && $action_id=="ranking") show_frontpage($action_id,$page_info); elseif($action_id=="download") download_file($rel_path.f_strip_tags($_GET['file']),intval($_GET['entry_id'])); elseif($action_id=="logout") { if(!isset($_SESSION)) f_int_start_session('private'); f_unset_session(); show_frontpage($action_id,$page_info); } elseif($action_id=="preview") {$preview_on=true; show_frontpage("frontpage",$page_info);} // style preview elseif($action_id=="version") echo $version; elseif($action_id=="captcha") { $captcha=f_generate_captcha_code(); f_set_session_var('CAPTCHA_CODE',md5($captcha)); f_draw_captcha(strtoupper($captcha),$rel_path); } elseif($action_id=="rss") {if($save_rss_as_file) read_rssfeed(); else update_rssfeed();} else { if(!isset($_SESSION)) {f_int_start_session('private'); f_regenerate_session_id();} $is_admin_logged=f_is_logged('SID_ADMIN') && (!f_is_logged('HTTP_USER_AGENT') || f_get_session_var('HTTP_USER_AGENT')==md5($_SERVER['HTTP_USER_AGENT'])); //if(!f_is_logged('SID_ADMIN') || (f_is_logged('HTTP_USER_AGENT') && f_get_session_var('HTTP_USER_AGENT')!=md5($_SERVER['HTTP_USER_AGENT']))) if(!$is_admin_logged) { if(isset($_SESSION['cur_user'])) $logged_user=f_get_session_var_str('cur_user'); if(!isset($_SESSION['cur_user']) || f_has_write_access($logged_user,$page_info,$rel_path)==false) { f_url_redirect($doc_dir."centraladmin.php?pageid=".$page_id."&indexflag=index&".$lg_,false); exit; } } if(!$is_admin_logged) { $user_account=f_get_user($logged_user,$rel_path.$f_ca_db_fname); $user_edit_own_posts_only=f_user_edit_own_check($logged_user,$user_account,$page_info); } if(in_array($action_id,$admin_actions)) show_adminpage($action_id); elseif($action_id=="entrypreview") show_frontpage($action_id,$page_info); } } process_blog(); ?>