This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Incam_SGD/plugins/search2/DocumentIndexAction.php

66 lines
1.6 KiB
PHP
Raw Normal View History

<?php
require_once(KT_LIB_DIR . '/actions/documentaction.inc.php');
require_once(KT_LIB_DIR . '/plugins/plugin.inc.php');
require_once(KT_LIB_DIR . '/plugins/pluginregistry.inc.php');
class DocumentIndexAction extends KTDocumentAction
{
var $sName = 'ktcore.search2.index.action';
var $_sShowPermission = "ktcore.permissions.write";
function DocumentIndexAction($oDocument = null, $oUser = null, $oPlugin = null)
{
parent::KTDocumentAction($oDocument, $oUser, $oPlugin);
$this->sDisplayName=_kt('Schedule Indexing');
}
function getName()
{
return _kt('Document Indexer');
}
function getDisplayName()
{
if (Permission::userIsSystemAdministrator() && $_SESSION['adminmode'])
{
if(!is_object($this->oDocument)){
return '';
}
if (Indexer::isDocumentScheduled($this->oDocument->getId()))
{
return _kt('Unschedule Indexing');
}
else
{
return _kt('Schedule Indexing');
}
}
return '';
}
function do_main()
{
$doc=$this->oDocument;
$docid=$doc->getId();
if (Permission::userIsSystemAdministrator())
{
$full_path = $doc->getFullPath();
if (Indexer::isDocumentScheduled($docid))
{
Indexer::unqueueDocument($docid);
$this->addInfoMessage(sprintf(_kt("Document '%s' has been removed from the indexing queue."), $full_path));
}
else
{
Indexer::index($doc, 'A');
$this->addInfoMessage(sprintf(_kt("Document '%s' has been added to the indexing queue."), $full_path));
}
}
redirect("view.php?fDocumentId=$docid");
exit;
}
}
?>