public static function execute($id = null, $data)
 {
     if (Registry::exists('CategoryTree')) {
         $OSCOM_CategoryTree = Registry::get('CategoryTree');
     } else {
         $OSCOM_CategoryTree = new CategoryTree();
         Registry::set('CategoryTree', $OSCOM_CategoryTree);
     }
     if (is_numeric($id)) {
         $data['id'] = $id;
     }
     // Prevent another big bang and check if category is not being moved to a child category
     if (isset($data['id']) && $OSCOM_CategoryTree->getParentID($data['id']) != $data['parent_id']) {
         if (in_array($data['id'], explode('_', $OSCOM_CategoryTree->buildBreadcrumb($data['parent_id'])))) {
             return false;
         }
     }
     if (isset($data['image'])) {
         $new_image = $data['image'];
         while (file_exists(OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'categories/' . $new_image)) {
             $new_image = rand(10, 99) . $new_image;
         }
         if (rename(OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'upload/' . $data['image'], OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'categories/' . $new_image)) {
             if (is_numeric($id)) {
                 $old_image = Categories::get($id, 'categories_image');
                 unlink(OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'categories/' . $old_image);
             }
             $data['image'] = $new_image;
         } else {
             $data['image'] = null;
         }
     }
     if (OSCOM::callDB('Admin\\Categories\\Save', $data)) {
         Cache::clear('categories');
         Cache::clear('category_tree');
         Cache::clear('also_purchased');
         return true;
     }
     return false;
 }
  <fieldset>
    <p><label for="parent_id"><?php 
echo OSCOM::getDef('field_parent_category');
?>
</label><?php 
echo HTML::selectMenu('parent_id', array_merge(array(array('id' => '0', 'text' => OSCOM::getDef('top_category'))), $OSCOM_Application->getCategoryList()), $OSCOM_ObjectInfo->getInt('parent_id'));
?>
</p>
    <p><label><?php 
echo OSCOM::getDef('field_name');
?>
</label></p>

<?php 
foreach ($OSCOM_Language->getAll() as $l) {
    echo '<p>' . $OSCOM_Language->showImage($l['code']) . '&nbsp;' . $l['name'] . '<br />' . HTML::inputField('categories_name[' . $l['id'] . ']', Categories::get($OSCOM_ObjectInfo->getInt('categories_id'), 'categories_name', $l['id'])) . '</p>';
}
?>

    <p><label><?php 
echo OSCOM::getDef('field_image');
?>
</label></p>
    <p id="cImage" class="imageSelectorPlaceholder"></p>

    <p><label><?php 
echo OSCOM::getDef('field_image_browser');
?>
</label></p>
    <div class="imageSelector">
      <ul id="cImages"></ul>