| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace App\Observers;
- use App\Menu;
- class MenuObserver
- {
- /**
- * Handle the menu "created" event.
- *
- * @param \App\Menu $menu
- * @return void
- */
- public function created(Menu $menu)
- {
- if (env('APP_ENV')!='production')return;
- $txt = "INSERT INTO menus";
- $columns = "(";
- $values = "(";
- foreach ($menu->toArray() as $col=>$val){
- $columns .= "{$col},";
- if ($col=='parent_id' && !$val) $values .= "null,";
- else $values .= "'{$val}',";
- }
- $columns = mb_substr($columns,0,-1);
- $values = mb_substr($values,0,-1);
- $txt .= "{$columns}) VALUES{$values});\r\n";
- $this->write($txt);
- }
- /**
- * Handle the menu "updated" event.
- *
- * @param \App\Menu $menu
- * @return void
- */
- public function updated(Menu $menu)
- {
- if (env('APP_ENV')!='production')return;
- $txt = "UPDATE menus SET ";
- foreach ($menu->toArray() as $col=>$val){
- if ($col=='parent_id' && !$val) $txt .= "{$col}=null,";
- else $txt .= "{$col}='{$val}',";
- }
- $txt = mb_substr($txt,0,-1);
- $txt .= " WHERE id = {$menu->id};\r\n";
- $this->write($txt);
- }
- /**
- * Handle the menu "deleted" event.
- *
- * @param \App\Menu $menu
- * @return void
- */
- public function deleted(Menu $menu)
- {
- if (env('APP_ENV')!='production')return;
- $txt = "DELETE FROM menus WHERE id = {$menu->id};\r\n";
- $this->write($txt);
- }
- private function write($txt)
- {
- $myfile = @fopen(base_path()."/database/data/menus.data", "a+");
- fwrite($myfile, $txt);
- fclose($myfile);
- }
- }
|