本文整理汇总了PHP中PHPWS_DB::commit方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPWS_DB::commit方法的具体用法?PHP PHPWS_DB::commit怎么用?PHP PHPWS_DB::commit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPWS_DB
的用法示例。
在下文中一共展示了PHPWS_DB::commit方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: delete
/**
* Delete row from database that matches this object's $id.
* Also, delete the associated document in filecabinet.
*/
public function delete()
{
\PHPWS_Core::initModClass('filecabinet', 'Document.php');
\PHPWS_DB::begin();
$db = self::getDb();
$db->addWhere('id', $this->id);
$result = $db->delete();
if (\PHPWS_Error::logIfError($result)) {
\PHPWS_DB::rollback();
return FALSE;
}
$doc = new \PHPWS_Document($this->document_fc_id);
$result = $doc->delete();
if (\PHPWS_Error::logIfError($result)) {
\PHPWS_DB::rollback();
return FALSE;
}
\PHPWS_DB::commit();
return TRUE;
}
示例2: execute
//.........这里部分代码省略.........
$i->oied_certified = 1;
} else {
if ($_POST['oied_certified_hidden'] == 'false') {
$i->oied_certified = 0;
} else {
$i->oied_certified = 0;
}
}
// If we don't have a state and this is a new internship,
// the set an initial state
if ($i->id == 0 && is_null($i->state)) {
$state = WorkflowStateFactory::getState('CreationState');
$i->setState($state);
// Set this initial value
}
try {
$i->save();
} catch (\Exception $e) {
// Rollback and re-throw the exception so that admins gets an email
\PHPWS_DB::rollback();
throw $e;
}
// Update agency
try {
$agency = AgencyFactory::getAgencyById($_REQUEST['agency_id']);
} catch (\Exception $e) {
// Rollback and re-throw the exception so that admins gets an email
\PHPWS_DB::rollback();
throw $e;
}
// Agency Info
$agency->name = $_REQUEST['agency_name'];
$agency->address = $_REQUEST['agency_address'];
$agency->city = $_REQUEST['agency_city'];
$agency->zip = $_REQUEST['agency_zip'];
$agency->phone = $_REQUEST['agency_phone'];
if ($i->isDomestic()) {
$agency->state = $_REQUEST['agency_state'] == '-1' ? null : $_REQUEST['agency_state'];
} else {
$agency->province = $_REQUEST['agency_province'];
$agency->country = $_REQUEST['agency_country'] == '-1' ? null : $_REQUEST['agency_country'];
}
// Agency Supervisor Info
$agency->supervisor_first_name = $_REQUEST['agency_sup_first_name'];
$agency->supervisor_last_name = $_REQUEST['agency_sup_last_name'];
$agency->supervisor_title = $_REQUEST['agency_sup_title'];
$agency->supervisor_phone = $_REQUEST['agency_sup_phone'];
$agency->supervisor_email = $_REQUEST['agency_sup_email'];
$agency->supervisor_fax = $_REQUEST['agency_sup_fax'];
$agency->supervisor_address = $_REQUEST['agency_sup_address'];
$agency->supervisor_city = $_REQUEST['agency_sup_city'];
$agency->supervisor_zip = $_REQUEST['agency_sup_zip'];
if ($i->isDomestic()) {
$agency->supervisor_state = $_REQUEST['agency_sup_state'];
} else {
$agency->supervisor_province = $_REQUEST['agency_sup_province'];
$agency->supervisor_country = $_REQUEST['agency_sup_country'] == '-1' ? null : $_REQUEST['agency_sup_country'];
}
$agency->address_same_flag = isset($_REQUEST['copy_address']) ? 't' : 'f';
try {
DatabaseStorage::save($agency);
} catch (\Exception $e) {
// Rollback and re-throw the exception so that admins gets an email
\PHPWS_DB::rollback();
throw $e;
}
/***************************
* State/Workflow Handling *
***************************/
$t = \Intern\WorkflowTransitionFactory::getTransitionByName($_POST['workflow_action']);
$workflow = new \Intern\WorkflowController($i, $t);
try {
$workflow->doTransition(isset($_POST['notes']) ? $_POST['notes'] : null);
} catch (\Intern\Exception\MissingDataException $e) {
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, $e->getMessage());
\NQ::close();
return \PHPWS_Core::reroute('index.php?module=intern&action=ShowInternship&internship_id=' . $i->id);
}
// Create a ChangeHisotry for the OIED certification.
if ($oiedCertified) {
$currState = WorkflowStateFactory::getState($i->getStateName());
$ch = new ChangeHistory($i, \Current_User::getUserObj(), time(), $currState, $currState, 'Certified by OIED');
$ch->save();
}
\PHPWS_DB::commit();
$workflow->doNotification(isset($_POST['notes']) ? $_POST['notes'] : null);
//var_dump($_POST['generateContract']);exit;
// If the user clicked the 'Generate Contract' button, then redirect to the PDF view
if (isset($_POST['generateContract']) && $_POST['generateContract'] == 'true') {
//return \PHPWS_Core::reroute('index.php?module=intern&action=pdf&internship_id=' . $i->id);
echo json_encode($i);
exit;
} else {
// Otherwise, redirect to the internship edit view
// Show message if user edited internship
\NQ::simple('intern', \Intern\UI\NotifyUI::SUCCESS, 'Saved internship for ' . $i->getFullName());
\NQ::close();
return \PHPWS_Core::reroute('index.php?module=intern&action=ShowInternship&internship_id=' . $i->id);
}
}
示例3: execute
//.........这里部分代码省略.........
$i->ugrad_major = $_REQUEST['ugrad_major'];
$i->grad_prog = null;
} else {
if ($i->getLevel() == 'grad') {
$i->grad_prog = $_REQUEST['grad_prog'];
$i->ugrad_major = null;
}
}
$i->gpa = $_REQUEST['student_gpa'];
$i->campus = $_REQUEST['campus'];
$i->student_address = $_REQUEST['student_address'];
$i->student_city = $_REQUEST['student_city'];
if ($_REQUEST['student_state'] != '-1') {
$i->student_state = $_REQUEST['student_state'];
} else {
$i->student_state = "";
}
$i->student_zip = $_REQUEST['student_zip'];
/*
$i->emergency_contact_name = $_REQUEST['emergency_contact_name'];
$i->emergency_contact_relation = $_REQUEST['emergency_contact_relation'];
$i->emergency_contact_phone = $_REQUEST['emergency_contact_phone'];
*/
/************
* OIED Certification
*/
// If OIED certification has changed, then double check permissions
$cert = $i->oied_certified == 1 ? true : false;
$certSubmitted = $_POST['oied_certified_hidden'] == 'true' ? true : false;
$certChanged = $cert != $certSubmitted;
if ($certChanged && !Current_User::allow('intern', 'oied_certify')) {
$url = "index.php?module=intern&action=edit_internship&internship_id={$i->getId()}";
NQ::simple('intern', INTERN_ERROR, "You do not have permission to change the OIED certification checkbox. No changes were saved.");
NQ::close();
return PHPWS_Core::reroute($url);
}
// Check if this has changed from non-certified->certified so we can log it later
if ($i->oied_certified == 0 && $_POST['oied_certified_hidden'] == 'true') {
// note the change for later
$oiedCertified = true;
} else {
$oiedCertified = false;
}
if ($_POST['oied_certified_hidden'] == 'true') {
$i->oied_certified = 1;
} else {
if ($_POST['oied_certified_hidden'] == 'false') {
$i->oied_certified = 0;
} else {
$i->oied_certified = 0;
}
}
// If we don't have a state and this is a new internship,
// the set an initial state
if ($i->id == 0 && is_null($i->state)) {
PHPWS_Core::initModClass('intern', 'WorkflowStateFactory.php');
$state = WorkflowStateFactory::getState('CreationState');
$i->setState($state);
// Set this initial value
}
try {
$i->save();
} catch (Exception $e) {
// Rollback and re-throw the exception so that admins gets an email
PHPWS_DB::rollback();
throw $e;
}
PHPWS_DB::commit();
/***************************
* State/Workflow Handling *
***************************/
PHPWS_Core::initModClass('intern', 'WorkflowController.php');
PHPWS_Core::initModClass('intern', 'WorkflowTransitionFactory.php');
$t = WorkflowTransitionFactory::getTransitionByName($_POST['workflow_action']);
$workflow = new WorkflowController($i, $t);
try {
$workflow->doTransition(isset($_POST['notes']) ? $_POST['notes'] : null);
} catch (MissingDataException $e) {
NQ::simple('intern', INTERN_ERROR, $e->getMessage());
NQ::close();
return PHPWS_Core::reroute('index.php?module=intern&action=edit_internship&internship_id=' . $i->id);
}
// Create a ChangeHisotry for the OIED certification.
if ($oiedCertified) {
$currState = WorkflowStateFactory::getState($i->getStateName());
$ch = new ChangeHistory($i, Current_User::getUserObj(), time(), $currState, $currState, 'Certified by OIED');
$ch->save();
}
$workflow->doNotification(isset($_POST['notes']) ? $_POST['notes'] : null);
if (isset($_REQUEST['internship_id'])) {
// Show message if user edited internship
NQ::simple('intern', INTERN_SUCCESS, 'Saved internship for ' . $i->getFullName());
NQ::close();
return PHPWS_Core::reroute('index.php?module=intern&action=edit_internship&internship_id=' . $i->id);
} else {
NQ::simple('intern', INTERN_SUCCESS, 'Added internship for ' . $i->getFullName());
NQ::close();
return PHPWS_Core::reroute('index.php?module=intern&action=edit_internship&internship_id=' . $i->id);
}
}
示例4: moveRow
/**
* Move row in a table based on a column designating the current order
* direction == 1 means INCREASE order by one
* direction == -1 means DECREASE order by one
* @param string order_column Table column that contains the order of the entries
* @param string id_column Name of the id_column
* @param integer id Id of current row
* @param integer direction Direction to move the row
*/
public function moveRow($order_column, $id_column, $id, $direction = 1)
{
if (!($direction == 1 || $direction == -1)) {
if (strtolower($direction) == 'down') {
$direction = 1;
} elseif (strtolower($direction) == 'up') {
$direction = -1;
} else {
return false;
}
}
$total_rows = $this->count();
if ($total_rows < 2) {
return;
}
$db = clone $this;
$db->reset();
$db->addWhere($id_column, $id);
$db->addColumn($order_column);
$current_order = $db->select('one');
if ($current_order == 1 && $direction == -1) {
// moving up when current item is at top of list
// need to shift all other items down and pop this on the end
PHPWS_DB::begin();
if (PHPWS_Error::logIfError($this->reduceColumn($order_column))) {
PHPWS_DB::rollback();
return false;
}
$db->reset();
$db->addWhere($id_column, $id);
$db->addValue($order_column, $total_rows);
if (PHPWS_Error::logIfError($db->update())) {
PHPWS_DB::rollback();
return false;
}
PHPWS_DB::commit();
unset($db);
return true;
} elseif ($current_order == $total_rows && $direction == 1) {
// moving down when current item is at bottom/end of list
// need to shift all other items up and shift this on the beginning
PHPWS_DB::begin();
if (PHPWS_Error::logIfError($this->incrementColumn($order_column))) {
PHPWS_DB::rollback();
return false;
}
$db->reset();
$db->addWhere($id_column, $id);
$db->addValue($order_column, 1);
if (PHPWS_Error::logIfError($db->update())) {
PHPWS_DB::rollback();
return false;
}
PHPWS_DB::commit();
unset($db);
return true;
} else {
PHPWS_DB::begin();
$db = clone $this;
$db->addWhere($order_column, $current_order + $direction);
$db->addValue($order_column, $current_order);
if (PHPWS_Error::logIfError($db->update())) {
PHPWS_DB::rollback();
return false;
}
$db = clone $this;
$db->addWhere($id_column, $id);
$db->addValue($order_column, $current_order + $direction);
if (PHPWS_Error::logIfError($db->update())) {
PHPWS_DB::rollback();
return false;
}
unset($db);
return true;
}
}
示例5: filecabinet_update
//.........这里部分代码省略.........
$files = array('templates/image_view.tpl', 'templates/settings.tpl', 'javascript/pick_file/head.js', 'javascript/pick_file/scripts.js', 'javascript/update_file/head.js', 'templates/file_manager/placeholder.tpl', 'templates/document_edit.tpl', 'templates/image_edit.tpl', 'templates/multimedia_edit.tpl', 'templates/edit_folder.tpl', 'templates/embed_edit.tpl', 'templates/style.css', 'templates/file_manager/folder_content_view.tpl', 'templates/file_manager/resize.tpl');
fc_updatefiles($files, $content);
$db = new PHPWS_DB('folders');
$db->begin();
if (PHPWS_Error::logIfError($db->addTableColumn('max_image_dimension', 'smallint not null default 0'))) {
$content[] = '--- Unable to add max_image_dimension column to folders table.';
$db->rollback();
return false;
} else {
$content[] = '--- Added max_image_dimension column to folders table.';
}
$db = new PHPWS_DB('fc_file_assoc');
if (PHPWS_Error::logIfError($db->addTableColumn('width', 'smallint NOT NULL default 0'))) {
$content[] = '--- Unable to add width column to fc_file_assoc.';
$db->rollback();
return false;
} else {
$content[] = '--- Added width column to fc_file_assoc table';
}
if (PHPWS_Error::logIfError($db->addTableColumn('height', 'smallint NOT NULL default 0'))) {
$content[] = '--- Unable to add height column to fc_file_assoc.';
$db->rollback();
return false;
} else {
$content[] = '--- Added height column to fc_file_assoc table';
}
if (PHPWS_Error::logIfError($db->addTableColumn('cropped', 'smallint NOT NULL default 0'))) {
$content[] = '--- Unable to add cropped column to fc_file_assoc.';
$db->rollback();
return false;
} else {
$content[] = '--- Added cropped column to fc_file_assoc table';
}
$db->commit();
if (!PHPWS_Boost::inBranch()) {
$content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/2_1_0.txt');
}
$content[] = '</pre>';
case version_compare($version, '2.2.0', '<'):
$content[] = '<pre>';
$db = new PHPWS_DB('fc_file_assoc');
if (PHPWS_Error::logIfError($db->addTableColumn('vertical', 'smallint not null default 0'))) {
$content[] = 'Unable to create vertical column in fc_file_assoc table.';
return false;
}
if (PHPWS_Error::logIfError($db->addTableColumn('num_visible', 'smallint not null default 3'))) {
$content[] = 'Unable to create num_visible column in fc_file_assoc table.';
return false;
}
$db->dropTableColumn('cropped');
$db = new PHPWS_DB('modules');
$db->addWhere('title', 'filecabinet');
$db->addValue('unregister', 1);
PHPWS_Error::logIfError($db->update());
$content[] = 'Unregister flag set in modules table.';
$files = array('javascript/jcaro_lite/', 'javascript/shutter/', 'javascript/pick_file/', 'javascript/update_file/head.js', 'javascript/update_file/default.php', 'javascript/clear_file/body.js', 'javascript/clear_file/head.js', 'javascript/clear_file/default.php', 'templates/image_view.tpl', 'templates/carousel_horz.tpl', 'templates/carousel_vert.tpl', 'templates/classify_list.tpl', 'templates/ss_box.tpl', 'templates/file_manager/carousel_pick.tpl', 'templates/file_manager/folder_content_view.tpl', 'templates/settings.tpl', 'templates/style.css', 'templates/file_list.tpl', 'templates/folder_list.tpl', 'templates/pinned.tpl', 'img/add.png', 'img/arrow_left.png', 'img/arrow_right.png', 'conf/icons.php', 'conf/config.php');
fc_updatefiles($files, $content);
if (!PHPWS_Boost::inBranch()) {
$content[] = file_get_contents(PHPWS_SOURCE_DIR . 'mod/filecabinet/boost/changes/2_2_0.txt');
}
case version_compare($version, '2.2.1', '<'):
$content[] = '<pre>
2.2.1 changes
-----------------------
+ Fixed folder deletion.
+ Clipped documents and images now have full pathing.