Pages.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace Meramo\mrm_be\UserFunc;
  3. use \TYPO3\CMS\Core\Utility\GeneralUtility;
  4. use \TYPO3\CMS\Core\Database\ConnectionPool;
  5. use \TYPO3\CMS\Core\Context\Context;
  6. class Pages
  7. {
  8. function __construct(){
  9. $connection = GeneralUtility::makeInstance(ConnectionPool::class);
  10. $this->connection = $connection;
  11. }
  12. public function render_author_ro($pa, $fObj){
  13. $context = GeneralUtility::makeInstance(Context::class);
  14. $id = array_keys($_GET["edit"]["pages"])[0];
  15. if(!$id) return "ERR: !id";
  16. $queryBuilder = $this->connection->getQueryBuilderForTable('be_users');
  17. $queryBuilder->getRestrictions()->removeAll();
  18. $statement = $queryBuilder
  19. ->select('realName')
  20. ->from('be_users')
  21. ->innerJoin(
  22. 'be_users',
  23. 'pages',
  24. 'p',
  25. $queryBuilder->expr()->eq('be_users.uid', $queryBuilder->quoteIdentifier('p.cruser_id'))
  26. )
  27. ->setMaxResults(1)
  28. ->where(
  29. $queryBuilder->expr()->eq('p.uid', $id)
  30. )
  31. ->execute()
  32. ;
  33. $result = $statement->fetchAll();
  34. if(sizeof($result) == 0) return "ERR: size==0";
  35. return $result[0]["realName"];
  36. }
  37. public function render_last_editor_ro($pa, $fObj){
  38. $context = GeneralUtility::makeInstance(Context::class);
  39. $id = array_keys($_GET["edit"]["pages"])[0];
  40. if(!$id) return "ERR: !id";
  41. $queryBuilder = $this->connection->getQueryBuilderForTable('be_users');
  42. $queryBuilder->getRestrictions()->removeAll();
  43. $statement = $queryBuilder
  44. ->select('realName')
  45. ->from('be_users')
  46. ->innerJoin(
  47. 'be_users',
  48. 'sys_log',
  49. 'l',
  50. $queryBuilder->expr()->eq('be_users.uid', $queryBuilder->quoteIdentifier('l.userid'))
  51. )
  52. ->setMaxResults(1)
  53. ->where(
  54. $queryBuilder->expr()->eq('l.recuid', $id)
  55. )
  56. ->execute()
  57. ;
  58. $result = $statement->fetchAll();
  59. if(sizeof($result) == 0) return "ERR: size==0";
  60. return $result[0]["realName"];
  61. }
  62. private function log($msg, $isString = true){
  63. if(!$isString){
  64. $msg = json_encode($msg, JSON_PRETTY_PRINT);
  65. }
  66. file_put_contents('/var/www/html/typo3temp/debug.log', "--- UserFunc/Pages ---".PHP_EOL.$msg.PHP_EOL, FILE_APPEND);
  67. }
  68. }