SearchAction.class.php
gehe zur Dokumentation dieser Datei00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00031 class SearchAction extends Action
00032 {
00036 function SearchAction()
00037 {
00038 }
00039
00040
00045 function searchcontent()
00046 {
00047 global $conf_php;
00048
00049 $listObjectIds = array();
00050 $listTemplateIds = array();
00051
00052 switch( $this->getRequestVar('type') )
00053 {
00054 case 'value':
00055 $e = new Value();
00056 $language = Session::getProjectLanguage();
00057 $e->languageid = $language->languageid;
00058
00059 $listObjectIds = $e->getObjectIdsByValue( $this->getRequestVar('text') );
00060
00061 $template = new Template();
00062 $listTemplateIds = $template->getTemplateIdsByValue( $this->getRequestVar('text') );
00063 break;
00064
00065 case 'lastchange_user':
00066 $e = new Value();
00067
00068 $language = Session::getProjectLanguage();
00069 $e->languageid = $language->languageid;
00070
00071 $listObjectIds = $e->getObjectIdsByLastChangeUserId( $this->getRequestVar('userid') );
00072 break;
00073 }
00074
00075
00076 $this->explainResult( $listObjectIds, $listTemplateIds );
00077
00078 }
00079
00080
00081
00085 function explainResult( $listObjectIds, $listTemplateIds )
00086 {
00087 $resultList = array();
00088
00089 foreach( $listObjectIds as $objectid )
00090 {
00091 $o = new Object( $objectid );
00092 $o->load();
00093 $resultList[$objectid] = array();
00094 $resultList[$objectid]['url'] = Html::url('main',$o->getType(),$objectid);
00095 $resultList[$objectid]['type'] = $o->getType();
00096 $resultList[$objectid]['name'] = $o->name;
00097 $resultList[$objectid]['lastchange_date'] = $o->lastchangeDate;
00098
00099 if ( $o->desc != '' )
00100 $resultList[$objectid]['desc'] = $o->desc;
00101 else
00102 $resultList[$objectid]['desc'] = lang('GLOBAL_NO_DESCRIPTION_AVAILABLE');
00103 }
00104
00105 foreach( $listTemplateIds as $templateid )
00106 {
00107 $t = new Template( $templateid );
00108 $t->load();
00109 $resultList['t'.$templateid] = array();
00110 $resultList['t'.$templateid]['url' ] = Html::url('main','template',$templateid);
00111 $resultList['t'.$templateid]['type'] = 'template';
00112 $resultList['t'.$templateid]['name'] = $t->name;
00113 $resultList['t'.$templateid]['desc'] = lang('GLOBAL_NO_DESCRIPTION_AVAILABLE');
00114 $resultList['t'.$templateid]['lastchange_date'] = 0;
00115 }
00116
00117 $this->setTemplateVar( 'result',$resultList );
00118 }
00119
00120
00125 function searchprop()
00126 {
00127 global $conf_php;
00128
00129 $listObjectIds = array();
00130 $listTemplateIds = array();
00131
00132 switch( $this->getRequestVar('type') )
00133 {
00134 case 'id':
00135 $o = new Object();
00136 if ( $o->isObjectId($this->getRequestVar('text')) )
00137 $listObjectIds[] = $this->getRequestVar('text');
00138 break;
00139
00140 case 'filename':
00141 $o = new Object();
00142 $listObjectIds = $o->getObjectIdsByFilename( $this->getRequestVar('text') );
00143
00144 $f = new File();
00145 $listObjectIds += $f->getObjectIdsByExtension( $this->getRequestVar('text') );
00146 break;
00147
00148 case 'name':
00149 $o = new Object();
00150 $listObjectIds = $o->getObjectIdsByName( $this->getRequestVar('text') );
00151 break;
00152
00153 case 'description':
00154 $o = new Object();
00155 $listObjectIds = $o->getObjectIdsByDescription( $this->getRequestVar('text') );
00156 break;
00157
00158 case 'create_user':
00159 $o = new Object();
00160 $listObjectIds = $o->getObjectIdsByCreateUserId( $this->getRequestVar('userid') );
00161 break;
00162
00163 case 'lastchange_user':
00164 $o = new Object();
00165 $listObjectIds = $o->getObjectIdsByLastChangeUserId( $this->getRequestVar('userid') );
00166 break;
00167
00168 default:
00169 die('search method unknown: '.$this->getRequestVar('type') );
00170 }
00171
00172 $this->explainResult( $listObjectIds, $listTemplateIds );
00173 }
00174
00175
00180 function quicksearch()
00181 {
00182 global $conf;
00183
00184 $listObjectIds = array();
00185 $listTemplateIds = array();
00186
00187 $text = $this->getRequestVar('search');
00188
00189 $o = new Object();
00190 if ( Object::available( intval($text) ) )
00191 $listObjectIds[] = intval( $text );
00192
00193 if ( $conf['search']['quicksearch']['search_name'] )
00194 {
00195 $o = new Object();
00196 $listObjectIds += $o->getObjectIdsByName( $text );
00197 }
00198
00199 if ( $conf['search']['quicksearch']['search_description'] )
00200 {
00201 $o = new Object();
00202 $listObjectIds += $o->getObjectIdsByDescription( $text );
00203 }
00204
00205 if ( $conf['search']['quicksearch']['search_filename'] )
00206 {
00207 $o = new Object();
00208 $listObjectIds += $o->getObjectIdsByFilename( $text );
00209
00210 $f = new File();
00211 $listObjectIds += $f->getObjectIdsByExtension( $text );
00212 }
00213
00214
00215 if ( $conf['search']['quicksearch']['search_content'] )
00216 {
00217 $e = new Value();
00218 $listObjectIds += $e->getObjectIdsByValue( $text );
00219
00220 $template = new Template();
00221 $listTemplateIds += $template->getTemplateIdsByValue( $text );
00222 }
00223
00224 $this->explainResult( $listObjectIds, $listTemplateIds );
00225 }
00226
00227
00228 function prop()
00229 {
00230 $user = Session::getUser();
00231 $this->setTemplateVar( 'users' ,User::listAll() );
00232 $this->setTemplateVar( 'act_userid',$user->userid );
00233 }
00234
00235
00236 function content()
00237 {
00238 $user = Session::getUser();
00239 $this->setTemplateVar( 'users' ,User::listAll() );
00240 $this->setTemplateVar( 'act_userid',$user->userid );
00241 }
00242
00243 function result()
00244 {
00245 }
00246 }
00247
00248 ?>