PHP Classes

File: vendor/b12phpfw/edservertxt.php

Recommend this page to a friend!
  Classes of Slavko Srakocic   B12 PHP FW   vendor/b12phpfw/edservertxt.php   Download  
File: vendor/b12phpfw/edservertxt.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: B12 PHP FW
Manage database records with a PDO CRUD interface
Author: By
Last change: Update of vendor/b12phpfw/edservertxt.php
Date: 1 year ago
Size: 5,863 bytes
 

Contents

Class file image Download
<?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
?>