本文整理汇总了PHP中ilObjectFactory::getClassByType方法的典型用法代码示例。如果您正苦于以下问题:PHP ilObjectFactory::getClassByType方法的具体用法?PHP ilObjectFactory::getClassByType怎么用?PHP ilObjectFactory::getClassByType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ilObjectFactory
的用法示例。
在下文中一共展示了ilObjectFactory::getClassByType方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: delete
/**
* Show delete confirmation
*/
public function delete()
{
global $tpl, $ilSetting, $ilErr;
$this->ctrl->setReturnByClass(get_class($this->getContainer()), '');
$to_delete = array();
if ((int) $_GET['item_ref_id']) {
$to_delete = array((int) $_GET['item_ref_id']);
}
if (isset($_POST['id']) and is_array($_POST['id'])) {
$to_delete = $_POST['id'];
}
if (!$to_delete) {
$ilErr->raiseError($this->lng->txt('no_checkbox'), $ilErr->MESSAGE);
}
include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
$confirm = new ilConfirmationGUI();
$confirm->setFormAction($this->ctrl->getFormActionByClass(get_class($this->getContainer()), 'cancel'));
$confirm->setHeaderText('');
$confirm->setCancel($this->lng->txt('cancel'), 'cancelDelete');
$confirm->setConfirm($this->lng->txt('delete'), 'performDelete');
foreach ($to_delete as $delete) {
$obj_id = ilObject::_lookupObjId($delete);
$type = ilObject::_lookupType($obj_id);
$confirm->addItem('id[]', $delete, call_user_func(array(ilObjectFactory::getClassByType($type), '_lookupTitle'), $obj_id), ilUtil::getTypeIconPath($type, $obj_id));
}
$msg = $this->lng->txt("info_delete_sure");
if (!$ilSetting->get('enable_trash')) {
$msg .= "<br/>" . $this->lng->txt("info_delete_warning_no_trash");
}
ilUtil::sendQuestion($msg);
$tpl->setContent($confirm->getHTML());
}
示例2: __construct
/**
* Constructor
* @access public
* @param string $a_target scriptname
* @param string $a_session_variable session_variable
* @param ilWorkspaceTree $a_tree workspace tree
* @param ilWorkspaceAccessHandler $a_access_handler workspace access handler
*/
public function __construct($a_type, $a_target, $a_session_variable, ilWorkspaceTree $a_tree, ilWorkspaceAccessHandler $a_access_handler)
{
global $ilCtrl;
$this->ctrl = $ilCtrl;
$this->type = $a_type;
$this->access = $a_access_handler;
parent::__construct($a_target);
// #11173
if (!$a_tree->readRootId()) {
// create (workspace) root folder
$root = ilObjectFactory::getClassByType("wsrt");
$root = new $root(null);
$root->create();
$root_id = $a_tree->createReference($root->getId());
$a_tree->addTree($a_tree->getTreeId(), $root_id);
$a_tree->setRootId($root_id);
}
$this->tree = $a_tree;
$this->root_id = $this->tree->readRootId();
$this->order_column = 'title';
$this->setSessionExpandVariable($a_session_variable);
// reset filter
$this->filter = array();
$this->addFilter('wsrt');
$this->addFilter('wfld');
$this->addFormItemForType('wsrt');
$this->addFormItemForType('wfld');
$this->setFiltered(true);
$this->setFilterMode(IL_FM_POSITIVE);
}
示例3: showDeleteConfirmation
/**
* Show delete confirmation table
*/
function showDeleteConfirmation($a_ids, $a_supress_message = false)
{
global $lng, $ilSetting, $ilCtrl, $tpl, $objDefinition;
if (!is_array($a_ids) || count($a_ids) == 0) {
ilUtil::sendFailure($lng->txt("no_checkbox"), true);
return false;
}
// Remove duplicate entries
$a_ids = array_unique((array) $a_ids);
include_once "./Services/Utilities/classes/class.ilConfirmationGUI.php";
$cgui = new ilConfirmationGUI();
if (!$a_supress_message) {
$msg = $lng->txt("info_delete_sure");
if (!$ilSetting->get('enable_trash')) {
$msg .= "<br/>" . $lng->txt("info_delete_warning_no_trash");
}
$cgui->setHeaderText($msg);
}
$cgui->setFormAction($ilCtrl->getFormAction($this->parent_gui));
$cgui->setCancel($lng->txt("cancel"), "cancelDelete");
$cgui->setConfirm($lng->txt("confirm"), "confirmedDelete");
$form_name = "cgui_" . md5(uniqid());
$cgui->setFormName($form_name);
$deps = array();
foreach ($a_ids as $ref_id) {
$obj_id = ilObject::_lookupObjId($ref_id);
$type = ilObject::_lookupType($obj_id);
$title = call_user_func(array(ilObjectFactory::getClassByType($type), '_lookupTitle'), $obj_id);
$alt = $objDefinition->isPlugin($type) ? $lng->txt("icon") . " " . ilPlugin::lookupTxt("rep_robj", $type, "obj_" . $type) : $lng->txt("icon") . " " . $lng->txt("obj_" . $type);
$title .= $this->handleMultiReferences($obj_id, $ref_id, $form_name);
$cgui->addItem("id[]", $ref_id, $title, ilObject::_getIcon($obj_id, "small", $type), $alt);
ilObject::collectDeletionDependencies($deps, $ref_id, $obj_id, $type);
}
$deps_html = "";
if (is_array($deps) && count($deps) > 0) {
include_once "./Services/Repository/classes/class.ilRepDependenciesTableGUI.php";
$tab = new ilRepDependenciesTableGUI($deps);
$deps_html = "<br/><br/>" . $tab->getHTML();
}
$tpl->setContent($cgui->getHTML() . $deps_html);
return true;
}
示例4: initTree
/**
* Init personal tree
*/
protected function initTree()
{
global $ilUser;
$user_id = $ilUser->getId();
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
$this->tree = new ilWorkspaceTree($user_id);
if (!$this->tree->readRootId()) {
// create (workspace) root folder
$root = ilObjectFactory::getClassByType("wsrt");
$root = new $root(null);
$root->create();
$root_id = $this->tree->createReference($root->getId());
$this->tree->addTree($user_id, $root_id);
$this->tree->setRootId($root_id);
}
}
示例5: deleteConfirmation
/**
* Display delete confirmation form (workspace specific)
*
* This should probably be moved elsewhere as done with RepUtil
*/
protected function deleteConfirmation()
{
global $lng, $tpl, $objDefinition;
$node_id = (int) $_REQUEST["item_ref_id"];
if (!$node_id) {
ilUtil::sendFailure($lng->txt("no_checkbox"), true);
$this->ctrl->redirect($this, "");
}
// on cancel or fail we return to parent node
$parent_node = $this->tree->getParentId($node_id);
$this->ctrl->setParameter($this, "wsp_id", $parent_node);
include_once "./Services/Utilities/classes/class.ilConfirmationGUI.php";
$cgui = new ilConfirmationGUI();
$cgui->setHeaderText($lng->txt("info_delete_sure") . "<br/>" . $lng->txt("info_delete_warning_no_trash"));
$cgui->setFormAction($this->ctrl->getFormAction($this));
$cgui->setCancel($lng->txt("cancel"), "cancelDelete");
$cgui->setConfirm($lng->txt("confirm"), "confirmedDelete");
$a_ids = array($node_id);
foreach ($a_ids as $node_id) {
$children = $this->tree->getSubTree($this->tree->getNodeData($node_id));
foreach ($children as $child) {
$node_id = $child["wsp_id"];
$obj_id = $this->tree->lookupObjectId($node_id);
$type = ilObject::_lookupType($obj_id);
$title = call_user_func(array(ilObjectFactory::getClassByType($type), '_lookupTitle'), $obj_id);
// if anything fails, abort the whole process
if (!$this->checkPermissionBool("delete", "", "", $node_id)) {
ilUtil::sendFailure($lng->txt("msg_no_perm_delete") . " " . $title, true);
$this->ctrl->redirect($this);
}
$cgui->addItem("id[]", $node_id, $title, ilObject::_getIcon($obj_id, "small", $type), $lng->txt("icon") . " " . $lng->txt("obj_" . $type));
}
}
$tpl->setContent($cgui->getHTML());
}
示例6: confirmRemoveFromSystemObject
/**
* Confirmation for trash
*
* @param array $a_ids ref_ids
*/
public function confirmRemoveFromSystemObject($a_ids)
{
global $ilCtrl, $lng, $objDefinition, $tpl;
include_once "./Services/Utilities/classes/class.ilConfirmationGUI.php";
if (!is_array($a_ids)) {
$a_ids = array($a_ids);
}
$cgui = new ilConfirmationGUI();
$cgui->setFormAction($ilCtrl->getFormAction($this->parent_gui));
$cgui->setCancel($lng->txt("cancel"), "trash");
$cgui->setConfirm($lng->txt("confirm"), "removeFromSystem");
$cgui->setFormName("trash_confirmation");
$cgui->setHeaderText($lng->txt("info_delete_sure"));
foreach ($a_ids as $id) {
$obj_id = ilObject::_lookupObjId($id);
$type = ilObject::_lookupType($obj_id);
$title = call_user_func(array(ilObjectFactory::getClassByType($type), '_lookupTitle'), $obj_id);
$alt = $objDefinition->isPlugin($type) ? $lng->txt("icon") . " " . ilPlugin::lookupTxt("rep_robj", $type, "obj_" . $type) : $lng->txt("icon") . " " . $lng->txt("obj_" . $type);
$cgui->addItem("trash_id[]", $id, $title, ilObject::_getIcon($obj_id, "small", $type), $alt);
}
$tpl->setContent($cgui->getHTML());
}
示例7: createTreeForUser
/**
* Create personal workspace tree for user
*
* @param int $a_user_id
*/
public function createTreeForUser($a_user_id)
{
$root = ilObjectFactory::getClassByType("wsrt");
$root = new $root(null);
$root->create();
$root_id = $this->createReference($root->getId());
$this->addTree($a_user_id, $root_id);
$this->setRootId($root_id);
}