PHP Classes

File: src/sys.inc.php

Recommend this page to a friend!
  Classes of Luca Liscio   fanKounter PHP Counter Script   src/sys.inc.php   Download  
File: src/sys.inc.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: fanKounter PHP Counter Script
Manage unlimited Web page access counters
Author: By
Last change:
Date: 3 years ago
Size: 6,332 bytes
 

Contents

Class file image Download
<?php
/*
 * sys.inc.php
 * __ HZKnight free PHP Scripts _ vs 5.1
 * / _| __ _ _ __ /\ /\___ _ _ _ __ | |_ ___ _ __
 * | |_ / _` | '_ \ / //_/ _ \| | | | '_ \| __/ _ \ '__|
 * | _| (_| | | | / __ \ (_) | |_| | | | | || __/ |
 * |_| \__,_|_| |_\/ \/\___/ \__,_|_| |_|\__\___|_|
 *
 * lucliscio <lucliscio@h0model.org>, ITALY
 *
 * -------------------------------------------------------------------------------------------
 * Documentazione di riferimento
 * -------------------------------------------------------------------------------------------
 * license.txt - le condizioni di utilizzo, modifica e redistribuzione per l'utente finale
 * manual.txt - la guida alla configurazione, all'installazione e all'uso dello script
 * faqs.txt - le risposte alle domande pił comuni, sui problemi e sulle funzionalitą
 * history.txt - la progressione delle versioni, i miglioramenti apportati e i bugs eliminati
 *
 * -------------------------------------------------------------------------------------------
 * Licence
 * -------------------------------------------------------------------------------------------
 * Copyright (C) 2020 HZKnight
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/agpl-3.0.html>.
 */

/**
 * Modulo importato per gestire operazioni comuni su file e cartelle.
 *
 * @author lucliscio <lucliscio@h0model.org>
 * @version v 5.1
 * @copyright Copyright 2020 HZKnight
 * @copyright Copyright 2003 Fanatiko
 * @license http://www.gnu.org/licenses/agpl-3.0.html GNU/AGPL3
 *
 * @package fanKounter
 * @filesource
 */

############################################################################################
# COSTANTI E VARIABILI LOCALI
############################################################################################

define("WEB_ROOT", getcwd()."/");

$__lock_fid=FALSE;

############################################################################################
# FUNZIONI GLOBALI
############################################################################################

function _mkdir_($__name,$__mode=0777){
 
settype($__name,"string");

 
clearstatcache();

  if(
is_dir($__name))
    return;
  elseif(
mkdir($__name,$__mode)){
   
clearstatcache();

  if(
is_dir($__name))
   return;
  }

  exit(
"System Error: _mkdir_(".$__name.",".$__mode.").");
}

function
_fdel_($__name){
 
settype($__name,"string");

 
clearstatcache();

  if(!
file_exists(WEB_ROOT.$__name))
    return;
  elseif(
unlink(WEB_ROOT.$__name)){
   
clearstatcache();

    if(!
file_exists(WEB_ROOT.$__name))
      return;
  }

  if(!
is_writable(WEB_ROOT.$__name)){
    exit(
"System Error: _fdel_(".WEB_ROOT.$__name."). File not writable");
  }
  exit(
"System Error: _fdel_(".WEB_ROOT.$__name.").");
}

function
_fcopy_($__source,$__target){
 
settype($__source,"string");
 
settype($__target,"string");

 
clearstatcache();

  if(!
file_exists(WEB_ROOT.$__source))
    return;
  elseif(
copy(WEB_ROOT.$__source, WEB_ROOT.$__target)){
   
clearstatcache();

    if(
file_exists(WEB_ROOT.$__target))
      if(
file_get_contents(WEB_ROOT.$__target) === file_get_contents(WEB_ROOT.$__source))
        return;
  }

 
_fdel_($__target);
  exit(
"System Error: _fcopy_(".WEB_ROOT.$__source.",".WEB_ROOT.$__target.").");
}

function
_fcreate_($__name,$__content){
 
settype($__name,"string");
 
settype($__content,"string");

  if((
$__fid=fopen(WEB_ROOT.$__name,"wb"))!==FALSE){
    if(
fwrite($__fid,$__content)===strlen($__content)){
     
fflush($__fid);
     
fclose($__fid);
     
clearstatcache();

    if(
file_exists(WEB_ROOT.$__name))
      if(
file_get_contents(WEB_ROOT.$__name)===$__content)
        return;
    }

    @
fclose($__fid);
  }

 
_fdel_($__name);
  exit(
"System Error: _fcreate_(".WEB_ROOT.$__name.",...).");
}

function
_flock_(){
  global
$par__id;
  global
$__lock_fid;

  if(
FLOCK){
    if((
$__lock_fid=fopen(TEMP_FOLDER._filename_(FLOCK_FILES,$par__id),"ab"))!==FALSE)
    if(
flock($__lock_fid,LOCK_EX))
      return;

    @
fclose($__lock_fid);
    exit(
"System Error: _flock_().");
  }

  return;
}

function
_funlock_(){
  global
$__lock_fid;

  if(
FLOCK){
   
flock($__lock_fid,LOCK_UN);
   
fclose($__lock_fid);
  }

  return;
}

function
_ls_($__dir="./",$__pattern="*.*"){
 
settype($__dir,"string");
 
settype($__pattern,"string");

 
clearstatcache();

 
$__ls=array();
 
$__regexp=preg_replace("/\\x5C\\x3F/",".",preg_replace("/\\x5C\\x2A/",".*",preg_quote($__pattern,"/")));

  if(!
is_dir(WEB_ROOT.$__dir))
    return
$__ls;
  elseif((
$__dir_id=opendir(WEB_ROOT.$__dir))!==FALSE){
    while((
$__file=readdir($__dir_id))!==FALSE)
   
    if(
preg_match("/^".$__regexp."$/",$__file))
     
array_push($__ls,$__file);

   
closedir($__dir_id);
   
sort($__ls,SORT_STRING);
    return
$__ls;
  }

  exit(
"System Error: _ls_(".WEB_ROOT.$__dir.",".$__pattern.").");
}

function
_filename_($__template,$__replace){
 
settype($__template,"string");
 
settype($__replace,"string");

  return
preg_replace("/\\x2A/",$__replace,$__template);
}

function
_filesize_($__name){
 
settype($__name,"string");

 
clearstatcache();
  return((
file_exists(WEB_ROOT.$__name))?round(filesize(WEB_ROOT.$__name)/1024,1):0);
}

############################################################################################

?>