本文整理匯總了PHP中Subject::move_position_forward方法的典型用法代碼示例。如果您正苦於以下問題:PHP Subject::move_position_forward方法的具體用法?PHP Subject::move_position_forward怎麽用?PHP Subject::move_position_forward使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Subject
的用法示例。
在下文中一共展示了Subject::move_position_forward方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: set_position
/**
* Sets the position of a subject in the timeboard schedule
* This function automatically reschedules all subs to properly fit in the timeboard after setting the new position
* @param integer $id The id of the subject to set position to
* @param integer $position The position(in timestamp format) to set to the subject
* @param integer $type The position type set by who(user or manager)
* @return boolean true on success false on failure
*/
public function set_position($id, $position, $type = 'manager')
{
if ($position < SiteLibrary::utc_time()) {
return false;
}
//Position to be set can't be smaller than the current available timeboard positions
//if(Subject::model()->find('id=:id AND position=:position',array(':id'=>$id,':position'=>$position))) return false; //Nothing to do, already set
//If there is a fixed sub occupying the requested position, then move it forward
if ($occupied_pos = Subject::model()->find('(user_position > 0 OR manager_position > 0) AND position = ' . $position . ' AND id<>' . $id)) {
Subject::move_position_forward($occupied_pos->id, false);
}
if ($type == 'manager') {
Subject::model()->updateByPk($id, array('position' => $position, 'manager_position' => $position));
} else {
Subject::model()->updateByPk($id, array('position' => $position, 'user_position' => $position));
}
Subject::reschedule_positions();
return true;
}