Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.112
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
html_old /
iNetty /
app /
Http /
Controllers /
Delete
Unzip
Name
Size
Permission
Date
Action
Api
[ DIR ]
drwxrwxrwx
2022-04-21 13:43
Auth
[ DIR ]
drwxrwxrwx
2022-04-21 13:43
ripcord
[ DIR ]
drwxrwxrwx
2022-04-21 13:43
AddressController.php
4.36
KB
-rwxrwxrwx
2022-04-21 13:43
BuildingFloorsController.php
1.9
KB
-rwxrwxrwx
2022-04-21 13:43
BuildingTypesController.php
1.88
KB
-rwxrwxrwx
2022-04-21 13:43
BuildingsController.php
4.48
KB
-rwxrwxrwx
2022-04-21 13:43
CalendarController.php
467
B
-rwxrwxrwx
2022-04-21 13:43
CarHistoryController.php
3.01
KB
-rwxrwxrwx
2022-04-21 13:43
CarsController.php
2.78
KB
-rwxrwxrwx
2022-04-21 13:43
CheckInController.php
1.74
KB
-rwxrwxrwx
2022-04-21 13:43
Controller.php
361
B
-rwxrwxrwx
2022-04-21 13:43
CustomersController.php
4.75
KB
-rwxrwxrwx
2022-04-21 13:43
DevisController.php
4.99
KB
-rwxrwxrwx
2022-04-21 13:43
DevisLinesController.php
2
KB
-rwxrwxrwx
2022-04-21 13:43
DocumentsController.php
2.14
KB
-rwxrwxrwx
2022-04-21 13:43
HomeController.php
2.54
KB
-rwxrwxrwx
2022-04-21 13:43
InterventionAddressesController.php
2.07
KB
-rwxrwxrwx
2022-04-21 13:43
InterventionBuildingsController.php
2.07
KB
-rwxrwxrwx
2022-04-21 13:43
InterventionContactsController.php
2.04
KB
-rwxrwxrwx
2022-04-21 13:43
InterventionStatusController.php
2
KB
-rwxrwxrwx
2022-04-21 13:43
InterventionsController.php
15.03
KB
-rwxrwxrwx
2022-04-21 13:43
OddoController.php
6.5
KB
-rwxrwxrwx
2022-06-02 16:29
PassesController.php
1.72
KB
-rwxrwxrwx
2022-04-21 13:43
ProfileController.php
1.1
KB
-rwxrwxrwx
2022-04-21 13:43
RulesController.php
1.69
KB
-rwxrwxrwx
2022-04-21 13:43
StatusController.php
1.72
KB
-rwxrwxrwx
2022-04-21 13:43
TeamHistoryController.php
3.09
KB
-rwxrwxrwx
2022-04-21 13:43
TeamLogsController.php
1.76
KB
-rwxrwxrwx
2022-04-21 13:43
TeamMembersController.php
1.83
KB
-rwxrwxrwx
2022-04-21 13:43
TeamsController.php
6.69
KB
-rwxrwxrwx
2022-04-21 13:43
UserController.php
4.55
KB
-rwxrwxrwx
2022-04-21 13:43
Save
Rename
<?php namespace App\Http\Controllers; use App\Models\User; use App\Models\Rules; use App\Models\Devis; use App\Models\DevisLines; use App\Models\Clients; use App\Models\Address; use Illuminate\Support\Str; use App\Library\ripcord\ripcord; class OddoController { /** * Import data from Oddo. * * @return \Illuminate\View\View */ public function import() { set_time_limit(3600); $url = "https://nettyclean-services4.odoo.com"; $db = "nettyclean-services4"; $username = "a.murati@nettyclean-services.fr"; $password = "Babette92"; $common = ripcord::client("$url/xmlrpc/2/common"); $common->version(); $uid = $common->authenticate($db, $username, $password, array()); $models = ripcord::client("$url/xmlrpc/2/object"); $devis_id_from_odoo = $models->execute_kw( $db, $uid, $password, 'sale.order', 'search', array(array()), ); $devis_id_from_db = Devis::pluck('ODDO_ref')->toarray(); $devis_id_to_add_on_db = []; //Check if devis already exists on db for ($i = 0; $i < count($devis_id_from_odoo); $i++) { if (!in_array($devis_id_from_odoo[$i], $devis_id_from_db)) { $devis_id_to_add_on_db[] = $devis_id_from_odoo[$i]; }; } for ($i = 0; $i < count($devis_id_to_add_on_db); $i += 10) { $sliced_devis_id_to_add_on_db = array_slice($devis_id_to_add_on_db, $i, 10); $devis_list = $models->execute_kw( $db, $uid, $password, 'sale.order', 'read', array($sliced_devis_id_to_add_on_db), array('fields'=>array( 'name', 'validity_date', 'partner_id', 'partner_shipping_id', 'order_line', )) ); if ($devis_list) { foreach ($devis_list as $devis){ $address; $client; $client_on_db = Clients::where('ODDO_ref', '=', $devis['partner_id'][0])->first(); $shipping_client = Clients::where('ODDO_ref', '=', $devis['partner_shipping_id'][0])->first(); if (!$shipping_client) { $client_shipping_from_odoo = $models->execute_kw( $db, $uid, $password, 'res.partner', 'read', array($devis['partner_shipping_id'][0]), array('fields'=>array( 'name', 'street', 'zip', 'city', 'country_id' )) ); if (!$client_on_db) { $client_from_odoo = $models->execute_kw( $db, $uid, $password, 'res.partner', 'read', array($devis['partner_id'][0]), array('fields'=>array( 'name', 'street', 'zip', 'city', 'country_id' )) ); $username = $this->replaceSpecialChar($client_from_odoo[0]['name']); $user = User::where('name', '=', $username)->first(); if (!$user) { $user = User::create([ "name" => $username, "email" => $username . "@nettyclean.fr", "password" => $username . $devis['name'], "remember_token" => Str::random(10) ]); Rules::create([ "user_id" => $user->id, "role" => 'client', ]); } $address = Address::where("address", $client_from_odoo[0]['street']) ->where("zip", $client_from_odoo[0]['zip']) ->where("city", $client_from_odoo[0]['city']) ->first(); if (!$address) { $address = Address::create([ "address" => $client_from_odoo[0]['street'] ?? "", "zip" => $client_from_odoo[0]['zip'] ?? "", "city" => $client_from_odoo[0]['city'] ?? "", "country" => $client_from_odoo[0]['country_id'][1] ?? "" ]); Clients::create([ "user_id" => $user->id, "address_id" => $address->id, "ODDO_ref" => $client_from_odoo[0]['id'], "client_name" => $client_from_odoo[0]['name'], ]); $user_id = $user->id; $client_id = $client_from_odoo[0]['id']; $client_name = $client_from_odoo[0]['name']; } }else{ $user_id = $client_on_db->user_id; $client_id = $client_on_db->id; $client_name = $client_on_db->client_name; } $shipping_address = Address::where("address", $client_shipping_from_odoo[0]['street']) ->where("zip", $client_shipping_from_odoo[0]['zip']) ->where("city", $client_shipping_from_odoo[0]['city']) ->first(); if (!$shipping_address) { $shipping_address = Address::create([ "address" => $client_shipping_from_odoo[0]['street'] ?? "", "zip" => $client_shipping_from_odoo[0]['zip'] ?? "", "city" => $client_shipping_from_odoo[0]['city'] ?? "", "country" => $client_shipping_from_odoo[0]['country_id'][1] ?? "" ]); $shipping_client = Clients::create([ "user_id" => $user_id, "address_id" => $shipping_address->id, "ODDO_ref" => $client_id, "client_name" => $client_name, ]); } $client = Clients::where('address_id', '=', $shipping_address->id)->first(); }else{ $client = $shipping_client; } $new_devis = Devis::create([ "client_id" => $client->id, "ODDO_ref" => $devis['id'], "ref" => $devis['name'], "validity_date" => $devis['validity_date'] ]); $devis_lines_id = $devis['order_line']; foreach ($devis_lines_id as $line_id) { $line = $models->execute_kw( $db, $uid, $password, 'sale.order.line', 'read', array($line_id), array('fields'=>array( 'name', 'product_uom_qty' )) ); if ($line) { DevisLines::create([ "devis_id" => $new_devis->id, "line" => $line[0]['id'], "description" => $line[0]['name'], "qty" => $line[0]['product_uom_qty'], ]); } } } } } } function replaceSpecialChar($str) { $utf8 = array( '/[áàâãªä]/u' => 'a', '/[ÁÀÂÃÄ]/u' => 'A', '/[ÍÌÎÏ]/u' => 'I', '/[íìîï]/u' => 'i', '/[éèêë]/u' => 'e', '/[ÉÈÊË]/u' => 'E', '/[óòôõºö]/u' => 'o', '/[ÓÒÔÕÖ]/u' => 'O', '/[úùûü]/u' => 'u', '/[ÚÙÛÜ]/u' => 'U', '/ç/' => 'c', '/Ç/' => 'C', '/ñ/' => 'n', '/Ñ/' => 'N', '/–/' => '_', "/[’‘‹›‚']/u" => '_', '/[“”«»„]/u' => '_', '/ /' => '_', ); return strtolower(preg_replace(array_keys($utf8), array_values($utf8), $str)); } }