| 
<?php// http://dev/test/books/ledford/edservertxt.php
 // J:\dev_web\htdocs\inc\utl\edservertxt.php
 //228 PA R T   I I I The Android Platform
 //C H A P T E R   1 2 Developing Mobile Web Applications 227
 
 // http://dev/inc/utl/edservertxt.php?file=J:\dev_web\htdocs\z_doc\learnng\ng_1_3_8\tema/examples_tema/02_01/finished/angular/index.html&line=1&prev=10000&next=10000
 if (isset($_GET['file'])) {
 $file = str_replace('/',DIRECTORY_SEPARATOR, $_GET['file']);
 }
 else {
 $file = str_replace('/',DIRECTORY_SEPARATOR, $_SERVER['SCRIPT_FILENAME']);
 }
 $file = str_replace(DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR
 ,DIRECTORY_SEPARATOR, $file) ; // realpath
 
 $thedir=dirname($file);
 //
 echo 'thedir='.$thedir ;
 echo '<br />'.'file='.$file ;
 
 //
 $ext[1]="txt";  $ext[0]="TXT";
 $ext[3]="html"; $ext[2]="HTML";
 $ext[5]="php";  $ext[4]="PHP";
 //
 syslog(LOG_INFO, "{$_SERVER['REMOTE_ADDR']}: Remote Edit Accessed.");
 //
 /* *******************************************
 1. NIJE  P O S T:  F O R M A sa gumbom "O p e n"
 *********************************************/
 if($_SERVER['REQUEST_METHOD'] != 'POST')
 {
 if(is_readable($thedir))
 {
 head();
 echo "<form action=\"" . basename($_SERVER['PHP_SELF']);
 echo "\" method=\"post\">\n";
 echo "<select name=\"the_file\">\n";
 chdir($thedir);
 $filelist=d2a($thedir, true);
 foreach($filelist as $file)
 {
 $ex=substr(strrchr($file, '.'), 1);
 if(in_array($ex,$ext) && is_writable($file))
 {
 echo "<option value=\"$file\">$file</option>\n";
 }
 }
 echo "</select>\n";
 echo "<br/>\n";
 echo "<input type=\"submit\" name=\"open\"";
 echo "value=\"Open\"/>\n";
 txtarea("");
 tail();
 }
 else
 {
 reply("Error: Bad directory (nije readable).\n");
 }
 } // kraj NIJE  P O S T:    F O R M A
 // ***********************************
 //
 /* *****************************************
 OBRADA UNESENOG U  F O R M U
 o p e n,  s a  v e  t x t - a
 ********************************************/
 // 1. p o s t  o p e n
 else if(isset($_POST['open']))
 {
 if(is_writable($_POST["the_file"]))
 {
 $file2open=fopen($_POST["the_file"], "r");
 $current_data=@fread($file2open,
 filesize($_POST["the_file"]));
 // echo preg_replace($pattern, $replacement, $string);
 $current_data= preg_replace("</textarea>", "<DO-NOT-EDIT>",  $current_data);
 //$current_data=eregi_replace("</textarea>", "<DO-NOT-EDIT>",  $current_data);
 head();
 echo "<form action=\"" . basename($_SERVER['PHP_SELF']);
 echo "\" method=\"post\">\n";
 echo "<input type=\"hidden\" name=\"cur_file\" ";
 echo "value=\"" . $_POST["the_file"] . "\"/>\n";
 echo $_POST["the_file"];
 echo "<br/>\n";
 echo "<input type=\"submit\" name=\"save\" ";
 echo "value=\"Save\"/> ili zatvorite ovaj dokument u ibrowseru \n";
 txtarea($current_data);
 tail();
 fclose($file2open);
 }
 else
 {
 reply("Error: Cannot open file.\n");
 }
 }
 // 1. p o s t  s a  v e
 else if(isset($_POST['save']))
 {
 if(is_writable($_POST["cur_file"]))
 {
 $file2ed=fopen($_POST["cur_file"], "w+");
 $data_to_save=$_POST["mods"];
 $data_to_save= preg_replace("<DO-NOT-EDIT>", "</textarea>",  $data_to_save);
 //$data_to_save=eregi_replace("<DO-NOT-EDIT>", "</textarea>",  $data_to_save);
 $data_to_save=stripslashes($data_to_save);
 if(fwrite($file2ed,$data_to_save))
 {
 reply("File saved.\n");
 fclose($file2ed);
 }
 else
 {
 reply("Error: Cannot save file.\n");
 fclose($file2ed);
 }
 }
 else
 {
 reply("Error: Cannot save file.\n");
 }
 }
 //
 //
 //
 function head()
 {
 echo "<html>\n";
 echo "<head>\n";
 echo "<title>\n";
 echo "Remote Editor\n";
 echo "</title>\n";
 echo "</head>\n";
 echo "<body>\n";
 }
 function tail()
 {
 echo "</body>\n";
 echo "</html>\n";
 }
 function reply($text)
 {
 head();
 echo $text;
 echo "<br/>\n";
 //echo "<a href=\"\">Back to editor</a>.\n";
 ?>
 <a href="http://dev/inc/utl/edservertxt.php?file=<?php
 echo $file //dirname(dirname(__FILE__))         .'/examples_tema/02_01/finished/angular/index.html'
 ;
 ?>" target="_blank">Back to editor</a>
 <?php
 
 tail();
 }
 function txtarea($text)
 {
 if( strpos( $_SERVER['HTTP_USER_AGENT'],
 'Android') !== FALSE)
 {
 $Android=1;
 $rows=5;
 $cols=30;
 } else
 {
 $Android=0;
 $rows=30;
 $cols=80;
 }
 echo "<br/>\n";
 if($Android == 1)
 {
 echo "<span style=\"-webkit-box-shadow:10px 10px 5px #888;\">\n";
 }
 echo "<textarea name=\"mods\" rows=\"";
 echo $rows . "\" cols=\"" . $cols . "\">\n";
 echo $text;
 echo "</textarea>\n";
 if($Android == 1)
 {
 echo "</span>\n";
 }
 echo "<br/>\n";
 echo "</form>\n";
 }
 function d2a($dir, $recurse)
 {
 $me=basename($_SERVER['PHP_SELF']);
 $files=array();
 if($handle=opendir($dir))
 {
 while(false !== ($file=readdir($handle)))
 {
 if($file != "." &&
 $file != ".." &&
 $file != $me &&
 substr($file,0,1) != '.')
 {
 if(is_dir($dir. "/" . $file))
 {
 if($recurse)
 {
 $files=array_merge($files, d2a($dir. "/" .
 $file,
 $recurse));
 }
 }
 else
 {
 $file=$dir . "/" . $file;
 $files[]=preg_replace("/\/\//si", "/", $file);
 }
 }
 }
 closedir($handle);
 asort($files);
 }
 return $files;
 } // e n d  f n  d 2 a
 ?>
 |