@ -1,6 +1,6 @@
<?php
/***************************************************************
* Copyright notice
* Copyright notice
*
* (c) 2011 Sebastian Meyer < sebastian.meyer @ slub-dresden . de >
* All rights reserved
@ -28,13 +28,13 @@
/**
* Hooks and helper for the extension manager.
*
* @author Sebastian Meyer < sebastian.meyer @ slub-dresden . de >
* @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden
* @package TYPO3
* @subpackage tx_dlf
* @access public
*/
*
* @author Sebastian Meyer < sebastian.meyer @ slub-dresden . de >
* @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden
* @package TYPO3
* @subpackage tx_dlf
* @access public
*/
class tx_dlf_em {
/**
@ -84,10 +84,10 @@ class tx_dlf_em {
$url = 'http://'.$host.':'.$port.'/'.$path.'admin/cores';
$context = stream_context_create(array (
'http' => array (
'method' => 'GET',
'user_agent' => (!empty($conf['useragent']) ? $conf['useragent'] : ini_get('user_agent'))
)
'http' => array (
'method' => 'GET',
'user_agent' => (!empty($conf['useragent']) ? $conf['useragent'] : ini_get('user_agent'))
)
));
// Try to connect to Solr server.
@ -101,11 +101,11 @@ class tx_dlf_em {
if (is_array($status)) {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
sprintf($GLOBALS['LANG']->getLL('solr.status'), (string) $status[0]),
$GLOBALS['LANG']->getLL('solr.connected'),
($status[0] == 0 ? t3lib_FlashMessage::OK : t3lib_FlashMessage::WARNING),
FALSE
't3lib_FlashMessage',
sprintf($GLOBALS['LANG']->getLL('solr.status'), (string) $status[0]),
$GLOBALS['LANG']->getLL('solr.connected'),
($status[0] == 0 ? t3lib_FlashMessage::OK : t3lib_FlashMessage::WARNING),
FALSE
);
$this->content .= $message->render();
@ -117,11 +117,11 @@ class tx_dlf_em {
}
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
sprintf($GLOBALS['LANG']->getLL('solr.error'), $url),
$GLOBALS['LANG']->getLL('solr.notConnected'),
t3lib_FlashMessage::WARNING,
FALSE
't3lib_FlashMessage',
sprintf($GLOBALS['LANG']->getLL('solr.error'), $url),
$GLOBALS['LANG']->getLL('solr.notConnected'),
t3lib_FlashMessage::WARNING,
FALSE
);
$this->content .= $message->render();
@ -147,9 +147,9 @@ class tx_dlf_em {
// Check if user "_cli_dlf" exists, is no admin and is not disabled.
$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'uid,admin,usergroup',
'be_users',
'username='.$GLOBALS['TYPO3_DB']->fullQuoteStr('_cli_dlf', 'be_users').t3lib_BEfunc::deleteClause('be_users')
'uid,admin,usergroup',
'be_users',
'username='.$GLOBALS['TYPO3_DB']->fullQuoteStr('_cli_dlf', 'be_users').t3lib_BEfunc::deleteClause('be_users')
);
if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) {
@ -161,24 +161,24 @@ class tx_dlf_em {
// Check if user is not disabled.
$_result = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'1',
'be_users',
'uid='.intval($resArray['uid']).t3lib_BEfunc::BEenableFields('be_users')
'1',
'be_users',
'uid='.intval($resArray['uid']).t3lib_BEfunc::BEenableFields('be_users')
);
// Check if user is configured properly.
if (count(array_diff(array ($groupUid), $resArray['usergroup'])) == 0
& & !$resArray['admin']
& & $GLOBALS['TYPO3_DB']->sql_num_rows($_result) > 0) {
& & !$resArray['admin']
& & $GLOBALS['TYPO3_DB']->sql_num_rows($_result) > 0) {
$usrUid = $resArray['uid'];
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrOkay'),
t3lib_FlashMessage::OK,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrOkay'),
t3lib_FlashMessage::OK,
FALSE
);
} else {
@ -190,11 +190,11 @@ class tx_dlf_em {
// Try to configure user.
$data['be_users'][$resArray['uid']] = array (
'admin' => 0,
'usergroup' => implode(',', $_usergroup),
$GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['disabled'] => 0,
$GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['starttime'] => 0,
$GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['endtime'] => 0
'admin' => 0,
'usergroup' => implode(',', $_usergroup),
$GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['disabled'] => 0,
$GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['starttime'] => 0,
$GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['endtime'] => 0
);
tx_dlf_helper::processDB($data);
@ -205,21 +205,21 @@ class tx_dlf_em {
$usrUid = $resArray['uid'];
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrConfigured'),
t3lib_FlashMessage::INFO,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrConfigured'),
t3lib_FlashMessage::INFO,
FALSE
);
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -227,11 +227,11 @@ class tx_dlf_em {
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -246,11 +246,11 @@ class tx_dlf_em {
$_tempUid = uniqid('NEW');
$data['be_users'][$_tempUid] = array (
'pid' => 0,
'username' => '_cli_dlf',
'password' => md5($_tempUid),
'realName' => $GLOBALS['LANG']->getLL('cliUserGroup.usrRealName'),
'usergroup' => intval($groupUid)
'pid' => 0,
'username' => '_cli_dlf',
'password' => md5($_tempUid),
'realName' => $GLOBALS['LANG']->getLL('cliUserGroup.usrRealName'),
'usergroup' => intval($groupUid)
);
$_substUid = tx_dlf_helper::processDB($data);
@ -261,21 +261,21 @@ class tx_dlf_em {
$usrUid = $_substUid[$_tempUid];
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrCreated'),
t3lib_FlashMessage::INFO,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrCreated'),
t3lib_FlashMessage::INFO,
FALSE
);
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -283,11 +283,11 @@ class tx_dlf_em {
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -319,21 +319,21 @@ class tx_dlf_em {
if (empty($settings)) {
$settings = array (
'non_exclude_fields' => array (),
'tables_select' => array (
'tx_dlf_documents',
'tx_dlf_collections',
'tx_dlf_libraries',
'tx_dlf_structures',
'tx_dlf_metadata',
'tx_dlf_formats',
'tx_dlf_solrcores'
),
'tables_modify' => array (
'tx_dlf_documents',
'tx_dlf_collections',
'tx_dlf_libraries'
)
'non_exclude_fields' => array (),
'tables_select' => array (
'tx_dlf_documents',
'tx_dlf_collections',
'tx_dlf_libraries',
'tx_dlf_structures',
'tx_dlf_metadata',
'tx_dlf_formats',
'tx_dlf_solrcores'
),
'tables_modify' => array (
'tx_dlf_documents',
'tx_dlf_collections',
'tx_dlf_libraries'
)
);
// Set allowed exclude fields.
@ -357,9 +357,9 @@ class tx_dlf_em {
// Check if group "_cli_dlf" exists and is not disabled.
$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'uid,non_exclude_fields,tables_select,tables_modify,inc_access_lists,'.$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled'],
'be_groups',
'title='.$GLOBALS['TYPO3_DB']->fullQuoteStr('_cli_dlf', 'be_groups').t3lib_BEfunc::deleteClause('be_groups')
'uid,non_exclude_fields,tables_select,tables_modify,inc_access_lists,'.$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled'],
'be_groups',
'title='.$GLOBALS['TYPO3_DB']->fullQuoteStr('_cli_dlf', 'be_groups').t3lib_BEfunc::deleteClause('be_groups')
);
if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) {
@ -375,19 +375,19 @@ class tx_dlf_em {
// Check if usergroup is configured properly.
if (count(array_diff($settings['non_exclude_fields'], $resArray['non_exclude_fields'])) == 0
& & count(array_diff($settings['tables_select'], $resArray['tables_select'])) == 0
& & count(array_diff($settings['tables_modify'], $resArray['tables_modify'])) == 0
& & $resArray['inc_access_lists'] == 1
& & $resArray[$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled']] == 0) {
& & count(array_diff($settings['tables_select'], $resArray['tables_select'])) == 0
& & count(array_diff($settings['tables_modify'], $resArray['tables_modify'])) == 0
& & $resArray['inc_access_lists'] == 1
& & $resArray[$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled']] == 0) {
$grpUid = $resArray['uid'];
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpOkay'),
t3lib_FlashMessage::OK,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpOkay'),
t3lib_FlashMessage::OK,
FALSE
);
} else {
@ -403,11 +403,11 @@ class tx_dlf_em {
// Try to configure usergroup.
$data['be_groups'][$resArray['uid']] = array (
'non_exclude_fields' => implode(',', $_non_exclude_fields),
'tables_select' => implode(',', $_tables_select),
'tables_modify' => implode(',', $_tables_modify),
'inc_access_lists' => 1,
$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled'] => 0
'non_exclude_fields' => implode(',', $_non_exclude_fields),
'tables_select' => implode(',', $_tables_select),
'tables_modify' => implode(',', $_tables_modify),
'inc_access_lists' => 1,
$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled'] => 0
);
tx_dlf_helper::processDB($data);
@ -418,21 +418,21 @@ class tx_dlf_em {
$grpUid = $resArray['uid'];
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpConfigured'),
t3lib_FlashMessage::INFO,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpConfigured'),
t3lib_FlashMessage::INFO,
FALSE
);
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -440,11 +440,11 @@ class tx_dlf_em {
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfiguredMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfigured'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -459,13 +459,13 @@ class tx_dlf_em {
$_tempUid = uniqid('NEW');
$data['be_groups'][$_tempUid] = array (
'pid' => 0,
'title' => '_cli_dlf',
'description' => $GLOBALS['LANG']->getLL('cliUserGroup.grpDescription'),
'non_exclude_fields' => implode(',', $settings['non_exclude_fields']),
'tables_select' => implode(',', $settings['tables_select']),
'tables_modify' => implode(',', $settings['tables_modify']),
'inc_access_lists' => 1
'pid' => 0,
'title' => '_cli_dlf',
'description' => $GLOBALS['LANG']->getLL('cliUserGroup.grpDescription'),
'non_exclude_fields' => implode(',', $settings['non_exclude_fields']),
'tables_select' => implode(',', $settings['tables_select']),
'tables_modify' => implode(',', $settings['tables_modify']),
'inc_access_lists' => 1
);
$_substUid = tx_dlf_helper::processDB($data);
@ -476,21 +476,21 @@ class tx_dlf_em {
$grpUid = $_substUid[$_tempUid];
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpCreated'),
t3lib_FlashMessage::INFO,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpCreated'),
t3lib_FlashMessage::INFO,
FALSE
);
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -498,11 +498,11 @@ class tx_dlf_em {
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreatedMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreated'),
t3lib_FlashMessage::ERROR,
FALSE
);
}
@ -549,21 +549,21 @@ class tx_dlf_em {
if (is_executable(PATH_typo3.'cli_dispatch.phpsh')) {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.cliOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.cliOkay'),
t3lib_FlashMessage::OK,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.cliOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.cliOkay'),
t3lib_FlashMessage::OK,
FALSE
);
} else {
$message = t3lib_div::makeInstance(
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.cliNotOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.cliNotOkay'),
t3lib_FlashMessage::ERROR,
FALSE
't3lib_FlashMessage',
$GLOBALS['LANG']->getLL('cliUserGroup.cliNotOkayMsg'),
$GLOBALS['LANG']->getLL('cliUserGroup.cliNotOkay'),
t3lib_FlashMessage::ERROR,
FALSE
);
}