$val){ $_GET[$key] = strip_tags($val); $_REQUEST[$key] = strip_tags($val); } $dir=substr(__FILE__, 0, strrpos(__FILE__, "/")+1); // load config include_once($dir."config.inc.php"); include_once($dir."FCKeditor/fckeditor.php") ; $dat=$dir."data.dat"; $templatefile=$dir."templates.inc.php"; $log=$dir."log.dat.php"; $pathtowysiwyg=$pathtoscript."wysiwyg/"; setlocale(LC_TIME, $datelang); $me= $_SERVER['PHP_SELF']; $empty=false; $now=time(); $version="1.6.5"; if (!isset($_GET['hash']) || $_GET['hash']=="") { srand($now); for ($i=0; $i<16 ; $i++) $secret.=chr(rand(60, 127)); $secret=md5($secret); $hash=md5($_SERVER['HTTP_USER_AGENT'].$now.$secret); }else $hash= $_GET['hash']; $getvars="?hash=$hash"; if (isset($_REQUEST['do'])) $do=$_REQUEST['do']; if (isset($_REQUEST['id'])) $id=$_REQUEST['id']; if (isset($_REQUEST['action'])) $action=$_REQUEST['action']; if (isset($_REQUEST['title'])) $title=$_REQUEST['title']; if (isset($_REQUEST['name'])) $name=$_REQUEST['name']; if (isset($_REQUEST['pwd'])) $pwd=$_REQUEST['pwd']; if (isset($_REQUEST['email'])) $email=$_REQUEST['email']; if (isset($_REQUEST['www'])) $www=$_REQUEST['www']; if (isset($_REQUEST['story'])) $story=$_REQUEST['story']; if (isset($_REQUEST['teaser'])) $teaser=$_REQUEST['teaser']; if (isset($_REQUEST['time'])) $time=$_REQUEST['time']; if (isset($_REQUEST['date'])) $date=$_REQUEST['date']; // ************************** functions *********************** // ************************************************************ function getkey($index, $stuff){ foreach ($stuff->data as $key => $item){ if ($item['id']==$index){ $ret=$key; break; } } return $ret; } function validemail($addr){ return eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$", $addr); } function jsRedirect($url){ echo ""; } function clearoldadmins() { global $log, $now, $adminexpire; include($log); if (count($admins)>0){ $i=0; $fp=fopen($log, "w"); fputs($fp, ""); fclose($fp); } } function saveposts($stuff){ global $dat; $fp=fopen($dat, "w"); foreach ($stuff as $item){ $line=$item['id']."|".$item['time']."|".$item['mode']."|".$item['title']."|".$item['story']."|".$item['teaser']."\n"; fputs($fp, $line); } fclose($fp); } function isloggedin() { global $log, $now, $adminexpire; include($log); $logged=false; if (count($admins)>0){ foreach ($admins as $line){ if ($line['hash']==md5($_GET['hash'])) $logged=true; } } return $logged; } function showmenu() { global $txtsign, $txtview, $txtadmin, $me, $getvars, $txtlogout; echo "
$txtsign :: $txtview :: $txtlogout
"; } function emailencoder ($str){ for ($i=0; $i< strlen($str); $i++){ $n=rand(0,10); if ($n>5) $foo.="&#".ord($str[$i]).";"; else $foo.="&#x".sprintf("%X", ord($str[$i])).";"; } return $foo; } function getTemplate($tpl, $html){ $match="/<\!\-\-$tpl\-\->(.*?)<\!\-\-$tpl\-\->/s"; preg_match($match, $html, $tmp); return $tmp[1]; } if (!function_exists('str_ireplace')) { function str_ireplace ($search, $replace, $subject, $count = null) { if (is_string($search) && is_array($replace)) { trigger_error('Array to string conversion', E_USER_NOTICE); $replace = (string) $replace; } if (!is_array($search)) { $search = array ($search); } if (!is_array($replace)) { $replace_string = $replace; $replace = array (); for ($i = 0, $c = count($search); $i < $c; $i++) { $replace[$i] = $replace_string; } } $length_replace = count($replace); $length_search = count($search); if ($length_replace < $length_search) { for ($i = $length_replace; $i < $length_search; $i++) { $replace[$i] = ''; } } $was_array = false; if (!is_array($subject)) { $was_array = true; $subject = array ($subject); } $count = 0; foreach ($subject as $subject_key => $subject_value) { foreach ($search as $search_key => $search_value) { $segments = explode(strtolower($search_value), strtolower($subject_value)); $count += count($segments) - 1; $pos = 0; foreach ($segments as $segment_key => $segment_value) { $segments[$segment_key] = substr($subject_value, $pos, strlen($segment_value)); $pos += strlen($segment_value) + strlen($search_value); } $subject_value = implode($replace[$search_key], $segments); } $result[$subject_key] = $subject_value; } if ($was_array === true) { return $result[0]; } return $result; } } function paging( $pages, $pagevar="page", $ppv=10, $first ="««« ", $firsts ="««« ", $prev ="««  ", $prevs ="««  ", $num ="{page}", $nums ="{page}", $sep =" | ", $more ="[...]", $next ="  »»", $nexts ="  »»", $last =" »»»", $lasts =" »»»"){ // get URI parameters $getvars=$_SERVER['PHP_SELF']."?"; foreach ($_GET as $key => $val){ if ($key!=$pagevar){ if (isset($val) && $val!=""){ $getvars.="$key=$val&"; }else{ $getvars.="$key&"; } } } $page=(is_numeric($_GET[$pagevar])) ? $_GET[$pagevar] : 1; $page=($page>$pages) ? $pages : $page; $prevpage=($page>1) ? $page-1 : 1; $nextpage=($page < $pages) ? $page+1 : $pages; $paging=""; if ($pages>1){ // first $paging.=($page>1) ? str_replace("{url}", "$getvars$pagevar=1", $first) : $firsts; // prev $paging.=($page>1) ? str_replace("{url}", "$getvars$pagevar=$prevpage", $prev) : $prevs; // pages $ppvrange=ceil($page/$ppv); $start=($ppvrange-1)*$ppv; $end=($ppvrange-1)*$ppv+$ppv; $end=($end>$pages) ? $pages : $end; $paging.=($start>1) ? str_replace("{url}", "$getvars$pagevar=".($start-1), $more).$sep : ""; for ($i=1; $i<=$pages; $i++){ if ($i>$start && $i<= $end){ $paging.=($page==$i) ? str_replace("{page}", $i, $nums).(($i<$end) ? $sep : "") : str_replace(array("{url}", "{page}"), array("$getvars$pagevar=$i", $i), $num).(($i<$end) ? $sep : ""); } } $paging.=($end<$pages) ? $sep.str_replace("{url}", "$getvars$pagevar=".($end+1), $more) : "" ; // next $paging.=($page<$pages) ? str_replace("{url}", "$getvars$pagevar=$nextpage", $next) : $nexts; // last $paging.=($page<$pages) ? str_replace("{url}", "$getvars$pagevar=$pages", $last) : $lasts; } return $paging; } ?> sortkeys = array(array('time','DESC')); if (count($foo)==0){ $empty=true; $nextindex=1; }else{ $i=0; foreach ($foo as $line){ $line=explode("|", rtrim($line)); if ($line[2]=="static" || ($line[2]=="dynamic" && $line[1]<$now) || isloggedin() ){ $stuff->data[$i] = array("id" => $line[0], "time" => $line[1], "mode" => $line[2], "title" => $line[3], "story" => $line[4], "teaser" => $line[5]); $i++; } } if ($i>0){ $stuff->sortkeys = array(array('id','DESC')); $stuff->msort(); $foo=current($stuff->data); $nextindex=$foo['id']+1; $stuff->sortkeys = array(array('time','DESC')); $stuff->msort(); $numposts=count($stuff->data); }else{ $numposts=0; $empty=true; } } // RSS stuff if ($rssEnable){ $info = pathinfo($_SERVER['PHP_SELF']); $info['dirname'] = ($info['dirname'] == "/") ? $info['dirname'] : $info['dirname']."/"; $url = $info['dirname'].$pathtoscript."rss.php?mndo=rss"; echo ""; } echo "\n\n\n\n"; echo "
"; clearoldadmins(); // admin stuff if ($do=="admin") { if ($action=="login"){ if ($name==$adminname && $pwd==$adminpwd){ include($log); $fp=fopen($log, "w"); fputs($fp, "0){ foreach ($admins as $line){ fputs($fp, "\$admins[$i]['time']=".$line[time]."; \$admins[$i]['hash']='".$line['hash']."';\n"); $i++; } } fputs($fp, "\$admins[$i]['time']=".$now."; \$admins[$i]['hash']='".md5($hash)."';\n?>"); fclose($fp); jsRedirect($me.$getvars); } } if ($action=="delete" && isloggedin()){ $todel=getkey($id, $stuff); unset($stuff->data[$todel]); $stuff->msort(); saveposts($stuff->data); $do="view"; }else{ ?>
Είσοδος Διαχειριστή

Όνομα χρήστη:  
Κωδικός πρόσβασης:  
 
» $txtbadtitle"; //if ($story=="") $error.="
» $txtbadstory"; if ($teaser=="") $error.="
» $txtbadteaser"; if ($date=="") $error.="
» $txtbaddate"; if ($error===false){ $date = explode(".", $date); $daytime = explode(".", $_REQUEST['daytime']); $daytime[0] = (is_numeric($daytime[0]) && $daytime[0] >= 0 && $daytime[0] < 24) ? $daytime[0] : 23; $daytime[1] = (is_numeric($daytime[1]) && $daytime[1] >= 0 && $daytime[1] < 60) ? $daytime[1] : 59; $time = mktime($daytime[0], $daytime[1], 0, $date[1], $date[0], $date[2]); $story = ($_REQUEST['hasstory'] == 1) ? $_REQUEST['story'] : ""; if ($id=="new"){ $index=$numposts; $id=$nextindex; $saveit=true; }else if (is_numeric($id)){ $index=getkey($id, $stuff); $saveit=true; } if ($saveit){ $stuff->data[$index]['id']=$id; $stuff->data[$index]['time']=$time; $stuff->data[$index]['mode']=$_REQUEST['mode']; $stuff->data[$index]['title']=str_replace(array("|"), array(" "), $title); if ($wysiwyg===true){ $stuff->data[$index]['teaser']=stripslashes(str_replace(array("\r", "\n", "|"), array(" ", " ", " "), $teaser)); $stuff->data[$index]['story']=stripslashes(str_replace(array("\r", "\n", "|"), array(" ", " ", " "), $story)); }else{ $stuff->data[$index]['teaser']=str_replace(array("\r", "\n", "|"), array(" ", "
", " "), $teaser); $stuff->data[$index]['story']=str_replace(array("\r", "\n", "|"), array(" ", "
", " "), $story); } saveposts($stuff->data); $stuff->msort(); $empty=false; } $do="view"; }else echo "
$txterrors$error

$txtclickback
"; }else{ if ($action=="edit"){ $post=$stuff->data[getkey($id, $stuff)]; $title= htmlentities(stripslashes($post['title']), ENT_QUOTES); if ($wysiwyg===true){ $teaser = ($post['teaser']); $story = ($post['story']); }else{ $teaser=stripslashes(str_replace("
", "\n", htmlentities($post['teaser'], ENT_QUOTES))); $story=stripslashes(str_replace("
", "\n", htmlentities($post['story'], ENT_QUOTES))); } $time=$post['time']; $mode = $post['mode']; $hasstory = (trim($story) != "") ? true : false; }else{ $title=""; $story=""; $time="notset"; $id="new"; $mode = "dynamic"; $hasstory = true; } ?>
Ημερομηνία  [ηη.μμ.εεεε]    [ωω.λλ]
Είδος 
     
Δυναμική = η ανακοίνωση να μην εμφανίζετε μέχρι την ημερομηνία
Στατική = η ανακοίνωση να εμφανίζετε παντα
Τίτλος
Ανακοίνωση BasePath = $pathtoscript.'FCKeditor/'; $oFCKeditor->Value = $teaser; $oFCKeditor->Width = "100%"; $oFCKeditor->Height = 300; $oFCKeditor->Create() ; } else { ?>
Περισσότερα BasePath = $pathtoscript.'FCKeditor/'; $oFCKeditor->Value = $story; $oFCKeditor->Width = "100%";; $oFCKeditor->Height = 400; $oFCKeditor->Create() ; } else { ?>


Οδηγίες για ανέβασμα αρχείου στην ανακοίνωση:

1.Σε οποιοδήποτε παράθυρο των Windows (π.χ. τα έγγραφα μου), πληκτρολογήστε τη διεύθυνση: ftp://1grpe-a.thess.sch.gr στη γραμμή διεύθυνσης του παραθύρου και πατήστε το enter

2.Πληκτρολογήστε το όνομα χρήστη και τον κωδικό του λογαριασμού του γραφείου - ότι πληκτρολογήσατε για να προσθέσετε την ανακοίνωση

3.Εντοπίστε και ανοίξτε το φάκελο 'downloads'

4.Αντιγράψτε το αρχείο που θέλετε να προσθέσετε στη ανακοίνωση μέσα στο φάκελο 'downloads' (π.χ. arxeio.doc). Προσοχή: Το όνομα του αρχείου που θα αντιγράψετε σε αυτό τον φάκελο θα πρέπει να είναι γραμμένο με λατινικούς και πεζούς (όχι κεφαλαίους) χαρακτήρες

5.Προσθέστε ένα σύνδεσμο προς το αρχείο με τον εξής τρόπο:

5.1.Στο σημείο της ανακοίνωσης οπου θέλετε να υπάρχει ο σύνδεσμος προς το αρχείο πληκτρολογήστε το εξής: <a href='downloads/arxeio.doc'>Σύνδεσμος αρχείου</a> , όπου arxeio.doc, πληκτρολογείτε το όνομα του αρχείου που βάλατε μεσα στον φάκελο downloads

5.2.Προσοχή στο όνομα αρχείου! Το όνομα του αρχείου πρέπει να είναι γραμμένο με λατίνικούς, πεζούς (όχι κεφαλαίους) χαρακτήρες. Στο όνομα του αρχείου που πληκτρολογήσατε στην ανακοίνωση πρέπει να υπάρχει η κατάληξη του (π.χ. .doc, .pdf, .zip)
data[getkey($_GET['mnid'], $stuff)]; $item['title'] = stripslashes($item['title']); $item['teaser'] = stripslashes($item['teaser']); $item['story'] = stripslashes($item['story']); if ($wrap!==false) $item['story']=wordwrap($item['story'], $wrap, " ", 1); $match=array("{title}", "{time}", "{teaser}", "{story}", "{edit}", "{delete}", "{urltoallnews}"); if (isloggedin()){ $replace=array( $item['title'], strftime($dateformat, $item['time']), $item['teaser'], $item['story'], "", "$txtdelete", "$me$getvars&page=".$_GET['page']); }else $replace=array($item['title'], strftime($dateformat, $item['time']), $item['teaser'], $item['story'], "", "", "$me$getvars&page=".$_GET['page']); $tmp = str_replace($match, $replace, $tpl_story); ob_start(); eval("?>".$tmp."data as $item){ if ($item['id']!=0 && $i>=$from && $i< ($from+$ppp) ){ $item['title'] = stripslashes($item['title']); $item['teaser'] = stripslashes($item['teaser']); $item['story'] = stripslashes($item['story']); $hasstory = (trim($item['story']) != "") ? true : false; if ($wrap!==false) $item['story']=wordwrap($item['story'], $wrap, " ", 1); $match=array("{title}", "{time}", "{teaser}", "{story}", "{edit}", "{delete}", "{urltofullstory}"); if (isloggedin()){ $replace=array( $item['title'], strftime($dateformat, $item['time']), $item['teaser'], $item['story'], "", "$txtdelete", ($hasstory === true) ? "$me$getvars&mnid=".$item['id']."&page=".$_GET['page'] : "" ); }else{ $replace = array($item['title'], strftime($dateformat, $item['time']), $item['teaser'], $item['story'], "", "", ($hasstory === true) ? "$me$getvars&mnid=".$item['id']."&page=".$_GET['page'] : "" ); } $tmp = str_replace($match, $replace, $tpl_teaser); ob_start(); eval("?>".$tmp."0) ? floor($numposts/$ppp)+1 : ($numposts/$ppp); echo "

"; echo paging($numpages); echo "
"; } } } echo "
"; if (!isloggedin()) echo "$txtadmin"; echo "
"; ?>