00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00057 class tx_indexedsearch_crawlerhook {
00058
00064 function initMessage() {
00065 return 'Start of Custom Example Indexing session!';
00066 }
00067
00080 function indexOperation($cfgRec,&$session_data,$params,&$pObj) {
00081
00082
00083 if (!is_array($session_data)) {
00084 $session_data = array(
00085 'step' => 0
00086 );
00087 }
00088
00089
00090 $session_data['step']++;
00091
00092
00093 switch((int)$session_data['step']) {
00094 case 1:
00095
00096
00097 $pObj->loadIndexerClass();
00098
00099
00100 $rl = $pObj->getUidRootLineForClosestTemplate($cfgRec['pid']);
00101
00102
00103 $sys_language_uid = 0;
00104
00105
00106 $exampleItems = array(
00107 array(
00108 'ID' => '123',
00109 'title' => 'Title of Example 1',
00110 'content' => 'Vestibulum leo turpis, fringilla sit amet, semper eget, vestibulum ut, arcu. Vestibulum mauris orci, vulputate quis, congue eget, nonummy'
00111 ),
00112 array(
00113 'ID' => 'example2',
00114 'title' => 'Title of Example 2',
00115 'content' => 'Cras tortor turpis, vulputate non, accumsan a, pretium in, magna. Cras turpis turpis, pretium pulvinar, pretium vel, nonummy eu.'
00116 )
00117 );
00118
00119
00120 foreach($exampleItems as $item) {
00121
00122
00123 parse_str('&itemID='.rawurlencode($item['ID']), $GETparams);
00124
00125
00126 $indexerObj = &t3lib_div::makeInstance('tx_indexedsearch_indexer');
00127 $indexerObj->backend_initIndexer($cfgRec['pid'], 0, $sys_language_uid, '', $rl, $GETparams, FALSE);
00128 $indexerObj->backend_setFreeIndexUid($cfgRec['uid'], $cfgRec['set_id']);
00129 $indexerObj->forceIndexing = TRUE;
00130
00131
00132 $indexerObj->backend_indexAsTYPO3Page(
00133 $item['title'],
00134 '',
00135 '',
00136 $item['content'],
00137 $GLOBALS['LANG']->charSet,
00138 $item['tstamp'],
00139 $item['create_date'],
00140 $item['ID']
00141 );
00142 }
00143 break;
00144 case 2:
00145
00146
00147 $pObj->loadIndexerClass();
00148
00149
00150 $rl = $pObj->getUidRootLineForClosestTemplate($cfgRec['pid']);
00151
00152
00153 $sys_language_uid = 0;
00154
00155
00156 $indexerObj = &t3lib_div::makeInstance('tx_indexedsearch_indexer');
00157 $indexerObj->backend_initIndexer($cfgRec['pid'], 0, $sys_language_uid, '', $rl);
00158 $indexerObj->backend_setFreeIndexUid($cfgRec['uid'], $cfgRec['set_id']);
00159 $indexerObj->hash['phash'] = -1;
00160
00161
00162 $indexerObj->indexRegularDocument('fileadmin/templates/index.html', TRUE);
00163 break;
00164 case 3:
00165
00166
00167 $pObj->loadIndexerClass();
00168
00169
00170 $indexerObj = &t3lib_div::makeInstance('tx_indexedsearch_indexer');
00171 $indexerObj->backend_initIndexer($cfgRec['pid'], 0, $sys_language_uid, '', $rl);
00172 $indexerObj->backend_setFreeIndexUid($cfgRec['uid'], $cfgRec['set_id']);
00173 $indexerObj->hash['phash'] = -1;
00174
00175
00176 $indexerObj->indexExternalUrl('http:
00177 break;
00178 }
00179
00180
00181 if ($session_data['step']<=3) {
00182 $title = 'Step #'.$session_data['step'].' of 3';
00183 $pObj->addQueueEntryForHook($cfgRec, $title);
00184 }
00185 }
00186 }
00187
00188
00189 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/indexed_search/example/class.crawlerhook.php']) {
00190 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/indexed_search/example/class.crawlerhook.php']);
00191 }
00192 ?>