Compare commits

...

4 Commits

Author SHA1 Message Date
ameye d73e043b4e Backend Provider added 2019-03-03 22:59:34 +00:00
ameye 2247e5eb3a Backend Provider added 2019-03-03 22:59:30 +00:00
ameye 5680845ed3 Backend Model added 2019-03-03 22:39:22 +00:00
ameye 3dcf91bd7e Backend Model added 2019-03-03 22:39:12 +00:00
7 changed files with 213 additions and 97 deletions
+10
View File
@@ -0,0 +1,10 @@
#ifndef __mx_providers_h__
#define __mx_providers_h__
#include "vars.h"
long providers_call(CVars in, CVars &out) ;
#endif
+18 -59
View File
@@ -13,69 +13,28 @@ main entry point for API calls Chiefsoft July 2017 */
#include "stripe_charge.h"
#include "medTEmails.h"
#include "medTUpload.h"
#include "providers.h"
long mermsemr_api_main(CVars in, CVars &out)
{
logfmt( logINFO, "long mermsemr_api_main(CVars in, CVars &out)");
long mermsemr_api_main(CVars in, CVars &out) {
logfmt(logINFO, "long mermsemr_api_main(CVars in, CVars &out)");
long retval = PHP_API_BAD_PARAM;
long action = REQ_LONG( in, "action", 0, -1);
REQ_LONG( in, "pid", 0, -1); // global implementation - who is calling
try
{
if ( action == MEDTRANS_UPLOADS )
{
return medtrans_upload(in, out);
}
if ( action == MEDTRANS_DOWNLOAD )
{
return medtrans_download(in, out);
}
if ( action >=MEDTRANS_BKO_START && action <=MEDTRANS_BKO_END )
{
return backoffice_calls(in, out);
}
if ( action >=MEDTRANS_USER_START && action <=MEDTRANS_USER_END )
{
return members_call(in, out);
}
long action = REQ_LONG(in, "action", 0, -1);
//REQ_LONG( in, "pid", 0, -1); // global implementation - who is calling
try {
if ( action >=MEDTRANS_INTERP_START && action <=MEDTRANS_INTERP_END )
{
}
if ( action >=MEDTRANS_TRANSP_START && action <=MEDTRANS_TRANSP_END )
{
return trasnporter_call(in, out);
}
if ( action >=MEDTRANS_CRON_START && action <=MEDTRANS_CRON_END )
{
return cron_call(in, out);
}
if ( action == MEDTRANS_STRIPE_CHARGE_ONE )
{
return stripe_one_time_charge(in, out);
}
if ( action == MEDTRANS_STRIPE_CHARGE_NEW )
{
return stripe_new_customer_charge(in, out);
}
if ( action == MEDTRANS_EMAIL_TEST )
{
return email_test(in, out);
}
}
catch (bad_parameter) {
logfmt( logINFO, "ERROR CALL long mermsemr_api_main(CVars in, CVars &out)");
}
return retval;
if (action >= MERMS_PROVIDERS_START && action <= MERMS_PROVIDERS_END) {
return providers_call(in, out);
}
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long mermsemr_api_main(CVars in, CVars &out)");
}
return retval;
}
+63
View File
@@ -0,0 +1,63 @@
// Topup management toosl
#include "clog.h"
#include "cgi.h"
#include "input.h"
#include "mermsemr_api.h"
#include "safestring.h"
#include <string>
#include "pgsql.h"
#include "pgsql_wrapper.h"
#include <curl/curl.h>
#include "medTEmails.h"
/* -- */
#include "function_members.h"
#include "providers.h"
#include "function_members.h"
long providers_call(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
char vname[20];
logfmt(logINFO, "ERROR CALL long providers_call(CVars in, CVars &out)");
try {
REQ_LONG(in, "action", 0, -1);
switch (in["action"].Long()) {
case MERMS_PROVIDERS_LOGIN:
REQ_STRING(in, "cardnumber", 10, 17, "(.*)");
REQ_LONG(in, "exp_month", 0, -1);
REQ_LONG(in, "exp_year", 0, -1);
REQ_LONG(in, "cvc", 0, -1);
ret = PHP_API_OK;
break;
case EXISTING_CARD:
REQ_LONG(in, "paymentid", 0, -1); // now we have to make sure the payment id is valid for this customer
break;
case INVOICED:
const PGresult *res = pgsql_query("SELECT * FROM members WHERE invoiced =1 AND id=%lu", in["member_id"].Long());
if (res != NULL && pgsql_num_rows(res) > 0) {
ret = PHP_API_OK;
} else {
out["error_status"] = "user not authorized to use invoice";
}
break;
}
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long providers_call(CVars in, CVars &out)");
}
return ret;
}
@@ -0,0 +1,63 @@
<?
// USERS
define('MERMS_USER_BEFORESESSION', 120001);
define('MERMS_USER_CREATEACCOUNT', 120001);
define('MERMS_USER_RESETPASSWORD', 120001);
define('MERMS_USER_LOGIN', 120001);
define('MERMS_USER_DASHLOAD', 120001);
define('MERMS_USER_LOADPROFILE', 120001);
define('MERMS_USER_UPDATEPROFILE', 120001);
define('MERMS_USER_REMINDERS', 120001);
//define('', 120001);
//define('', 120001);
// PROVIDERS
define('MERMS_PROVIDERS_BEFORESESSION', 150010);
define('MERMS_PROVIDERS_CREATEACCOUNT', 150015);
define('MERMS_PROVIDERS_RESETPASSWORD', 150010);
define('MERMS_PROVIDERS_LOGIN', 150025);
define('MERMS_PROVIDERS_DASHLOAD', 150010);
define('MERMS_PROVIDERS_LOADPROFILE', 150010);
define('MERMS_PROVIDERS_UPDATEPROFILE', 150010);
define('MERMS_PROVIDERS_REMINDERS', 150010);
//define('', 120001);
/*
// USERS
#define MERMS_USER_START 120000
// //--
#define MERMS_USER_BEFORESESSION 120010
#define MERMS_USER_CREATEACCOUNT 120015
#define MERMS_USER_RESETPASSWORD 120020
#define MERMS_USER_LOGIN 120025
#define MERMS_USER_DASHLOAD 120030
#define MERMS_USER_LOADPROFILE 120035
#define MERMS_USER_UPDATEPROFILE 120040
#define MERMS_USER_REMINDERS 120045
// //#define 120001
// //#define 120001
// //--
#define MERMS_USER_END 129999
//
// // PROVIDERS
#define MERMS_PROVIDERS_START 150000
// // --
#define MERMS_PROVIDERS_BEFORESESSION 150010
#define MERMS_PROVIDERS_CREATEACCOUNT 150015
#define MERMS_PROVIDERS_RESETPASSWORD 150020
#define MERMS_PROVIDERS_LOGIN 150025
#define MERMS_PROVIDERS_DASHLOAD 150030
#define MERMS_PROVIDERS_LOADPROFILE 150035
#define MERMS_PROVIDERS_UPDATEPROFILE 150040
#define MERMS_PROVIDERS_REMINDERS 150045
// //#define 120001
// // --
#define MERMS_PROVIDERS_END 159999
//
*/
@@ -83,3 +83,7 @@ defined('EXIT_USER_INPUT') OR define('EXIT_USER_INPUT', 7); // invalid user
defined('EXIT_DATABASE') OR define('EXIT_DATABASE', 8); // database error
defined('EXIT__AUTO_MIN') OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
include 'backend_defines.php';
+13 -38
View File
@@ -50,10 +50,10 @@ class MER_Controller extends CI_Controller {
// $this->load->library(array('session', 'lib_login'));
}
public function wrenchboard_api($in, $out) {
public function mermsemr_api($in, $out) {
$this->load->model('backend_model');
// $out = array();
return $this->backend_model->wrenchboard_api($in, $out);
return $this->backend_model->mermsemr_api($in, $out);
}
protected function smart_htmlspecialchars($str) {
@@ -64,6 +64,16 @@ class MER_Controller extends CI_Controller {
protected function loginUser($in, $out) {
$data['action'] = MERMS_PROVIDERS_LOGIN;
$data['mlog'] = $mlog;
$data['member_id'] = $_SESSION['member_id'];
$this->load->model('backend_model');
$out = array();
$res = $this->backend_model->mermsemr_api($data, $out);
$_SESSION['session_id'] = "SASAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK";
$_SESSION['username'] = "ameye";
@@ -111,7 +121,7 @@ class MER_Controller extends CI_Controller {
$data['member_id'] = $_SESSION['member_id'];
$this->load->model('backend_model');
$out = array();
$res = $this->backend_model->wrenchboard_api($data, $out);
$res = $this->backend_model->mermsemr_api($data, $out);
$this->load->model('userlog_model');
$xy["member_id"] = $_SESSION['member_id'];
@@ -230,42 +240,7 @@ class MER_Controller extends CI_Controller {
return $query->result();
}
protected function getClientJobStats($client_id) {
$out = array();
$out['total_jobs_completed'] = $out['total_jobs_active'] = $data['total_jobs_uncompleted'] = 0;
$out['total_pending_offers'] = 0;
$mysql = " SELECT count(*) AS total_jobs_completed FROM members_jobs_contract WHERE client_id =$client_id AND status = 5";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_jobs_completed'] = $q->row()->total_jobs_completed;
}
$mysql = " SELECT count(*) AS total_jobs_active FROM members_jobs_contract WHERE client_id =$client_id AND status IN (1,2)";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_jobs_active'] = $q->row()->total_jobs_active;
}
$mysql = " SELECT count(*) AS total_jobs_uncompleted FROM members_jobs_contract WHERE client_id =$client_id AND status NOT IN (1,2,5)";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_jobs_uncompleted'] = $q->row()->total_jobs_uncompleted;
}
$mysql = " SELECT count(*) AS total_pending_offers FROM members_jobs_offer WHERE client_id =$client_id AND status=1";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_pending_offers'] = $q->row()->total_pending_offers;
}
return $out; //['escrow_c_offer'] + $out['escrow_balance'];
}
protected function renderProviderSecurePage($page_name, $data) {
@@ -0,0 +1,42 @@
<?php
class Backend_model extends CI_Model {
var $thisUser = 'sameye';
var $USER = '';
var $mermsemr;
function __construct() {
$this->USER = $_SERVER['SCRIPT_FILENAME'];
$this->USER = str_replace('/home', '', $this->USER);
$this->USER = strtok($this->USER, '/');
if ($this->USER == 'opt') {
$this->USER = 'root';
}
$this->thisUser = $this->USER;
}
public function mermsemr_api($in, $out = array()) {
$this->mermsemr_load();
$ret = $this->mermsemr->mermsemr_api($in, $out);
return $ret;
}
public function cfgReadChar($str) {
$this->wrenchboard_load();
$ret = $this->mermsemr->cfgReadChar($str);
return $ret;
}
private function mermsemr_load() {
// $this->$USER = $_SERVER['SCRIPT_FILENAME'];
$mermsemr_class = 'mermsemr_api_' . $this->USER . '\\MermsEmr';
if (!is_object($this->mermsemr)) {
$this->mermsemr = new $mermsemr_class();
}
}
}
//<? if (!array_key_exists("mermsemr", $GLOBALS)) $mermsemr = new mermsemr_api_sameye\MermsEmr(); ?>