mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
@@ -29,6 +29,7 @@ require_once(APPROOT.'/application/application.inc.php');
|
||||
require_once(APPROOT.'/application/nicewebpage.class.inc.php');
|
||||
require_once(APPROOT.'/application/csvpage.class.inc.php');
|
||||
require_once(APPROOT.'/application/xmlpage.class.inc.php');
|
||||
require_once(APPROOT.'/application/clipage.class.inc.php');
|
||||
|
||||
require_once(APPROOT.'/application/startup.inc.php');
|
||||
|
||||
@@ -43,11 +44,31 @@ catch(Exception $e)
|
||||
exit -2;
|
||||
}
|
||||
|
||||
require_once(APPROOT.'/application/loginwebpage.class.inc.php');
|
||||
LoginWebPage::DoLogin(); // Check user rights and prompt if needed
|
||||
if (utils::IsModeCLI())
|
||||
{
|
||||
$sAuthUser = utils::ReadParam('auth_user', null, true /* Allow CLI */, 'raw_data');
|
||||
$sAuthPwd = utils::ReadParam('auth_pwd', null, true /* Allow CLI */, 'raw_data');
|
||||
|
||||
if (UserRights::CheckCredentials($sAuthUser, $sAuthPwd))
|
||||
{
|
||||
UserRights::Login($sAuthUser); // Login & set the user's language
|
||||
}
|
||||
else
|
||||
{
|
||||
$oP = new CLIPage("iTop - Export");
|
||||
$oP->p("Access restricted or wrong credentials ('$sAuthUser')");
|
||||
$oP->output();
|
||||
exit -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
require_once(APPROOT.'/application/loginwebpage.class.inc.php');
|
||||
LoginWebPage::DoLogin(); // Check user rights and prompt if needed
|
||||
}
|
||||
ApplicationContext::SetUrlMakerClass('iTopStandardURLMaker');
|
||||
|
||||
|
||||
$sOperation = utils::ReadParam('operation', 'menu');
|
||||
$oAppContext = new ApplicationContext();
|
||||
$iActiveNodeId = utils::ReadParam('menu', -1);
|
||||
@@ -71,7 +92,7 @@ if (strlen($sExpression) == 0)
|
||||
}
|
||||
|
||||
|
||||
$sFormat = strtolower(utils::ReadParam('format', 'html'));
|
||||
$sFormat = strtolower(utils::ReadParam('format', 'html', true /* Allow CLI */));
|
||||
|
||||
$sFields = utils::ReadParam('fields', '', true, 'raw_data'); // CSV field list (allows to specify link set attributes, still not taken into account for XML export)
|
||||
$aFields = explode(',', $sFields);
|
||||
@@ -188,15 +209,22 @@ if (!empty($sExpression))
|
||||
if (!$oP)
|
||||
{
|
||||
// Display a short message about how to use this page
|
||||
$oP = new WebPage("iTop - Export");
|
||||
$oP->p("<strong>General purpose export page.</strong>");
|
||||
$oP->p("<strong>Parameters:</strong>");
|
||||
$oP->p("<ul><li>expression: an OQL expression (URL encoded if needed)</li>
|
||||
<li>query: (alternative to 'expression') the id of an entry from the query phrasebook</li>
|
||||
<li>arg_xxx: (needed if the query has parameters) the value of the parameter 'xxx'</li>
|
||||
<li>format: (optional, default is html) the desired output format. Can be one of 'html', 'spreadsheet', 'csv' or 'xml'</li>
|
||||
<li>fields: (optional, no effect on XML format) list of fields (attribute codes) separated by a coma</li>
|
||||
</ul>");
|
||||
$bModeCLI = utils::IsModeCLI();
|
||||
if ($bModeCLI)
|
||||
{
|
||||
$oP = new CLIPage("iTop - Export");
|
||||
}
|
||||
else
|
||||
{
|
||||
$oP = new WebPage("iTop - Export");
|
||||
}
|
||||
$oP->p("General purpose export page.");
|
||||
$oP->p("Parameters:");
|
||||
$oP->p(" * expression: an OQL expression (URL encoded if needed)");
|
||||
$oP->p(" * query: (alternative to 'expression') the id of an entry from the query phrasebook");
|
||||
$oP->p(" * arg_xxx: (needed if the query has parameters) the value of the parameter 'xxx'");
|
||||
$oP->p(" * format: (optional, default is html) the desired output format. Can be one of 'html', 'spreadsheet', 'csv' or 'xml'");
|
||||
$oP->p(" * fields: (optional, no effect on XML format) list of fields (attribute codes) separated by a coma");
|
||||
}
|
||||
|
||||
$oP->output();
|
||||
|
||||
Reference in New Issue
Block a user