Advertisement
EvenGuy

Задача Жадыры[core.php]

Mar 8th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.43 KB | None | 0 0
  1. <?php
  2.   define('WORK_FILE','detali.xml');
  3.  
  4.   if ( !file_exists(WORK_FILE) ):
  5.     $domDoc = new DOMDocument;
  6.     $domDoc->appendChild($domDoc->CreateElement('produkcia'));
  7.     $domDoc->Save(WORK_FILE);
  8.   endif;
  9.  
  10.   function GetLastID() {
  11.     $domDoc = new DOMDocument;
  12.     $domDoc->formatOutput = true;
  13.     $domDoc->Load(WORK_FILE);
  14.  
  15.     $domDetals = $domDoc->GetElementsByTagName('detal');
  16.     $LastID = 0;
  17.     foreach ($domDetals as $Detal)
  18.       $LastID = $Detal->getAttribute('id');
  19.  
  20.     return $LastID;
  21.   }
  22.  
  23.   function AddDetal($Name, $VremyaIzgotovlenya, $Razmer, $Cena) {
  24.     $domDoc = new DOMDocument;
  25.     $domDoc->formatOutput = true;
  26.  
  27.     $domDoc->Load(WORK_FILE);
  28.  
  29.     $domRoot = $domDoc->GetElementsByTagName('produkcia');
  30.  
  31.     $domDetal = $domDoc->CreateElement('detal');
  32.     $attrID = $domDoc->createAttribute('id');
  33.     $attrID->value = GetLastID()+1;
  34.     $domDetal->setAttributeNode($attrID);
  35.     $domDetal->appendChild($domDoc->CreateElement('name',$Name));
  36.     $domDetal->appendChild($domDoc->CreateElement('vr_izg',$VremyaIzgotovlenya));
  37.     $domDetal->appendChild($domDoc->CreateElement('razmer',$Razmer));
  38.     $domDetal->appendChild($domDoc->CreateElement('cena',$Cena));
  39.  
  40.     $domRoot[0]->appendChild($domDetal);
  41.  
  42.     $domDoc->Save(WORK_FILE);
  43.   }
  44.  
  45.   function ChangeDetalInfo($ID, $Name, $VremyaIzgotovlenya, $Razmer, $Cena) {
  46.     $domDoc = new DOMDocument;
  47.     $domDoc->Load(WORK_FILE);
  48.  
  49.     $domDetals = $domDoc->GetElementsByTagName('detal');
  50.     foreach ($domDetals as $Detal) {
  51.       if ( $Detal->getAttribute('id') == $ID ){
  52.         $xmlDetal = simplexml_import_dom($Detal);
  53.  
  54.         $xmlDetal->name = $Name;
  55.         $xmlDetal->vr_izg = $VremyaIzgotovlenya;
  56.         $xmlDetal->razmer = $Razmer;
  57.         $xmlDetal->cena = $Cena;
  58.  
  59.         $Detal = $domDoc->importNode(dom_import_simplexml($xmlDetal),true);
  60.       }
  61.     }
  62.  
  63.     $domDoc->formatOutput = true;
  64.     $domDoc->Save(WORK_FILE);
  65.   }
  66.  
  67.   function DeleteDetal($ID) {
  68.     $domDoc = new DOMDocument;
  69.     $domDoc->Load(WORK_FILE);
  70.  
  71.     $domRoot = $domDoc->GetElementsByTagName('produkcia');
  72.     $domRoot = $domRoot[0];
  73.  
  74.     $domDetals = $domDoc->GetElementsByTagName('detal');
  75.     foreach ($domDetals as $Detal)
  76.       if ( $Detal->getAttribute('id') == $ID )
  77.         $DetalNode = $Detal;
  78.  
  79.     if ( isset($DetalNode) )
  80.       $domRoot->removeChild($DetalNode);
  81.  
  82.     $domDoc->formatOutput = true;
  83.     $domDoc->Save(WORK_FILE);
  84.   }
  85. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement