public function update(Request $request) { // set database $database = Auth::user()->getDatabase(); //change database $owner = new Owner(); $owner->changeConnection($database); //change database $note = new Note(); $note->changeConnection($database); // get logged in user $user = Auth::user()->name; $now = Carbon\Carbon::now('Africa/Cairo')->toDateTimeString(); // get inputs $strKey = $request->input('strKey'); $strIdentity = $request->input('strIdentity'); $strOwners = $request->input('strOwners'); $homePhone = $request->input('strHomePhoneNo'); $workPhone = $request->input('strWorkPhoneNo'); $cellPhone = $request->input('strCellPhoneNo'); $email = $request->input('EMAIL'); $note = $request->input('note'); $newnote = $request->input('newnote'); $strStreetNo = $request->input('strStreetNo'); $strStreetName = $request->input('strStreetName'); $followup = $request->input('followup'); $date = ""; if (strLen($followup) > 0) { $date = Carbon\Carbon::createFromFormat('Y-m-d', $followup); } try { // update personal details // $owner = Owner::on( $database )->where('strIDNumber', $strIdentity)->update(array('strCellPhoneNo' => $cellPhone, // 'strHomePhoneNo' => $homePhone, // 'strWorkPhoneNo' => $workPhone, // 'EMAIL' => $email, // 'updated_at'=> $now // )); $properties = Property::on($database)->where('strKey', $strKey)->update(array('strStreetNo' => $strStreetNo, 'numStreetNo' => $strStreetNo, 'strStreetName' => $strStreetName)); //dd($properties); //update owner details $owner = Owner::on($database)->where('strIDNumber', $strIdentity)->first(); $owner->strHomePhoneNo = $homePhone; $owner->strCellPhoneNo = $cellPhone; $owner->strWorkPhoneNo = $workPhone; $owner->EMAIL = $email; $owner->save(); // check if there is a new note if (strlen($newnote) > 0) { // if a previous note exists add a carrige return and new note if (strlen($note) > 0) { $updatednote = ltrim(rtrim($note)) . "\n" . $now . " " . $user . " wrote: " . "\n" . $newnote; } else { // add just the new note $updatednote = $now . " " . $user . " wrote: " . "\n" . $newnote; } // update the note $affected = Note::on($database)->where('strKey', $strKey)->update(array('memNotes' => $updatednote, 'followup' => $date, 'updated_at' => $now)); } Note::on($database)->where('strKey', $strKey)->update(array('followup' => $date, 'updated_at' => $now)); } catch (exception $e) { Session::flash('flash_message', 'Error ' . $e->getMessage()); Session::flash('flash_type', 'alert-danger'); return Redirect::back(); } Session::flash('flash_message', 'Updated ' . $strOwners . ' at ' . $now); Session::flash('flash_type', 'alert-success'); return Redirect::back(); }
public function newMultiUnit($updatesA, $unit, $database) { $echo = "Entering newMultiUnit ........................................ "; File::append($this->logfilename, $echo . "\r\n"); //dd($updatesA, $unit); // check if multiple units // get sqM for specific unit $a = explode(" & ", $updatesA['strComplexNo']); $sqM = explode(" & ", $updatesA['strSqMeters']); $found = in_array($unit, $a); if ($found) { $place = array_search($unit, $a); $updatesA['strSqMeters'] = $sqM[$place]; } $now = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString(); $updatesA['id'] = null; $updatesA['strKey'] = $updatesA['strKey']; $updatesA['numStreetNo'] = $updatesA['strStreetNo']; $updatesA['numComplexNo'] = $updatesA['strComplexNo']; $updatesA['created_at'] = $now; // dd($updatesA, $a, $found, $place, $a[$place], $sqM[$place]); // delete older ones $delOld = Property::on($database)->where('strKey', $updatesA['strKey'])->where(DB::raw("STR_TO_DATE(dtmRegDate, '%Y-%m-%d')"), '<', Date($updatesA['dtmRegDate']))->delete(); $echo = "..DELETE OLD ............ " . $updatesA['strKey'] . " - " . $delOld; File::append($this->logfilename, $echo . "\r\n"); // insert new property record Property::on($database)->insert($updatesA); // add owner record if not existing // $hascontact = Owner::on($database)->select('id')->where('strIDNumber', '=', $updatesA['strIdentity']); if ($hascontact->count() == 0) { // update details from admin contacts $admin_contacts = "farmbook_admin"; $otf = new \App\Database\OTF(['database' => $admin_contacts]); $db = DB::connection($admin_contacts); $owner_details = Contact::on($admin_contacts)->select('*')->where('strIDNumber', $updatesA['strIdentity'])->first(); // contact details found in admin contacts if (sizeof($owner_details) == 1) { $uid = $owner_details->strIDNumber; // set database back $dbname = $database; $otf = new \App\Database\OTF(['database' => $dbname]); $db = DB::connection($dbname); // update contact details $owner = Owner::on($database)->insert(array('strIDNumber' => $owner_details->strIDNumber, 'NAME' => $owner_details->NAME, 'TITLE' => $owner_details->TITLE, 'INITIALS' => $owner_details->INITIALS, 'strSurname' => $owner_details->strSurname, 'strFirstName' => $owner_details->strFirstName, 'strHomePhoneNo' => $owner_details->strHomePhoneNo, 'strWorkPhoneNo' => $owner_details->strWorkPhoneNo, 'strCellPhoneNo' => $owner_details->strCellPhoneNo, 'EMAIL' => $owner_details->EMAIL, 'created_at' => $now, 'updated_at' => $now)); // update from prop rec } else { $dbname = $database; $otf = new \App\Database\OTF(['database' => $dbname]); $db = DB::connection($dbname); $owner = Owner::on($database)->insert(array('strIDNumber' => $updatesA['strIdentity'], 'NAME' => $updatesA['strOwners'], 'created_at' => $now)); } } else { // dont wipe old details } // add note // $hasnote = Note::on($database)->select('id')->where('strKey', '=', $updatesA['strKey'])->get(); if ($hasnote->count() == 0) { //$note = Note::on($database)->insert(array('strKey' => $updatesA[$x]['strKey'], 'numErf' => $updatesA[$x]['numErf'], 'memNotes' => "\n" . $now . ' ' . $updatesA[$x]['strOwners'] . ' - New Owner.', 'created_at' => $now)); $note = Note::on($database)->insert(array('strKey' => $updatesA['strKey'], 'numErf' => $updatesA['numErf'], 'created_at' => $now)); } else { $note = Note::on($database)->where('strKey', '=', $updatesA['strKey'])->update(array('memNotes' => DB::raw('concat(memNotes, " \\n' . $now . ' ' . $updatesA['strOwners'] . ' - New Owner.")'), 'updated_at' => $now)); } $echo = "Finishing newMultiUnit ........................................ "; File::append($this->logfilename, $echo . "\r\n"); }
public function globContacts(Request $request) { $start = \Carbon\Carbon::now('Africa/Johannesburg'); echo 'Start : ' . $start . '<br>'; // get all farmbook databases $farmbooks = Farmbook::orderBy('name')->get(); $email = Auth::user()->email; //log $action = 'GLOBAL UPDATE'; $comment = 'Contacts'; $append = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString() . ', ' . trim($email) . ', ' . $action . ',' . $comment; Storage::append('logfile.txt', $append); // loop through databases for ($x = 0; $x < $farmbooks->count(); $x++) { $error = 0; $database = $farmbooks[$x]->database; try { //change database $own = new Owner(); $own->changeConnection($database); // fetch records with missing info for te numbers and email $owners = Owner::on($database)->select('*')->where('strHomePhoneNo', '')->orWhere('strWorkPhoneNo', '')->orWhere('strCellPhoneNo', '')->orWhere('EMAIL', '')->get(); $noinfoowners = Owner::on($database)->select('*')->where('strHomePhoneNo', '')->Where('strWorkPhoneNo', '')->Where('strCellPhoneNo', '')->Where('EMAIL', '')->get(); $allowners = Owner::on($database)->select('*')->get(); //dd($owners); } catch (Exception $ex) { // echo "<br> ------------------------------------------------------------------" . "<br>"; // echo $x . ". " . $farmbooks[$x]->database . " <br>"; // echo " ** PROBLEM ** " . $ex->getMessage() . "<br>"; // echo " ------------------------------------------------------------------" . "<br>"; $error = 1; //dd(); } //dd($prop); if ($error == 0) { // check it has the farmbook2 ext $found = strpos($database, 'farmbook2'); // echo "<br> ------------------------------------------------------------------" . "<br>"; // if ($found == 0) { // echo "** ALERT ** Database has not got correct naming convention - farmbook2" . " <br>"; // } echo "<br> ------------------------------------------------------------------" . "<br>"; echo $x . ". Farmbook : " . $database . "<br><br>"; echo 'Local Owners : ' . $allowners->count() . "<br>"; echo 'Missing some info : ' . $owners->count() . "<br>"; echo 'Missing all info : ' . $noinfoowners->count() . "<br>"; if ($owners->count() > 0) { // echo " ------------------------------------------------------------------" . "<br>"; // $users = $farmbooks[$x]->users; $new = 0; $canupdate = 0; $can = 0; $canupdateRow = 0; $strHomePhoneNo = 0; $strWorkPhoneNo = 0; $strCellPhoneNo = 0; $EMAIL = 0; foreach ($owners as $owner) { //[0] echo " - " . $owner->NAME . " | " . $owner->strHomePhoneNo . " | " . $owner->strWorkPhoneNo . " | " . $owner->strCellPhoneNo . " | " . $owner->EMAIL . " | " . " <br>"; $found = Contact::select('*')->where('strIDNumber', $owner->strIDNumber)->get(); if ($found->count() > 0) { $new++; $can = 0; if ($owner->strHomePhoneNo == "" && $found[0]->strHomePhoneNo != "") { $canupdate++; $can++; $strHomePhoneNo++; $owner->strHomePhoneNo = $found[0]->strHomePhoneNo; } if ($owner->strWorkPhoneNo == "" && $found[0]->strWorkPhoneNo != "") { $canupdate++; $can++; $strWorkPhoneNo++; $owner->strWorkPhoneNo = $found[0]->strWorkPhoneNo; } if ($owner->strCellPhoneNo == "" && $found[0]->strCellPhoneNo != "") { $canupdate++; $can++; $strCellPhoneNo++; $owner->strCellPhoneNo = $found[0]->strCellPhoneNo; } if ($owner->EMAIL == "" && $found[0]->EMAIL != "") { $canupdate++; $can++; $EMAIL++; $owner->EMAIL = $found[0]->EMAIL; } if ($can > 0) { $canupdateRow++; $owner->update(); } } } echo ' Found in admin contacts : ' . $new . '<br><br>'; echo ' Can update fields : ' . $canupdate . '<br>'; echo ' Can update record : ' . $canupdateRow . '<br><br>'; echo 'strHomePhoneNo updates : ' . $strHomePhoneNo . '<br>'; echo 'strWorkPhoneNo updates : ' . $strWorkPhoneNo . '<br>'; echo 'strCellPhoneNo updates : ' . $strCellPhoneNo . '<br>'; echo 'EMAIL updates : ' . $EMAIL . '<br><br>'; //dd("end of first data"); } } } $end = \Carbon\Carbon::now('Africa/Johannesburg'); echo '<br><br>End : ' . $end . '<br><br>'; echo 'Time : ' . $end->diffForHumans($start); dd("The End"); }