/**
  * Load an object from its id and create a new one in database
  *
  * 	@param		int		$fromid		Id of object to clone
  * 	@return		int					New id of clone
  */
 public function createFromClone($fromid)
 {
     global $user, $langs;
     $error = 0;
     $object = new SkeletonClass($this->db);
     $this->db->begin();
     // Load source object
     $object->fetch($fromid);
     $object->id = 0;
     $object->statut = 0;
     // Clear fields
     // ...
     // Create clone
     $result = $object->create($user);
     // Other options
     if ($result < 0) {
         $this->error = $object->error;
         $error++;
     }
     if (!$error) {
         // Do something
     }
     // End
     if (!$error) {
         $this->db->commit();
         return $object->id;
     } else {
         $this->db->rollback();
         return -1;
     }
 }
// Get parameters
$id = GETPOST('id', 'int');
$action = GETPOST('action', 'alpha');
$myparam = GETPOST('myparam', 'alpha');
// Access control
if ($user->societe_id > 0) {
    // External user
    accessforbidden();
}
/*
 * ACTIONS
 *
 * Put here all code to do according to value of "action" parameter
 */
if ($action == 'add') {
    $myobject = new SkeletonClass($db);
    $myobject->prop1 = $_POST["field1"];
    $myobject->prop2 = $_POST["field2"];
    $result = $myobject->create($user);
    if ($result > 0) {
        // Creation OK
    }
    // Creation KO
    $mesg = $myobject->error;
}
/*
 * VIEW
 *
 * Put here all code to build page
 */
llxHeader('', 'MyPageName', '');