5require_once(
"./Services/COPage/classes/class.ilPageContentGUI.php");
6require_once(
"./Services/COPage/classes/class.ilPCInteractiveImage.php");
7include_once(
"./Services/COPage/classes/class.ilMediaAliasItem.php");
31 public function __construct($a_pg_obj, $a_content_obj, $a_hier_id = 0, $a_pc_id =
"")
35 $this->tpl =
$DIC[
"tpl"];
36 $this->lng =
$DIC->language();
37 $this->tabs =
$DIC->tabs();
38 $this->ctrl =
$DIC->ctrl();
39 $this->toolbar =
$DIC->toolbar();
40 parent::__construct($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
56 $next_class = $this->ctrl->getNextClass($this);
59 $cmd = $this->ctrl->getCmd();
61 if (is_object($this->content_obj)) {
63 $this->
getTabs($this->tabs_gui);
78 switch ($next_class) {
80 case "ilpciimtriggereditorgui":
81 require_once(
"./Services/COPage/classes/class.ilPCIIMTriggerEditorGUI.php");
82 $ilTabs->setTabActive(
"triggers");
87 $ret = $this->ctrl->forwardCommand($image_map_edit);
105 public function getTabs(&$tab_gui, $a_create =
false, $a_change_obj_ref =
false)
112 $ilTabs->setBackTarget(
114 $ilCtrl->getParentReturn($this)
119 $lng->txt(
"cont_active_areas"),
120 $ilCtrl->getLinkTargetByClass(
"ilpciimtriggereditorgui",
"editMapAreas")
125 $lng->txt(
"cont_overlay_images"),
126 $ilCtrl->getLinkTarget($this,
"listOverlayImages")
131 $lng->txt(
"cont_content_popups"),
132 $ilCtrl->getLinkTarget($this,
"listContentPopups")
137 $lng->txt(
"cont_base_image") .
" & " .
$lng->txt(
"cont_caption"),
138 $ilCtrl->getLinkTarget($this,
"editBaseImage")
146 public function insert($a_post_cmd =
"edpost", $a_submit_cmd =
"create_mob", $a_input_error =
false)
158 if ($a_input_error) {
178 $ilCtrl->redirectByClass(array(
"ilpcinteractiveimagegui",
"ilpciimtriggereditorgui"),
"editMapAreas");
194 $ilTabs->activateTab(
"edit_base_image");
211 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
216 $fi->setAllowDeletion(
false);
217 if ($a_mode ==
"edit") {
218 $fi->setImage($this->content_obj->getBaseThumbnailTarget());
222 if ($a_mode ==
"edit") {
224 $ti =
new ilTextInputGUI($this->lng->txt(
"cont_caption"),
"caption");
225 $ti->setMaxLength(200);
231 if ($a_mode ==
"create") {
232 $form->setTitle(
$lng->txt(
"cont_ed_insert_iim"));
233 $form->addCommandButton(
"create_iim",
$lng->txt(
"save"));
234 $form->addCommandButton(
"cancelCreate",
$lng->txt(
"cancel"));
241 $this->content_obj->getPcId(),
244 $ti->setValue($std_alias_item->getCaption());
246 $form->setTitle(
$lng->txt(
"cont_edit_base_image"));
247 $form->addCommandButton(
"update",
$lng->txt(
"save"));
264 $this->content_obj->createMediaObject();
265 $media_obj = $this->content_obj->getMediaObject();
266 $media_obj->setTitle($_FILES[
'image_file'][
'name']);
267 $media_obj->create();
270 $media_obj->createDirectory();
272 $media_obj->addMediaItem($media_item);
273 $media_item->setPurpose(
"Standard");
275 $file = $mob_dir .
"/" . $_FILES[
'image_file'][
'name'];
276 ilUtil::moveUploadedFile(
277 $_FILES[
'image_file'][
'tmp_name'],
278 $_FILES[
'image_file'][
'name'],
284 $location = $_FILES[
'image_file'][
'name'];
287 $media_item->setFormat(
$format);
289 $media_item->setLocationType(
"LocalFile");
292 $media_obj->update();
294 $this->content_obj->createAlias($this->pg_obj, $this->hier_id, $this->pc_id);
295 $this->updated = $this->pg_obj->update();
296 if ($this->updated ===
true) {
297 $this->pg_obj->stripHierIDs();
298 $this->pg_obj->addHierIDs();
299 $ilCtrl->setParameter($this,
"hier_id", $this->content_obj->readHierId());
300 $ilCtrl->setParameter($this,
"pc_id", $this->content_obj->readPCId());
301 $this->content_obj->setHierId($this->content_obj->readHierId());
302 $this->
setHierId($this->content_obj->readHierId());
303 $this->content_obj->setPCId($this->content_obj->readPCId());
304 ilUtil::sendSuccess(
$lng->txt(
"cont_saved_interactive_image"),
true);
305 $this->ctrl->redirectByClass(
"ilpcinteractiveimagegui",
"edit");
321 $mob = $this->content_obj->getMediaObject();
323 $std_item = $mob->getMediaItem(
"Standard");
324 $location = $_FILES[
'image_file'][
'name'];
326 if (
$location !=
"" && is_file($_FILES[
'image_file'][
'tmp_name'])) {
327 $file = $mob_dir .
"/" . $_FILES[
'image_file'][
'name'];
328 ilUtil::moveUploadedFile(
329 $_FILES[
'image_file'][
'tmp_name'],
330 $_FILES[
'image_file'][
'name'],
336 $location = $_FILES[
'image_file'][
'name'];
339 $std_item->setLocationType(
"LocalFile");
349 $this->content_obj->getPcId(),
353 $_SESSION[
"il_pg_error"] = $this->pg_obj->update();
354 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
356 $ilCtrl->redirectByClass(
"ilpcinteractiveimagegui",
"editBaseImage");
369 $this->content_obj->getPcId(),
372 $std_alias_item->setHorizontalAlign(
"Center");
373 $_SESSION[
"il_pg_error"] = $this->pg_obj->update();
374 $this->ctrl->returnToParent($this,
"jump" . $this->hier_id);
386 $this->content_obj->getPcId(),
389 $std_alias_item->setHorizontalAlign(
"Left");
390 $_SESSION[
"il_pg_error"] = $this->pg_obj->update();
391 $this->ctrl->returnToParent($this,
"jump" . $this->hier_id);
403 $this->content_obj->getPcId(),
406 $std_alias_item->setHorizontalAlign(
"Right");
407 $_SESSION[
"il_pg_error"] = $this->pg_obj->update();
408 $this->ctrl->returnToParent($this,
"jump" . $this->hier_id);
420 $this->content_obj->getPcId(),
423 $std_alias_item->setHorizontalAlign(
"LeftFloat");
424 $_SESSION[
"il_pg_error"] = $this->pg_obj->update();
425 $this->ctrl->returnToParent($this,
"jump" . $this->hier_id);
437 $this->content_obj->getPcId(),
440 $std_alias_item->setHorizontalAlign(
"RightFloat");
441 $_SESSION[
"il_pg_error"] = $this->pg_obj->update();
442 $this->ctrl->returnToParent($this,
"jump" . $this->hier_id);
465 $ilTabs->setTabActive(
"list_overlays");
467 $ilToolbar->addButton(
468 $lng->txt(
"cont_add_images"),
469 $ilCtrl->getLinkTarget($this,
"addOverlayImages")
472 include_once(
"./Services/COPage/classes/class.ilPCIIMOverlaysTableGUI.php");
476 $this->content_obj->getMediaObject()
509 $ilTabs->setTabActive(
"list_overlays");
511 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
513 $form->setTitle(
$lng->txt(
"cont_add_images"));
517 include_once(
"./Services/Form/classes/class.ilFileWizardInputGUI.php");
519 $fi->setSuffixes(array(
"gif",
"jpeg",
"jpg",
"png"));
520 $fi->setFilenames(array(0 =>
''));
521 $fi->setRequired(
true);
524 $form->addCommandButton(
"uploadOverlayImages",
$lng->txt(
"upload"));
525 $form->addCommandButton(
"listOverlayImages",
$lng->txt(
"cancel"));
543 if (
$form->checkInput()) {
544 if (is_array($_FILES[
"ovfile"][
"name"])) {
545 foreach ($_FILES[
"ovfile"][
"name"] as $k => $v) {
546 $name = $_FILES[
"ovfile"][
"name"][$k];
547 $mime = $_FILES[
"ovfile"][
"type"][$k];
548 $tmp_name = $_FILES[
"ovfile"][
"tmp_name"][$k];
549 $size = $_FILES[
"ovfile"][
"size"][$k];
551 $this->content_obj->getMediaObject()->uploadAdditionalFile(
556 $piname = pathinfo(
$name);
557 $this->content_obj->getMediaObject()->makeThumbnail(
559 basename(
$name,
"." . $piname[
'extension']) .
".png"
563 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"));
564 $ilCtrl->redirect($this,
"listOverlayImages");
566 $form->setValuesByPost();
581 $ilTabs->setTabActive(
"list_overlays");
583 if (!is_array(
$_POST[
"file"]) || count(
$_POST[
"file"]) == 0) {
585 $ilCtrl->redirect($this,
"listOverlayImages");
587 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
589 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
590 $cgui->setHeaderText(
$lng->txt(
"cont_really_delete_overlays"));
591 $cgui->setCancel(
$lng->txt(
"cancel"),
"listOverlayImages");
592 $cgui->setConfirm(
$lng->txt(
"delete"),
"deleteOverlays");
595 $cgui->addItem(
"file[]",
$i,
$i);
598 $tpl->setContent($cgui->getHTML());
610 if (is_array(
$_POST[
"file"]) && count(
$_POST[
"file"]) != 0) {
613 $this->content_obj->getMediaObject()
614 ->removeAdditionalFile(
"overlays/" .
$f);
617 ilUtil::sendSuccess(
$lng->txt(
"cont_overlays_have_been_deleted"),
true);
619 $ilCtrl->redirect($this,
"listOverlayImages");
640 $ilTabs->setTabActive(
"content_popups");
642 $ilToolbar->addButton(
643 $lng->txt(
"cont_add_popup"),
644 $ilCtrl->getLinkTarget($this,
"addPopup")
647 include_once(
"./Services/COPage/classes/class.ilPCIIMPopupTableGUI.php");
667 $this->content_obj->addContentPopup();
668 $this->pg_obj->update();
669 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
670 $ilCtrl->redirect($this,
"listContentPopups");
681 if (is_array(
$_POST[
"title"])) {
683 $this->content_obj->savePopUps($titles);
684 $this->pg_obj->update();
685 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
687 $ilCtrl->redirect($this,
"listContentPopups");
700 $ilTabs->setTabActive(
"content_popups");
702 if (!is_array(
$_POST[
"tid"]) || count(
$_POST[
"tid"]) == 0) {
704 $ilCtrl->redirect($this,
"listContentPopups");
706 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
708 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
709 $cgui->setHeaderText(
$lng->txt(
"cont_really_delete_popups"));
710 $cgui->setCancel(
$lng->txt(
"cancel"),
"listContentPopups");
711 $cgui->setConfirm(
$lng->txt(
"delete"),
"deletePopups");
714 $cgui->addItem(
"tid[]",
$i,
$_POST[
"title"][
$i]);
717 $tpl->setContent($cgui->getHTML());
732 if (is_array(
$_POST[
"tid"]) && count(
$_POST[
"tid"]) != 0) {
735 $this->content_obj->deletePopup(
$id[0],
$id[1]);
737 $this->pg_obj->update();
738 ilUtil::sendSuccess(
$lng->txt(
"cont_popups_have_been_deleted"),
true);
740 $ilCtrl->redirect($this,
"listContentPopups");
An exception for terminatinating execution or to throw for unit testing.
Confirmation screen class.
TableGUI class for interactive image overlays.
User interface class for page content map editor.
User interface class for interactive images.
confirmPopupDeletion()
Confirm popup deletion.
editBaseImage($a_form=null)
Edit base image.
rightFloatAlign()
align media object to right, floating text
leftAlign()
align media object to left
listContentPopups()
List content popups.
deleteOverlays()
Delete overlays.
__construct($a_pg_obj, $a_content_obj, $a_hier_id=0, $a_pc_id="")
Constructor @access public.
update()
Update (base image)
initAddOverlaysForm()
Init add overlays form.
insert($a_post_cmd="edpost", $a_submit_cmd="create_mob", $a_input_error=false)
Insert new media object form.
leftFloatAlign()
align media object to left, floating text
uploadOverlayImages()
Upload overlay images.
listOverlayImages()
List overlay images.
create()
Create new content element.
initForm($a_mode="edit")
Init creation/base image form.
getTabs(&$tab_gui, $a_create=false, $a_change_obj_ref=false)
Add tabs to ilTabsGUI object.
executeCommand()
execute command
centerAlign()
Align media object to center.
confirmDeleteOverlays()
Confirm overlay deletion.
deletePopups()
Delete popups.
addOverlayImages($a_form=null)
Add overlay images.
rightAlign()
align media object to right
User Interface for Editing of Page Content Objects (Paragraphs, Tables, ...)
getHierId()
get hierarchical id in dom object
displayValidationError()
display validation errors
setHierId($a_hier_id)
get hierarchical id in dom object
This class represents a text property in a property form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
if(!array_key_exists('StateId', $_REQUEST)) $id
if(isset($_POST['submit'])) $form