[ // 1 "FriendlyName" => "Envios mensuales", "Type" => "text", # Text Box "Size" => "8", # Defines the Field Width "Description" => "0 = ninguno, -1 = ilimitado", "Default" => "0", ], "max_list" => [// 2 "FriendlyName" => "Listas", "Type" => "text", "Size" => "8", "Description" => "0 = ilimitado", "Default" => "0", ], "max_susbcribers" => [// 3 "FriendlyName" => "Suscriptores", "Type" => "text", "Size" => "8", "Description" => "0 = ilimitado", "Default" => "0", ], "credits" => [// 4 "FriendlyName" => "Créditos", "Type" => "text", "Size" => "8", "Description" => "Cantidad de créditos para la carga inicial", "Default" => "0", ], "max_lists_deletions" => [// 5 "FriendlyName" => "Eliminado de listas", "Type" => "text", "Size" => "4", "Description" => "Para cuentas de suscriptores. Cuantas listas puede eliminar por período. 0 = ilimitado.", "Default" => "0", ], "allow_api" => [// 6 "FriendlyName" => "Permite API", "Type" => "yesno", "Description" => "Permite el uso de API", "Default" => "1", ], "allow_txn" => [// 7 "FriendlyName" => "Permite Transaccionales", "Type" => "yesno", "Size" => "8", "Description" => "Permite el uso de emails transaccionales", ], "allow_send" => [// 8 "FriendlyName" => "Permite envios", "Type" => "yesno", "Size" => "8", "Description" => "Permite el envío de campañas.", ], "allow_email_templates" => [// 9 "FriendlyName" => "Permite plantillas", "Type" => "yesno", "Size" => "8", "Description" => "Permite el uso de plantillas prediseñadas.", ], "trial" => [// 10 "FriendlyName" => "Días de prueba", "Type" => "text", "Size" => "4", "Description" => "Pasados los dias la cuenta es eliminada. Cero o blanco para ignorar.", "Default" => "0", ], "is_reseller" => [// 11 "FriendlyName" => "Es reseller", "Type" => "yesno", "Description" => "Válido solo para cuentas administrador", ], "fraud_check" => [// 12 "FriendlyName" => "Requiere moderacion", "Type" => "yesno", "Description" => "Las campañas podrian ser detenidas si se encuentra alguna palabra sospechosa.", ], "external_id" => [// 13 "FriendlyName" => "ID externo", "Type" => "text", "Size" => "10", "Description" => "Puede configurar un identificador unico para cada cuenta.", "Default" => "" ], "verifica_remitente" => [// 14 "FriendlyName" => "Valida remitentes", "Type" => "yesno", "Description" => "Debe validar las direcciones de email remitente.", "Default" => "1", ] ]; } function whfleet_CreateAccount($params) { $post_data = []; $post_data['username']=$params['username']; $post_data['password']=$params['password']; $post_data['name'] = $params['clientsdetails']['firstname']; $post_data['lastname'] = $params['clientsdetails']['lastname']; $post_data['email'] = $params['clientsdetails']['email']; $post_data['max_list'] = $params["configoption2"]; $post_data['max_sends'] = $params["configoption1"]; $post_data['credits'] = $params["configoption4"]; $post_data['max_users'] = 0; $post_data["exclude_emlbrand"] = 1; $post_data["verifica_remitente"] = 1; $post_data['max_susbcribers'] = $params["configoption3"]; $post_data['allow_delete_lists'] = 1; $post_data['max_lists_deletions'] = $params["configoption5"]; $post_data['allow_email_templates'] = $params["configoption9"]; $post_data['allow_verifications'] = 1; $post_data['allow_txn'] = $params["configoption7"]; $post_data['allow_api'] = $params["configoption6"]; $post_data['allow_send'] = $params["configoption8"]; $post_data['trial'] = $params["configoption10"]; $post_data['is_reseller'] = $params["configoption11"]; $post_data['whm_clientid'] = $params["userid"]; $post_data['fraud_check'] = $params["configoption12"]; $post_data['external_id'] = $params["configoption13"]; $post_data['verifica_remitente'] = $params["configoption14"]; if($post_data['is_reseller']) $post_data["max_users"]=1000; $post_data['company'] = $params['clientsdetails']['companyname']; $post_data['address'] = $params["clientsdetails"]["address1"]." ".$params["clientsdetails"]["address1"]; $post_data['city'] = $params["clientsdetails"]["city"]; $post_data['region'] = $params["clientsdetails"]["state"]; $module = "/user/create"; return execFleetMailerApi($module, $post_data, $params); } function whfleet_creditos($params) { } function whfleet_ChangePackage($params) { $post_data = []; $post_data['username']=$params['username']; $post_data['name'] = $params['clientsdetails']['firstname']; $post_data['lastname'] = $params['clientsdetails']['lastname']; $post_data['email'] = $params[""][""]; $post_data['max_list'] = $params["configoption2"]; $post_data['max_sends'] = $params["configoption1"]; $post_data['credits'] = $params["configoption4"]; $post_data['max_users'] = 0; $post_data["exclude_emlbrand"] = 1; $post_data["verifica_remitente"] = 1; $post_data['max_susbcribers'] = $params["configoption3"]; $post_data['allow_delete_lists'] = 1; $post_data['max_lists_deletions'] = $params["configoption5"]; $post_data['allow_email_templates'] = $params["configoption9"]; $post_data['allow_verifications'] = 1; $post_data['allow_txn'] = $params["configoption7"]; $post_data['allow_api'] = $params["configoption6"]; $post_data['allow_send'] = $params["configoption8"]; $post_data['trial'] = $params["configoption10"]; $post_data['is_reseller'] = $params["configoption11"]; $post_data['fraud_check'] = $params["configoption12"]; $post_data['external_id'] = $params["configoption13"]; $post_data['verifica_remitente'] = $params["configoption14"]; $post_data['whm_clientid'] = $params["userid"]; if($post_data['is_reseller']) $post_data["max_users"]=1000; $post_data['company'] = $params['clientsdetails']['companyname']; $post_data['address'] = $params["clientsdetails"]["address1"]." ".$params["clientsdetails"]["address1"]; $post_data['city'] = $params["clientsdetails"]["city"]; $post_data['region'] = $params["clientsdetails"]["state"]; $module = "/user/edit"; return execFleetMailerApi($module, $post_data, $params); } function whfleet_TerminateAccount($params) { $post_data = []; $post_data['username']=$params['username']; $module = "/user/delete"; return execFleetMailerApi($module, $post_data, $params); } function whfleet_SuspendAccount($params) { $post_data = []; $post_data['username']=$params['username']; $post_data['status']="suspended"; $module = "/user/changeStatus"; return execFleetMailerApi($module, $post_data, $params); } function whfleet_UnsuspendAccount($params) { $post_data = []; $post_data['username']=$params['username']; $post_data['status']="active"; $module = "/user/changeStatus"; return execFleetMailerApi($module, $post_data, $params); } function whfleet_ChangePassword($params) { $post_data = []; $post_data['username']=$params['username']; $post_data['password']=$params['password']; $module = "/user/password"; return execFleetMailerApi($module, $post_data, $params); } /**********************************************************************************************/ /**********************************************************************************************/ /**********************************************************************************************/ /**********************************************************************************************/ function whfleet_AdminServicesTabFields($params) { $post_data = []; $post_data["user_key"] = $params['serveraccesshash']; $post_data['username']=$params['username']; $payload = json_encode($post_data); $url = "{$params['serverhttpprefix']}://{$params['serverhostname']}/api/2.0/user/get"; try { $ch = curl_init( $url ); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload ); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); $body = curl_exec($ch); curl_close($ch); } catch (Exception $e) { return $e; } if($body){ $res = json_decode($body, 1); file_put_contents("/tmp/_userData_", print_r($res, 1)); if($res["status"]=="error"){ return $res["message"]; } if($res["status"]=="success"){ $smarty = new Smarty; $smarty->template_dir = realpath(__DIR__."/templates"); $smarty->compile_dir = realpath(__DIR__."/../../../templates_c"); $smarty->cache_dir = realpath(__DIR__."/../../../templates_c"); $data['username']=$params['username']; $smarty->assign("uData", $res["user_data"]); $smarty->assign("params", $params); if(is_array($res["user_data"]["lists_info"])){ $bkl = $invalid = 0; foreach($res["user_data"]["lists_info"] as $ldata){ $bkl += $ldata["subscribers"]["bkl"]; $invalid += $ldata["subscribers"]["invalid"]; } $smarty->assign("bkl", $bkl); $smarty->assign("invalid", $invalid); } $output = $smarty->fetch(realpath(__DIR__)."/templates/clientPackage.tpl"); $fieldsarray = array( 'Informacion de cuenta' => $output ); return $fieldsarray; } return false; } else { return false; } } function whfleet_ClientArea($params) { $code = "Ingresar"; return $code; } function whfleet_AdminLink($params) { $code = "Ingresar"; return $code; } function whfleet_LoginLink($params) { $code = "Ingresar"; return $code; } function whfleet_AdminCustomButtonArray() { $buttonarray = array( ); return $buttonarray; } function execFleetMailerApi($module, $post_data, $params) { $post_data["user_key"] = $params['serveraccesshash']; $payload = json_encode($post_data); $url = "{$params['serverhttpprefix']}://{$params['serverhostname']}/api/2.0{$module}"; try { $ch = curl_init( $url ); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload ); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); $body = curl_exec($ch); curl_close($ch); } catch (Exception $e) { return $e; } if($body){ $res = json_decode($body, 1); if($res["status"]=="error"){ return $res["message"]; } if($res["status"]=="success"){ return "success"; } return "La respuesta del servidor no es válida."; } else { return "No se ha podido acceder al servidor."; } } ?>