Pages.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. {
  10. $connection = GeneralUtility::makeInstance(ConnectionPool::class);
  11. $this->connection = $connection;
  12. }
  13. public function render_author_ro($pa, $fObj)
  14. {
  15. $context = GeneralUtility::makeInstance(Context::class);
  16. $id = array_keys($_GET["edit"]["pages"])[0];
  17. if (!$id) return "ERR: !id";
  18. $queryBuilder = $this->connection->getQueryBuilderForTable('be_users');
  19. $queryBuilder->getRestrictions()->removeAll();
  20. $statement = $queryBuilder
  21. ->select('realName')
  22. ->from('be_users')
  23. ->innerJoin(
  24. 'be_users',
  25. 'pages',
  26. 'p',
  27. $queryBuilder->expr()->eq('be_users.uid', $queryBuilder->quoteIdentifier('p.cruser_id'))
  28. )
  29. ->setMaxResults(1)
  30. ->where(
  31. $queryBuilder->expr()->eq('p.uid', $id)
  32. )
  33. ->execute();
  34. $result = $statement->fetchAll();
  35. if (sizeof($result) == 0) return "ERR: size==0";
  36. return $result[0]["realName"];
  37. }
  38. public function render_last_editor_ro($pa, $fObj)
  39. {
  40. $context = GeneralUtility::makeInstance(Context::class);
  41. $id = array_keys($_GET["edit"]["pages"])[0];
  42. if (!$id) return "ERR: !id";
  43. $queryBuilder = $this->connection->getQueryBuilderForTable('be_users');
  44. $queryBuilder->getRestrictions()->removeAll();
  45. $statement = $queryBuilder
  46. ->select('be_users.realName', 'l.tstamp')
  47. ->from('be_users')
  48. ->innerJoin(
  49. 'be_users',
  50. 'sys_log',
  51. 'l',
  52. $queryBuilder->expr()->eq('be_users.uid', $queryBuilder->quoteIdentifier('l.userid'))
  53. )
  54. ->setMaxResults(1)
  55. ->where(
  56. $queryBuilder->expr()->eq('l.recuid', $id)
  57. )
  58. ->andWhere(
  59. $queryBuilder->expr()->neq('be_users.disable', $queryBuilder->createNamedParameter(1, \PDO::PARAM_INT))
  60. )
  61. ->orderBy('l.tstamp', 'DESC')
  62. ->setMaxResults(1)
  63. ->execute();
  64. $result = $statement->fetchAll();
  65. if (sizeof($result) == 0) return "ERR: size==0";
  66. //return $result[0]["realName"];
  67. $target = sizeof($result) - 1;
  68. return $result[0]["realName"];
  69. }
  70. private function log($msg, $isString = true)
  71. {
  72. if (!$isString) {
  73. $msg = json_encode($msg, JSON_PRETTY_PRINT);
  74. }
  75. file_put_contents('/var/www/html/typo3temp/debug.log', "--- UserFunc/Pages ---" . PHP_EOL . $msg . PHP_EOL, FILE_APPEND);
  76. }
  77. }