+ Add Provider Class id in payload to register agent of ilink sante

This commit is contained in:
Djery-Tom 2021-10-14 17:11:14 +01:00
parent 2f61d6e063
commit ecdd34b1de
41 changed files with 31 additions and 4186 deletions

View File

@ -4,7 +4,8 @@
"phpmailer/phpmailer": "^6.1",
"twilio/sdk": "^6.4",
"guzzlehttp/guzzle": "^7.1",
"ext-json": "*"
"ext-json": "*",
"ext-mysqli": "*"
},
"description": "iLink World Mobile Backend"
}

View File

@ -1,897 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 05/08/18
* Time: 00:02
*/
include '../interacted/Messenger.php';
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "vps@2017GA");
define("DB_DATABASE", "iLink_cannary");
define("DB_DATABASE_TEST","iLink_test");
class DataBaseConnector
{
var $messenger;
var $con;
public function __construct($isTest=false)
{
try {
$this->con = mysqli_connect(DB_HOST, DB_USER
, DB_PASSWORD,DB_DATABASE);
}catch (Exception $e){
echo 'error';
echo $e->getMessage();
}
$this->messenger = new Messenger();
}
public function __destruct()
{
mysqli_close($this->con);
}
public function isPhoneExistedSimple($phone) {
// connecting to mysql
$result = mysqli_query($this->con,"SELECT phone from users WHERE phone = '$phone'");
$no_of_rows = mysqli_num_rows($result);
if ($no_of_rows > 0) {
// user existed
return true;
} else {
// user not existed
return false;
}
}
public function getNetwork(){
$r=mysqli_query($this->con,"select * from networks");
while($row=mysqli_fetch_array($r, MYSQLI_ASSOC )) {
$rows[] = $row;
}
if(count($rows)){
return $rows;
} else {
return null;
}
}
public function isPhoneExisted($phone) {
$result = mysqli_query($this->con,"SELECT phone from users WHERE phone = '$phone'");
$no_of_rows = mysqli_num_rows($result);
if ($no_of_rows > 0) {
// user existed
return true;
} else {
// user not existed
return false;
}
}
public function isPhoneExistedInCategory($phone,$category=null,$phoneTransaction=null){
$result = mysqli_query($this->con,"SELECT na.phone from networks_agents na INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE na.transactionNumber ='$phoneTransaction'");
if($result) {
$no_of_rows = mysqli_num_rows($result);
if ($no_of_rows > 0) {
return true;
}
}else echo json_encode(mysqli_error($this->con));
return false;
}
public function checknumberValidity($phone){
try {
return true;//$this->messenger->checkPhoneExist($phone);
} catch(Exception $ex){
return false;
}
}
public function isMemberCodeExisted($codemembre)
{
$result = mysqli_query($this->con, "SELECT * from codeGenerer WHERE code_membre = '$codemembre' ");
if ($result) {
$no_of_rows = mysqli_num_rows($result);
if ($no_of_rows > 0)
return true;
}
return false;
}
public function getAgentByCodeMembre($code)
{
$listIdmemberParrain= mysqli_query($this->con, "SELECT ag.id as id,ag.uid as uid,ag.firstname AS firstname,
ag.lastname AS lastname,
ag.email AS email,ag.longitude as longitude,ag.latitude AS latitude,ag.active as active,
na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.etat AS etat
,cg.code_parrain AS code_parrain,cg.code_membre AS code_membre,na.phone as phone,na.transactionNumber as phoneTransaction,
ag.date_created as date_created,cg.category as category,ag.salt as salt,ag.encrypted_password as encrypted_password,
ne.name as network,ct.name as country,ag.number_super as nbre_reseau,ag.number_geoBysuper as nbre_sous_reseau
FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id
INNER JOIN networks as ne ON na.network_id=ne.id INNER JOIN countries ct ON ct.id=ne.country_id WHERE
cg.code_membre='$code'");
if($listIdmemberParrain){
$membre=mysqli_fetch_array($listIdmemberParrain,MYSQLI_ASSOC);
if($membre['category']=='super'){
$phone=$membre["phone"];
$demandere=mysqli_query($this->con,"SELECT etat FROM demandeAdhesion WHERE phone='$phone'");
if($demandere){
$membre['etat_demande']=mysqli_fetch_array($demandere,MYSQLI_ASSOC)['etat'];
}
}
return $membre;
}else {
echo mysqli_error($this->con);
return false;
}
}
public function getAgentWithCodeMembre($code){
$listIdmemberParrain=mysqli_query($this->con,
"SELECT na.id as agentId,ag.email as email,ag.number_super as nbre_reseau,ag.number_geoBySuper as nbre_sous_reseau,cg.category as category, cg.code_parrain as code_parrain,cg.code_membre as code_membre , ne.name as reseau from agents ag RIGHT JOIN networks_agents na on ag.id=na.agent_id RIGHT JOIN codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN networks ne ON ne.id = na.network_id WHERE cg.code_membre='$code'");
if($listIdmemberParrain){
$membre=mysqli_fetch_array($listIdmemberParrain,MYSQLI_ASSOC);
return $membre;
}else return false;
}
public function getAgentNetworkByCode($code){
$listIdmemberParrain=mysqli_query($this->con,
"SELECT ne.id, ne.name,ne.status from networks ne INNER JOIN networks_agents na ON na.network_id=ne.id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id WHERE cg.code_membre='$code'");
if($listIdmemberParrain){
$membre=mysqli_fetch_array($listIdmemberParrain,MYSQLI_ASSOC);
return $membre;
}else return ['error'=>mysqli_error($this->con)];
}
public function getAgentById($id){
$listIdmemberParrain=mysqli_query($this->con, "SELECT ag.uid as uid,ag.firstname AS firstname,ag.lastname AS lastname,
ag.email AS email,ag.longitude as longitude,ag.latitude AS latitude,ag.active as active,
na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.etat AS etat
,cg.code_parrain AS code_parrain,cg.code_membre AS code_membre,na.phone as phone,ne.id as network_id,
ag.date_created as date_created,cg.category as category,ag.salt as salt,ag.encrypted_password asencrypted_password,
ne.name as network,ct.name as country, ct.code_dial as indicatif,ag.number_super as nbre_reseau,ag.number_geoBysuper as nbre_sous_reseau
FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id
INNER JOIN networks as ne ON na.network_id=ne.id INNER JOIN countries ct ON ct.id=ne.country_id WHERE
ag.id='$id'");
if($listIdmemberParrain){
$membre=mysqli_fetch_array($listIdmemberParrain,MYSQLI_ASSOC);
if($membre['category']=='super'){
$phone=$membre["phone"];
$demandere=mysqli_query($this->con,"SELECT etat FROM demandeAdhesion WHERE phone='$phone'");
if($demandere){
$membre['etat_demande']=mysqli_fetch_array($demandere,MYSQLI_ASSOC)['etat'];
}
}
if($membre['category']!='geolocated'){
$membre['nbre_membre']=$this->getNbMemberOf($membre['code_membre']);
}
return $membre;
}else {
echo mysqli_error($this->con);
return false;
}
}
public function storeUser($fname, $lname, $email, $phone, $password, $network, $member,$latitude, $longitude,$town,$phoneTransaction)
{
//on verifie si y a un agent qui utilise ce code
if(isset($town->id)){
$membre = $this->getAgentWithCodeMembre($member);
if ($membre) {
if (isset($membre['agentId'])) {
//s'il y a un agent qui a ce code on cree un membre de son reseau
if (($membre['category'] == 'hyper' && $membre['nbre_reseau'] > 0) ||
($membre['category'] == 'super' && $membre['nbre_sous_reseau'] > 0)) {
//si il s'agit d'un hyperviseur ou superviseur et qu'il peut encore créer des membres alors
if ($membre['category'] == 'super') {
$codeGenerer = $this->generateValideCode($membre['code_membre'], 'geolocated');
if ($codeGenerer != null)
return $this->createAgent($fname, $lname, $email, $phone, $password, $network, $codeGenerer, $latitude,
$longitude, $town,$phoneTransaction);
} else {
//on verifie s'il existe des codes superviseur disponible pour cette hyperviseur
$listIdmemberParrain = mysqli_query($this->con, "SELECT na.codeGenerer_id as id,cg.code_membre as code_membre from networks_agents na RIGHT JOIN codeGenerer cg ON cg.id=na.codeGenerer_id WHERE cg.code_parrain='$member' AND na.id is null");
if ($listIdmemberParrain) {
if(mysqli_num_rows($listIdmemberParrain) > 0) {
$me = mysqli_fetch_array($listIdmemberParrain, MYSQLI_ASSOC)['code_membre'];
}
else{
$me=$this->generateValideCode($member,'super');
}
return $this->createAgent($fname, $lname, $email, $phone, $password, $network, $me, $latitude, $longitude, $town,$phoneTransaction);
} else {
return ["error" => -5, 'error_msg' => 'le code parrain que vous avez entrée n\'a pas de membre disponible','sql'=>mysqli_error($this->con)];
}
}
} else {
return ["error" => -6, 'error_msg' => 'le code parrain que vous avez entrée n\'a pas de membre disponible'];
}
} else {
//si aucun membre n'a ce code on verifie s'il sagit d'un hyperviseur
if ($membre['category'] == 'hyper') {
return $this->createAgent($fname, $lname, $email, $phone, $password, $network, $member, $latitude,
$longitude, $town,$phoneTransaction);
} else {
return ["error" => -1, "error_msg" => "impossible de verifier le membre"];
}
}
} else {
return ["error" => -2, "error_msg" => "impossible de verifier le membre", 'sql' => mysqli_error($this->con)];
}
}else{
return ["error" => -10, "error_msg" => "La ville dans laquelle vous vous trouvez n'est pas encore pris en charge", 'sql' => mysqli_error($this->con)];
}
}
public function random_string()
{
$character_set_array = array();
$character_set_array[] = array('count' => 7, 'characters' => 'abcdefghjkmnpqrstuvwxyz');
$character_set_array[] = array('count' => 1, 'characters' => '23456789');
$temp_array = array();
foreach ($character_set_array as $character_set) {
for ($i = 0; $i < $character_set['count']; $i++) {
$temp_array[] = $character_set['characters'][rand(0, strlen($character_set['characters']) - 1)];
}
}
shuffle($temp_array);
return implode('', $temp_array);
}
public function getAllPointInCountry($country){
$etat=1;
$si=1;
$category="geolocated";
if($result= mysqli_prepare($this->con,"SELECT * FROM agent_plus WHERE code_dial=? AND etat=? AND category=? AND longitude!=0 AND latitude!=0")) {
mysqli_stmt_bind_param($result, 'sis', $country, $etat, $category);
mysqli_stmt_execute($result);
$r = mysqli_stmt_get_result($result);
$rows=[];
while ($row = mysqli_fetch_array($r, MYSQLI_BOTH)) {
$grow = [];
foreach ($row as $key => $value) {
if (!is_integer($key)) {
if (!isset($grow[$key])) $grow[$key] = $value;
} else if ($key == 5) {
$grow["longitude"] = $value;
} else if ($key == 6) {
$grow["latitude"] = $value;
}
}
$rows[]=$grow;
}
mysqli_stmt_close($result);
return $rows;
if($result) {
$rows=[];
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
// $rows;
}else{
return ['error'=>mysqli_error($this->con)];
}
}else{
return ['error'=>mysqli_error($this->con)];
}
return false;
}
public function getUserCountryPoint($user_id){
$result = mysqli_query($this->con,"SELECT * FROM agents ag inner JOIN networks_agents na ON na.agent_id=ag.id INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE cg.category='geolocated' AND na.etat=1") or die(mysqli_error($this->con));
if($result) {
$rows=[];
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = $row;
}
return $rows;
}else return false;
}
public function getCategoryAgent($codeparrain){
$result=mysqli_query($this->con,"SELECT category,etat FROM codeGenerer where code_membre = '$codeparrain'");
if($result) {
$rows=[];
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
return $row;
}else return ["erro"=>mysqli_error($this->con)];
}
public function updateWrongPoints()
{
$result=[];
return $result;
}
public function getSuperviseurNetwork($codeparrain,$user_id){
$self=$this->getAgentByCodeMembre($codeparrain);
$catparrain=$self['category'];
$catchild=($catparrain=='hyper')?'super':($catparrain=='super'?'geolocated':null);
if($catchild) {
$result = mysqli_query($this->con, "select ag.longitude as longitude,
ag.adresse,
ag.latitude as latitude,na.transactionNumber as phoneTransaction,
ag.firstname as firstname,ag.lastname as lastname, ag.email as email,na.phone as phone,cg.code_membre as code_membre,
nt.name as network,ct.name as country, na.etat as etat FROM networks_agents na INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id
INNER JOIN networks nt ON na.network_id=nt.id INNER JOIN agents ag ON ag.id=na.agent_id INNER JOIN countries ct
ON nt.country_id=ct.id WHERE cg.code_parrain='$codeparrain' AND cg.code_membre!='$codeparrain' AND na.etat='1' AND cg.category='$catchild'");
$rows = [];
$re = [];
if ($result) {
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = $row;
}
$re['val'] = $rows;
$re['success'] = 1;
$re['catchild']=$catchild;
$re['catparrain']=$catparrain;
} else {
$re['error'] = mysqli_error($this->con);
}
}else{
$re['error']='cat child not found';
}
return $re;
}
public function getPointsNetwork($network,$user_id){
$result=mysqli_query($this->con,"SELECT ag.firstname,cg.code_membre,cg.code_parrain,ag.adresse,
ag.lastname,na.phone,ag.email,na.solde,cg.category,ne.name as network,ct.id as country,ag.longitude,ag.latitude,ag.id as AgentId,ne.id as network_id,ct.id as country_id
FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN
codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN networks ne ON ne.id=na.network_id INNER JOIN countries ct ON ct.id=ne.country_id WHERE cg.category='geolocated' AND na.etat='1' AND na.network_id='$network' AND ag.longitude>0 AND ag.latitude>0 LIMIT 100");
if($result) {
$rows=[];
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = $row;
}
return $rows;
}else
{
return ["error"=>mysqli_error($this->con)];
}
}
private function getUserByPhoneAndPassword($phone, $password,$table) {
$result = mysqli_query($this->con,"SELECT usr.active,usr.salt,usr.encrypted_password,usr.firstname,usr.lastname,usr.id,usr.phone,usr.email,usr.solde,usr.validation_code,usr.active,usr.network_id,ne.name as network,ne.country_id,ct.name as country,ct.code_dial,ct.code_country FROM $table usr INNER JOIN networks ne ON usr.network_id=ne.id INNER JOIN countries ct ON ct.id=ne.country_id WHERE phone = '$phone'") or die(mysqli_error($this->con));
// check for result
$no_of_rows = mysqli_num_rows($result);
if ($no_of_rows > 0) {
$result = mysqli_fetch_array($result,MYSQLI_ASSOC);
$salt = $result['salt'];
$encrypted_password = $result['encrypted_password'];
$hash = $this->checkhashSSHA($salt, $password);
// check for password equality
if ($encrypted_password == $hash) {
// user authentication details are correct
return $result;
}else{
return ['error'=>-3];
}
} else {
// user not found
return ['error'=>-2];
}
}
public function hashSSHA($password) {
$salt = sha1(rand());
$salt = substr($salt, 0, 10);
$encrypted = base64_encode(sha1($password . $salt, true) . $salt);
$hash = array("salt" => $salt, "encrypted" => $encrypted);
return $hash;
}
public function forgotPasswordSimple($phone, $encrypted_password, $salt)
{
$result = mysqli_query($this->con, "UPDATE `users` SET `encrypted_password` = '$encrypted_password',`salt` = '$salt' WHERE `phone` = '$phone'");
if ($result) {
return true;
} else {
return false;
}
}
public function getEmailSimple($phone){
$result = mysqli_query($this->con,"SELECT email FROM users WHERE phone = '$phone'");
if ($result) {
return mysqli_fetch_array($result);
//return true;
}
else
{
return false;
}
}
public function listNetwork(){
echo "request";
$res=mysqli_query($this->con,"SELECT * FROM network");
if($res){
return mysqli_fetch_array($res);
}else return ['error'=>'unable to make request','error_'=>mysqli_error($this->con)];
}
private function checkhashSSHA($salt, $password) {
$hash = base64_encode(sha1($password . $salt, true) . $salt);
return $hash;
}
/**
* Verifies user by phone and password
*/
public function getUserByPhoneAndPasswordSimple($phone, $password) {
return $this->getUserByPhoneAndPassword($phone,$password,'users');
}
/**
* Verifies user by phone and password
*/
public function generateRandomString($length = 10) {
$characters = '23456789abcdefghjkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
public function getUserByPhoneAndPasswordGeolocated($phone, $password) {
// connecting to mysql
$result = mysqli_query($this->con, "SELECT ag.uid as uid,ag.firstname AS firstname,ag.lastname AS lastname,
ag.email AS email,ag.longitude as longitude,ag.latitude AS latitude,ag.active as active,
na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.etat AS etat
,cg.code_parrain AS code_parrain,cg.code_membre AS code_membre,na.phone as phone,na.transactionNumber as phoneTransaction,
ne.id as network_id,ag.date_created as date_created,cg.category as category,
ag.salt as salt,ag.encrypted_password as encrypted_password,ne.name as network,ct.name as country
,ag.number_super as nbre_reseau,ag.number_geoBysuper as nbre_sous_reseau
FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id
INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN networks as ne ON na.network_id=ne.id INNER JOIN countries ct ON ct.id=ne.country_id WHERE na.phone='$phone' or na.transactionNumber='$phone'");
if($result){
if(mysqli_num_rows($result)>0) {
$mr=[];
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$salt = $row['salt'];
$encrypted_password = $row['encrypted_password'];
$hash = $this->checkhashSSHA($salt, $password);
$mr["hash"]=$hash;
$mr["encrypted_password"]=$encrypted_password;
if ($encrypted_password == $hash) {
if ($row['category'] == 'super') {
$phone = $row["phone"];
$demandere = mysqli_query($this->con, "SELECT etat FROM demandeAdhesion WHERE phone='$phone'");
if ($demandere)
$row['etat_demande'] = mysqli_fetch_array($demandere, MYSQLI_ASSOC)['etat'];
else
echo mysqli_error($this->con);
}
if($row['category']!='geolocated'){
$row['nbre_membre']=$this->getNbMemberOf($row['code_membre']);
}
return $row;
}
return ['error'=>-3,"error_msg"=>"Mot de passe incorrect","last"=>$row];
}
}else
return ['error'=>-1,"error_msg"=>"Numéro incorrect",];
}
else
return ['error'=>-2,"error_msg"=>mysqli_error($this->con)];
}
public function getAgentNetworkByPhone($phone){
$listIdmemberParrain=mysqli_query($this->con, "SELECT ag.uid as uid,ag.firstname AS firstname,
ag.lastname AS lastname,
ag.email AS email,ag.longitude as longitude,ag.latitude AS latitude,ag.active as active,
na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.etat AS etat
,cg.code_parrain AS code_parrain,cg.code_membre AS code_membre,na.phone as phone,
ne.id as network_id,
na.id as networkAgentId,
ag.date_created as date_created,cg.category as category,ag.salt as salt,ag.encrypted_password as encrypted_password,
ne.name as network,ct.name as country,ag.number_super as nbre_reseau,ag.number_geoBysuper as nbre_sous_reseau
FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id
INNER JOIN networks as ne ON na.network_id=ne.id INNER JOIN countries ct ON ct.id=ne.country_id WHERE
na.phone='$phone'");
if($listIdmemberParrain){
$membre=mysqli_fetch_array($listIdmemberParrain,MYSQLI_ASSOC);
if($membre['category']=='super'){
$phone=$membre["phone"];
$demandere=mysqli_query($this->con,"SELECT etat FROM demandeAdhesion WHERE phone='$phone'");
if($demandere){
$membre['etat_demande']=mysqli_fetch_array($demandere,MYSQLI_ASSOC)['etat'];
}
}
return $membre;
}else {
echo mysqli_error($this->con);
return false;
}
}
public function storeDemandeCredit($phone,$montant,$code){
$agent=$this->getAgentWithCodeMembre($code);
if($agent) {
$idag=$agent['agentId'];
$q = mysqli_query($this->con, "INSERT INTO demandeCredits(network_agent_id,montant,status) VALUES('$idag','$montant','0')");
if ($q) {
return ['success' => 1, "agent" => $agent];
}
}
return false;
}
private function createAgent($fname, $lname, $email, $phone, $password, $network, $member, $latitude, $longitude, $town,$phoneTransaction)
{
$resultFreeCode = mysqli_query($this->con, "SELECT id,code_membre,category,code_parrain from codeGenerer cg WHERE code_membre='$member' ");
if($resultFreeCode){
$freecodenum=mysqli_num_rows($resultFreeCode);
if($freecodenum>0) {
$codes = mysqli_fetch_array($resultFreeCode, MYSQLI_ASSOC);
$freecode = $codes;
$code_id = $freecode['id'];
$category=$freecode["category"];
$uuid = uniqid('', true);
$balance = 0;
$etat=0;
if($category=="geolocated"){
$etat=1;
}
$hash = $this->hashSSHA($password);
$encrypted_password = $hash["encrypted"];
$salt = $hash["salt"];
$validation_code = $this->random_string();
if(isset($town->id)) {
$townid = $town->id;
$agentCreateResult = mysqli_query($this->con, "INSERT INTO agents(uid,adresse,
lastname,email,longitude,latitude
,balance,encrypted_password,salt,active,date_created,town_id) VALUES ('$uuid',
'$fname','$lname','$email','$longitude','$latitude','$balance','$encrypted_password','$salt','$etat',NOW(),'$townid')");
if ($agentCreateResult) {
$agent_id = mysqli_insert_id($this->con);
if ($agent_id) {
$result = mysqli_query($this->con, "INSERT INTO networks_agents(network_id,agent_id,
solde,etat,codeGenerer_id,phone,validation_code,transactionNumber)
VALUES('$network->id','$agent_id','$balance','$etat','$code_id','$phone','$validation_code','$phoneTransaction')");
if ($result) {
// get user details
$agent= $this->getAgentById($agent_id);
$resque=mysqli_query($this->con,"UPDATE codeGenerer SET etat='1' WHERE code_membre='$member'");
if($resque){
if($agent['category']=='super'){
$re=$this->adddemandeAdhesionAgent($agent);
if(!isset($re['success']))return $re;
}
}else{
return [
'error' => 'impossible de de mettre à jour',
'sql_error' => mysqli_error($this->con),
];
}
return $agent;
} else {
return [
'error' => 'impossible de créer un network_agent',
'sql_error' => mysqli_error($this->con),
'code_generer' => $freecode
];
}
} else {
return [
'error' => 'impossible recuperer l agent',
'sql_error' => mysqli_error($this->con),
'code_generer' => $freecode
];
}
} else {
return [
'error' => 'impossible de créer un agent',
'sql_error' => mysqli_error($this->con)
];
}
}else{
return ['error'=>-4,'error_msg'=>'la ville que vous aviez entrée n\'est pas encore pris en compte ','ville'=>$town];
}
}else return ['error'=>"ce parrain à atteint son quota de membre"];
}else{
return ["error"=>"impossible de recuperer verifier la disponibilité ","error_msg"=>mysqli_error($this->con)];
}
}
public function generateValideCode($membre, $category)
{
$code=null;
$valide=false;
do{
$code=$this->generateRandomString();
$q = mysqli_query($this->con, "SELECT * from codeGenerer WHERE code_membre='$code'");
if ($q) {
$valide = mysqli_num_rows($q) == 0;
$qe=mysqli_query($this->con, "INSERT INTO codeGenerer(code_parrain,code_membre,category,etat) VALUES ('$membre','$code','$category',0)");
if(!$qe){
echo mysqli_error($this->con);
return null;
}
}else{
echo mysqli_error($this->con);
return null;
}
}while(!$valide);
return $code;
}
private function adddemandeAdhesionAgent($agent)
{
$codeparrain=$agent['code_parrain'];
$resParrain=mysqli_query($this->con,"SELECT na.id as agentId FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id WHERE cg.code_membre='$codeparrain'");
if($resParrain){
$parrain=mysqli_fetch_array($resParrain,MYSQLI_ASSOC);
$agentId=$parrain['agentId'];
if($agentId){
$phone=$agent['phone'];
$resDemande=mysqli_query($this->con,"INSERT INTO demandeAdhesion(phone,networks_agent_id) VALUES ('$phone','$agentId')");
if($resDemande){
return ['success'=>1];
}else{
return ["error"=>1,"sql"=>mysqli_error($this->con),'agent'=>$agent];
}
}
}else{
return ['error'=>'error','ssql'=>mysqli_error($this->con),'agent'=>$agent];
}
}
public function storeUserSimple($firstname, $lastname, $email, $phone, $password, $network)
{
$uuid = uniqid('', true);
$balance =0;
$hash = $this->hashSSHA($password);
$encrypted_password = $hash["encrypted"]; // encrypted password
$salt = $hash["salt"]; // salt
//$validation_code = generateRandomString();
$validation_code = $this->random_string();
$networkid=$network->id;
$result = mysqli_query($this->con,
"INSERT INTO users(uid, adresse,lastname, phone, email, solde, encrypted_password,
salt,validation_code, active,network_id) VALUES
('$uuid', '$firstname', '$lastname', '$phone','$email','$balance','$encrypted_password', '$salt',
'$validation_code','0','$networkid')");
// check for successful store
if ($result) {
// get user details
$uid = mysqli_insert_id($this->con); // last inserted id
$result = mysqli_query($this->con,"SELECT ne.name as reseau,ct.name as country,usr.firstname as firstname
,usr.lastname as lastname,usr.phone as phone,usr.email as email,usr.validation_code as validation_code FROM users usr INNER JOIN networks ne ON ne.id=usr.network_id INNER JOIN countries ct ON ct.id=ne.country_id WHERE usr.id = '$uid'");
// return user details
if($result){
return mysqli_fetch_array($result);
}else return ['error'=>'error geting information','sql'=>mysqli_error($this->con)];
} else {
return ['error'=>'error saving information','sql'=>mysqli_error($this->con)];
}
}
public function generateNetworkAgent($phone, $code_parrain)
{
$code=$this->generateValideCode($code_parrain,"geolocated");
$resParrain=mysqli_query($this->con,"SELECT * FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN towns tw ON ag.town_id=tw.id INNER JOIN countries ct ON tw.country_id=ct.id WHERE cg.code_membre='$code_parrain'");
if($resParrain) {
$parrain = mysqli_fetch_array($resParrain, MYSQLI_ASSOC);
$networkId = $parrain['network_id'];
$phone = $parrain['code_dial'] . $phone;
if (true) {
$resgg = mysqli_query($this->con, "SELECT * FROM codeGenerer cg WHERE cg.code_membre='$code'");
if ($resgg) {
$membre = mysqli_fetch_array($resgg, MYSQLI_ASSOC);
$codeGenererId = $membre['id'];
$validation_code = $this->random_string();
$result = mysqli_query($this->con, "INSERT INTO networks_agents(network_id,solde,etat,codeGenerer_id,transactionNumber,validation_code)VALUES('$networkId','0','0','$codeGenererId','$phone','$validation_code')");
if ($result) {
$geoId=mysqli_insert_id($this->con);
if (mysqli_query($this->con, "UPDATE codeGenerer SET etat='1' WHERE code_membre='$code'"))
return ['success' => 1,'phone'=>$phone,'code_membre' => $membre['code_membre'], 'validation_code' => $validation_code,"id"=>$geoId];
else {
$da = ['error' => -7, 'error_msg' => 'impossible de mettre à jour les informations du code membre', 'sql' => mysqli_error($this->con)];
mysqli_query($this->con, "DELETE FROM codeGenerer WHERE code_membre='$code'");
return $da;
}
} else {
$da = ['error' => -5, 'error_msg' => 'impossible de recuperer les informations du de code generer', 'sql' => mysqli_error($this->con)];
mysqli_query($this->con, "DELETE FROM codeGenerer WHERE code_membre='$code'");
return $da;
}
} else {
return ['error' => -4, 'error_msg' => 'impossible de recuperer les informations du de code generer', 'sql' => mysqli_error($this->con)];
}
}
else {
return ['error' => -7, 'error_msg' => 'le numéro de téléphone est invalide', 'phone' =>$phone,"parrain"=>$parrain];
}
} else {
return ['error' => -3, 'error_msg' => 'impossible de recuperer les information du parrain', 'sql' => mysqli_error($this->con)];
}
}
public function getGeoLocatedFreeWithValidationCode($validation_code)
{
$qu=mysqli_query($this->con,"SELECT na.id as id,na.validation_code as validation_code,na.etat as etat, na.agent_id as agent_id,cg.code_membre as code_membre,cg.code_parrain as code_parrain, cg.category as category FROM networks_agents na INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id WHERE na.validation_code='$validation_code' AND cg.category='geolocated' AND na.agent_id is null");
if($qu){
$num_row=mysqli_num_rows($qu);
if($num_row>0) {
$geo = mysqli_fetch_array($qu, MYSQLI_ASSOC);
return $geo;
}else {
return ['error'=>'Ce code n\'est disponible'];
}
}else{
return false;
}
}
public function assignNetworkAgent($idAgent, $idNetworkAgent)
{
$re=mysqli_query($this->con,"UPDATE networks_agents SET agent_id='$idAgent',etat='1' WHERE id='$idNetworkAgent'");
if($re){
return ['success'=>1];
}else return ['error'=>mysqli_error($this->con)];
}
public function getListNetworkOfGeoPoint($user_id)
{
$q=mysqli_query($this->con,"SELECT na.id as id,na.network_id as network_id,na.solde as solde,na.phone as phone,cg.code_membre as code_membre, cg.code_parrain as code_parrain,cg.category as category,ne.name as name from agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN networks ne ON ne.id=na.network_id WHERE ag.id='$user_id'");
if($q){
while($row=mysqli_fetch_array($q,MYSQLI_ASSOC)){
$rows[]=$row;
}
return $rows;
}else
return ['error'=>mysqli_error($this->con)];
}
public function getListFreeNetworkOfGeoPoint($code_parrain)
{
$q=mysqli_query($this->con,"SELECT na.id as id,na.network_id as network_id,na.solde as solde,na.phone as phone,cg.code_membre as code_membre, cg.code_parrain as code_parrain,cg.category as category,ne.name as name,na.validation_code as validation_code from networks_agents na INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN networks ne ON ne.id=na.network_id WHERE cg.code_parrain='$code_parrain' AND cg.code_membre!='$code_parrain' AND na.agent_id IS NULL");
if($q){
$rows=[];
while($row=mysqli_fetch_array($q,MYSQLI_ASSOC)){
$rows[]=$row;
}
return $rows;
}else
return ['error'=>mysqli_error($this->con)];
}
public function getListDemandeReceiveAgent($codeparrain)
{
$q=mysqli_query($this->con,"SELECT dc.id as id,dc.montant as montant,dc.date_creation,dc.date_modification,dc.status as status,na.phone as phone,cg.code_membre as code_membre, cg.code_parrain as code_parrain,cg.category as category,ne.name as name,ne.name as reseau from demandeCredits dc INNER JOIN networks_agents na ON na.id=dc.network_agent_id INNER JOIN agents ag ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN networks ne ON ne.id=na.network_id WHERE cg.code_parrain='$codeparrain'");
if($q){
$rows=[];
while($row=mysqli_fetch_array($q,MYSQLI_ASSOC)){
$rows[]=$row;
}
return $rows;
}else
return ['error'=>mysqli_error($this->con)];
}
public function getListDemandeSendAgent($user_id)
{
$q=mysqli_query($this->con,"SELECT ne.name as reseau, dc.id as id,dc.montant as montant,dc.date_creation,dc.date_modification,dc.status as status,na.phone as phone,cg.code_membre as code_membre, cg.code_parrain as code_parrain,cg.category as category,ne.name as name from demandeCredits dc INNER JOIN networks_agents na ON na.id=dc.network_agent_id INNER JOIN agents ag ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON cg.id=na.codeGenerer_id INNER JOIN networks ne ON ne.id=na.network_id WHERE ag.id='$user_id'");
if($q){
$rows=[];
while($row=mysqli_fetch_array($q,MYSQLI_ASSOC)){
$rows[]=$row;
}
return $rows;
}else
return ['error'=>mysqli_error($this->con)];
}
public function treatDemand($user_id)
{
$dat=date ("Y-m-d H:i:s");
$q=mysqli_query($this->con,"UPDATE demandeCredits SET status='1',date_modification='$dat' WHERE id='$user_id'");
if($q){
$qdemande=mysqli_query($this->con,"SELECT * from demandeCredits dc WHERE dc.id='$user_id'");
if($qdemande) {
$demande = mysqli_fetch_array($qdemande, MYSQLI_ASSOC);
$montant = (int)$demande["montant"];
$id = $demande['network_agent_id'];
return ['success' => 1,"montant"=>$montant];
}
}
return ['error'=>mysqli_error($this->con)];
}
private function getNbMemberOf($code_membre)
{
$q=mysqli_query($this->con,"SELECT DISTINCT COUNT(*) AS nbr_membre FROM agents ag INNER JOIN networks_agents na ON na.agent_id=ag.id INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE cg.code_parrain='$code_membre' AND cg.code_membre!='$code_membre' AND na.etat='1'");
if($q){
return mysqli_fetch_array($q,MYSQLI_ASSOC)['nbr_membre'];
}else{
return 0;
}
}
public function getPointInDistance($reseau,$position, $distance,$page)
{
$mlat=$position->latitude;
$mlong=$position->longitude;
$re=$reseau->id;
$offset=$page*50;
$res= mysqli_query($this->con,"SELECT ag.id as agentId,na.id as id,ag.longitude as longitude,
ag.adresse,
ag.latitude as latitude,na.transactionNumber as phoneTransaction,
ag.firstname as firstname,ag.lastname as lastname, ag.email as email,na.phone as phone,cg.code_membre as code_membre,
nt.name as network,ct.name as country, na.etat as etat
FROM agents ag INNER JOIN networks_agents na ON na.agent_id=ag.id INNER JOIN networks nt ON na.network_id=nt.id INNER JOIN countries ct ON ct.id=nt.country_id INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE cg.category='geolocated' AND na.etat=1 AND getDistanceMetre($mlat,ag.latitude,$mlong,ag.longitude)<=$distance AND nt.id=$re ORDER BY agentId LIMIT 51 OFFSET $offset");
if($res){
$li=["page"=>$page,"offset"=>$offset,"total"=>$offset,"count"=>0];
while ($r=mysqli_fetch_array($res,MYSQLI_ASSOC)){
$li["items"][]=$r;
$li["count"]=$li["count"]+1;
$li["total"]=$li["total"]+1;
}
return $li;
}else return mysqli_error($this->con);
}
}

View File

@ -1,912 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 04/08/18
* Time: 22:36
*/
include 'DataBaseConnector.php';
class Requester
{
//TODO ajouter la comparaison partiel de la ville query with la ville
// Step 3: instantiate a new Twilio Rest Client
var $messenger;
var $db;
var $user_id;
var $messageText;
var $enLangs=["en","en-US","en_US","ca","in","gb","GB","us"];
/**
* Requester constructor.
*/
public function __construct($user_id,$lang="en")
{
$this->db = new DataBaseConnector();
$this->user_id = $user_id;
$this->messenger=new Messenger();
$la=$lang;
if(in_array($lang,$this->enLangs))$la='en';
if(file_exists("./../static/$la/message.json"))
$this->messageText=file_get_contents("./../static/$la/message.json");
else
$this->messageText=file_get_contents("./../static/en/message.json");
$this->messageText=json_decode($this->messageText,true);
}
public function loginPhonePassword($phone, $password)
{
// check for user
$user = $this->loginUser($phone, $password);
if (!$user) {
$user = $this->loginAgent($phone, $password);
if (!$user) {
$response["error"] = 1;
$response["error_msg"] =$this->messageText["PHONE_OR_NUMBER_INCORRECT"] ;
return $response;
}
}
return $user;
}
public function getAgentInfoByCode($code){
$codes=$this->getChildCode($code);
if(isset($codes["child"])){
$codes['network']=$this->db->getAgentNetworkByCode($code);
}
return json_encode($codes);
}
public function getSuperviseurNetwork($codesuperviseur)
{
$point = $this->db->getSuperviseurNetwork($codesuperviseur, $this->user_id);
if (isset($point['success'])) {
$response['success'] = 1;
$response['datas'] = $point['val'];
$response['catchild']=$point['catchild'];
$response['catparent']=$point['catparrain'];
return $response;
} else {
$response = ['error' => 1,
'error_msg' => $this->messageText['UNABLE_TO_GET_GEOLOCATED_POINT'], 'sql_error' => $point["error"]];
return $response;
}
}
public function getAllCountryPoint($country)
{
$point = $this->db->getAllPointInCountry($country);
if ($point) {
$response['success'] = 1;
$response['datas'] = $point;
return $response;
} else {
$response = ['error' => 1, 'error_msg' => "impossible de recupere les points de cette ville"];
return $response;
}
}
public function recoverPasswordAgent($number)
{
if ($this->db->isPhoneExistedSimple($number)) {
$randomcode = $this->db->random_string();
$hash = $this->db->hashSSHA($randomcode);
$encrypted_password = $hash["encrypted"]; // encrypted password
$salt = $hash["salt"];
$user = $this->db->forgotPasswordSimple($number, $encrypted_password, $salt);
if ($user) {
$mail = $this->db->getEmailSimple($number);
if ($mail) {
$subject = "Password Recovery";
$message = sprintf($this->messageText['TEXT_RECOVERY_PASSWORD'],$randomcode);
$from = "noreply@ilink-app.com";
$headers = "From:" . $from;
$this->messenger->setSubject($subject);
$this->messenger->setHeader($headers);
$this->messenger->setMessage($message);
$this->messenger->setContact($number);
$this->messenger->setMail($mail['email']);
$this->messenger->sendMail();
$this->messenger->sendSms();
// Stop Sending SMS
$response["success"] = 1;
$response["message"] = "Le mot de passe a été modifié et un message vous a été envoyé à " . $mail["email"];
return $response;
} else {
$response["error"] = -6;
$response["message"] = "impossible d'envoyer le mail";
$response["last_error"] = mysqli_error($this->db->con);
return $response;
}
} else {
$response["error"] = -7;
$response["message"] = "impossible de changer le mots de passe";
$response["last_error"] = mysqli_error($this->db->con);
return $response;
}
}else
return ['error' => -5, 'message' => "Ce numéro n'existe pas",'phone'=>$number];
}
public function recoverUserPassword($number)
{
if ($this->db->isPhoneExistedSimple($number)) {
$randomcode = $this->db->random_string();
$hash = $this->db->hashSSHA($randomcode);
$encrypted_password = $hash["encrypted"]; // encrypted password
$salt = $hash["salt"];
$user = $this->db->forgotPasswordSimple($number, $encrypted_password, $salt);
if ($user) {
$mail = $this->db->getEmailSimple($number);
if ($mail) {
$subject = "Password Recovery";
$message = sprintf($this->messageText['TEXT_RECOVERY_PASSWORD'],$randomcode);
$from = "noreply@ilink-app.com";
$headers = "From:" . $from;
$this->messenger->setSubject($subject);
$this->messenger->setHeader($headers);
$this->messenger->setMessage($message);
$this->messenger->setContact($number);
$this->messenger->setMail( $mail["email"]);
$this->messenger->sendMail();
//$this->messenger->sendSms();
// Stop Sending SMS
$response["success"] = 1;
$response["message"] = "Le mot de passe a été modifié et un message vous a été envoyé à " . $mail["email"];
return $response;
} else {
$response["error"] = -6;
$response["message"] = "impossible d'envoyer le mail";
$response["last_error"] = mysqli_error($this->db->con);
return $response;
}
} else {
$response["error"] = -7;
$response["message"] = "impossible de changer le mots de passe";
$response["last_error"] = mysqli_error($this->db->con);
return $response;
}
}else
return ['error' => -5, 'message' => 'Ce numéro n\'existe pas',"phone"=>"$number"];
}
private function sendMail($email, $subject, $message, $headers)
{
mail($email, $subject, $message, $headers);
}
private function sendMessage($message, $number)
{
$sms = $this->client->account->messages->create(
$number,
array(
// Step 6: Change the 'From' number below to be a valid Twilio number
// that you've purchased
'from' => sender_number,
// the sms body
'body' => $message
)
);
}
public function getPointAroundKm($reseau,$position, $distance,$page)
{
$list=$this->db->getPointInDistance($reseau,$position,$distance,$page);
return json_encode($list);
}
public function getNetworkPoint($network)
{
$points = $this->db->getPointsNetwork($network, $this->user_id);
if (!isset($points['error'])) {
$pts=['success'=>1,'datas'=>$points];
return json_encode($pts);
} else
return json_encode(['error' => -4, 'error_msg' => 'error query','mysql'=> mysqli_error($this->db->con),"data"=>$points,"network"=>$network,"user"=>$this->user_id]);
}
function distance($lat1, $lon1, $lat2, $lon2)
{
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +
cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = "K";
if ($unit == "K") {
return ($miles * 1.609344);
} else if ($unit == "N") {
return ($miles * 0.8684);
} else {
return $miles;
}
}
public function registerGeolocated($request)
{
if ($this->db->isPhoneExistedInCategory($request->phone, $request->category,$request->phone_transaction)) {
// user is already existed - error response
$response["error"] = 1;
$response["error_msg"] = $this->messageText['ALREADY_PHONE_NUMBER'];
echo json_encode($response);
} else {
if ($checkValidity = $this->db->checknumberValidity($request->phone)) {
$membercodetest = $this->db->isMemberCodeExisted($request->member);
if ($membercodetest) {
$user = $this->db->storeUser($request->address, $request->lastname, $request->email, $request->phone,
$request->password, $request->network, $request->member, $request->latitude, $request->longitude, $request->town,$request->phone_transaction);
if ($user != null && !isset($user['error'])) {
//if ($user) {
// user stored successfully
$user["success"] = 1;
$validation = $user["validation_code"];
$username = $user["lastname"];
$subject = "Bienvenue sur Ilink";
$phone = $user['phone'];
$ct=($user['category']=='geolocated'?'Agent Géolocalisé':($user['category']=='super'?'Administrateur':'Super Administrateur'));
$message1 =sprintf($this->messageText['MESSAGE_1'],$username,$ct,$phone,$request->password,$validation);
$message2 = sprintf($this->messageText['MESSAGE_2'],$username,$ct,$phone,$request->password);
$from = "noreply@ilink-app.com";
$headers = "From:" . $from;
$name = "ilink";
$this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']);
$this->messenger->setMessage($user['category']=='super'?$message2:$message1);
$this->messenger->setSubject($subject);
$this->messenger->setHeader($headers);
if (!$this->messenger->sendMail()) {
return json_encode(error_get_last());
};
$sms = $this->messenger->sendSms();
}
return json_encode($user);
/* echo "Réseau : ".strtoupper($user["network"])."<br />";
echo "<br />";
echo "Nom(s) :".$user["lastname"]."<br />";
echo "Email par défaut du réseau : ".$user["email"]."<br />";
echo "Telephone :".$user["phone"]."<br />";
echo "Code membre pour le réseau : ".$user["code_membre"]."<br />";
echo "<br />";*/
} else {
return json_encode(['error' => 'unable to get membrre', 'error_msg' => $this->messageText['NO_CODE_MEMBER']]);
}
}else{
return json_encode(['error' => 'unable to get membrre',"msg"=>$this->messageText, 'error_msg' => $this->messageText['INVALID_PHONE']]);
}
}
}
public function getNetwork()
{
return json_encode($this->db->getNetwork());
}
public function loginUser($phone, $password)
{
$user = $this->db->getUserByPhoneAndPasswordSimple($phone, $password);
if (!isset($user['error'])) {
// user found
// echo json with success = 1
$user["success"] = 1;
if(isset($user['active']))
$user['etat']=$user['active'];
} else {
switch ($user['error']){
case -2:$user['error_msg']=$this->messageText['WRONG_PHONE_NUMBER'];
break;
case -3:
$user['error_msg']=$this->messageText['WRONG_PASSWORD'];break;
}
}
return $user;
}
public function loginAgent($phone, $password)
{
$user = $this->db->getUserByPhoneAndPasswordGeolocated($phone, $password);
if (!isset($user['error'])) {
// user found
// echo json with success = 1
$user["success"] = 1;
return $user;
} else
return $user;
}
public function getSupervisorAdhesionList($codeparrain)
{
$resparrain=mysqli_query($this->db->con,"SELECT na.id as id FROM networks_agents na INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE cg.code_membre='$codeparrain'");
if($resparrain){
$parrain=mysqli_fetch_array($resparrain,MYSQLI_ASSOC)['id'];
$r=mysqli_query($this->db->con,"select ag.firstname as firstname,ag.lastname as lastname, ag.email as email,na.phone as phone ,ne.name as network,cg.code_membre as code_membre,cg.code_parrain as code_parrain,ds.etat as etat
from agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id INNER JOIN networks ne ON na.network_id=ne.id INNER JOIN demandeAdhesion ds ON 1=1 WHERE ds.networks_agent_id='$parrain' AND cg.code_membre!='$codeparrain' AND na.etat='0' AND ds.etat='0' AND cg.code_parrain='$codeparrain'");
$rows=[];
if($r) {
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
$rows[] = $row;
}
if (count($rows) > 0) {
return $rows;
} else {
echo mysqli_error($this->db->con);
return $rows;
}
}else{
return ['error'=>mysqli_error($this->db->con)];
}
}else{
return mysqli_error($this->db->con);
}
}
public function getChildCode($codeparrain)
{
$r=$this->db->getCategoryAgent($codeparrain);
if($r['etat']==1){
switch ($r['category']){
case 'hyper':
$r['child']='super';
break;
case 'super':
$r["child"]="geolocated";
break;
}
}
return $r;
}
public function updateWrongPoint()
{
$result=[];
try{
$result = mysqli_query($this->db->con, "UPDATE users_simple SET firstname = REPLACE(firstname, 'é', 'é') WHERE firstname LIKE '%é%'");
}catch (Exception $e) {
var_dump(mysqli_error($this->db->con));
}
$da="freud junior";
return $result;
}
public function storeCreditAsk($phone,$montant,$code)
{
$result=$this->db->storeDemandeCredit($phone,$montant,$code);
if ($result) {
$usr=$result['agent'];
$subject = $this->messageText['NEW_DEMAND_TITLE'];
$email = $usr['email'];
$message = $this->messageText['SEND_CREDIT_DEMAND_TEXT_SUCCESS'];
$from = "noreply@ilink.com";
$headers = "From:" . $from;
$name = "ilink";
$this->messenger->setHeader($headers);
$this->messenger->setContact($phone);
$this->messenger->setMessage($message);
$this->messenger->setReceiverMail($email);
$this->messenger->setSubject($subject);
$this->messenger->sendMail();
try {
$this->messenger->sendSms();
}catch (Exception $e){
}
} else {
// user failed to store
$response["error"] = 1;
$response["result"]=$result;
$response["error_msg"] = $this->messageText['UNABLE_TO_SEND_DEMAND'];
$response["sql"]=mysqli_error($this->db->con);
$response["last"]=error_get_last();
$response["montant"]=$montant;
$response["phone"]=$phone;
echo json_encode($response);
}
return json_encode($result);
}
public function getCountryNetWork($indicatif)
{
$res=mysqli_query($this->db->con,
"SELECT nt.id AS id, nt.name AS name,nt.country_id AS countryId FROM networks nt INNER JOIN countries ct
ON nt.country_id=ct.id WHERE ct.code_dial='$indicatif' AND nt.name!=''AND nt.status=1");
if($res){
$rows=[];
while($row=mysqli_fetch_array($res,MYSQLI_ASSOC)){
$rows[]=$row;
}
return $rows;
}else
return ['error'=>'unable to query list networks','error_sql'=>mysqli_error($this->db->con)];
}
public function getTownInfoByName($name)
{
$res=mysqli_query($this->db->con,"SELECT nt.name as name,nt.id as id ,ct.code_dial as indicatif FROM towns nt INNER JOIN countries ct ON nt.country_id=ct.id WHERE UPPER(nt.name)=UPPER('$name')");
if($res){
while($row=mysqli_fetch_array($res,MYSQLI_ASSOC)){
$rows[]=$row;
}
if($rows==null){
return ['error'=>'unable to query town information','ville'=>$name,'error_sql'=>mysqli_error($this->db->con)];
}
return $rows;
}else
return ['error'=>'unable to query town information','ville'=>$name,'error_sql'=>mysqli_error($this->db->con)];
}
public function getListTownsCountry($indicatif)
{
$res=mysqli_query($this->db->con,"SELECT nt.name as name,nt.id as id ,ct.code_dial as indicatif FROM towns nt INNER JOIN countries ct ON nt.country_id=ct.id WHERE ct.code_dial='$indicatif'");
if($res){
$rows=[];
while($row=mysqli_fetch_array($res,MYSQLI_ASSOC)){
$rows[]=$row;
}
return $rows;
}else
return ['error'=>'unable to query list towns','indicatif'=>$indicatif,'error_sql'=>mysqli_error($this->db->con)];
}
public function validateAgent($phone, $code_validation,$mbre_reseau=null,$mr_sous_reseau=null)
{
if(isset($phone) && isset($code_validation)){
$res=mysqli_query($this->db->con,"SELECT na.id as agentId,ag.id as agId,cg.category as category,cg.code_membre as code_membre,cg.code_parrain AS code_parrain FROM agents ag INNER JOIN networks_agents na on ag.id=na.agent_id inner JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE na.phone='$phone' OR na.transactionNumber='$phone' AND na.validation_code='$code_validation'");
if($res){
if(mysqli_num_rows($res)>0){
$net=mysqli_fetch_array($res,MYSQLI_ASSOC);
$agentId=$net['agentId'];
$agId=$net['agId'];
$codeparrain = $net['code_parrain'];
$codeMembre=$net['code_membre'];
$re = mysqli_query($this->db->con, "SELECT ag.id as parrainId, ag.number_super as nbre_reseau,ag.number_geoBysuper as nbre_sous_reseau FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id inner JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE cg.code_membre='$codeparrain'");
if($re) {
$parrain = mysqli_fetch_array($re, MYSQLI_ASSOC);
$nbre_sup = $parrain['nbre_sous_reseau'];
$nbre = $parrain['nbre_reseau'];
$parrainId=$parrain['parrainId'];
switch ($net['category']) {
case 'hyper':
if (isset($mbre_reseau) && isset($mr_sous_reseau)) {
$r = mysqli_query($this->db->con, "UPDATE `networks_agents` SET etat = '1' WHERE `id` = $agentId ");
$var3["message_erreur_1"] = mysqli_error($this->db->con);
$rs = mysqli_query($this->db->con, "UPDATE agents SET number_super='$mbre_reseau',number_geoBysuper='$mr_sous_reseau' WHERE id='$agId'");
if ($r && $rs) {
$var3["success"] = 1;
$var3["message"] = "User has been validated successfully !";
return $var3;
} else {
$var3["error"] = 1;
$var3["message"] = mysqli_error($this->db->con);
return $var3;
}
} else {
$var3["error"] = -2;
$var3["message"] = "no nbre reseau et sous reseau";
return $var3;
}
break;
case 'geolocated':
$r = mysqli_query($this->db->con, "UPDATE networks_agents SET etat = '1' WHERE id = '$agentId' ");
if ($r) {
$nbre -= $nbre > 0 ? 1 : 0;
mysqli_query($this->db->con, "UPDATE agents SET number_geoBysuper = '$nbre' WHERE `id` = '$parrainId' ");
$var3["success"] = 1;
$var3["message"] = "User has been validated successfully !";
return $var3;
} else {
$var3["error"] = 1;
$var3["message"] = mysqli_error($this->db->con);
return $var3;
}
break;
case 'super':
$rs = mysqli_query($this->db->con, "UPDATE agents SET number_geoBysuper='$nbre_sup',number_super='$nbre_sup' WHERE id='$agId'");
if ($rs) {
if (mysqli_num_rows($re) > 0) {
$r = mysqli_query($this->db->con, "UPDATE `networks_agents` SET etat = '1' WHERE id ='$agentId'");
if ($r) {
$nbre -= $nbre > 0 ? 1 : 0;
if(mysqli_query($this->db->con, "UPDATE `agents` SET number_super = '$nbre' WHERE id='$parrainId'")){
$var3["success"] = 1;
$var3['nbre_sup']=$nbre;
$var3["message"] = "User has been validated successfully !";
return $var3;
}else {
$var3["error"] = 1;
$var3["message"] = mysqli_error($this->db->con);
return $var3;
}
} else {
$var3["error"] = 1;
$var3["message"] = mysqli_error($this->db->con);
return $var3;
}
} else {
$var3["error"] = -4;
$var3["message"] = "impossible de trouve le parrain";
return $var3;
}
} else {
$var3["error"] = -3;
$var3["message"] = mysqli_error($this->db->con);
return $var3;
}
break;
}
}else{
return ['error'=>'impossible de recuperer le parrain','error_msg'=>mysqli_error($this->db->con)];
}
}else{
return ['error'=>'invalide code','error_msg'=>"code de validation incorrect"];
}
}else{
return ['error'=>'unable to query info network agent','error_msg'=>mysqli_error($this->db->con)];
}
}
}
public function activeSupervisorAdhesion($code,$phone)
{
$idsUser=mysqli_query($this->db->con,"SELECT ag.email as email,ag.firstname as firstname,ag.lastname as lastname,na.validation_code as validation_code,na.phone as phone,
na.id as agent_id,ds.id as demande_id FROM agents ag INNER JOIN networks_agents na ON ag.id=na.agent_id INNER JOIN demandeAdhesion ds ON 1=1 INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id WHERE ds.phone='$phone' AND cg.code_membre='$code'");
if($idsUser){
$idsusr=mysqli_fetch_array($idsUser,MYSQLI_ASSOC);
$idAgent=$idsusr['agent_id'];
$demandeId=$idsusr['demande_id'];
$udateDemande=mysqli_query($this->db->con,"UPDATE demandeAdhesion SET etat='1' WHERE id='$demandeId'");
if($udateDemande){
$user=$idsusr;
$validation = $user["validation_code"];
$username = $user["lastname"];
$subject = "Bienvenue sur Ilink";
$phone = $user['phone'];
$ct='Administrateur';
$message1 =sprintf($this->messageText['MESSAGE_3'],$ct,$phone,$validation);
$from = "noreply@ilink-app.com";
$headers = "From:" . $from;
$name = "ilink";
$this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']);
$this->messenger->setMessage($message1);
$this->messenger->setSubject($subject);
$this->messenger->setHeader($headers);
if (!$this->messenger->sendMail()) {
return json_encode(error_get_last());
};
$sms = $this->messenger->sendSms();
}else{
echo mysqli_error($this->db->con);
}
echo json_encode($idsusr);
}else{
echo mysqli_error($this->db->con);
}
}
public function registerUser($request)
{
if ($this->db->isPhoneExistedSimple($request->phone)) {
// user is already existed - error response
$response["error"] = 1;
$response["error_msg"] = "numero existe deja";
echo json_encode($response);
} else {
if ($checkValidity = $this->db->checknumberValidity($request->phone)) {
$user = $this->db->storeUserSimple($request->address, $request->lastname, $request->email,
$request->phone,
$request->password, $request->network);
if ($user != null && !isset($user['error'])) {
$user["success"] = 1;
$username = $user["lastname"];
$subject = "Bienvenue sur Ilink";
$phone = $user['phone'];
$validation_code=$user['validation_code'];
$ct="Utilisateur";
$message1 =sprintf($this->messageText['MESSAGE_1'],$username,$ct,$phone,$request->password,$validation_code);
$message2 = sprintf($this->messageText['MESSAGE_2'],$username,$ct,$phone,$request->password,"");
$from = "noreply@ilink-app.com";
$headers = "From:" . $from;
$name = "ilink";
$this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']);
$this->messenger->setMessage($message1);
$this->messenger->setSubject($subject);
$this->messenger->setHeader($headers);
if (!$this->messenger->sendMail()) {
return json_encode(error_get_last());
};
$sms = $this->messenger->sendSms();
} else {
$user = ['error' => 'impossible de créer l\'utilisateur', 'error_sql' => mysqli_error($this->db->con)];
}
return json_encode($user);
} else {
return json_encode(['error' => 'unable to get membrre', 'error_msg' =>$this->messageText['INVALID_PHONE']]);
}
}
}
public function generateEmptyAgentNetworkForAgent($phone, $code_parrain)
{
if ($this->db->isPhoneExistedInCategory($phone)) {
// user is al5eady existed - error response
$response["error"] = 1;
$response["error_msg"] =$this->messageText['ALREADY_PHONE_NUMBER'];
return json_encode($response);
}else{
$user=$this->db->generateNetworkAgent($phone,$code_parrain);
if(isset($user['success'])) {
$validation = $user["validation_code"];
$subject = "Bienvenue sur Ilink";
$phone1 = $user['phone'];
$ct='Agent Géolocalisé';
$message1 =sprintf($this->messageText['MESSAGE_3'],$ct,$phone,$validation);
$this->messenger->setContact($phone1);
$this->messenger->setMessage($message1);
$this->messenger->setSubject($subject);
if ($sms = $this->messenger->sendSms()) {
$user['message'] = $sms;
} else {
return json_encode(['error' => 'imossible d\'envoyer le message']);
};
}
return json_encode($user);
}
}
public function assignNetworkToAgent($agentId, $code_parrain,$phone)
{
$agent = $this->db->getAgentById($agentId);
if ($agent) {
$indicatif=$agent["indicatif"];
if ($this->db->isPhoneExistedInCategory(null,null,$indicatif.$phone)) {
$response["error"] = 1;
$response["error_msg"] =$this->messageText['ALREADY_PHONE_NUMBER'];
return json_encode($response);
} else {
$user = $this->db->generateNetworkAgent($phone, $code_parrain);
if (isset($user['success'])) {
$result = $this->db->assignNetworkAgent($agentId, $user['id']);
if (isset($result['success'])) {
$geoLocated['success'] = 1;
$geoLocated['agent_id'] = $agentId;
$validation = $user["validation_code"];
$subject = "Bienvenue sur Ilink";
$phone1 = $user['phone'];
$message1 = sprintf($this->messageText['MESSAGE_ATTRIBUTE'],$phone1,$validation);
$this->messenger->setContact($phone1);
$this->messenger->setMessage($message1);
$this->messenger->setSubject($subject);
$this->messenger->setReceiverMail($agent['email']);
if ($sms = $this->messenger->sendSms()) {
$user['message'] = $sms;
} else {
return json_encode(['error' => 'imossible d\'envoyer le message']);
};
return json_encode($geoLocated);
} else {
return json_encode($result);
}
} else {
return json_encode($user);
}
}
} else {
return json_encode(['error' => mysqli_error($this->db->con)]);
}
}
public function listNetworksGeo()
{
if($this->user_id){
$result= $this->db->getListNetworkOfGeoPoint($this->user_id);
if(!isset($result['error'])){
$networks=['success'=>1,'networks'=>$result];
return $networks;
}else
return $result;
}else{
return ['error'=>'unable to find user_id'];
}
}
public function listFreeNetworksForSuper()
{
if($this->user_id){
$result= $this->db->getListFreeNetworkOfGeoPoint($this->user_id);
if(!isset($result['error'])){
$networks=['success'=>1,'networks'=>$result];
return $networks;
}else
return $result;
}else{
return ['error'=>'unable to find user_id'];
}
}
public function getAgentReceiveDemande()
{
if($this->user_id){
$result= $this->db->getListDemandeReceiveAgent($this->user_id);
if(!isset($result['error'])){
$networks=['success'=>1,'demands'=>$result];
return json_encode($networks);
}else
return json_encode($result);
}else{
return json_encode(['error'=>'unable to find user_id']);
}
}
public function getAgentSendDemande()
{
if($this->user_id){
$result= $this->db->getListDemandeSendAgent($this->user_id);
if(!isset($result['error'])){
$networks=['success'=>1,'demands'=>$result];
return json_encode($networks);
}else
return json_encode($result);
}else{
return json_encode(['error'=>'unable to find user_id']);
} }
public function treatDemand($phone)
{
if($this->user_id){
$result= $this->db->treatDemand($this->user_id);
if(isset($result['success'])){
$this->messenger->setContact($phone);
$this->messenger->setMessage($this->messageText['MESSAGE_TREAT']);
$this->messenger->sendSms();
}
return json_encode($result);
}else{
return json_encode(['error'=>'unable to find user_id']);
}
}
public function getActiveCountries()
{
$mq=mysqli_query($this->db->con,"SELECT DISTINCT ct.id,ct.code_dial,ct.name,ct.code_country FROM countries ct INNER JOIN networks ne ON ne.country_id=ct.id");
if($mq){
while($row=mysqli_fetch_array($mq,MYSQLI_ASSOC)){
$rows[]=$row;
}
return json_encode($rows);
}else{
return ['error'=>mysqli_error($this->db->con)];
}
}
public function getAgentById()
{
return$this->db->getAgentById($this->user_id);
}
public function updatePosition($agentId, $longitude, $latitude)
{
$result=[];
$q = mysqli_query($this->db->con, "UPDATE agents SET longitude='$longitude',latitude='$latitude' WHERE id='$agentId'");
if($q){
return json_encode(['success'=>1]);
}else return json_encode(['error'=>0,'sql'=>mysqli_error($this->db->con)]);
}
public function validateUser($phone)
{
if(isset($phone)){
$res=mysqli_query($this->db->con,"SELECT * from users_simple WHERE phone='$phone'");
if($res){
if(mysqli_num_rows($res)>0){
$user=mysqli_fetch_array($res,MYSQLI_ASSOC);
$userId=$user['id'];
$r = mysqli_query($this->db->con, "UPDATE users SET active = '1' WHERE id = '$userId' ");
if($r) {
$var3["success"] = 1;
$var3["message"] = "User has been validated successfully !";
$res=mysqli_query($this->db->con,"SELECT * from users_simple WHERE phone='$phone'");
$user=mysqli_fetch_array($res,MYSQLI_ASSOC);
$var3['user']=$user;
return $var3;
}else{
return ['error'=>'impossible de recuperer le parrain','error_msg'=>mysqli_error($this->db->con)];
}
}else{
return ['error'=>'invalide code','error_msg'=>"code de validation incorrect"];
}
}else{
return ['error'=>'unable to query info network agent','error_msg'=>mysqli_error($this->db->con)];
}
}
}
}

View File

@ -1,10 +0,0 @@
<?php
$type = 'Core';
$name = 'Courier';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$cw[chr($i)] = 600;
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,10 +0,0 @@
<?php
$type = 'Core';
$name = 'Courier-Bold';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$cw[chr($i)] = 600;
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,10 +0,0 @@
<?php
$type = 'Core';
$name = 'Courier-BoldOblique';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$cw[chr($i)] = 600;
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,10 +0,0 @@
<?php
$type = 'Core';
$name = 'Courier-Oblique';
$up = -100;
$ut = 50;
for($i=0;$i<=255;$i++)
$cw[chr($i)] = 600;
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Helvetica';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Helvetica-Bold';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Helvetica-BoldOblique';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Helvetica-Oblique';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -1,20 +0,0 @@
<?php
$type = 'Core';
$name = 'Symbol';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,
'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768,
'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576,
'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0,
chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603,
chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768,
chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042,
chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329,
chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0);
$uv = array(32=>160,33=>33,34=>8704,35=>35,36=>8707,37=>array(37,2),39=>8715,40=>array(40,2),42=>8727,43=>array(43,2),45=>8722,46=>array(46,18),64=>8773,65=>array(913,2),67=>935,68=>array(916,2),70=>934,71=>915,72=>919,73=>921,74=>977,75=>array(922,4),79=>array(927,2),81=>920,82=>929,83=>array(931,3),86=>962,87=>937,88=>926,89=>936,90=>918,91=>91,92=>8756,93=>93,94=>8869,95=>95,96=>63717,97=>array(945,2),99=>967,100=>array(948,2),102=>966,103=>947,104=>951,105=>953,106=>981,107=>array(954,4),111=>array(959,2),113=>952,114=>961,115=>array(963,3),118=>982,119=>969,120=>958,121=>968,122=>950,123=>array(123,3),126=>8764,160=>8364,161=>978,162=>8242,163=>8804,164=>8725,165=>8734,166=>402,167=>9827,168=>9830,169=>9829,170=>9824,171=>8596,172=>array(8592,4),176=>array(176,2),178=>8243,179=>8805,180=>215,181=>8733,182=>8706,183=>8226,184=>247,185=>array(8800,2),187=>8776,188=>8230,189=>array(63718,2),191=>8629,192=>8501,193=>8465,194=>8476,195=>8472,196=>8855,197=>8853,198=>8709,199=>array(8745,2),201=>8835,202=>8839,203=>8836,204=>8834,205=>8838,206=>array(8712,2),208=>8736,209=>8711,210=>63194,211=>63193,212=>63195,213=>8719,214=>8730,215=>8901,216=>172,217=>array(8743,2),219=>8660,220=>array(8656,4),224=>9674,225=>9001,226=>array(63720,3),229=>8721,230=>array(63723,10),241=>9002,242=>8747,243=>8992,244=>63733,245=>8993,246=>array(63734,9));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Times-Roman';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,
'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944,
'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980,
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333,
chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Times-Bold';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000,
'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833,
'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333,
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Times-BoldItalic';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889,
'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333,
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,21 +0,0 @@
<?php
$type = 'Core';
$name = 'Times-Italic';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833,
'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722,
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980,
chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333,
chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611,
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444);
$enc = 'cp1252';
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
?>

View File

@ -1,20 +0,0 @@
<?php
$type = 'Core';
$name = 'ZapfDingbats';
$up = -100;
$ut = 50;
$cw = array(
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776,
'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873,
'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317,
chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788,
chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788,
chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918,
chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874,
chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0);
$uv = array(32=>32,33=>array(9985,4),37=>9742,38=>array(9990,4),42=>9755,43=>9758,44=>array(9996,28),72=>9733,73=>array(10025,35),108=>9679,109=>10061,110=>9632,111=>array(10063,4),115=>9650,116=>9660,117=>9670,118=>10070,119=>9687,120=>array(10072,7),128=>array(10088,14),161=>array(10081,7),168=>9827,169=>9830,170=>9829,171=>9824,172=>array(9312,10),182=>array(10102,31),213=>8594,214=>array(8596,2),216=>array(10136,24),241=>array(10161,14));
?>

View File

View File

@ -1,915 +0,0 @@
<?php
/*******************************************************************************
* FPDF *
* *
* Version: 1.81 *
* Date: 2015-12-20 *
* Author: Olivier PLATHEY *
*******************************************************************************/
define('FPDF_VERSION','1.81');
class FPDF
{
protected $page; // current page number
protected $n; // current object number
protected $offsets; // array of object offsets
protected $buffer; // buffer holding in-memory PDF
protected $pages; // array containing pages
protected $state; // current document state
protected $compress; // compression flag
protected $k; // scale factor (number of points in user unit)
protected $DefOrientation; // default orientation
protected $CurOrientation; // current orientation
protected $StdPageSizes; // standard page sizes
protected $DefPageSize; // default page size
protected $CurPageSize; // current page size
protected $CurRotation; // current page rotation
protected $PageInfo; // page-related data
protected $wPt, $hPt; // dimensions of current page in points
protected $w, $h; // dimensions of current page in user unit
protected $lMargin; // left margin
protected $tMargin; // top margin
protected $rMargin; // right margin
protected $bMargin; // page break margin
protected $cMargin; // cell margin
protected $x, $y; // current position in user unit
protected $lasth; // height of last printed cell
protected $LineWidth; // line width in user unit
protected $fontpath; // path containing fonts
protected $CoreFonts; // array of core font names
protected $fonts; // array of used fonts
protected $FontFiles; // array of font files
protected $encodings; // array of encodings
protected $cmaps; // array of ToUnicode CMaps
protected $FontFamily; // current font family
protected $FontStyle; // current font style
protected $underline; // underlining flag
protected $CurrentFont; // current font info
protected $FontSizePt; // current font size in points
protected $FontSize; // current font size in user unit
protected $DrawColor; // commands for drawing color
protected $FillColor; // commands for filling color
protected $TextColor; // commands for text color
protected $ColorFlag; // indicates whether fill and text colors are different
protected $WithAlpha; // indicates whether alpha channel is used
protected $ws; // word spacing
protected $images; // array of used images
protected $PageLinks; // array of links in pages
protected $links; // array of internal links
protected $AutoPageBreak; // automatic page breaking
protected $PageBreakTrigger; // threshold used to trigger page breaks
protected $InHeader; // flag set when processing header
protected $InFooter; // flag set when processing footer
protected $AliasNbPages; // alias for total number of pages
protected $ZoomMode; // zoom display mode
protected $LayoutMode; // layout display mode
protected $metadata; // document properties
protected $PDFVersion; // PDF version number
/*******************************************************************************
* Public methods *
*******************************************************************************/
function __construct($orientation='P', $unit='mm', $size='A4')
{
// Some checks
$this->_dochecks();
// Initialization of properties
$this->state = 0;
$this->page = 0;
$this->n = 2;
$this->buffer = '';
$this->pages = array();
$this->PageInfo = array();
$this->fonts = array();
$this->FontFiles = array();
$this->encodings = array();
$this->cmaps = array();
$this->images = array();
$this->links = array();
$this->InHeader = false;
$this->InFooter = false;
$this->lasth = 0;
$this->FontFamily = '';
$this->FontStyle = '';
$this->FontSizePt = 12;
$this->underline = false;
$this->DrawColor = '0 G';
$this->FillColor = '0 g';
$this->TextColor = '0 g';
$this->ColorFlag = false;
$this->WithAlpha = false;
$this->ws = 0;
// Font path
if(defined('FPDF_FONTPATH'))
{
$this->fontpath = FPDF_FONTPATH;
if(substr($this->fontpath,-1)!='/' && substr($this->fontpath,-1)!='\\')
$this->fontpath .= '/';
}
elseif(is_dir(dirname(__FILE__).'/font'))
$this->fontpath = dirname(__FILE__).'/font/';
else
$this->fontpath = '';
// Core fonts
$this->CoreFonts = array('courier', 'helvetica', 'times', 'symbol', 'zapfdingbats');
// Scale factor
if($unit=='pt')
$this->k = 1;
elseif($unit=='mm')
$this->k = 72/25.4;
elseif($unit=='cm')
$this->k = 72/2.54;
elseif($unit=='in')
$this->k = 72;
else
$this->Error('Incorrect unit: '.$unit);
// Page sizes
$this->StdPageSizes = array('a3'=>array(841.89,1190.55), 'a4'=>array(595.28,841.89), 'a5'=>array(420.94,595.28),
'letter'=>array(612,792), 'legal'=>array(612,1008));
$size = $this->_getpagesize($size);
$this->DefPageSize = $size;
$this->CurPageSize = $size;
// Page orientation
$orientation = strtolower($orientation);
if($orientation=='p' || $orientation=='portrait')
{
$this->DefOrientation = 'P';
$this->w = $size[0];
$this->h = $size[1];
}
elseif($orientation=='l' || $orientation=='landscape')
{
$this->DefOrientation = 'L';
$this->w = $size[1];
$this->h = $size[0];
}
else
$this->Error('Incorrect orientation: '.$orientation);
$this->CurOrientation = $this->DefOrientation;
$this->wPt = $this->w*$this->k;
$this->hPt = $this->h*$this->k;
// Page rotation
$this->CurRotation = 0;
// Page margins (1 cm)
$margin = 28.35/$this->k;
$this->SetMargins($margin,$margin);
// Interior cell margin (1 mm)
$this->cMargin = $margin/10;
// Line width (0.2 mm)
$this->LineWidth = .567/$this->k;
// Automatic page break
$this->SetAutoPageBreak(true,2*$margin);
// Default display mode
$this->SetDisplayMode('default');
// Enable compression
$this->SetCompression(true);
// Set default PDF version number
$this->PDFVersion = '1.3';
}
function SetMargins($left, $top, $right=null)
{
// Set left, top and right margins
$this->lMargin = $left;
$this->tMargin = $top;
if($right===null)
$right = $left;
$this->rMargin = $right;
}
function SetLeftMargin($margin)
{
// Set left margin
$this->lMargin = $margin;
if($this->page>0 && $this->x<$margin)
$this->x = $margin;
}
function SetTopMargin($margin)
{
// Set top margin
$this->tMargin = $margin;
}
function SetRightMargin($margin)
{
// Set right margin
$this->rMargin = $margin;
}
function SetAutoPageBreak($auto, $margin=0)
{
// Set auto page break mode and triggering margin
$this->AutoPageBreak = $auto;
$this->bMargin = $margin;
$this->PageBreakTrigger = $this->h-$margin;
}
function SetDisplayMode($zoom, $layout='default')
{
// Set display mode in viewer
if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom))
$this->ZoomMode = $zoom;
else
$this->Error('Incorrect zoom display mode: '.$zoom);
if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default')
$this->LayoutMode = $layout;
else
$this->Error('Incorrect layout display mode: '.$layout);
}
function SetCompression($compress)
{
// Set page compression
if(function_exists('gzcompress'))
$this->compress = $compress;
else
$this->compress = false;
}
function SetTitle($title, $isUTF8=false)
{
// Title of document
$this->metadata['Title'] = $isUTF8 ? $title : utf8_encode($title);
}
function SetAuthor($author, $isUTF8=false)
{
// Author of document
$this->metadata['Author'] = $isUTF8 ? $author : utf8_encode($author);
}
function SetSubject($subject, $isUTF8=false)
{
// Subject of document
$this->metadata['Subject'] = $isUTF8 ? $subject : utf8_encode($subject);
}
function SetKeywords($keywords, $isUTF8=false)
{
// Keywords of document
$this->metadata['Keywords'] = $isUTF8 ? $keywords : utf8_encode($keywords);
}
function SetCreator($creator, $isUTF8=false)
{
// Creator of document
$this->metadata['Creator'] = $isUTF8 ? $creator : utf8_encode($creator);
}
function AliasNbPages($alias='{nb}')
{
// Define an alias for total number of pages
$this->AliasNbPages = $alias;
}
function Error($msg)
{
// Fatal error
throw new Exception('FPDF error: '.$msg);
}
function Close()
{
// Terminate document
if($this->state==3)
return;
if($this->page==0)
$this->AddPage();
// Page footer
$this->InFooter = true;
$this->Footer();
$this->InFooter = false;
// Close page
$this->_endpage();
// Close document
$this->_enddoc();
}
function AddPage($orientation='', $size='', $rotation=0)
{
// Start a new page
if($this->state==3)
$this->Error('The document is closed');
$family = $this->FontFamily;
$style = $this->FontStyle.($this->underline ? 'U' : '');
$fontsize = $this->FontSizePt;
$lw = $this->LineWidth;
$dc = $this->DrawColor;
$fc = $this->FillColor;
$tc = $this->TextColor;
$cf = $this->ColorFlag;
if($this->page>0)
{
// Page footer
$this->InFooter = true;
$this->Footer();
$this->InFooter = false;
// Close page
$this->_endpage();
}
// Start new page
$this->_beginpage($orientation,$size,$rotation);
// Set line cap style to square
$this->_out('2 J');
// Set line width
$this->LineWidth = $lw;
$this->_out(sprintf('%.2F w',$lw*$this->k));
// Set font
if($family)
$this->SetFont($family,$style,$fontsize);
// Set colors
$this->DrawColor = $dc;
if($dc!='0 G')
$this->_out($dc);
$this->FillColor = $fc;
if($fc!='0 g')
$this->_out($fc);
$this->TextColor = $tc;
$this->ColorFlag = $cf;
// Page header
$this->InHeader = true;
$this->Header();
$this->InHeader = false;
// Restore line width
if($this->LineWidth!=$lw)
{
$this->LineWidth = $lw;
$this->_out(sprintf('%.2F w',$lw*$this->k));
}
// Restore font
if($family)
$this->SetFont($family,$style,$fontsize);
// Restore colors
if($this->DrawColor!=$dc)
{
$this->DrawColor = $dc;
$this->_out($dc);
}
if($this->FillColor!=$fc)
{
$this->FillColor = $fc;
$this->_out($fc);
}
$this->TextColor = $tc;
$this->ColorFlag = $cf;
}
function Header()
{
// To be implemented in your own inherited class
}
function Footer()
{
// To be implemented in your own inherited class
}
function PageNo()
{
// Get current page number
return $this->page;
}
function SetDrawColor($r, $g=null, $b=null)
{
// Set color for all stroking operations
if(($r==0 && $g==0 && $b==0) || $g===null)
$this->DrawColor = sprintf('%.3F G',$r/255);
else
$this->DrawColor = sprintf('%.3F %.3F %.3F RG',$r/255,$g/255,$b/255);
if($this->page>0)
$this->_out($this->DrawColor);
}
function SetFillColor($r, $g=null, $b=null)
{
// Set color for all filling operations
if(($r==0 && $g==0 && $b==0) || $g===null)
$this->FillColor = sprintf('%.3F g',$r/255);
else
$this->FillColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255);
$this->ColorFlag = ($this->FillColor!=$this->TextColor);
if($this->page>0)
$this->_out($this->FillColor);
}
function SetTextColor($r, $g=null, $b=null)
{
// Set color for text
if(($r==0 && $g==0 && $b==0) || $g===null)
$this->TextColor = sprintf('%.3F g',$r/255);
else
$this->TextColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255);
$this->ColorFlag = ($this->FillColor!=$this->TextColor);
}
function GetStringWidth($s)
{
// Get width of a string in the current font
$s = (string)$s;
$cw = &$this->CurrentFont['cw'];
$w = 0;
$l = strlen($s);
for($i=0;$i<$l;$i++)
$w += $cw[$s[$i]];
return $w*$this->FontSize/1000;
}
function SetLineWidth($width)
{
// Set line width
$this->LineWidth = $width;
if($this->page>0)
$this->_out(sprintf('%.2F w',$width*$this->k));
}
function Line($x1, $y1, $x2, $y2)
{
// Draw a line
$this->_out(sprintf('%.2F %.2F m %.2F %.2F l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k));
}
function Rect($x, $y, $w, $h, $style='')
{
// Draw a rectangle
if($style=='F')
$op = 'f';
elseif($style=='FD' || $style=='DF')
$op = 'B';
else
$op = 'S';
$this->_out(sprintf('%.2F %.2F %.2F %.2F re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op));
}
function AddFont($family, $style='', $file='')
{
// Add a TrueType, OpenType or Type1 font
$family = strtolower($family);
if($file=='')
$file = str_replace(' ','',$family).strtolower($style).'.php';
$style = strtoupper($style);
if($style=='IB')
$style = 'BI';
$fontkey = $family.$style;
if(isset($this->fonts[$fontkey]))
return;
$info = $this->_loadfont($file);
$info['i'] = count($this->fonts)+1;
if(!empty($info['file']))
{
// Embedded font
if($info['type']=='TrueType')
$this->FontFiles[$info['file']] = array('length1'=>$info['originalsize']);
else
$this->FontFiles[$info['file']] = array('length1'=>$info['size1'], 'length2'=>$info['size2']);
}
$this->fonts[$fontkey] = $info;
}
function SetFont($family, $style='', $size=0)
{
// Select a font; size given in points
if($family=='')
$family = $this->FontFamily;
else
$family = strtolower($family);
$style = strtoupper($style);
if(strpos($style,'U')!==false)
{
$this->underline = true;
$style = str_replace('U','',$style);
}
else
$this->underline = false;
if($style=='IB')
$style = 'BI';
if($size==0)
$size = $this->FontSizePt;
// Test if font is already selected
if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size)
return;
// Test if font is already loaded
$fontkey = $family.$style;
if(!isset($this->fonts[$fontkey]))
{
// Test if one of the core fonts
if($family=='arial')
$family = 'helvetica';
if(in_array($family,$this->CoreFonts))
{
if($family=='symbol' || $family=='zapfdingbats')
$style = '';
$fontkey = $family.$style;
if(!isset($this->fonts[$fontkey]))
$this->AddFont($family,$style);
}
else
$this->Error('Undefined font: '.$family.' '.$style);
}
// Select it
$this->FontFamily = $family;
$this->FontStyle = $style;
$this->FontSizePt = $size;
$this->FontSize = $size/$this->k;
$this->CurrentFont = &$this->fonts[$fontkey];
if($this->page>0)
$this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
}
function SetFontSize($size)
{
// Set font size in points
if($this->FontSizePt==$size)
return;
$this->FontSizePt = $size;
$this->FontSize = $size/$this->k;
if($this->page>0)
$this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
}
function AddLink()
{
// Create a new internal link
$n = count($this->links)+1;
$this->links[$n] = array(0, 0);
return $n;
}
function SetLink($link, $y=0, $page=-1)
{
// Set destination of internal link
if($y==-1)
$y = $this->y;
if($page==-1)
$page = $this->page;
$this->links[$link] = array($page, $y);
}
function Link($x, $y, $w, $h, $link)
{
// Put a link on the page
$this->PageLinks[$this->page][] = array($x*$this->k, $this->hPt-$y*$this->k, $w*$this->k, $h*$this->k, $link);
}
function Text($x, $y, $txt)
{
// Output a string
if(!isset($this->CurrentFont))
$this->Error('No font has been set');
$s = sprintf('BT %.2F %.2F Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
if($this->underline && $txt!='')
$s .= ' '.$this->_dounderline($x,$y,$txt);
if($this->ColorFlag)
$s = 'q '.$this->TextColor.' '.$s.' Q';
$this->_out($s);
}
function AcceptPageBreak()
{
// Accept automatic page break or not
return $this->AutoPageBreak;
}
function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='')
{
// Output a cell
$k = $this->k;
if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak())
{
// Automatic page break
$x = $this->x;
$ws = $this->ws;
if($ws>0)
{
$this->ws = 0;
$this->_out('0 Tw');
}
$this->AddPage($this->CurOrientation,$this->CurPageSize,$this->CurRotation);
$this->x = $x;
if($ws>0)
{
$this->ws = $ws;
$this->_out(sprintf('%.3F Tw',$ws*$k));
}
}
if($w==0)
$w = $this->w-$this->rMargin-$this->x;
$s = '';
if($fill || $border==1)
{
if($fill)
$op = ($border==1) ? 'B' : 'f';
else
$op = 'S';
$s = sprintf('%.2F %.2F %.2F %.2F re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op);
}
if(is_string($border))
{
$x = $this->x;
$y = $this->y;
if(strpos($border,'L')!==false)
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k);
if(strpos($border,'T')!==false)
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k);
if(strpos($border,'R')!==false)
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
if(strpos($border,'B')!==false)
$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
}
if($txt!=='')
{
if(!isset($this->CurrentFont))
$this->Error('No font has been set');
if($align=='R')
$dx = $w-$this->cMargin-$this->GetStringWidth($txt);
elseif($align=='C')
$dx = ($w-$this->GetStringWidth($txt))/2;
else
$dx = $this->cMargin;
if($this->ColorFlag)
$s .= 'q '.$this->TextColor.' ';
$s .= sprintf('BT %.2F %.2F Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$this->_escape($txt));
if($this->underline)
$s .= ' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt);
if($this->ColorFlag)
$s .= ' Q';
if($link)
$this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link);
}
if($s)
$this->_out($s);
$this->lasth = $h;
if($ln>0)
{
// Go to next line
$this->y += $h;
if($ln==1)
$this->x = $this->lMargin;
}
else
$this->x += $w;
}
function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false)
{
// Output text with automatic or explicit line breaks
if(!isset($this->CurrentFont))
$this->Error('No font has been set');
$cw = &$this->CurrentFont['cw'];
if($w==0)
$w = $this->w-$this->rMargin-$this->x;
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
$s = str_replace("\r",'',$txt);
$nb = strlen($s);
if($nb>0 && $s[$nb-1]=="\n")
$nb--;
$b = 0;
if($border)
{
if($border==1)
{
$border = 'LTRB';
$b = 'LRT';
$b2 = 'LR';
}
else
{
$b2 = '';
if(strpos($border,'L')!==false)
$b2 .= 'L';
if(strpos($border,'R')!==false)
$b2 .= 'R';
$b = (strpos($border,'T')!==false) ? $b2.'T' : $b2;
}
}
$sep = -1;
$i = 0;
$j = 0;
$l = 0;
$ns = 0;
$nl = 1;
while($i<$nb)
{
// Get next character
$c = $s[$i];
if($c=="\n")
{
// Explicit line break
if($this->ws>0)
{
$this->ws = 0;
$this->_out('0 Tw');
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$i++;
$sep = -1;
$j = $i;
$l = 0;
$ns = 0;
$nl++;
if($border && $nl==2)
$b = $b2;
continue;
}
if($c==' ')
{
$sep = $i;
$ls = $l;
$ns++;
}
$l += $cw[$c];
if($l>$wmax)
{
// Automatic line break
if($sep==-1)
{
if($i==$j)
$i++;
if($this->ws>0)
{
$this->ws = 0;
$this->_out('0 Tw');
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
}
else
{
if($align=='J')
{
$this->ws = ($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0;
$this->_out(sprintf('%.3F Tw',$this->ws*$this->k));
}
$this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill);
$i = $sep+1;
}
$sep = -1;
$j = $i;
$l = 0;
$ns = 0;
$nl++;
if($border && $nl==2)
$b = $b2;
}
else
$i++;
}
// Last chunk
if($this->ws>0)
{
$this->ws = 0;
$this->_out('0 Tw');
}
if($border && strpos($border,'B')!==false)
$b .= 'B';
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$this->x = $this->lMargin;
}
function Write($h, $txt, $link='')
{
// Output text in flowing mode
if(!isset($this->CurrentFont))
$this->Error('No font has been set');
$cw = &$this->CurrentFont['cw'];
$w = $this->w-$this->rMargin-$this->x;
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
$s = str_replace("\r",'',$txt);
$nb = strlen($s);
$sep = -1;
$i = 0;
$j = 0;
$l = 0;
$nl = 1;
while($i<$nb)
{
// Get next character
$c = $s[$i];
if($c=="\n")
{
// Explicit line break
$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',false,$link);
$i++;
$sep = -1;
$j = $i;
$l = 0;
if($nl==1)
{
$this->x = $this->lMargin;
$w = $this->w-$this->rMargin-$this->x;
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
}
$nl++;
continue;
}
if($c==' ')
$sep = $i;
$l += $cw[$c];
if($l>$wmax)
{
// Automatic line break
if($sep==-1)
{
if($this->x>$this->lMargin)
{
// Move to next line
$this->x = $this->lMargin;
$this->y += $h;
$w = $this->w-$this->rMargin-$this->x;
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
$i++;
$nl++;
continue;
}
if($i==$j)
$i++;
$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',false,$link);
}
else
{
$this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',false,$link);
$i = $sep+1;
}
$sep = -1;
$j = $i;
$l = 0;
if($nl==1)
{
$this->x = $this->lMargin;
$w = $this->w-$this->rMargin-$this->x;
$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
}
$nl++;
}
else
$i++;
}
// Last chunk
if($i!=$j)
$this->Cell($l/1000*$this->FontSize,$h,substr($s,$j),0,0,'',false,$link);
}
function Ln($h=null)
{
// Line feed; default value is the last cell height
$this->x = $this->lMargin;
if($h===null)
$this->y += $this->lasth;
else
$this->y += $h;
}
function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='')
{
// Put an image on the page
if($file=='')
$this->Error('Image file name is empty');
if(!isset($this->images[$file]))
{
// First use of this image, get info
if($type=='')
{
$pos = strrpos($file,'.');
if(!$pos)
$this->Error('Image file has no extension and no type was specified: '.$file);
$type = substr($file,$pos+1);
}
$type = strtolower($type);
if($type=='jpeg')
$type = 'jpg';
$mtd = '_parse'.$type;
if(!method_exists($this,$mtd))
$this->Error('Unsupported image type: '.$type);
$info = $this->$mtd($file);
$info['i'] = count($this->images)+1;
$this->images[$file] = $info;
}
else
$info = $this->images[$file];
// Automatic width and height calculation if needed
if($w==0 && $h==0)
{
// Put image at 96 dpi
$w = -96;
$h = -96;
}
if($w<0)
$w = -$info['w']*72/$w/$this->k;
if($h<0)
$h = -$info['h']*72/$h/$this->k;
if($w==0)
$w = $h*$info['w']/$info['h'];
if($h==0)
$h = $w*$info['h']/$info['w'];
// Flowing mode
if($y===null)
{
if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak())
{
// Automatic page break
$x2 = $this->x;
$this->AddPage($this->CurOrientation,$this->CurPageSize,$this->CurRotation)

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -1,7 +0,0 @@
<?php
// fichier de configuration en production
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "vps@2017GA");
define("DB_DATABASE", "iLink_cannary");
?>

View File

@ -313,7 +313,8 @@ na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.et
* @param $phoneTransaction
* @return array|bool|null
*/
public function storeUser($fname, $lname, $email, $phone, $password, $network, $member, $latitude, $longitude, $town, $phoneTransaction)
public function storeUser($fname, $lname, $email, $phone, $password, $network, $member, $latitude, $longitude, $town, $phoneTransaction
,$providerClassId = null)
{
//on verifie si y a un agent qui utilise ce code
if(isset($town->id)){
@ -328,7 +329,7 @@ na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.et
$codeGenerer = $this->generateValideCode($membre['code_membre'], 'geolocated');
if ($codeGenerer != null)
return $this->createAgent($fname, $lname, $email, $phone, $password, $network, $codeGenerer, $latitude,
$longitude, $town,$phoneTransaction);
$longitude, $town,$phoneTransaction ,$providerClassId);
} else {
//on verifie s'il existe des codes superviseur disponible pour cette hyperviseur
$listIdmemberParrain = mysqli_query($this->con, "SELECT na.codeGenerer_id as id,cg.code_membre as code_membre from networks_agents na RIGHT JOIN codeGenerer cg ON cg.id=na.codeGenerer_id WHERE cg.code_parrain='$member' AND na.id is null");
@ -339,7 +340,7 @@ na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.et
else{
$me=$this->generateValideCode($membre['code_membre'],'super');
}
return $this->createAgent($fname, $lname, $email, $phone, $password, $network, $me, $latitude, $longitude, $town,$phoneTransaction);
return $this->createAgent($fname, $lname, $email, $phone, $password, $network, $me, $latitude, $longitude, $town,$phoneTransaction,$providerClassId);
} else {
return ["error" => -5, 'error_msg' => 'le code parrain que vous avez entrée n\'a pas de membre disponible','sql'=>mysqli_error($this->con)];
}
@ -351,7 +352,7 @@ na.validation_code as validation_code,ag.id as agentId,na.solde AS balance,na.et
//si aucun membre n'a ce code on verifie s'il sagit d'un hyperviseur
if ($membre['category'] == 'hyper') {
return $this->createAgent($fname, $lname, $email, $phone, $password, $network, $membre['code_membre'], $latitude,
$longitude, $town,$phoneTransaction);
$longitude, $town,$phoneTransaction,$providerClassId);
} else {
return ["error" => -1, "error_msg" => "impossible de verifier le membre"];
}
@ -797,7 +798,7 @@ na.id as networkAgentId,
* @param $phoneTransaction
* @return array|bool|null
*/
private function createAgent($fname, $lname, $email, $phone, $password, $network, $member, $latitude, $longitude, $town, $phoneTransaction)
private function createAgent($fname, $lname, $email, $phone, $password, $network, $member, $latitude, $longitude, $town, $phoneTransaction,$providerClassId = null)
{
$resultFreeCode = mysqli_query($this->con, "SELECT id,code_membre,category,code_parrain from codeGenerer cg WHERE code_membre='$member' ");
@ -824,9 +825,8 @@ na.id as networkAgentId,
$townid = $town->id;
$datetime = $this->getCurrentTimeByNetworkID($network->id);
$agentCreateResult = mysqli_prepare($this->con, "INSERT INTO agents(uid,adresse,
lastname,email,longitude,latitude
,balance,encrypted_password,salt,active,date_created,town_id) VALUES (?,?,?,?,?,?,?,?,?,?,'$datetime',?)");
mysqli_stmt_bind_param($agentCreateResult,'ssssddissii' ,$uuid , $fname,$lname,$email,$longitude,$latitude,$balance,$encrypted_password,$salt,$etat, $townid);
lastname,email,longitude,latitude,balance,encrypted_password,salt,active,date_created,town_id,nh_provider_class_id) VALUES (?,?,?,?,?,?,?,?,?,?,'$datetime',?,?)");
mysqli_stmt_bind_param($agentCreateResult,'ssssddissiii' ,$uuid , $fname,$lname,$email,$longitude,$latitude,$balance,$encrypted_password,$salt,$etat, $townid ,$providerClassId);
$agentCreateResult = mysqli_stmt_execute($agentCreateResult);
// mysqli_stmt_get_result($agentCreateResult);
@ -1323,4 +1323,18 @@ ag.adresse,
}
}
// Nano Santé
public function getProviderClasses($networkId){
$result = mysqli_query($this->con,"SELECT pc.id , pc.name FROM nh_provider_classes pc INNER JOIN nh_networks_configs nc ON nc.id = pc.nh_network_config_id
WHERE nc.network_id = $networkId ");
if(isset($result)){
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$rows[]=$row;
}
return $rows;
}
return [];
}
}

View File

@ -143,7 +143,10 @@ class Requester
public function getAgentInfoByCode($code){
$codes=$this->getChildCode($code);
if(isset($codes["child"])){
$codes['network']=$this->db->getAgentNetworkByCode($code);
$codes['network']= $this->db->getAgentNetworkByCode($code);
if($codes['child'] == 'geolocated'){
$codes['provider_classes'] = $this->db->getProviderClasses($codes['network']['id']);
}
}
return json_encode($codes);
}
@ -419,8 +422,8 @@ class Requester
$membercodetest = $this->db->isMemberCodeExisted($request->member);
if ($membercodetest) {
$user = $this->db->storeUser($request->address, $request->lastname, $request->email, $request->phone,
$request->password, $request->network, $request->member, $request->latitude, $request->longitude, $request->town,$request->phone_transaction);
$user = $this->db->storeUser($request->address, $request->lastname, $request->email, $request->phone,$request->password, $request->network,
$request->member, $request->latitude, $request->longitude, $request->town,$request->phone_transaction,$request->provider_class_id ?? null);
if ($user != null && !isset($user['error'])) {
//if ($user) {
// user stored successfully

View File

@ -1,69 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 08/10/18
* Time: 11:56
*/
require_once ('../database/Requester.php');
$tag="";
$postdata = file_get_contents("php://input");
$request=null;
if(isset($postdata)) {
$request = json_decode($postdata);
}
if(isset($request)){
}
public function askCredit($request){
$requester=new Requester(null);
$demand = $requester->storeCreditAsk($codeMembre, $codeParrain,$montant);
$usr= $requester->getUser($phone)[0];
if ($demand) {
$subject = "Nouvelle demande de crédit";
$email = $usr['email'];
$message = "Bonjour,\n\nVotre demande de crédit a été envoyée.\nNumero de telephone :
$phone \n\n\nCordialement,\nL'équipe Ilink.";
$from = "noreply@ilink.com";
$headers = "From:" . $from;
$name = "ilink";
mail($email, $subject, $message, $headers);
// Start Sending SMS
$sms = $client->account->messages->create(
// the number we are sending to - Any phone number
$phone,
array(
// Step 6: Change the 'From' number below to be a valid Twilio number
// that you've purchased
'from' => $sender_number,
// the sms body
'body' => $message
)
);
// Stop Sending SMS
//smtpmailer($email,$from,$name,$subject,$message);
$response["success"] = 1;
echo json_encode($response);
} else {
// user failed to store
$response["error"] = 1;
$response["error_msg"] = "La demande n'a pas pu être envoyée!";
echo json_encode($response);
}
}

View File

@ -1,79 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 16/10/18
* Time: 18:34
*/
require_once ('../database/Requester.php');
$tag="";
$postdata = file_get_contents("php://input");
$request=null;
if(isset($postdata)) {
$request = json_decode($postdata);
}
if($postdata!=null && isset($request->tag)) {
switch ($request->tag){
case "credit_demands":
getCreditDemand($request);
break;
case "ask_credit":
askCreditToParrain($request);
break;
case 'credit_demands_of_agent':
getCreditDemandeAgent($request);
break;
case 'update_ask_credit':
treatDemand($request);
break;
default:
echo json_encode($request);
}
}
function treatDemand($request)
{
if(isset($request->phone)){
if (isset($request->id)) {
$q = new Requester($request->id,$request->lang);
echo $q->treatDemand($request->phone);
} else {
echo json_encode(['error' => 'id missing']);
}
}else{
echo json_encode(['error' => 'phone missing']);
}
}
function getCreditDemandeAgent($request){
if(isset($request->id)){
$q=new Requester($request->id,$request->lang);
echo $q->getAgentSendDemande();
}else{
echo json_encode(['error'=>'id missing']);
}
}
function saveCreditDemande($request){
}
function askCreditToParrain($request){
$montant = $request->montant;
$phone=$request->phone;
$code=$request->code;
$requester=new Requester($phone,$request->lang);
echo $requester->storeCreditAsk($phone,$montant,$code);
}
function getCreditDemand($request){
if(isset($request->id)){
$q=new Requester($request->id);
echo $q->getAgentReceiveDemande();
}else{
echo json_encode(['error'=>'id missing']);
}
}

View File

@ -1,124 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 05/08/18
* Time: 06:28
*/
require_once ('../database/Requester.php');
$tag="";
$postdata = file_get_contents("php://input");
$request=null;
if(isset($postdata)) {
$request = json_decode($postdata);
}
if($postdata!=null && isset($request->tag)){
$tag=$request->tag;
switch ($tag){
case 'location':
$type=$request->type;
switch ($type){
case 'all':
getAllpoint($request);
break;
case 'all_network':
getSuperviseurNetwork($request);
break;
case 'around':
getPointAround($request);
break;
case 'all_network_point':
getPointNetwork($request);
break;
default:
echo json_encode(['error'=>3,'error_msg'=>'type manquant']);
break;
}
case 'all_towns_by_indicatif':
getListTownsCountry($request);
break;
case 'town_information_name':
getTownInfoByName($request);
break;
default:
echo json_encode(['error'=>4,'error_msg'=>'tag manquant']);
}
}else{
$res=[];
$res['error']=-4;
$res['msg']='aucun tag n a ete defini';
$res['data']=$request;
echo json_encode($res);
}
function getTownInfoByName($request){
if(isset($request->name)){
$req=new Requester(null);
echo json_encode($req->getTownInfoByName($request->name));
}
}
function getListTownsCountry($request){
if(isset($request->indicatif)){
$req=new Requester(null);
echo json_encode($req->getListTownsCountry($request->indicatif));
}
}
function getAllPoint($request){
$result=[];
$requester=new Requester(null);
if(isset($request->country)) {
$country = $request->country;
echo json_encode($requester->getAllCountryPoint($country));
}else{
echo json_encode(['error'=>2,'error_msg'=>' code pays manquant']);
}
}
function getSuperviseurNetwork($request)
{
$result = [];
$requester = new Requester(null);
if (isset($request->codeparrain)) {
$codeparrain = $request->codeparrain;
echo json_encode($requester->getSuperviseurNetwork($codeparrain));
} else {
echo json_encode(['error' => 2, 'error_msg' => ' code parrain manquant']);
}
}
function getPointAround($request){
if(isset($request->id)){
$requester=new Requester($request->id);
if(isset($request->distance)) {
$distance =$request->distance;
if(isset($request->network)) {
$reseau=$request->network;
if (isset($request->position)) {
$position = $request->position;
$page=isset($request->page)?$request->page:0;
echo $requester->getPointAroundKm($reseau,$position, $distance,$page);
} else
echo json_encode(['error' => -3, 'error_msg' => 'position user missing',
"position" => isset($request->position)]);
}else echo json_encode(['error' => -7, 'error_msg' => 'reseau user missing',
"position" => isset($request->reseau)]);
}else echo json_encode(['error'=>-2,'error_msg'=>'distance manquante']);
}else echo json_encode(['error'=>-1,'error_msg'=>'user id manquant']);
}
function getPointNetwork($request)
{
if (isset($request->id)) {
$requester = new Requester($request->id);
$network=$request->network;
if(isset($network)){
echo $requester->getNetworkPoint($network);
}else echo json_encode(['error'=>-1,'error_msg'=>'missing network']);
} else echo json_encode(['error' => -1, 'error_msg' => 'user id manquant']);
}

View File

@ -1,111 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 04/08/18
* Time: 22:51
*/
require_once ('../database/Requester.php');
$tag="";
$postdata = file_get_contents("php://input");
$request=null;
if(isset($postdata)) {
$request = json_decode($postdata);
}else{
$request=$_POST;
}
if($postdata!=null && isset($request->tag)){
$tag=$request->tag;
switch ($tag){
case 'login_user':
tryToLogin($request,0);
break;
case 'login_agent':
tryToLogin($request,1);
break;
case 'login':
tryToLogin($request);
break;
case "agent_by_id":
tryGetAgentById($request);
break;
case 'forgot_pass':
recoverPassword($request);
break;
}
}else{
$res=[];
$res['error']=-4;
$res['msg']='aucun tag n a ete defini';
$res['data']=$request;
$res['resty']=$postdata;
echo json_encode($res);
}
function tryGetAgentById($request){
if(isset($request->user_id)) {
$req = new Requester($request->user_id, $request->lang);
echo json_encode($req->getAgentById());
}else
echo json_encode(['error'=>"no_user_id"]);
}
function recoverPassword($request){
$res=[];
$res['request']=$request;
if(isset($request->number)){
$number=$request->number;
if(isset($request->typeaccount)){
$type=$request->typeaccount;
$request=new Requester(null,$request->lang);
$res=$type==='agent'?$request->recoverPasswordAgent($number):$request->recoverUserPassword($number);
}else{
$res['error']=-3;
$res['msg']='aucun type de compte n a été defini';
$res['data']=$request;
}
}else{
$res['error']=-2;
$res['msg']='aucun numero n a été defini';
$res['data']=$request;
}
echo json_encode($res);
}
function tryToLogin($request,$type=-1){
$result=[];
$requester=new Requester(null,$request->lang);
if(isset($request->phone)){
$phone=$request->phone;
if(isset($request->password)){
$password=$request->password;
switch ($type){
case 0:$user=$requester->loginUser($phone,$password);
break;
case 1:$user=$requester->loginAgent($phone,$password);
break;
default: $user=$requester->loginPhonePassword($phone,$password);
}
$result=$user;
}else{
$result['error']=-2;
$result['error_msg']='le mot de passe defini';
}
}else {
$result['error']=-1;
$result['error_msg']='le numero n est pas defini';
}
echo json_encode($result);
}
?>

View File

@ -1,304 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 08/08/18
* Time: 16:40
*/
include '../database/Requester.php';
$tag="";
$postdata = file_get_contents("php://input");
$request=null;
if(isset($postdata)) {
$request = json_decode($postdata);
}
if($postdata!=null && isset($request->tag)){
$tag=$request->tag;
switch ($tag){
case 'member':
$type=$request->type;
switch ($type){
case 'all_geolocated':
getAllMembersGeolocated($request);
break;
case 'all_supervisor':
getSuperviseurNetwork($request);
break;
case 'create_user':
createSimpleUser($request);
break;
case 'get_category_child':
getCagetoryChild($request);
break;
case 'credit_demand':
makeCreditRequest($request);
break;
case 'validate_agent':
validate_agentAccount($request);
break;
case "valider_simple":
validateUserSimple($request);
case 'create_supervisor':
case 'create_geolocated_user':
createAgent($request);
break;
case 'list_demande_adhesion':
listDemandAdhesion($request);
break;
case 'activeSupervisor':
activeSupervisor($request);
break;
case 'generateNetworkAgentForGeo':
generateNetworkForGeo($request);
break;
case 'assignNetworkAgentToGeo':
assignNetworkAgentToGeo($request);
break;
case 'update_position':
updatePosition($request);
break;
case 'agent_info_code':
getAgentInfoByCode($request);
break;
default:
echo json_encode(['error'=>3,'error_msg'=>'type manquant']);
}
break;
default:
echo json_encode(['error'=>4,'error_msg'=>'tag manquant']);
}
}else{
$res=[];
$res['error']=-4;
$res['msg']='aucun tag n a ete defini';
$res['data']=$request;
echo json_encode($res);
}
function getAgentInfoByCode($request){
if(isset($request->code)){
$requester=new Requester(null,$request->lang);
$code=$request->code;
echo $requester->getAgentInfoByCode($code);
}
else echo json_encode(['error'=>-3,'data'=>$request]);
}
function updatePosition($request){
if(isset($request->agentId)){
$requester=new Requester(null,"fr");
$code=$request->agentId;
$long=$request->longitude;
$lat=$request->latitude;
echo $requester->updatePosition($code,$long,$lat);
}else echo json_encode(['error'=>-3,'data'=>$request]);
}
function assignNetworkAgentToGeo($request){
if(isset($request->agentId)){
if(isset($request->code_parrain)){
$requester=new Requester(null,$request->lang);
echo $requester->assignNetworkToAgent($request->agentId,$request->code_parrain,$request->phone);
}else{
echo json_encode(['error'=>-2,'error_message'=>'validation code manquant']);
}
}else{
echo json_encode(['error'=>-1,'error_message'=>'code_membre manquant']);
}
}
function generateNetworkForGeo($request){
if(isset($request->phone)){
if(isset($request->code_parrain)){
$requester=new Requester(null,$request->lang);
echo $requester->generateEmptyAgentNetworkForAgent($request->phone,$request->code_parrain);
}else{
echo json_encode(['error'=>-1,'error_message'=>'parrain manquant']);
}
}else{
echo json_encode(['error'=>-1,'error_message'=>'phone manquant']);
}
}
function activeSupervisor($request){
$requester=new Requester(0,$request->lang);
if(isset($request->code)){
echo $requester->activeSupervisorAdhesion($request->code,$request->phone);
}else{
echo json_encode(['error'=>'code membre manquant']);
}
}
function validateUserSimple($request){
$requester=new Requester(0,$request->lang);
if(isset($request->phone)){
echo json_encode($requester->validateUser($request->phone));
}
}
function validate_agentAccount($request){
$requester=new Requester(0,$request->lang);
if(isset($request->code_validation)){
if(isset($request->phone)){
echo json_encode($requester->validateAgent($request->phone,$request->code_validation,$request->nbre_code,$request->nbre_code_superviseur));
}
}
}
function getCagetoryChild($request){
$codeparrain=$request->codeparrain;
$requester=new Requester(0);
if(isset($request->codeparrain)){
echo json_encode($requester->getChildCode($codeparrain));
}
else{
echo json_encode(['error'=>2,'error_msg'=>' code parrain manquant']);
}
}
function listDemandAdhesion($request){
$result=[];
$requester=new Requester(null);
if(isset($request->codeparrain)) {
$codeparrain = $request->codeparrain;
echo json_encode($requester->getSupervisorAdhesionList($codeparrain));
}
else{
echo json_encode(['error'=>2,'error_msg'=>' code parrain manquant']);
}
}
function getAllMembersGeolocated($request){
$result=[];
$requester=new Requester(null);
if(isset($request->codeparrain)) {
$codeparrain = $request->codeparrain;
echo json_encode($requester->getSuperviseurNetwork($codeparrain));
}else{
echo json_encode(['error'=>2,'error_msg'=>' code parrain manquant']);
}
}
function network(){
$r=new Requester(null);
echo $r->getNetwork();
}
function makeCreditRequest($request){
}
function createAgent($request){
// Register Geolocated
// Request type is Register new user
$requester=new Requester(null,$request->lang);
$req=[];
if(isset($request->address)) {
if(isset( $request->lastname)){
if(isset( $request->email)){
if(isset($request->phone)){
if(isset($request->password)){
if(isset( $request->town)){
if(isset($request->network)){
if(isset($request->latitude) && isset($request->longitude)){
if(isset($request->member)){
if(isset($request->category)){
echo $requester->registerGeolocated($request);
}else{
$req['error']=-10;
$req['msg']='missing categorie';
}
}else {
$req['error']=-9;
$req['msg']='missing member';
}
} else{
$req['error']=-8;
$req['msg']='missing position';
}
}else{
$req['error']=-7;
$req['msg']='missing network';
}
}else{
$req['error']=-6;
$req['msg']='missing country';
}
} else{
$req['error']=-5;
$req['msg']='missing password';
}
} else{
$req['error']=-4;
$req['msg']='missing phone';
}
}else {
$req['error']=-3;
$req['msg']='missing email';
}
}else {
$req['error']=-2;
$req['msg']='missing last name';
}
}else {
$req['error']=-1;
$req['msg']='missing first name';
}
}
function createSimpleUser($request)
{
$requester=new Requester(null);
$req=[];
if(isset($request->address)) {
if(isset( $request->lastname)){
if(isset( $request->email)){
if(isset($request->phone)){
if(isset($request->password)){
if(isset( $request->town)) {
if (isset($request->network)) {
$usr=$requester->registerUser($request);
echo $usr;
} else {
$req['error'] = -7;
$req['msg'] = 'missing network';
}
}else{
$req['error']=-6;
$req['msg']='missing country';
}
} else{
$req['error']=-5;
$req['msg']='missing password';
}
} else{
$req['error']=-4;
$req['msg']='missing phone';
}
}else {
$req['error']=-3;
$req['msg']='missing email';
}
}else {
$req['error']=-2;
$req['msg']='missing last name';
}
}else {
$req['error']=-1;
$req['msg']='missing first name';
}
}

View File

@ -1,166 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 08/10/18
* Time: 12:26
*/
error_reporting(E_ALL);
ini_set('display_errors', 1);
include "../../vendor/autoload.php";
use Twilio\Rest\Client;
class Messenger
{
private $contact;
private $message;
private $mail;
private $subject;
private $client;
private $header;
const AccountSid = "ACacdb9c9601741af001ebbc7eca4969cd";
const AuthToken = "e0e2f1176c09b3980c9ecf967187191b";
const sender_name = "iLink World";
const sender_number = "+447400348273";
/**
* Messenger constructor.
* @param $contact
* @param $message
* @param $mail
* @param $subject
*/
public function __construct($contact=null, $message=null, $mail=null, $subject=null)
{
$this->contact = $contact;
$this->message = $message;
$this->mail = $mail;
$this->subject = $subject;
try {
$this->client = new Client(Messenger::AccountSid,Messenger::AuthToken);
}catch (Exception $e){
echo $e->getMessage();
}
}
public function sendSms()
{
try {
/* $sms = $this->client->account->messages->create(
// the number we are sending to - Any phone number
$this->getContact(),
array(
// Step 6: Change the 'From' number below to be a valid Twilio number
// that you've purchased
'from' => Messenger::sender_number,
'body' => $this->getMessage()
)
);*/
return true;
}catch(Exception $e){
// echo json_encode(["message"=>$e->getMessage(),"line"=>$e->getLine(),"trace"=>$e->getTrace()]);
return false;
}
}
public function sendMail(){
return mail($this->getMail(),$this->getSubject(),$this->getMessage(),$this->getHeader());
}
/**
* @return mixed
*/
public function getHeader()
{
return $this->header;
}
/**
* @param mixed $header
*/
public function setHeader($header)
{
$this->header = $header;
}
/**
* @return null
*/
public function getContact()
{
return $this->contact;
}
/**
* @param null $contact
*/
public function setContact($contact)
{
$this->contact = $contact;
}
/**
* @return null
*/
public function getMessage()
{
return $this->message;
}
/**
* @param null $message
*/
public function setMessage($message)
{
$this->message = $message;
}
/**
* @return null
*/
public function getMail()
{
return $this->mail;
}
/**
* @param null $mail
*/
public function setMail($mail)
{
$this->mail = $mail;
}
/**
* @return null
*/
public function getSubject()
{
return $this->subject;
}
/**
* @param null $subject
*/
public function setSubject($subject)
{
$this->subject = $subject;
}
public function checkPhoneExist($phone)
{
try {
$phone_number = $this->client->lookups->v1->phoneNumbers($phone)
->fetch();
return isset($phone_number);
} catch(Exception $ex){
return false;
}
}
}

View File

@ -1,90 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 15/10/18
* Time: 13:39
*/
include '../database/Requester.php';
$tag="";
$postdata = file_get_contents("php://input");
$request=null;
if(isset($postdata)) {
$request = json_decode($postdata);
}
if($postdata!=null && isset($request->tag)){
$tag=$request->tag;
switch ($tag) {
case 'avail_countries':
getAvailCountries();
break;
case 'listnetworkscountryindicatif':
getAllCountryNetwork($request);
break;
case 'geolocated':
if(isset($request->type)) {
$type = $request->type;
switch ($type) {
case 'listNetwork':
getAllNetworkGeo($request);
break;
}
}
break;
case 'supervisor':
if(isset($request->type)) {
$type = $request->type;
switch ($type) {
case 'listFreeNetwork':
getAllFreeNetworkForSupervisor($request);
break;
}
}
break;
default:
echo json_encode(['error'=>4,'error_msg'=>'tag manquant']);
}
}else{
$res=[];
$res['error']=-4;
$res['msg']='aucun tag n a ete defini';
$res['data']=$request;
echo json_encode($res);
}
function getAvailCountries(){
$req=new Requester(null);
echo $req->getActiveCountries();
}
function getAllFreeNetworkForSupervisor($request){
if(isset($request->code_parrain)){
$req=new Requester($request->code_parrain);
echo json_encode($req->listFreeNetworksForSuper());
}else
echo json_encode(['error'=>'code parrain est absent']);
}
function getAllNetworkGeo($request){
if(isset($request->id)){
$req=new Requester($request->id );
echo json_encode($req->listNetworksGeo());
}else
echo json_encode(['error'=>'l\'id est absent']);
}
function getAllCountryNetwork($request){
if(isset($request->indicatif)){
$req=new Requester(null);
echo json_encode($req->getCountryNetWork($request->indicatif));
}
}

View File

@ -1,66 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 08/10/18
* Time: 11:47
*/
header('Content-type: application/json');
// Program SMSM Sending
/* Send an SMS using Twilio. You can run this file 3 different ways:
*
* 1. Save it as sendnotifications.php and at the command line, run
* php sendnotifications.php
*
* 2. Upload it to a web host and load mywebhost.com/sendnotifications.php
* in a web browser.
*
* 3. Download a local server like WAMP, MAMP or XAMPP. Point the web root
* directory to the folder containing this file, and load
* localhost:8888/sendnotifications.php in a web browser.
*/
// Step 1: Get the Twilio-PHP library from twilio.com/docs/libraries/php,
// following the instructions to install it with Composer.
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once "../../vendor/autoload.php";
use Twilio\Rest\Client;
// Step 2: set our AccountSid and AuthToken from https://twilio.com/console
$AccountSid = "ACacdb9c9601741af001ebbc7eca4969cd";
$AuthToken = "0aa2ed8f08775286180f8b40baaf57fb";
// Step 3: instantiate a new Twilio Rest Client
$client = new Client($AccountSid, $AuthToken);
$sender_name = "iLink World";
$sender_number = "+447400348273";
$phone="+24107300823";
$subject = "Nouvelle demande superviseur";
$email = "andymigoumbi@gmail.com";
$message = "Bonjour,\n\nUne nouvelle demande de superviseur a été enregistrée.
\nNumero de telephone : $phone \n\n\nCordialement,\nL'équipe Ilink.";
$from = "noreply@ilink.com";
$headers = "From:" . $from;
$name = "ilink";
mail($email, $subject, $message, $headers);
// Start Sending SMS
$sms = $client->account->messages->create(
// the number we are sending to - Any phone number
"+24107300823",
array(
// Step 6: Change the 'From' number below to be a valid Twilio number
// that you've purchased
'from' => $sender_number,
// the sms body
'body' => $message
)
);

View File

@ -168,9 +168,7 @@ function listagentNetwork(){
if($con){
$net=mysqli_query($con,"select * from networks_agents na INNER JOIN codeGenerer cg ON na.codeGenerer_id=cg.id");
if($net){
while ($row=mysqli_fetch_array($net,MYSQLI_ASSOC)){
$rows[]=$row;
}
echo json_encode($rows);
}else{

View File

@ -1,51 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 08/10/18
* Time: 12:03
*/
class Balance
{
private $montant;
private $phone;
public function __construct($montant,$phone)
{
$this->montant=$montant;
$this->phone=$phone;
}
/**
* @return mixed
*/
public function getMontant()
{
return $this->montant;
}
/**
* @return mixed
*/
public function getPhone()
{
return $this->phone;
}
/**
* @param mixed $phone
*/
public function setPhone($phone)
{
$this->phone = $phone;
}
/**
* @param mixed $montant
*/
public function setMontant($montant)
{
$this->montant = $montant;
}
}

View File

@ -1,12 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: freuddebian
* Date: 08/10/18
* Time: 12:47
*/
class User
{
}

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -1,27 +0,0 @@
{
"SALUTATION":"Hello ",
"CREATION_ACCOUNT_SUCCESSFULL":"Your account has just been created",
"AS":"As",
"ID_TEXT": "Your login:",
"VALIDATION_CODE_TEXT":"Your validation code",
"END_MESSAGE":"Sincerely, \nIink Team.",
"NEW_DEMAND_TITLE":"New credit request",
"SEND_CREDIT_DEMAND_TEXT_SUCCESS":"Hello, \n\nYour credit request has been sent. \n\nThe Ilink team.",
"HYPERVISOR_VALIDATTION_TEXT":"Your verification code will be sent to you once your Hypervisor has validated it",
"UNABLE_TO_SEND_MESSAGE":"The request could not be sent!",
"PHONE_OR_NUMBER_INCORRECT":"phone number or password incorrect",
"UNABLE_TO_GET_GEOLOCATED_POINT":"unable to get geolocated point of this supervisor",
"TEXT_RECOVERY_PASSWORD":"Hi dear member, \n\nYour password has been changed successfully. Your new password is %s. Log in with your new password. \n\nKindly, \nThe Ilink Team.",
"MESSAGE_1":"Hi %s, \n \nYour %s account has just been created. \nYour ID:%s \nYour Passwords:%s \n\nYour verification code:%s \n \nService, \nIink Team.",
"MESSAGE_2":"Hi %s, \n \nYour %s account has just been created. \nYour ID:%s \n \nYour password:%s Your verification code will be sent to you once your Hypervisor validates it \n\nKindly, \nIink team.",
"ALREADY_PHONE_NUMBER":"The phone number is already created",
"NO_CODE_MEMBER":"no member has this code",
"INVALID_PHONE":"Invalide phone number",
"WRONG_PASSWORD":"Wrong password",
"WRONG_PHONE_NUMBER":"Wrong phone number",
"MESSAGE_3":"Hi, \n \nYour %s account has just been created. \nYour ID:%s \n \nYour verification code:%s \n \nService, \nIink Team.",
"MESSAGE_ATTRIBUTE":"Hi, \n \nYour number has just been assigned. \nYour ID:%s\n\nYour validation code:%s \n \nService, \nIink team.",
"MESSAGE_TREAT":"Your credit application has been processed,please check in the application \n \n Sincerely, The Ilink Team",
"MESSAGE_ACTIVE_ACCOUNT":"Hi %s, \n \nYour %s account has just been created. \nYour ID:%s \n\nYour verification code:%s \n \nService, \nIink Team."
}

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -1,27 +0,0 @@
{
"SALUTATION":"Salut ",
"CREATION_ACCOUNT_SUCCESSFULL":"Votre compte vient d'etre crée",
"AS":"En tant que",
"ID_TEXT": "Votre identifiant :",
"VALIDATION_CODE_TEXT":"Votre code de validation",
"END_MESSAGE":"Cordialement,\nEquipe Ilink.",
"NEW_DEMAND_TITLE":"Nouvelle demande de crédit",
"SEND_CREDIT_DEMAND_TEXT_SUCCESS":"Bonjour,\n\nVotre demande de crédit a été envoyée.\n\nL'équipe Ilink.",
"HYPERVISOR_VALIDATTION_TEXT":"Votre code de validation vous sera envoyé une fois que votre Hyperviseur l'aura validé",
"UNABLE_TO_SEND_MESSAGE":"La demande n'a pas pu être envoyée!",
"PHONE_OR_NUMBER_INCORRECT":"Téléphone ou mot de passe incorrect!",
"WRONG_PASSWORD":"Mot de passe incorrect",
"WRONG_PHONE_NUMBER":"Numéro incorrect",
"UNABLE_TO_GET_GEOLOCATED_POINT":"impossible de recupere les points de ce suprviseur",
"TEXT_RECOVERY_PASSWORD":"Salut cher membre,\n\nVotre mot de passe a été changé avec succès. Votre nouveau mot de passe est %s . Connectez vous avec votre nouveau mot de passe.\n\nCordialement,\nL'équipe Ilink'.",
"MESSAGE_1":"Salut %s,\n\nVotre compte %s vient d'etre crée.\nVotre identifiant : %s \nVotre mot de passe : %s\n\nVotre code de validation : %s\n\nCordialement,\nEquipe Ilink.",
"MESSAGE_2":"Salut %s,\n\nVotre compte %s vient d'etre crée.\nVotre identifiant : %s \n\nVotre mot de passe : %s\n Votre code de validation vous sera envoye une fois que votre Hyperviseur l'aura validé\n\nCordialement,\nEquipe Ilink.",
"ALREADY_PHONE_NUMBER":"le numero de telephone existe deja",
"NO_CODE_MEMBER":"aucun membre ne possede ce code",
"INVALID_PHONE":"le numero est invalide",
"MESSAGE_3":"Salut,\n\nVotre compte %s vient d'etre crée.\nVotre identifiant : %s \n\nVotre code de validation : %s\n\nCordialement,\nEquipe Ilink.",
"MESSAGE_ATTRIBUTE":"Salut ,\n\nVotre numero vient d'etre attribue.\nVotre identifiant : %s\n\nVotre code de validation : %s\n\nCordialement,\nEquipe Ilink.",
"MESSAGE_TREAT":"Votre demande de crédit vient d'être traité,veuillez consulter dans l'application \n\n Cordialement,L'equipe Ilink",
"MESSAGE_ACTIVE_ACCOUNT":"Salut %s, \n \nvotre compte %s a été activé. \nvotre ID:%s \n\nvotre code de activation:%s \n \nCordialement, \nEquipe Iink ."
}

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>