public function save($post) { // clear all selected permissions $tps = array(); foreach ($post['tpID'] as $tpID) { $tp = TaskPermission::getByID($tpID); $tps[] = $tp; $tp->clearPermissions(); } foreach ($post['selectedEntity'] as $e) { if ($e != '') { $o1 = explode('_', $e); if ($o1[0] == 'uID') { $obj = UserInfo::getByID($o1[1]); } else { $obj = Group::getByID($o1[1]); } foreach ($tps as $tp) { if ($post[$e . '_' . $tp->getTaskPermissionID()] == 1) { $tp->addAccess($obj); } } } } }
public static function addTask($tpHandle, $tpName, $tpDescription, $pkg = false) { $pkgID = 0; if (is_object($pkg)) { $pkgID = $pkg->getPackageID(); } if (!$tpDescription) { $tpDescription = ''; } $db = Loader::db(); $v = array($tpHandle, $tpName, $tpDescription, $pkgID); $db->Execute('insert into TaskPermissions (tpHandle, tpName, tpDescription, pkgID) values (? ,?, ?, ?)', $v); $id = $db->Insert_ID(); if ($id > 0) { return TaskPermission::getByID($id); } }