ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilObjectCopySearchResultTableGUI.php
Go to the documentation of this file.
1 <?php
2 /*
3  +-----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +-----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +-----------------------------------------------------------------------------+
22 */
23 
24 include_once './Services/Table/classes/class.ilTable2GUI.php';
25 
37 {
38  private $type = '';
39  private $selected_reference = null;
40 
47  public function __construct($a_parent_class,$a_parent_cmd,$a_type)
48  {
49  global $lng,$ilCtrl,$ilUser,$objDefinition;
50 
51  parent::__construct($a_parent_class,$a_parent_cmd);
52  $this->type = $a_type;
53 
54  $this->lng = $lng;
55  $this->ctrl = $ilCtrl;
56 
57  if(!$objDefinition->isPlugin($this->type))
58  {
59  $title = $this->lng->txt('obj_'.$this->type.'_duplicate');
60  }
61  else
62  {
63  include_once "Services/Component/classes/class.ilPlugin.php";
64  $plugin = ilPlugin::getPluginObject(IL_COMP_SERVICE, "Repository", "robj",
65  ilPlugin::lookupNameForId(IL_COMP_SERVICE, "Repository", "robj", $this->type));
66  $title = $plugin->txt('obj_'.$this->type.'_duplicate');
67  }
68 
69  $this->setTitle($title);
70  $ilUser->getPref('search_max_hits');
71 
72  $this->addColumn($this->lng->txt('search_title_description'),'title','99%');
73 
74  $this->setEnableHeader(true);
75  $this->setFormAction($ilCtrl->getFormAction($this->getParentObject()));
76  $this->setRowTemplate("tpl.obj_copy_search_result_row.html", "Services/Object");
77  $this->setEnableTitle(true);
78  $this->setEnableNumInfo(true);
79  $this->setDefaultOrderField('title');
80 
81  if($objDefinition->isContainer($this->type))
82  {
83  $this->addCommandButton('saveSource', $this->lng->txt('btn_next'));
84  }
85  else
86  {
87  $this->addCommandButton('saveSource', $title);
88  }
89 
90  $this->addCommandButton('cancel', $this->lng->txt('btn_back'));
91  }
92 
98  public function setSelectedReference($a_selected_reference)
99  {
100  $this->selected_reference = $a_selected_reference;
101  }
102 
107  public function getSelectedReference()
108  {
110  }
111 
117  public function parseSearchResults($a_res)
118  {
119  foreach($a_res as $obj_id => $references)
120  {
121  $r['title'] = ilObject::_lookupTitle($obj_id);
122  $r['desc'] = ilObject::_lookupDescription($obj_id);
123  $r['obj_id'] = $obj_id;
124  $r['refs'] = $references;
125 
126  $rows[] = $r;
127  }
128 
129  $this->setData($rows ? $rows : array());
130  }
131 
137  protected function fillRow($set)
138  {
139  $this->tpl->setVariable('VAL_TITLE',$set['title']);
140  if(strlen($set['desc']))
141  {
142  $this->tpl->setVariable('VAL_DESC',$set['desc']);
143  }
144  $this->tpl->setVariable('TXT_PATHES',$this->lng->txt('pathes'));
145 
146  foreach((array) $set['refs'] as $reference)
147  {
148  include_once './Services/Tree/classes/class.ilPathGUI.php';
149  $path = new ilPathGUI();
150 
151  $this->tpl->setCurrentBlock('path');
152  $this->tpl->setVariable('VAL_ID',$reference);
153  $this->tpl->setVariable('VAL_PATH',$path->getPath(ROOT_FOLDER_ID, $reference));
154 
155  if($reference == $this->getSelectedReference())
156  {
157  $this->tpl->setVariable('VAL_CHECKED','checked="checked"');
158  }
159 
160  $this->tpl->parseCurrentBlock();
161  }
162  }
163 }