<?php
# Copyright (C) Finkle Enterprises, LLC 2014,2018   Used by permission only. F. Koenen fkoenen@feweb.net
class noncelib {private$D,$uniqkey,$name;function __construct($args=array()){extract($args);$this->D=86400;$this->uniqkey=trim(str_replace('"','',$uniqkey));$this->name=trim(str_replace('"','',$name));}public function getarray($action='',$user=''){return array($this->name,$this->gh($action,$user));}public function gh($action='',$user=''){return substr($this->nh($action,$user),-12,10);}private function nh($action='',$user=''){$f=sys_get_temp_dir().'/noncelib_'.md5($this->name.$this->uniqkey.$action.$user);$i=(int)@file_get_contents($f);if(! file_exists($f))file_put_contents($f,time()+$this->D);if(time()> (int)$i)$i=time()+$this->D;file_put_contents($f,$i);if($i <=0)$i=ceil( time()/$this->D);return md5($i.$action.$user.$action);}}