getSection (Section::TCURRENT);
$action = Business::singleton ()->getAction (Action::TCURRENT);
$form = new Form ($file);
if (!$form->recovery ($formData))
throw new Exception (__ ('Unable to retrieve submitted data!'));
if (!$itemId)
{
$father = array ( 'type' => 'Integer',
'column' => $fatherColumn,
'value' => $fatherId);
$form->addField ($father);
}
$itemId = $form->save ($itemId, FALSE);
if (!$itemId)
throw new Exception (__ ('Unable to save submitted data!'));
$message->addMessage (__ ('Your data has been successfully saved!'));
restore_error_handler ();
$message->save ();
return $itemId;
}
catch (PDOException $e)
{
$message->addWarning ($e->getMessage ());
}
catch (Exception $e)
{
$message->addWarning ($e->getMessage ());
}
restore_error_handler ();
$message->save ();
return FALSE;
}
public function genRow ($itemId, $file, $fieldId)
{
$message = Message::singleton ();
try
{
$instance = Instance::singleton ();
set_error_handler ('logPhpError');
$view = new View ($file);
$form = new Form ($file);
if (!$form->load ($itemId))
throw new Exception (__ ('Could not load item data!'));
$output = array ();
while ($field = $form->getField (FALSE))
$output [] = View::toList ($field);
$icons = array ();
if ($view->isSortable ())
{
$icons [] = '';
$icons [] = ' ';
$icons [] = '
';
}
$icons [] = '
';
$icons [] = '
';
$output [] = implode ('\r\n', $icons);
foreach ($output as $key => $value)
$output [$key] = str_replace ("'", "\'", $value);
restore_error_handler ();
return "var columns = new Array ('". implode ("', '", $output) ."');";
}
catch (PDOException $e)
{
$message->addWarning ($e->getMessage ());
}
catch (Exception $e)
{
$message->addWarning ($e->getMessage ());
}
restore_error_handler ();
$message->save ();
return 'Falhou!';
}
public function delRow ($itemId, $file)
{
$message = Message::singleton ();
try
{
$instance = Instance::singleton ();
set_error_handler ('logPhpError');
$section = Business::singleton ()->getSection (Section::TCURRENT);
$action = Business::singleton ()->getAction (Action::TCURRENT);
$form = new Form ($file);
if (!$form->delete ($itemId))
throw new Exception (__ ('Could not delete item!'));
restore_error_handler ();
$message->addMessage (__ ('Item deleted successfully!'));
$message->save ();
return TRUE;
}
catch (PDOException $e)
{
$message->addWarning ($e->getMessage ());
}
catch (Exception $e)
{
$message->addWarning ($e->getMessage ());
}
restore_error_handler ();
$message->save ();
return FALSE;
}
public function saveSort ($file, $sort)
{
$message = Message::singleton ();
set_error_handler ('logPhpError');
try
{
$instance = Instance::singleton ();
$section = Business::singleton ()->getSection (Section::TCURRENT);
$action = Business::singleton ()->getAction (Action::TCURRENT);
$view = new View ($file);
if (!$view->isSortable ())
throw new Exception (__ ('This field is not sortable!'));
$sql = "UPDATE ". $view->getTable () ." SET _order = :order WHERE ". $view->getPrimary () ." = :id";
$db = Database::singleton ();
try
{
$db->beginTransaction ();
$sth = $db->prepare ($sql);
foreach ($sort as $order => $id)
$sth->execute (array (':order' => $order, ':id' => $id));
$db->commit ();
}
catch (PDOException $e)
{
$db->rollBack ();
throw $e;
}
catch (Exception $e)
{
$db->rollBack ();
throw $e;
}
$message->addMessage (__ ('The data has been sorted successfully!'));
}
catch (PDOException $e)
{
$message->addWarning ($e->getMessage ());
}
catch (Exception $e)
{
$message->addWarning ($e->getMessage ());
}
restore_error_handler ();
$message->save ();
}
public function loadEditForm ($file, $itemId, $fieldId)
{
$message = Message::singleton ();
$output = '';
set_error_handler ('logPhpError');
try
{
$instance = Instance::singleton ();
$section = Business::singleton ()->getSection (Section::TCURRENT);
$action = Business::singleton ()->getAction (Action::TCURRENT);
$form = new Form ($file);
if (!$form->load ($itemId))
throw new Exception (__ ('Could not load item data!'));
$output = require 'edit.php';
}
catch (PDOException $e)
{
$message->addWarning ($e->getMessage ());
}
catch (Exception $e)
{
$message->addWarning ($e->getMessage ());
}
restore_error_handler ();
$message->save ();
return $output;
}
public function showMessages ($fieldId)
{
$message = Message::singleton ();
if (!is_object ($message) || !$message->has ())
return FALSE;
$str = '';
while ($msg = $message->get ())
$str .= $msg;
$msgs = &XOAD_HTML::getElementById ('collectionLabelMessage_'. $fieldId);
$msgs->innerHTML = '