logo   OOP - CRUD Update




    <?php
$id = Url::getParam('id');
if (!empty($id)) {
   $objCatalogue = new Catalogue();
   $product = $objCatalogue->getProduct($id);
   if (!empty($product)) {
      $objForm = new Form();
      $objValid = new Validation($objForm);
      $categories = $objCatalogue->getCategories();
      if ($objForm->isPost('name')) {
         $objValid->_expected = array(
            'category',
            'name',
            'description',
            'price'
         );
         $objValid->_required = array(
            'category',
            'name',
            'description',
            'price'
         );
         if ($objValid->isValid()) {
            if ($objCatalogue->updateProduct($objValid->_post, $id)) {
               $objUpload = new Upload();
               if ($objUpload->upload(CATALOGUE_PATH)) {
                  if (is_file(CATALOGUE_PATH.DS.$product['image'])) {
                     unlink(CATALOGUE_PATH.DS.$product['image']);
               }
               $objCatalogue->updateProduct(array('image' => $objUpload->_names[0]),$id);
                  Helper::redirect('/admin'.Url::getCurrentUrl(array('action', 'id')).'&action=edited');
               } else {
                  Helper::redirect('/admin'.Url::getCurrentUrl(array('action', 'id')).'&action=edited-no-upload');
               }
            } else {
               Helper::redirect('/admin'.Url::getCurrentUrl(array('action', 'id')).'&action=edited-failed');
            }
         }
      }
      require_once('template/_header.php');
?>
   <h1>Products :: Edit</h1>
   <form action="" method="post" enctype="multipart/form-data">
      <table cellpadding="0" cellspacing="0" border="0" class="tbl_insert">
         <tr>
            <th><label for="category">Category: *</label></th>
            <td>
               <?php echo $objValid->validate('category'); ?>
               <select name="category" id="category" class="sel">
                  <option value="">Select one…</option>
                  <?php if (!empty($categories)) { ?>
                     <?php foreach($categories as $cat) { ?>
                     <option value="<?php echo $cat['id']; ?>"
                     <?php echo $objForm->stickySelect('category', $cat['id'],$product['category']); ?>>
                     <?php echo Helper::encodeHtml($cat['name']); ?>
                     </option>
                     <?php } ?>
                  <?php } ?>
               </select>
            </td>
         </tr>
         <tr>
            <th><label for="name">Name: *</label></th>
            <td>
               <?php echo $objValid->validate('name'); ?>
               <input type="text" name="name" id="name"
                  value="<?php echo $objForm->stickyText('name', $product['name']); ?>"
                  class="fld" />
            </td>
         </tr>
         <tr>
            <th><label for="description">Description: *</label></th>
            <td>
               <?php echo $objValid->validate('description'); ?>
               <textarea name="description" id="description" cols="" rows=""
                  class="tar_fixed"><?php echo $objForm->stickyText('description',
                  $product['description']); ?></textarea>
            </td>
         </tr>
         <tr>
            <th><label for="price">Price: *</label></th>
            <td>
               <?php echo $objValid->validate('price'); ?>
               <input type="text" name="price" id="price"
                  value="<?php echo $objForm->stickyText('price', $product['price']);
                  ?>" class="fld_price" />
            </td>
         </tr>
         <tr>
            <th><label for="image">Image:</label></th>
            <td>
               <?php echo $objValid->validate('image'); ?>
               <input type="file" name="image" id="image" size="30" />
            </td>
         </tr>
         <tr>
            <th> </th>
            <td>
               <label for="btn" class="sbm sbm_blue fl_l">
                  <input type="submit" id="btn" class="btn" value="Update" />
               </label>
            </td>
         </tr>
      </table>
   </form>
<?php
      require_once('template/_footer.php');
   }
}
?>




















x
x