[906] | 1 | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); |
---|
| 2 | |
---|
| 3 | class Sync extends MX_Controller |
---|
| 4 | { |
---|
| 5 | public function __construct() |
---|
| 6 | { |
---|
| 7 | parent::__construct(); |
---|
| 8 | } |
---|
| 9 | |
---|
| 10 | public function collaborator () |
---|
| 11 | { |
---|
| 12 | if($this->input->is_cli_request()){ |
---|
| 13 | error_reporting(E_ALL); |
---|
| 14 | $this->load->model('Services_model'); |
---|
| 15 | $totalpage = 1; |
---|
| 16 | |
---|
| 17 | $data = $this->Services_model->getCollaborator(2,1,5000); |
---|
| 18 | //$data = mb_convert_encoding($default, 'UTF-8', 'ISO-8859-1'); |
---|
| 19 | if($data){ |
---|
| 20 | $xml = simplexml_load_string($data); |
---|
| 21 | $xml->registerXPathNamespace("S", "http://schemas.xmlsoap.org/soap/envelope/"); |
---|
| 22 | $xml = $xml->xpath('//S:Body'); |
---|
| 23 | $xml = $xml[0]; |
---|
| 24 | $xml->registerXPathNamespace("ns2", "http://process.wsim.viettel.com/"); |
---|
| 25 | $totalpage = $xml->xpath('//return//totalpage'); |
---|
| 26 | $totalpage = (int)$totalpage[0]; |
---|
| 27 | } |
---|
| 28 | |
---|
| 29 | for ($i=1; $i<=$totalpage; $i++){ |
---|
| 30 | $data = $this->Services_model->getCollaborator(2,$i,500); |
---|
| 31 | //$data = mb_convert_encoding($result, 'UTF-8', 'ISO-8859-1'); |
---|
| 32 | if($data && $data != -1){ |
---|
| 33 | $xml = simplexml_load_string($data); |
---|
| 34 | $xml->registerXPathNamespace("S", "http://schemas.xmlsoap.org/soap/envelope/"); |
---|
| 35 | $xml = $xml->xpath('//S:Body'); |
---|
| 36 | $xml = $xml[0]; |
---|
| 37 | $xml->registerXPathNamespace("ns2", "http://process.wsim.viettel.com/"); |
---|
| 38 | $lst = $xml->xpath('//return//lst'); |
---|
| 39 | foreach($lst as $item){ |
---|
| 40 | $item = (array)$item; |
---|
| 41 | $phoneNumber = $this->Services_model->formatPhoneNumber((string)$item['phone'], 2); |
---|
| 42 | $data = array( |
---|
| 43 | 'address'=> (string)$item['address'], |
---|
| 44 | 'code'=>(string)$item['code'], |
---|
| 45 | 'district'=>(string)$item['district'], |
---|
| 46 | 'email'=>(string)$item['email'], |
---|
| 47 | 'id'=>(int)$item['id'], |
---|
| 48 | 'full_name'=>(string)$item['name'], |
---|
| 49 | 'passwd'=>md5($phoneNumber), |
---|
| 50 | 'login_name'=>$phoneNumber, |
---|
| 51 | 'cellphone'=>$phoneNumber, |
---|
| 52 | 'precinct'=>(string)$item['precinct'], |
---|
| 53 | 'province'=>(string)$item['province'], |
---|
| 54 | 'created_time'=>date('Y-m-d H:i:s'), |
---|
| 55 | 'updated_time'=>date('Y-m-d H:i:s') |
---|
| 56 | ); |
---|
| 57 | write_file('./log/sync_collaborator.log', var_export($data, TRUE), FOPEN_WRITE_CREATE); |
---|
| 58 | if ((string)$item['phone']){ |
---|
| 59 | $this->Services_model->syncCollaborator($data); |
---|
| 60 | } |
---|
| 61 | } |
---|
| 62 | }else{ |
---|
| 63 | $logMsg = date('Y-m-d H:i:s') . " Result is null \n"; |
---|
| 64 | write_file('./log/sync_collaborator.log', $logMsg, FOPEN_WRITE_CREATE); |
---|
| 65 | } |
---|
| 66 | } |
---|
| 67 | }else{ |
---|
| 68 | show_404(); |
---|
| 69 | } |
---|
| 70 | } |
---|
| 71 | |
---|
| 72 | public function deleteCollaborator () |
---|
| 73 | { |
---|
| 74 | |
---|
| 75 | if($this->input->is_cli_request()){ |
---|
| 76 | error_reporting(E_ALL); |
---|
| 77 | $this->load->model('Services_model'); |
---|
| 78 | $totalpage = 1; |
---|
| 79 | |
---|
| 80 | $default = $this->Services_model->getCollaborator(2,1,5000); |
---|
| 81 | $data = mb_convert_encoding($default, 'UTF-8', 'ISO-8859-1'); |
---|
| 82 | if($data){ |
---|
| 83 | $xml = simplexml_load_string($data); |
---|
| 84 | $xml->registerXPathNamespace("S", "http://schemas.xmlsoap.org/soap/envelope/"); |
---|
| 85 | $xml = $xml->xpath('//S:Body'); |
---|
| 86 | $xml = $xml[0]; |
---|
| 87 | $xml->registerXPathNamespace("ns2", "http://process.wsim.viettel.com/"); |
---|
| 88 | $totalpage = $xml->xpath('//return//totalpage'); |
---|
| 89 | $totalpage = (int)$totalpage[0]; |
---|
| 90 | } |
---|
| 91 | |
---|
| 92 | $collaboratorIds = array(); |
---|
| 93 | |
---|
| 94 | $logMsg = "Start XML Process: " . date('Y-m-d H:i:s') . "\n"; |
---|
| 95 | write_file('./log/delete_collaborator.log', $logMsg, FOPEN_WRITE_CREATE); |
---|
| 96 | |
---|
| 97 | for ($i=1; $i<$totalpage; $i++){ |
---|
| 98 | $result = $this->Services_model->getCollaborator(2,$i,5000); |
---|
| 99 | $data = mb_convert_encoding($result, 'UTF-8', 'ISO-8859-1'); |
---|
| 100 | if($data && $data != -1){ |
---|
| 101 | $xml = simplexml_load_string($data); |
---|
| 102 | $xml->registerXPathNamespace("S", "http://schemas.xmlsoap.org/soap/envelope/"); |
---|
| 103 | $xml = $xml->xpath('//S:Body'); |
---|
| 104 | $xml = $xml[0]; |
---|
| 105 | $xml->registerXPathNamespace("ns2", "http://process.wsim.viettel.com/"); |
---|
| 106 | $lst = $xml->xpath('//return//lst'); |
---|
| 107 | foreach($lst as $item){ |
---|
| 108 | $item = (array)$item; |
---|
| 109 | if ((string)$item['phone']){ |
---|
| 110 | array_push($collaboratorIds, (int)$item['id']); |
---|
| 111 | } |
---|
| 112 | } |
---|
| 113 | }else{ |
---|
| 114 | $logMsg = date('Y-m-d H:i:s') . " Result is null \n"; |
---|
| 115 | write_file('./log/delete_collaborator.log', $logMsg, FOPEN_WRITE_CREATE); |
---|
| 116 | } |
---|
| 117 | } |
---|
| 118 | |
---|
| 119 | $logMsg = "Finish XML Process: " . date('Y-m-d H:i:s') . "\n"; |
---|
| 120 | write_file('./log/delete_collaborator.log', $logMsg, FOPEN_WRITE_CREATE); |
---|
| 121 | |
---|
| 122 | $collaboratorIdsSync = $this->Services_model->getAllCollaboratorID(); |
---|
| 123 | |
---|
| 124 | if ($collaboratorIdsSync){ |
---|
| 125 | foreach($collaboratorIdsSync as $collaborator){ |
---|
| 126 | $id = (int)$collaborator->id; |
---|
| 127 | if (in_array($id, $collaboratorIds) == false){ |
---|
| 128 | $this->Services_model->deleteCollaborator($id); |
---|
| 129 | } |
---|
| 130 | } |
---|
| 131 | } |
---|
| 132 | }else{ |
---|
| 133 | show_404(); |
---|
| 134 | } |
---|
| 135 | |
---|
| 136 | } |
---|
[714] | 137 | } |
---|