コード例 #1
0
ファイル: IEHost.php プロジェクト: stpq/icinga_configurator
 /**
  * Přejmenuje hosta a závistlosti
  * @param type $newname
  */
 public function rename($newname)
 {
     $oldname = $this->getName();
     $this->setDataValue($this->nameColumn, $newname);
     $hostGroup = new IEHostgroup();
     $hostGroup->renameHost($oldname, $newname);
     $renameAll = true;
     $service = new IEService();
     $servicesAssigned = $service->myDbLink->queryToArray('SELECT ' . $service->myKeyColumn . ',' . $service->nameColumn . ' FROM ' . $service->myTable . ' WHERE ' . 'host_name' . ' LIKE \'%"' . $oldname . '"%\'', $service->myKeyColumn);
     foreach ($servicesAssigned as $serviceID => $serviceInfo) {
         $service->loadFromMySQL($serviceID);
         $service->renameHostName($this->getId(), $newname);
         if (!$service->saveToMySQL()) {
             $this->addStatusMessage(sprintf(_('Nepodařilo se přejmenovat %s ve službě %s'), $this->getName(), $service->getName()), $Type);
             $renameAll = false;
         }
     }
     $childsAssigned = $this->myDbLink->queryToArray('SELECT ' . $this->myKeyColumn . ',' . $this->nameColumn . ' FROM ' . $this->myTable . ' WHERE ' . 'parents' . ' LIKE \'%"' . $oldname . '"%\'', $this->myKeyColumn);
     foreach ($childsAssigned as $chid_id => $child_info) {
         $child = new IEHost($chid_id);
         $child->delMember('parents', $this->getId(), $oldname);
         $child->addMember('parents', $this->getId(), $newname);
         $child->updateToMySQL();
     }
     if ($this->save() && $renameAll) {
         return true;
     }
     return false;
 }