/** * Override method to index a certain result * * @param FinderIndexerResult $item Finder item * @param string $format Formatting (html or text) * * @return null */ protected function index(FinderIndexerResult $item, $format = 'html') { /* if (JComponentHelper::isEnabled($this->extension) == false) { return; } */ // Prepare the item $item->access = 1; // Define these items as songs $item->addTaxonomy('Type', 'Song'); // Add artist information $item->addInstruction(FinderIndexer::META_CONTEXT, 'artist'); $item->addTaxonomy('Artist', $item->artist); // Set language //$item->setLanguage(); //$item->addTaxonomy('Language', $item->language); // Set URLs $item->route = 'index.php?option=com_music&view=song&id=' . $item->id; $item->url = $item->route; $item->path = FinderIndexerHelper::getContentPath($item->route); // Allow others to hook into our $item as well FinderIndexerHelper::getContentExtras($item); $this->indexer->index($item); }
protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $item->body = FinderIndexerHelper::prepareContent($item->getElement('body')); $item->summary = FinderIndexerHelper::prepareContent($item->getElement('body')); $item->addTaxonomy('Type', 'FSF_FINDER_GLOSSARY'); $word = $item->title; $anchor = strtolower(preg_replace("/[^A-Za-z0-9]/", '-', $word)); $letter = strtolower(substr($word, 0, 1)); $item->url = 'index.php?option=com_fsf&view=glossary&letter=' . $letter . '#' . $anchor; $item->route = $item->url; $item->state = $item->published; $item->access = 1; // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (FSFJ3Helper::IsJ3()) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param object The item to index as an FinderIndexerResult object. * @throws Exception on database error. */ protected function _index(FinderIndexerResult $item) { // Build the necessary route and path information. $item->url = $this->_getURL($item->topic); $item->itemid = '100065'; $item->route = $item->url . '&post=' . $item->id . '&Itemid=' . $item->itemid . '#p' . $item->id; $item->path = FinderIndexerHelper::getContentPath($item->route); // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'display_name'); // Strip slashes! $item->title = stripslashes($item->title); $item->summary = stripslashes($item->summary); $item->display_name = stripslashes($item->display_name); $item->text = FinderIndexerHelper::prepareContent($item->summary); // Translate the access group to an access level. //$item->cat_access = $this->_getAccessLevel($item->cat_access); // Inherit state and access form the category. $item->state = 1; $item->access = 0; // Set the language. $item->language = FinderIndexerHelper::getDefaultLanguage(); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Forum Post'); // Add the author taxonomy data. if (!empty($item->author)) { $item->addTaxonomy('Forum User', $item->display_name); } // Index the item. FinderIndexer::index($item); }
protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialize the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = JComponentHelper::getParams('com_virtuemart', true); $item->params->merge($registry); $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; // Trigger the onContentPrepare event. $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params); $item->body = FinderIndexerHelper::prepareContent($item->body, $item->params); // Build the necessary route and path information. $item->url = "index.php?option=com_virtuemart&view=productdetails&virtuemart_category_id=206&virtuemart_product_id=" . $item->id; $item->route = "index.php?option=com_virtuemart&view=productdetails&virtuemart_category_id=206&virtuemart_product_id=" . $item->id; $item->path = FinderIndexerHelper::getContentPath($item->route); // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); // Adjust the title if necessary. if (!empty($title) && $this->params->get('use_menu_title', true)) { $item->title = $title; } // Add the meta-author. $item->metaauthor = $item->metadata->get('author'); // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); // Translate the state. Articles should only be published if the category is published. $item->state = 1; $item->cat_state = 1; $item->cat_access = 1; $item->access = 1; // Add the type taxonomy data. $item->addTaxonomy('Type', 'VM Product'); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, 1, 1); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. $this->indexer->index($item); }
/** * Tests the setLanguage method * * @return void * * @since 3.1 */ public function testSetLanguage() { // Test for an empty language $this->object->language = ''; $this->object->setLanguage(); $this->assertEquals($this->object->language, $this->object->defaultLanguage); // Test for "all" language $this->object->language = '*'; $this->object->setLanguage(); $this->assertEquals($this->object->language, '*'); // Test for "it-IT" language $this->object->language = 'it-IT'; $this->object->setLanguage(); $this->assertEquals($this->object->language, 'it-IT'); }
protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $item->body = FinderIndexerHelper::prepareContent($item->getElement('body')); $item->summary = FinderIndexerHelper::prepareContent($item->getElement('body')); $item->addTaxonomy('Type', 'FSS_FINDER_KB_ARTICLE'); $item->url = 'index.php?option=com_fss&view=kb&kbartid=' . $item->getElement('id'); $item->route = $item->url; $item->state = $item->getElement('pub'); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (FSSJ3Helper::IsJ3()) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialize the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = $registry; $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; // Build the necessary route and path information. $item->url = $this->getURL($item->id, $this->extension, $this->layout); if ($item->slug instanceof JCategoryNode) { $ads_id = $item->slug->id; } else { $ads_id = (int) $item->slug; } $adsmodelcontent = new AdsmanagerModelContent(); $ads_catid = $adsmodelcontent->getContent($ads_id, true)->catid; $url = "index.php?option=com_adsmanager&view=details&id=" . $ads_id . "&catid=" . $ads_catid; $xhtml = true; $ssl = null; $item->route = TRoute::_($url); //$item->route = AdsmanagerHelperRoute::getAdsRoute($item->slug, $item->catslug); //$item->route = AdsmanagerHelperRoute::_("index.php?option=com_adsmanager&view=details&id=".$row->id."&catid=".$row->catid); $item->path = FinderIndexerHelper::getContentPath($item->route); /* * Add the meta-data processing instructions based on the newsfeeds * configuration parameters. */ // Add the meta-author. $item->metaauthor = $item->metadata->get('author'); // Handle the link to the meta-data. $item->addInstruction(FinderIndexer::META_CONTEXT, 'link'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Ads'); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. $this->indexer->index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // load foundry config $config = FD::config(); $privacy = FD::privacy($item->user_id); //default access $access = 1; if ($config->get('users.indexer.privacy', 1)) { $privacyValue = $privacy->getValue('profiles', 'search'); $item->privacy = $privacyValue; if ($item->privacy == SOCIAL_PRIVACY_PUBLIC) { $access = 1; } else { if ($item->privacy == SOCIAL_PRIVACY_MEMBER) { $access = 2; } else { // this is not public / member items. let set the access to 'special' $access = 3; } } } $user = FD::user($item->user_id); $userAlias = $user->getAlias(false); $contentSnapshot = array(); $userName = $user->getName($config->get('users.indexer.name')); $userEmail = $config->get('users.indexer.email') ? $user->email : ''; $contentSnapshot[] = $userName; if ($userEmail) { // we need to check for the email field privacy if ($config->get('users.indexer.privacy', 1)) { $privacyModel = FD::model('Privacy'); $fieldPrivacyValue = $privacyModel->getFieldValue('field.joomla_email', $user->id); if ($fieldPrivacyValue == SOCIAL_PRIVACY_PUBLIC || $fieldPrivacyValue == SOCIAL_PRIVACY_MEMBER) { $contentSnapshot[] = $userEmail; } else { $userEmail = ''; } } else { $contentSnapshot[] = $userEmail; } } // get data from customfields // get customfields. // $fieldsLib = FD::fields(); // $fieldModel = FD::model( 'Fields' ); // $fieldsResult = array(); // $options = array(); // $options['data'] = true; // $options['dataId'] = $user->user_id; // $options['dataType'] = SOCIAL_TYPE_USER; // $options['searchable'] = 1; // //todo: get customfields. // $fields = $fieldModel->getCustomFields( $options ); // if( count( $fields ) > 0 ) // { // //foreach( $fields as $item ) // foreach( $fields as $field ) // { // $userFieldData = isset( $field->data ) ? $field->data : ''; // $args = array( $userFieldData ); // $f = array( &$field ); // $dataResult = @$fieldsLib->trigger( 'onIndexer' , SOCIAL_FIELDS_GROUP_USER , $f , $args ); // if( $dataResult !== false && count( $dataResult ) > 0 ) // $fieldsResult[] = $dataResult[0]; // } // if( $fieldsResult ) // { // $customFieldsContent = implode( ' ', $fieldsResult ); // $contentSnapshot[] = $customFieldsContent; // } // } $content = implode(' ', $contentSnapshot); // Build the necessary route and path information. // we need to pass in raw url so that if the site on sef, smart serach will not create new item. // index.php?option=com_easysocial&view=profile&id=84:jenny-siew // $item->url = 'index.php?option=com_easysocial&view=profile&id=' . $userAlias; $item->url = 'index.php?option=com_easysocial&view=profile&id=' . $user->id; $item->route = $user->getPermalink(); $item->route = $this->removeAdminSegment($item->route); $item->path = FinderIndexerHelper::getContentPath($item->route); $userProfile = $user->getProfile(); $metaKey = $userName; if ($userEmail) { $metaKey .= ', ' . $userEmail; } $item->title = $userName; $item->access = $access; $item->alias = $userAlias; $item->state = 1; $item->start_date = $user->registerDate; $item->created_by = $item->user_id; $item->created_by_alias = $userAlias; $item->modified = $user->registerDate; $item->modified_by = $item->user_id; $item->params = ''; $item->metakey = $metaKey; $item->metadesc = $content; $item->metadata = ''; $item->publish_start_date = $user->registerDate; // let put user profile as category $item->catid = $userProfile->id; $item->category = $userProfile->getTitle(); $item->cat_state = 1; $item->cat_access = 0; $item->summary = $content; $item->body = $content; // Add the meta-author. $item->metaauthor = $userAlias; $item->author = $userAlias; // add image param $registry = FD::registry(); $registry->set('image', $user->getAvatar()); $item->params = $registry; // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'EasySocial.Users'); // Add the author taxonomy data. $item->addTaxonomy('Author', $userAlias); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. // $langParams = JComponentHelper::getParams('com_languages'); // $item->language = $langParams->get( 'site', 'en-GB'); // $item->language = '*'; $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (FD::isJoomla30()) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialize the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = JComponentHelper::getParams('com_jshopping', true); $item->params->merge($registry); // Trigger the onContentPrepare event. $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params); $item->body = FinderIndexerHelper::prepareContent($item->body, $item->params); // Build the necessary route and path information. $item->url = 'index.php?option=com_jshopping&controller=product&task=view&category_id=' . $item->category_id . '&product_id=' . $item->product_id; $item->route = 'index.php?option=com_jshopping&controller=product&task=view&category_id=' . $item->category_id . '&product_id=' . $item->product_id; $item->path = FinderIndexerHelper::getContentPath($item->route); // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); // Adjust the title if necessary. if (!empty($title) && $this->params->get('use_menu_title', true)) { $item->title = $title; } // Add the meta-author. // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'link'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Product'); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (version_compare(JVERSION, '3.0.0', 'ge')) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Main index function run when indexing happens * * @param FinderIndexerResult $item * @return bool|void */ protected function index(FinderIndexerResult $item) { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } //Add the instructions foreach ($this->instructions as $type => $instructions) { foreach ($instructions as $instruction) { $item->addInstruction($type, $instruction); } } // Add the type taxonomy data. $item->addTaxonomy('Type', $this->type_title); FinderIndexerHelper::getContentExtras($item); // Index the item. if (method_exists('FinderIndexer', 'getInstance')) { FinderIndexer::getInstance()->index($item); } else { FinderIndexer::index($item); } }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialize the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = $registry; $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; // Build the necessary route and path information. $item->url = $this->getURL($item->id, $this->extension, $this->layout); $item->route = WeblinksHelperRoute::getWeblinkRoute($item->slug, $item->catslug); $item->path = FinderIndexerHelper::getContentPath($item->route); /* * Add the meta-data processing instructions based on the newsfeeds * configuration parameters. */ // Add the meta-author. $item->metaauthor = $item->metadata->get('author'); // Handle the link to the meta-data. $item->addInstruction(FinderIndexer::META_CONTEXT, 'link'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Web Link'); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. FinderIndexer::index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 3.1 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $item->setLanguage(); // Initialize the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = JComponentHelper::getParams('com_tags', true); $item->params->merge($registry); $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; // Build the necessary route and path information. $item->url = $this->getURL($item->id, $this->extension, $this->layout); $item->route = TagsHelperRoute::getTagRoute($item->slug); $item->path = FinderIndexerHelper::getContentPath($item->route); // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); // Adjust the title if necessary. if (!empty($title) && $this->params->get('use_menu_title', true)) { $item->title = $title; } // Add the meta-author. $item->metaauthor = $item->metadata->get('author'); // Handle the link to the meta-data. $item->addInstruction(FinderIndexer::META_CONTEXT, 'link'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Tag'); // Add the author taxonomy data. if (!empty($item->author) || !empty($item->created_by_alias)) { $item->addTaxonomy('Author', !empty($item->created_by_alias) ? $item->created_by_alias : $item->author); } // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Index the item. $this->indexer->index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { $item->setLanguage(); // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialize the item parameters. $registry = new Registry(); $registry->loadString($item->params); $item->params = JComponentHelper::getParams('com_knvbapi2', true); $item->params->merge($registry); $registry = null; //release memory $registry = new Registry(); $registry->loadString($item->metadata); $item->metadata = $registry; $registry = null; //release memory // Trigger the onContentPrepare event. $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params); $item->body = FinderIndexerHelper::prepareContent($item->body, $item->params); if ($this->sub_layout != 'default') { $view = $this->layout . '&layout=' . $this->sub_layout; } else { $view = $this->layout; } // Build the necessary route and path information. $item->url = $this->getURL($item->id, $this->extension, $view); $item->route = Knvbapi2HelperRoute::getTeamidRoute($item->slug, $item->language, $this->sub_layout); $item->path = FinderIndexerHelper::getContentPath($item->route); // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); if (!empty($title) and $this->params->get('use_menu_title', true)) { $item->title = $title; } else { $item->title = $item->name; } // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_name'); // Translate the state. $item->state = $this->translateState($item->state); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Teamid'); // Add the created_by taxonomy data. if (!empty($item->created_by_alias)) { $item->addTaxonomy('Author', !empty($item->created_by_name) ? $item->created_by_name : $item->created_by); } // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. $this->indexer->index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * * @return void * * @throws Exception on database error. */ protected function index(FinderIndexerResult $item) { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Forum Post'); // Add the author taxonomy data. if (!empty($item->author)) { $item->addTaxonomy('Author', $item->author); } // Add the category taxonomy data. // $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. FinderIndexer::index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format. Not used. * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { $item->setLanguage(); // Check if the extension is enabled. if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialise the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = JComponentHelper::getParams('com_j2store', true); $item->params->merge($registry); $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; // Trigger the onContentPrepare event. $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params); $item->body = FinderIndexerHelper::prepareContent($item->body, $item->params); //let us get the redirect choice if ($this->params->get('redirect_to', 'j2store') == 'article') { // Build the necessary route and path information. $item->url = $this->getURL($item->id, $this->extension, $this->layout); $item->route = ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->language); $item->path = FinderIndexerHelper::getContentPath($item->route); } else { $menu_id = $this->params->get('menuitem_id'); $item->url = $this->getJ2StoreURL($item->j2store_product_id, $this->extension, $this->layout); $item->route = 'index.php?option=com_j2store&view=products&task=view&id=' . $item->j2store_product_id . '&Itemid=' . $menu_id; $item->path = FinderIndexerHelper::getContentPath($item->route); } // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); // Adjust the title if necessary. if (!empty($title) && $this->params->get('use_menu_title', true)) { $item->title = $title; } // Add the meta-author. $item->metaauthor = $item->metadata->get('author'); // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); // Translate the state. Articles should only be published if the category is published. $item->state = $this->translateState($item->state, $item->cat_state); // Add the type taxonomy data. $item->addTaxonomy('Type', $this->type_title); // Add the author taxonomy data. if (!empty($item->author) || !empty($item->created_by_alias)) { $item->addTaxonomy('Author', !empty($item->created_by_alias) ? $item->created_by_alias : $item->author); } // Add the category taxonomy data. $item->addTaxonomy('J2Store Category', $item->category, $item->cat_state, $item->cat_access); $brandmodel = F0FModel::getTmpInstance('Manufacturers', 'J2StoreModel'); $brandmodel->enabled(1); FinderIndexerHelper::getContentExtras($item); // Add the Brand taxonomy data. $item->addTaxonomy('J2Store Brand', $item->brand); // Index the item. $this->indexer->index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $item->setLanguage(); $extension = ucfirst(substr($item->extension, 4)); $item->url = $this->getURL($item->id, $item->extension, $this->layout); $item->route = 'index.php?option=' . $this->extension . '&view=book&layout=' . $this->layout . '&id=' . $item->book_id; // Add the type taxonomy data. $item->addTaxonomy('Type', 'Book'); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Index the item. $this->indexer->index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $access = 1; if (is_null($item->privacy)) { $privacy = FD::privacy($item->user_id); $privacyValue = $privacy->getValue('albums', 'view'); $item->privacy = $privacyValue; } if ($item->privacy == SOCIAL_PRIVACY_PUBLIC) { $access = 1; } else { if ($item->privacy == SOCIAL_PRIVACY_MEMBER) { $access = 2; } else { // this is not public / member items. do not index this item return; } } // $sql->select('a.id, a.title, a.alias, a.introtext AS summary, a.fulltext AS body'); // $sql->select('a.state, a.catid, a.created AS start_date, a.created_by'); // $sql->select('a.created_by_alias, a.modified, a.modified_by, a.attribs AS params'); // $sql->select('a.metakey, a.metadesc, a.metadata, a.language, a.access, a.version, a.ordering'); // $sql->select('a.publish_up AS publish_start_date, a.publish_down AS publish_end_date'); // $sql->select('c.title AS category, c.published AS cat_state, c.access AS cat_access'); // album onwer $user = FD::user($item->user_id); $userAlias = $user->getAlias(false); $album = FD::table('Album'); $album->load($item->id); $albumAlias = $album->getAlias(); // Build the necessary route and path information. // we need to pass in raw url so that smart search will not create another duplicate item. // index.php?option=com_easysocial&view=albums&id=171:collection&layout=item&uid=84:jenny-siew&type=user $item->url = 'index.php?option=com_easysocial&view=albums&id=' . $albumAlias . '&layout=item&uid=' . $userAlias . '&type=' . $album->type; $item->route = $album->getPermalink(); $item->route = $this->removeAdminSegment($item->route); $item->path = FinderIndexerHelper::getContentPath($item->route); $category = ''; if ($album->core == SOCIAL_ALBUM_PROFILE_PHOTOS) { $category = 'avatar album'; } else { if ($album->core == SOCIAL_ALBUM_PROFILE_COVERS) { $category = 'cover album'; } else { if ($album->core == SOCIAL_ALBUM_STORY_ALBUM) { $category = 'story album'; } else { $category = 'user album'; } } } $item->access = $access; $item->alias = $albumAlias; $item->state = 1; $item->catid = $album->core; $item->start_date = $album->created; $item->created_by = $album->user_id; $item->created_by_alias = $userAlias; $item->modified = $album->assigned_date; $item->modified_by = $album->user_id; $item->params = ''; $item->metakey = $category . ' ' . $album->title; $item->metadesc = $album->title . ' ' . $album->caption; $item->metadata = ''; $item->publish_start_date = $album->assigned_date; $item->category = $category; $item->cat_state = 1; $item->cat_access = 0; $item->summary = empty($album->caption) ? $album->title : $album->caption; $item->body = $album->title . ' ' . $album->caption; // Add the meta-author. $item->metaauthor = $userAlias; $item->author = $userAlias; // add image param $registry = FD::registry(); $registry->set('image', $album->getCover()); $item->params = $registry; // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'EasySocial.Albums'); // Add the author taxonomy data. $item->addTaxonomy('Author', $userAlias); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $langParams = JComponentHelper::getParams('com_languages'); $item->language = $langParams->get('site', 'en-GB'); $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (FD::isJoomla30()) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $access = 1; if (is_null($item->privacy)) { $privacy = FD::privacy($item->user_id); $privacyValue = $privacy->getValue('photos', 'view'); $item->privacy = $privacyValue; } if ($item->privacy == SOCIAL_PRIVACY_PUBLIC) { $access = 1; } else { if ($item->privacy == SOCIAL_PRIVACY_MEMBER) { $access = 2; } else { // this is not public / member items. do not index this item return; } } // $sql->select('a.id, a.title, a.alias, a.introtext AS summary, a.fulltext AS body'); // $sql->select('a.state, a.catid, a.created AS start_date, a.created_by'); // $sql->select('a.created_by_alias, a.modified, a.modified_by, a.attribs AS params'); // $sql->select('a.metakey, a.metadesc, a.metadata, a.language, a.access, a.version, a.ordering'); // $sql->select('a.publish_up AS publish_start_date, a.publish_down AS publish_end_date'); // $sql->select('c.title AS category, c.published AS cat_state, c.access AS cat_access'); // album onwer $user = FD::user($item->user_id); $userAlias = $user->getAlias(false); $photo = FD::table('Photo'); $photo->load($item->id); // Build the necessary route and path information. // index.php?option=com_easysocial&view=photos&layout=item&id=510:00000690&type=user&uid=84:jenny-siew $item->url = 'index.php?option=com_easysocial&view=photos&layout=item&id=' . $photo->getAlias() . '&type=' . $photo->type . '&uid=' . $userAlias; $item->route = $photo->getPermalink(); $item->route = $this->removeAdminSegment($item->route); $item->path = FinderIndexerHelper::getContentPath($item->route); $category = 'user photo'; if ($item->type == SOCIAL_TYPE_GROUP) { $category = 'group photo'; } $item->access = $access; $item->alias = $photo->getAlias(); $item->state = 1; $item->catid = $photo->type == SOCIAL_TYPE_GROUP ? 2 : 1; $item->start_date = $photo->created; $item->created_by = $photo->user_id; $item->created_by_alias = $userAlias; $item->modified = $photo->assigned_date == '0000-00-00 00:00:00' ? $photo->created : $photo->assigned_date; $item->modified_by = $photo->user_id; $item->params = ''; $item->metakey = $category . ' ' . $photo->title; $item->metadesc = $category . ' ' . $photo->title; $item->metadata = ''; $item->publish_start_date = $item->modified; $item->category = $category; $item->cat_state = 1; $item->cat_access = 0; $item->summary = $photo->title; $item->body = $photo->title; // Add the meta-author. $item->metaauthor = $userAlias; $item->author = $userAlias; // add image param $registry = FD::registry(); $registry->set('image', $photo->getSource()); $item->params = $registry; // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'EasySocial.Photos'); // Add the author taxonomy data. $item->addTaxonomy('Author', $userAlias); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $langParams = JComponentHelper::getParams('com_languages'); $item->language = $langParams->get('site', 'en-GB'); $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (FD::isJoomla30()) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Tests the setLanguage method * * @return void * * @since 3.1 */ public function testSetLanguage() { // Set the language value $this->object->setLanguage(); $this->assertEquals($this->object->language, $this->object->defaultLanguage); }
protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false || !$item->id) { return; } if (!($zoo_item = $this->app->table->item->get($item->id, true))) { return; } $registry = new JRegistry(); $registry->loadArray($zoo_item->getParams()->get("metadata.")); $item->metadata = $registry; $item->metaauthor = $zoo_item->getParams()->get("metadata.author"); $item->addInstruction(FinderIndexer::META_CONTEXT, 'link'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'element_data'); $item->summary = $this->renderer->render('item.default', array('item' => $zoo_item)); $item->url = $this->getURL($item->id, $this->extension, $this->layout); $item->route = $this->app->route->item($zoo_item, false); $item->path = FinderIndexerHelper::getContentPath($item->route); $item->state = $zoo_item->searchable == 1 && $zoo_item->state == 1; $item->element_data = $this->app->database->queryResultArray('SELECT value FROM ' . ZOO_TABLE_SEARCH . ' WHERE item_id = ' . (int) $item->id); $item->addTaxonomy('Type', $zoo_item->getType()->name); foreach ($zoo_item->getRelatedCategories(true) as $category) { $item->addTaxonomy('Category', $category->name); } foreach ($zoo_item->getTags() as $tag) { $item->addTaxonomy('Tag', $tag); } FinderIndexerHelper::getContentExtras($item); if ($this->app->joomla->version->isCompatible('3.0')) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialize the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = JComponentHelper::getParams('com_jevents', true); $item->params->merge($registry); $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; // Trigger the onContentPrepare event. $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params); $item->body = FinderIndexerHelper::prepareContent($item->body, $item->params); // Build the necessary route and path information. $itemid = $this->params->get("target_itemid", 0); $item->url = "index.php?option=com_jevents&task=icalevent.detail&evid=" . $item->eventid . "&Itemid=" . $itemid; //$this->getURL($item->id, $this->extension, $this->layout); $item->route = "index.php?option=com_jevents&task=icalevent.detail&evid=" . $item->eventid . "&Itemid=" . $itemid; $item->path = FinderIndexerHelper::getContentPath($item->route); // title is already set //$item->title; // Events should only be published if the category is published.etc. - do this later //$item->state; // Add the type taxonomy data. $item->addTaxonomy('Type', 'Event'); // Add the creator taxonomy data. if (!empty($item->creator) || !empty($item->created_by_alias)) { $item->addTaxonomy('Creator', !empty($item->created_by_alias) ? $item->created_by_alias : $item->creator); } // Add the category taxonomy data. - can we do multiple categories? $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. //$item->addTaxonomy('Language', $item->language); // Get jevents extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (JevJoomlaVersion::isCompatible("3.0.0")) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format. Not used. * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { $item->setLanguage(); // Check if the extension is enabled. if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Initialise the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = JComponentHelper::getParams('com_content', true); $item->params->merge($registry); $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; // Trigger the onContentPrepare event. $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params); $item->body = FinderIndexerHelper::prepareContent($item->body, $item->params); // Build the necessary route and path information. $item->url = $this->getURL($item->id, $this->extension, $this->layout); $item->route = ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->language); $item->path = FinderIndexerHelper::getContentPath($item->route); // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); // Adjust the title if necessary. if (!empty($title) && $this->params->get('use_menu_title', true)) { $item->title = $title; } // Add the meta-author. $item->metaauthor = $item->metadata->get('author'); // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); // Translate the state. Articles should only be published if the category is published. $item->state = $this->translateState($item->state, $item->cat_state); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Article'); // Add the author taxonomy data. if (!empty($item->author) || !empty($item->created_by_alias)) { $item->addTaxonomy('Author', !empty($item->created_by_alias) ? $item->created_by_alias : $item->author); } // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. $this->indexer->index($item); }
/** * Method to index all items * * @param int $offset * @param int $limit * @param string $sql * * @return array */ protected function getItems($offset, $limit, $sql = null) { $items = array(); $products = $this->loadProducts($offset, $limit); // Loop through the products to build the item-array foreach ($products as $product) { //$this->debug("page [$offset;$limit] ".$product['name']); // Construct a basic class $item = new FinderIndexerResult(); // Add basics $item->id = $product['product_id']; $item->title = $product['name']; // Add URLs $item->request = $product['url_path']; $item->url = 'index.php?option=com_magebridge&view=root&request=' . $item->request; $item->route = 'index.php?option=com_magebridge&view=root&request=' . $item->request; // Add body-text if (!empty($product['short_description'])) { $item->summary = $product['short_description']; } else { $item->summary = $product['description']; } // Add additional data $item->image = $product['image']; $item->small_image = $product['small_image']; $item->layout = $this->layout; $item->type_id = $this->getTypeId(); // Add some flags $item->published = 1; $item->state = 1; $item->access = 1; $item->language = 'en-GB'; // @todo // Add pricing // @todo: Why is in the finder-database but not documented? $item->list_price = $product['price_raw']; $item->sale_price = $product['price_raw']; // Add extra search terms if (is_array($product['search'])) { foreach ($product['search'] as $searchName => $searchValue) { $item->{$searchName} = $searchValue; $item->addInstruction(FinderIndexer::TEXT_CONTEXT, $searchName); } } $items[] = $item; } return $items; }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } // Need to import component route helpers dynamically, hence the reason it's handled here if (JFile::exists(JPATH_SITE . '/components/' . $item->extension . '/helpers/route.php')) { include_once JPATH_SITE . '/components/' . $item->extension . '/helpers/route.php'; } $extension = ucfirst(substr($item->extension, 4)); // Initialize the item parameters. $registry = new JRegistry(); $registry->loadString($item->params); $item->params = $registry; $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry; /* Add the meta-data processing instructions based on the categories * configuration parameters. */ // Add the meta-author. $item->metaauthor = $item->metadata->get('author'); // Handle the link to the meta-data. $item->addInstruction(FinderIndexer::META_CONTEXT, 'link'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); //$item->addInstruction(FinderIndexer::META_CONTEXT, 'created_by_alias'); // Trigger the onContentPrepare event. $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params); // Build the necessary route and path information. $item->url = $this->getURL($item->id, $item->extension, $this->layout); $class = $extension . 'HelperRoute'; if (class_exists($class) && method_exists($class, 'getCategoryRoute')) { $item->route = $class::getCategoryRoute($item->id); } else { $item->route = ContentHelperRoute::getCategoryRoute($item->slug, $item->catid); } $item->path = FinderIndexerHelper::getContentPath($item->route); // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); // Adjust the title if necessary. if (!empty($title) && $this->params->get('use_menu_title', true)) { $item->title = $title; } // Translate the state. Categories should only be published if the parent category is published. $item->state = $this->translateState($item->state); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Category'); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. FinderIndexer::index($item); }
/** * Indexes a post on the site * * @since 5.0 * @access public * @param FinderIndexerResult The item to index * @param string The item's format * @return void */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (!$this->exists()) { return; } // Build the necessary route and path information. $item->url = 'index.php?option=com_easyblog&view=entry&id=' . $item->id; $item->route = EBR::getRoutedURL($item->url, false, true); // Remove any /administrator/ segments from the url since the indexer could be executed from the back end $item->route = $this->removeAdminSegment($item->route); // Get the content path $item->path = FinderIndexerHelper::getContentPath($item->route); // If there is access defined, just set it to 2 which is special privileges. if (!$item->access || $item->access == 0) { $item->access = 1; } else { if ($item->access > 0) { $item->access = 2; } } // Load up the post item $post = EB::post(); $post->load($item->id); // Get the intro text of the content $item->summary = $post->getIntro(); // Get the contents $item->body = $post->getContent('entry', false); // If the post is password protected, we do not want to display the contents if ($post->isPasswordProtected()) { $item->summary = JText::_('PLG_FINDER_EASYBLOG_PASSWORD_PROTECTED'); } else { // we want to get custom fields values. $fields = $post->getCustomFields(); $fieldlib = EB::fields(); $customfields = array(); if ($fields) { foreach ($fields as $field) { if ($field->group->hasValues($post)) { foreach ($field->fields as $customField) { $eachField = $fieldlib->get($customField->type); $customfields[] = $eachField->text($customField, $post); } } } $customfieldvalues = implode(' ', $customfields); $item->body = $item->body . ' ' . $customfieldvalues; } } // Add the author's meta data $item->metaauthor = !empty($item->created_by_alias) ? $item->created_by_alias : $item->author; $item->author = !empty($item->created_by_alias) ? $item->created_by_alias : $item->author; // If the post has an image, use it $image = $post->getImage('thumbnail', false, true); // If there's no image, try to scan the contents for an image to be used if (!$image && $post->isLegacy()) { $image = EB::string()->getImage($item->body); } // If we still can't locate any images, use the placeholder image if (!$image) { $image = EB::getPlaceholderImage(); } $registry = new JRegistry(); $registry->set('image', $image); $item->params = $registry; // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'EasyBlog'); // Add the author taxonomy data. if (!empty($item->author) || !empty($item->created_by_alias)) { $item->addTaxonomy('Author', !empty($item->created_by_alias) ? $item->created_by_alias : $item->author); } // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. if (empty($item->language)) { $item->language = '*'; } $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // For Joomla 3.0, the indexer is assigned to the property // Index the item. if (EB::isJoomla30()) { return $this->indexer->index($item); } return FinderIndexer::index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $item->setLanguage(); // Initialize the item parameters. $registry = new Registry(); $registry->loadString($item->params); $item->params = $registry; // Build the necessary route and path information. $item->url = $this->getURL($item->id, $this->extension, $this->layout); $item->route = ContactHelperRoute::getContactRoute($item->slug, $item->catslug, $item->language); $item->path = FinderIndexerHelper::getContentPath($item->route); // Get the menu title if it exists. $title = $this->getItemMenuTitle($item->url); // Adjust the title if necessary. if (!empty($title) && $this->params->get('use_menu_title', true)) { $item->title = $title; } /* * Add the meta-data processing instructions based on the contact * configuration parameters. */ // Handle the contact position. if ($item->params->get('show_position', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'position'); } // Handle the contact street address. if ($item->params->get('show_street_address', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'address'); } // Handle the contact city. if ($item->params->get('show_suburb', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'city'); } // Handle the contact region. if ($item->params->get('show_state', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'region'); } // Handle the contact country. if ($item->params->get('show_country', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'country'); } // Handle the contact zip code. if ($item->params->get('show_postcode', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'zip'); } // Handle the contact telephone number. if ($item->params->get('show_telephone', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'telephone'); } // Handle the contact fax number. if ($item->params->get('show_fax', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'fax'); } // Handle the contact e-mail address. if ($item->params->get('show_email', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'email'); } // Handle the contact mobile number. if ($item->params->get('show_mobile', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'mobile'); } // Handle the contact webpage. if ($item->params->get('show_webpage', true)) { $item->addInstruction(FinderIndexer::META_CONTEXT, 'webpage'); } // Handle the contact user name. $item->addInstruction(FinderIndexer::META_CONTEXT, 'user'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'Contact'); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $item->addTaxonomy('Language', $item->language); // Add the region taxonomy data. if (!empty($item->region) && $this->params->get('tax_add_region', true)) { $item->addTaxonomy('Region', $item->region); } // Add the country taxonomy data. if (!empty($item->country) && $this->params->get('tax_add_country', true)) { $item->addTaxonomy('Country', $item->country); } // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. $this->indexer->index($item); }
/** * Method to index an item. The item must be a FinderIndexerResult object. * * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. * @param string $format The item format * * @return void * * @since 2.5 * @throws Exception on database error. */ protected function index(FinderIndexerResult $item, $format = 'html') { // Check if the extension is enabled if (JComponentHelper::isEnabled($this->extension) == false) { return; } $access = 1; if ($item->type == SOCIAL_EVENT_TYPE_PRIVATE) { $access = 2; } // $sql->select('a.id, a.title, a.alias, a.introtext AS summary, a.fulltext AS body'); // $sql->select('a.state, a.catid, a.created AS start_date, a.created_by'); // $sql->select('a.created_by_alias, a.modified, a.modified_by, a.attribs AS params'); // $sql->select('a.metakey, a.metadesc, a.metadata, a.language, a.access, a.version, a.ordering'); // $sql->select('a.publish_up AS publish_start_date, a.publish_down AS publish_end_date'); // $sql->select('c.title AS category, c.published AS cat_state, c.access AS cat_access'); // album onwer $user = FD::user($item->creator_uid); $userAlias = $user->getAlias(false); $event = FD::event($item->id); // Build the necessary route and path information. // index.php?option=com_easysocial&view=groups&id=7:chogokin&layout=item&Itemid=799 $item->url = 'index.php?option=com_easysocial&view=events&id=' . $event->getAlias() . '&layout=item'; $item->route = $event->getPermalink(); $item->route = $this->removeAdminSegment($item->route); $item->path = FinderIndexerHelper::getContentPath($item->route); $item->access = $access; $item->alias = $event->getAlias(); $item->state = 1; $item->catid = $event->category_id; $item->start_date = $event->created; $item->created_by = $event->creator_uid; $item->created_by_alias = $userAlias; $item->modified = $event->created; $item->modified_by = $event->creator_uid; $item->params = ''; $item->metakey = $item->category . ' ' . $event->title; $item->metadesc = $event->title . ' ' . $event->description; $item->metadata = ''; $item->publish_start_date = $event->created; $item->category = $item->category; $item->cat_state = 1; $item->cat_access = 0; $item->summary = $event->title . ' ' . $event->description; $item->body = $event->title . ' ' . $event->description; // Add the meta-author. $item->metaauthor = $userAlias; $item->author = $userAlias; // add image param $registry = FD::registry(); $registry->set('image', $event->getAvatar()); $item->params = $registry; // Add the meta-data processing instructions. $item->addInstruction(FinderIndexer::META_CONTEXT, 'metakey'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metadesc'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'metaauthor'); $item->addInstruction(FinderIndexer::META_CONTEXT, 'author'); // Add the type taxonomy data. $item->addTaxonomy('Type', 'EasySocial.Events'); // Add the author taxonomy data. $item->addTaxonomy('Author', $userAlias); // Add the category taxonomy data. $item->addTaxonomy('Category', $item->category, $item->cat_state, $item->cat_access); // Add the language taxonomy data. $langParams = JComponentHelper::getParams('com_languages'); $item->language = $langParams->get('site', 'en-GB'); $item->addTaxonomy('Language', $item->language); // Get content extras. FinderIndexerHelper::getContentExtras($item); // Index the item. if (FD::isJoomla30()) { $this->indexer->index($item); } else { FinderIndexer::index($item); } }