/**
  * Add the configurations to the given Plugin configuration
  *
  * @param array $config
  *
  * @return array
  */
 public function addConfig($config)
 {
     foreach (Register::getRegister() as $key => $configuration) {
         $config['items'][] = array($configuration['title'], $key);
     }
     return $config;
 }
 /**
  * Handle CMD
  *
  * @param string $command
  * @param string $table
  * @param int $id
  * @param $value
  * @param DataHandler $handler
  * @param $pasteUpdate
  * @param $pasteDatamap
  */
 public function processCmdmap_postProcess($command, $table, $id, $value, $handler, $pasteUpdate, $pasteDatamap)
 {
     $register = Register::getRegister();
     foreach ($register as $key => $configuration) {
         if ($configuration['tableName'] == $table) {
             $indexer = GeneralUtility::makeInstance('HDNET\\Calendarize\\Service\\IndexerService');
             $indexer->reindex($key, $table, $id);
         }
     }
 }
Example #3
0
    /**
     * Get  the calendarize string for the registered tables
     *
     * @return string
     */
    protected function getCalendarizeDatabaseString()
    {
        $sql = [];
        foreach (Register::getRegister() as $configuration) {
            $sql[] = 'CREATE TABLE ' . $configuration['tableName'] . ' (
			calendarize tinytext
			);';
        }
        return implode(LF, $sql);
    }
 /**
  * Run the delete action
  *
  * @param string      $table
  * @param int         $id
  * @param             $recordToDelete
  * @param             $recordWasDeleted
  * @param DataHandler $dataHandler
  */
 public function processCmdmap_deleteAction($table, $id, $recordToDelete, &$recordWasDeleted, DataHandler $dataHandler)
 {
     $register = Register::getRegister();
     foreach ($register as $key => $configuration) {
         if ($configuration['tableName'] == $table) {
             $indexer = HelperUtility::create('HDNET\\Calendarize\\Service\\IndexerService');
             $dataHandler->deleteEl($table, $id);
             $recordWasDeleted = TRUE;
             $indexer->reindex($key, $table, $id);
         }
     }
 }
 /**
  * Process the reindex after all operations
  *
  * @param DataHandler $dataHandler
  *
  * @return void
  */
 public function processDatamap_afterAllOperations(DataHandler $dataHandler)
 {
     if (!$this->indexItems) {
         return;
     }
     $register = Register::getRegister();
     /** @var \HDNET\Calendarize\Service\IndexerService $indexer */
     $indexer = HelperUtility::create('HDNET\\Calendarize\\Service\\IndexerService');
     foreach ($register as $key => $configuration) {
         foreach ($this->indexItems as $table => $identifiers) {
             if ($table === $configuration['tableName']) {
                 foreach ($identifiers as $uid) {
                     $indexer->reindex($key, $table, $uid);
                 }
             }
         }
     }
     $this->indexItems = array();
 }
Example #6
0
 /**
  * Remove index Items of configurations that are not valid anymore
  *
  * @return bool
  */
 protected function removeInvalidConfigurationIndex()
 {
     $validKeys = array_keys(Register::getRegister());
     $databaseConnection = HelperUtility::getDatabaseConnection();
     if ($validKeys) {
         foreach ($validKeys as $key => $value) {
             $validKeys[$key] = $databaseConnection->fullQuoteStr($value, IndexerService::TABLE_NAME);
         }
         return (bool) $databaseConnection->exec_DELETEquery(self::TABLE_NAME, 'unique_register_key NOT IN (' . implode(',', $validKeys) . ')');
     }
     return (bool) $databaseConnection->exec_TRUNCATEquery(self::TABLE_NAME);
 }
 /**
  * Get the current configurations
  *
  * @return array
  */
 protected function getCurrentConfigurations()
 {
     $configurations = GeneralUtility::trimExplode(',', $this->settings['configuration'], TRUE);
     $return = array();
     foreach (Register::getRegister() as $key => $configuration) {
         if (in_array($key, $configurations)) {
             $return[] = $configuration;
         }
     }
     return $return;
 }
Example #8
0
 /**
  * Get the current configuration
  *
  * @return null|array
  */
 public function getConfiguration()
 {
     foreach (Register::getRegister() as $key => $configuration) {
         if ($this->getUniqueRegisterKey() == $key) {
             return $configuration;
         }
     }
     return NULL;
 }
Example #9
0
<?php

/**
 * General ext_tables file and also an example for your own extension
 *
 * @category Extension
 * @package  Calendarize
 * @author   Tim Lochmüller
 */
if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
\HDNET\Autoloader\Loader::extTables('HDNET', 'calendarize', \HDNET\Calendarize\Register::getDefaultAutoloader());
if (!(bool) \HDNET\Calendarize\Utility\ConfigurationUtility::get('disableDefaultEvent')) {
    \HDNET\Calendarize\Register::extTables(\HDNET\Calendarize\Register::getDefaultCalendarizeConfiguration());
    \TYPO3\CMS\Core\Category\CategoryRegistry::getInstance()->add('calendarize', 'tx_calendarize_domain_model_event');
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin('calendarize', 'Calendar', \HDNET\Calendarize\Utility\TranslateUtility::get('pluginName'));
if (\TYPO3\CMS\Core\Utility\GeneralUtility::compat_version('7.0.0')) {
    $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['calendarize_calendar'] .= ',categories';
}
// module icon
$extensionIcon = \HDNET\Autoloader\Utility\IconUtility::getByExtensionKey('calendarize', true);
if (\TYPO3\CMS\Core\Utility\GeneralUtility::compat_version('7.0')) {
    /** @var \TYPO3\CMS\Core\Imaging\IconRegistry $iconRegistry */
    $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Imaging\\IconRegistry');
    $iconRegistry->registerIcon('apps-pagetree-folder-contains-calendarize', 'TYPO3\\CMS\\Core\\Imaging\\IconProvider\\BitmapIconProvider', ['source' => $extensionIcon]);
} else {
    $extensionRelPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('calendarize');
    \TYPO3\CMS\Backend\Sprite\SpriteManager::addTcaTypeIcon('pages', 'contains-calendar', str_replace('EXT:calendarize/', $extensionRelPath, $extensionIcon));
}
Example #10
0
<?php

/**
 * General ext_localconf file and also an example for your own extension
 *
 * @category Extension
 * @package  Calendarize
 * @author   Tim Lochmüller
 */
if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
\HDNET\Autoloader\Loader::extLocalconf('HDNET', 'calendarize', \HDNET\Calendarize\Register::getDefaultAutoloader());
if (!(bool) \HDNET\Calendarize\Utility\ConfigurationUtility::get('disableDefaultEvent')) {
    \HDNET\Calendarize\Register::extLocalconf(\HDNET\Calendarize\Register::getDefaultCalendarizeConfiguration());
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('HDNET.calendarize', 'Calendar', array('Calendar' => 'list,year,month,week,day,detail,search'), array('Calendar' => 'list,year,month,week,day,detail,search'));