本文整理汇总了PHP中ilObject::_lookupObjIdByImportId方法的典型用法代码示例。如果您正苦于以下问题:PHP ilObject::_lookupObjIdByImportId方法的具体用法?PHP ilObject::_lookupObjIdByImportId怎么用?PHP ilObject::_lookupObjIdByImportId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ilObject
的用法示例。
在下文中一共展示了ilObject::_lookupObjIdByImportId方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildRef
/**
* @param $id
* @param $type
*
* @return bool|int
*/
protected function buildRef($id, $type)
{
if ($type == 'reference_id') {
if (!ilObjOrgUnit::_exists($id, true)) {
return false;
}
return $id;
} elseif ($type == 'external_id') {
$obj_id = ilObject::_lookupObjIdByImportId($id);
if (!ilObject::_hasUntrashedReference($obj_id)) {
return false;
}
$ref_ids = ilObject::_getAllReferences($obj_id);
if (!count($ref_ids)) {
return false;
}
foreach ($ref_ids as $ref_id) {
if (!ilObject::_isInTrash($ref_id)) {
return $ref_id;
}
}
return false;
} else {
return false;
}
}
示例2: buildRef
protected function buildRef($id, $type)
{
if ($type == "reference_id") {
if (!ilObjOrgUnit::_exists($id, true)) {
return false;
}
return $id;
} elseif ($type == "external_id") {
$obj_id = ilObject::_lookupObjIdByImportId($id);
$ref_ids = ilObject::_getAllReferences($obj_id);
if (!count($ref_ids)) {
return false;
}
return array_shift($ref_ids);
} else {
return false;
}
}
示例3: removeFromSystemByImportId
function removeFromSystemByImportId($sid, $import_id)
{
$this->initAuth($sid);
$this->initIlias();
if (!$this->__checkSession($sid)) {
return $this->__raiseError($this->__getMessage(), $this->__getMessageCode());
}
if (!strlen($import_id)) {
return $this->__raiseError('No import id given. Aborting!', 'Client');
}
global $rbacsystem, $tree, $ilLog;
// get obj_id
if (!($obj_id = ilObject::_lookupObjIdByImportId($import_id))) {
return $this->__raiseError('No object found with import id: ' . $import_id, 'Client');
}
// Check access
$permission_ok = false;
foreach ($ref_ids = ilObject::_getAllReferences($obj_id) as $ref_id) {
if ($rbacsystem->checkAccess('delete', $ref_id)) {
$permission_ok = true;
break;
}
}
if (!$permission_ok) {
return $this->__raiseError('No permission to delete the object with import id: ' . $import_id, 'Server');
}
// Delete all references (delete permssions and entries in object_reference)
foreach ($ref_ids as $ref_id) {
// All subnodes
$node_data = $tree->getNodeData($ref_id);
$subtree_nodes = $tree->getSubtree($node_data);
foreach ($subtree_nodes as $node) {
$ilLog->write('Soap: removeFromSystemByImportId(). Deleting object with title id: ' . $node['title']);
$tmp_obj = ilObjectFactory::getInstanceByRefId($node['ref_id']);
if (!is_object($tmp_obj)) {
return $this->__raiseError('Cannot create instance of reference id: ' . $node['ref_id'], 'Server');
}
$tmp_obj->delete();
}
// Finally delete tree
$tree->deleteTree($node_data);
}
return true;
}
示例4: initRole
protected function initRole($import_id)
{
if ($this->getRole()) {
return true;
}
$obj_id = ilObject::_lookupObjIdByImportId($import_id);
include_once './Services/Object/classes/class.ilObjectFactory.php';
if ($obj_id) {
$this->role = ilObjectFactory::getInstanceByObjId($obj_id, false);
}
if (!$this->getRole() instanceof ilObjRole or !$this->getRole() instanceof ilObjRoleTemplate) {
include_once './Services/AccessControl/classes/class.ilObjRoleTemplate.php';
$this->role = new ilObjRoleTemplate();
}
return true;
}
示例5:
static final function _lookupObjIdByImportId($a_import_id)
{
return parent::_lookupObjIdByImportId($a_import_id);
}
示例6: loginObserver
/**
* Called from base class after successful login
*
* @param string username
*/
public function loginObserver($a_username, $a_auth)
{
include_once './Services/WebServices/ECS/classes/class.ilECSUser.php';
$user = new ilECSUser($_GET);
if (!($usr_id = ilObject::_lookupObjIdByImportId($user->getImportId()))) {
$username = $this->createUser($user);
} else {
$username = $this->updateUser($user, $usr_id);
}
// set user imported
include_once './Services/WebServices/ECS/classes/class.ilECSImport.php';
$import = new ilECSImport($this->getCurrentServer()->getServerId(), $usr_id);
$import->save();
$a_auth->setAuth($username);
$this->log->write(__METHOD__ . ': Login succesesful');
return true;
}
示例7: loginObserver
/**
* Called from base class after successful login
*
* @param string username
*/
public function loginObserver($a_username, $a_auth)
{
include_once './Services/WebServices/ECS/classes/class.ilECSUser.php';
$user = new ilECSUser($_GET);
if (!($usr_id = ilObject::_lookupObjIdByImportId($user->getImportId()))) {
$username = $this->createUser($user);
} else {
$username = $this->updateUser($user, $usr_id);
}
// set user imported
include_once './Services/WebServices/ECS/classes/class.ilECSImport.php';
$import = new ilECSImport($this->getCurrentServer()->getServerId(), $usr_id);
$import->save();
// Store remote user data
include_once './Services/WebServices/ECS/classes/class.ilECSRemoteUser.php';
$remote = new ilECSRemoteUser();
$remote->setServerId($this->getCurrentServer()->getServerId());
$remote->setMid($this->getMID());
$remote->setRemoteUserId($user->getImportId());
$remote->setUserId(ilObjUser::_lookupId($username));
$GLOBALS['ilLog']->write(__METHOD__ . ': Current username ' . $username);
if (!$remote->exists()) {
$remote->create();
}
$a_auth->setAuth($username);
$this->log->write(__METHOD__ . ': Login succesesful');
return true;
}
示例8: simpleImportElement
public function simpleImportElement(SimpleXMLElement $o)
{
global $tree, $tpl, $ilUser;
$title = $o->title;
$description = $o->description;
$external_id = $o->external_id;
$create_mode = true;
$attributes = $o->attributes();
$action = (string) $attributes->action;
$ou_id = (string) $attributes->ou_id;
$ou_id_type = (string) $attributes->ou_id_type;
$ou_parent_id = (string) $attributes->ou_parent_id;
$ou_parent_id_type = (string) $attributes->ou_parent_id_type;
if ($ou_id == ilObjOrgUnit::getRootOrgRefId()) {
$this->addWarning("cannot_change_root_node", $ou_id ? $ou_id : $external_id, $action);
return;
}
if ($ou_parent_id == "__ILIAS") {
$ou_parent_id = ilObjOrgUnit::getRootOrgRefId();
$ou_parent_id_type = "reference_id";
}
$ref_id = $this->buildRef($ou_id, $ou_id_type);
$parent_ref_id = $this->buildRef($ou_parent_id, $ou_parent_id_type);
if ($action == "delete") {
if (!$parent_ref_id) {
$this->addError("ou_parent_id_not_valid", $ou_id ? $ou_id : $external_id, $action);
return;
}
if (!$ref_id) {
$this->addError("ou_id_not_valid", $ou_id ? $ou_id : $external_id, $action);
return;
}
include_once "./Services/Repository/classes/class.ilRepUtil.php";
$ru = new ilRepUtil($this);
try {
$ru->deleteObjects($parent_ref_id, array($ref_id)) !== false;
$this->stats["deleted"]++;
} catch (Excpetion $e) {
$this->addWarning("orgu_already_deleted", $ou_id ? $ou_id : $external_id, $action);
}
return;
} elseif ($action == "update") {
if (!$parent_ref_id) {
$this->addError("ou_parent_id_not_valid", $ou_id ? $ou_id : $external_id, $action);
return;
}
if (!$ref_id) {
$this->addError("ou_id_not_valid", $ou_id ? $ou_id : $external_id, $action);
return;
}
$object = new ilObjOrgUnit($ref_id);
$object->setTitle($title);
$arrTranslations = $object->getTranslations();
$object->updateTranslation($title, $description, $ilUser->getLanguage(), "");
$object->setDescription($description);
$object->update();
$object->setImportId($external_id);
if ($parent_ref_id != $tree->getParentId($ref_id)) {
try {
$tree->moveTree($ref_id, $parent_ref_id);
} catch (Exception $e) {
global $ilLog;
$this->addWarning("not_movable", $ou_id ? $ou_id : $external_id, $action);
$ilLog->write($e->getMessage() . "\\n" . $e->getTraceAsString());
}
}
$this->stats["updated"]++;
} elseif ($action == "create") {
if (!$parent_ref_id) {
$this->addError("ou_parent_id_not_valid", $ou_id ? $ou_id : $external_id, $action);
return;
}
if ($external_id) {
$obj_id = ilObject::_lookupObjIdByImportId($external_id);
if (ilObject::_hasUntrashedReference($obj_id)) {
$this->addError("ou_external_id_exists", $ou_id ? $ou_id : $external_id, $action);
return;
}
}
$object = new ilObjOrgUnit();
$object->setTitle($title);
$object->setDescription($description);
$object->setImportId($external_id);
$object->create();
$object->createReference();
$object->putInTree($parent_ref_id);
$object->setPermissions($ou_parent_id);
$this->stats["created"]++;
} else {
$this->addError("no_valid_action_given", $ou_id, $action);
}
}
示例9: testSetGetLookup
public function testSetGetLookup()
{
global $ilUser;
$obj = new ilObject();
$obj->setType("");
// otherwise type check will fail
$obj->setTitle("TestObject");
$obj->setDescription("TestDescription");
$obj->setImportId("imp_44");
$obj->create();
$obj->createReference();
$id = $obj->getId();
$ref_id = $obj->getRefId();
$obj = new ilObject($id, false);
if ($obj->getType() == "") {
$value .= "sg1-";
}
if ($obj->getTitle() == "TestObject") {
$value .= "sg2-";
}
if ($obj->getDescription() == "TestDescription") {
$value .= "sg3-";
}
if ($obj->getImportId() == "imp_44") {
$value .= "sg4-";
}
if ($obj->getOwner() == $ilUser->getId()) {
$value .= "sg5-";
}
$obj = new ilObject($ref_id);
if ($obj->getTitle() == "TestObject") {
$value .= "sg6-";
}
if ($obj->getCreateDate() == ($lu = $obj->getLastUpdateDate())) {
$value .= "sg7-";
}
$obj->setTitle("TestObject2");
sleep(2);
// we want a different date here...
$obj->update();
$obj = new ilObject($ref_id);
if ($lu != ($lu2 = $obj->getLastUpdateDate())) {
$value .= "up1-";
}
if ($obj->getTitle() == "TestObject2") {
$value .= "up2-";
}
if ($id == ilObject::_lookupObjIdByImportId("imp_44")) {
$value .= "lu1-";
}
if ($ilUser->getFullname() == ilObject::_lookupOwnerName(ilObject::_lookupOwner($id))) {
$value .= "lu2-";
}
if (ilObject::_lookupTitle($id) == "TestObject2") {
$value .= "lu3-";
}
if (ilObject::_lookupDescription($id) == "TestDescription") {
$value .= "lu4-";
}
if (ilObject::_lookupLastUpdate($id) == $lu2) {
$value .= "lu5-";
}
if (ilObject::_lookupObjId($ref_id) == $id) {
$value .= "lu6-";
}
if (ilObject::_lookupType($id) == "") {
$value .= "lu7-";
}
if (ilObject::_lookupObjectId($ref_id) == $id) {
$value .= "lu8-";
}
$ar = ilObject::_getAllReferences($id);
if (is_array($ar) && count($ar) == 1 && $ar[$ref_id] == $ref_id) {
$value .= "lu9-";
}
$ids = ilObject::_getIdsForTitle("TestObject2");
foreach ($ids as $i) {
if ($i == $id) {
$value .= "lu10-";
}
}
$obs = ilObject::_getObjectsByType("usr");
foreach ($obs as $ob) {
if ($ob["obj_id"] == $ilUser->getId()) {
$value .= "lu11-";
}
}
$d1 = ilObject::_lookupDeletedDate($ref_id);
ilObject::_setDeletedDate($ref_id);
$d2 = ilObject::_lookupDeletedDate($ref_id);
ilObject::_resetDeletedDate($ref_id);
$d3 = ilObject::_lookupDeletedDate($ref_id);
if ($d1 != $d2 && $d1 == $d3 && $d3 == null) {
$value .= "dd1-";
}
$obj->delete();
$this->assertEquals("sg1-sg2-sg3-sg4-sg5-sg6-sg7-up1-up2-" . "lu1-lu2-lu3-lu4-lu5-lu6-lu7-lu8-lu9-lu10-lu11-dd1-", $value);
}