/** * Returns an instanceof tslib_cObj or \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer. * Since this object has functions for database access and frontend your ControllerAction * should always provide cObj for model and view. This ensures only one instance per request. * * @return an instance of \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer or tslib_cObj */ function getCObj() { if (!$this->cObject) { $this->cObject = tx_rnbase::makeInstance(tx_rnbase_util_Typo3Classes::getContentObjectRendererClass()); } return $this->cObject; }
/** * Prüft ob korrekter text zurück erzeugt wird * Das umfasst auch Sonderzeichen */ public function testGeneratorReturnsCorrectPlainTextWhenNoInfoTable() { $aParams = array('defaultFontFace' => 0, 'defaultFontSize' => 22, 'paperOrientation' => 1, 'rtfVersion' => 1); $oRTFGenerator = tx_rnbase::makeInstance('tx_mklib_util_RTFGenerator', $aParams); $sRTFText = $oRTFGenerator->getRTF('###SPECIALCHAR_(###<strong>Das ist ein schöner Testtext.</strong> Auch mit ###SPECIALCHAR_)### verschiedenen ßonderzeichen und Ähnlichem. Sogar einem ###SPECIALCHAR_*###'); $this->assertEquals('{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fcharset0\\fnil Arial;}{\\f1\\fcharset0\\fnil Wingdings;}}{\\f0\\fs22\\dn0 }{\\f1\\fs25\\dn0 (}{\\f0\\fs22\\dn0}{\\b\\f0\\fs22\\dn0 Das ist ein sch\\\'f6ner Testtext. }{\\f0\\fs22\\dn0 Auch mit }{\\f1\\fs25\\dn0 )}{\\f0\\fs22\\dn0 verschiedenen \\\'dfonderzeichen und \\\'c4hnlichem. Sogar einem }{\\f1\\fs25\\dn0 *}{\\f0\\fs22\\dn0}}', $sRTFText, 'Der generierte Text ist falsch.'); }
public function testGetExtensionCfgValue() { $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['dummyExtension'] = serialize(array('testConfig' => 'testConfigValue')); $extensionConfiguration = tx_rnbase::makeInstance('tx_mklib_util_ExtensionConfigurationTest'); $testConfigValue = $extensionConfiguration->getTestConfig(); $this->assertEquals('testConfigValue', $testConfigValue); }
protected function send45() { /* @var $mail TYPO3\CMS\Core\Mail\MailMessage */ $mail = tx_rnbase::makeInstance(tx_rnbase_util_Typo3Classes::getMailMessageClass()); $mail->setFrom(array($this->from => $this->fromName)); $mail->setTo(tx_rnbase_util_Strings::trimExplode(',', $this->toAsString)); $mail->setSubject($this->subject); if ($this->replyTo) { $mail->addReplyTo($this->replyTo, $this->replyToName); } // Or set it after like this if ($this->htmlPart) { $mail->setBody($this->htmlPart, 'text/html'); } // Add alternative parts with addPart() if ($this->textPart) { $mail->addPart($this->textPart, 'text/plain'); } if (!empty($this->attachments)) { foreach ($this->attachments as $attachment) { if (!$mail->attach(Swift_Attachment::fromPath($attachment['src']))) { tx_rnbase_util_Logger::warn('Adding attachment failed!', 'rn_base', array('subject' => $mail->subject, 'to' => $this->toAsString, 'attachment' => $attachment)); } } } $mail->send(); }
private function getConfig($confArr) { $cObj = tx_rnbase::makeInstance(tx_rnbase_util_Typo3Classes::getContentObjectRendererClass()); $configurations = tx_rnbase::makeInstance('tx_rnbase_configurations'); $configurations->init($confArr, $cObj, 'tx_rnbase', 'rnbase'); return $configurations; }
/** * returns object of network * * @return array|tx_t3socials_models_Network */ protected function getNetwork() { return tx_rnbase::makeInstance('tx_t3socials_models_Network', array('name' => 'Twitter', 'network' => 'twitter', 'username' => '', 'password' => '', 'config' => 'twitter { access_token = access_token_secret = }')); }
/** * Liefert eine instanz des Validators * * @return tx_mklib_validator_ZipCode */ public static function getInstance() { if (!self::$instance) { self::$instance = tx_rnbase::makeInstance('tx_mklib_validator_ZipCode'); } return self::$instance; }
/** * It is possible to overwrite this method and return an array of tab functions * * @return array */ protected function getSubMenuItems() { $menuItems = tx_t3socials_network_Config::getNewtorkCommunicators(); array_unshift($menuItems, tx_rnbase::makeInstance('tx_t3socials_mod_handler_Trigger')); tx_rnbase_util_Misc::callHook('t3socials', 'modCommunicator_tabItems', array('tabItems' => &$menuItems), $this); return $menuItems; }
/** * Die dazu das aktuelle item für eine Detailseite zu holen bzw dieses zurückzusetzen. * Dazu muss den Linker einfach folgendes für den action namen liefern: "show" + den eigentlichen key. * * Dann brauch man in der Detailansicht noch einen Button nach folgendem Schema: * $markerArray['###NEWSEARCHBTN###'] = $formTool->createSubmit('showHowTo[clear]', '###LABEL_BUTTON_BACK###'); * * @param string $key * @param tx_rnbase_mod_IModule $module * * @return tx_rnbase_model_base */ public static function getCurrentItem($key, tx_rnbase_mod_IModule $module) { $itemid = 0; $data = t3lib_div::_GP('show' . $key); if ($data) { list($itemid, ) = each($data); } $dataKey = 'current' . $key; if ($itemid === 'clear') { $data = t3lib_BEfunc::getModuleData(array($dataKey => ''), array($dataKey => '0'), $module->getName()); return false; } // Daten mit Modul abgleichen $changed = $itemid ? array($dataKey => $itemid) : array(); $data = t3lib_BEfunc::getModuleData(array($dataKey => ''), $changed, $module->getName()); $itemid = $data[$dataKey]; if (!$itemid) { return false; } $modelData = explode('|', $itemid); $item = tx_rnbase::makeInstance($modelData[0], $modelData[1]); if (!$item->isValid()) { $item = null; //auf null setzen damit die Suche wieder angezeigt wird } return $item; }
private static function getDamDB() { if (!self::$damDb) { self::$damDb = tx_rnbase::makeInstance('tx_dam_db'); } return self::$damDb; }
/** * Returns a storage * * @return Tx_Rnbase_Domain_Model_Data */ private function getStorage() { if ($this->storage === null) { $this->storage = \tx_rnbase::makeInstance('Tx_Rnbase_Domain_Model_Data'); } return $this->storage; }
/** * Liefert eine Instanz einer konkreten Suchklasse. Der * Klassenname sollte aber stimmen. * * @param string $classname * @return tx_rnbase_util_SearchBase */ static function getInstance($classname) { if (!isset(self::$instances[$classname])) { self::$instances[$classname] = tx_rnbase::makeInstance($classname); } return self::$instances[$classname]; }
/** */ function testMakeInstanceOfExtBaseClass() { if (!$this->isExtBasePossible()) { $this->markTestSkipped(); } $obj = tx_rnbase::makeInstance('Tx_T3sponsors_Domain_Model_Category'); $this->assertTrue(is_object($obj), 'Object not instantiated'); }
/** * @return tx_rnbase_util_Lang */ private function includeLocalLang() { $llFile = $this->getLLFile(); /* @var $lang tx_rnbase_util_Lang */ $lang = tx_rnbase::makeInstance('tx_rnbase_util_Lang'); $lang->loadLLFile($llFile); return $lang; }
public function testMakeLink() { $oLinker = tx_rnbase::makeInstance('tx_mklib_tests_fixtures_classes_DummyLinker'); $oModel = tx_rnbase::makeInstance('tx_rnbase_model_base', 1); $oModel->uid = 1; $oFormTool = tx_rnbase::makeInstance('tx_rnbase_util_FormTool'); $this->assertEquals('<input type="submit" name="showTest[tx_rnbase_model_base|1]" value="" />', $oLinker->makeLink($oModel, $oFormTool), 'Fsclher Link.'); }
/** */ public function __construct() { /** @var TcaDatabaseRecord $formDataGroup */ $formDataGroup = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\FormDataGroup\\TcaDatabaseRecord'); $this->formDataCompiler = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\FormDataCompiler', $formDataGroup); $this->nodeFactory = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\NodeFactory'); $this->formResultCompiler = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\FormResultCompiler'); }
/** * Init object * * @param tx_rnbase_mod_IModule $mod * @param array $options * @param string $sSelector */ protected function init(tx_rnbase_mod_IModule $mod, $options, $sSelector = 'tx_mklib_mod1_util_Selector') { $this->options = $options; $this->mod = $mod; $this->formTool = $mod->getFormTool(); $this->selector = tx_rnbase::makeInstance($sSelector); $this->selector->init($mod); }
/** * erzeugt eine Liste von Dateien. * * @param string $template * @param tx_mkdownloads_model_Download $item * @param tx_rnbase_util_FormatUtil $formatter * @param string $confId * @param string $marker * @return string */ public static function buildList($aRecords, $template, &$formatter, $confId, $marker) { if (!self::containsMarker($template, $marker . 'S')) { return $template; } $listBuilder = tx_rnbase::makeInstance('tx_rnbase_util_ListBuilder'); $template = $listBuilder->render($aRecords, $formatter->getConfigurations()->getViewData(), $template, 'tx_mklib_marker_MediaRecord', $confId, $marker, $formatter); return $template; }
public function testUniqueModelArray() { $aArray = array(tx_rnbase::makeInstance('tx_rnbase_model_base', array('uid' => 5, 'name' => 'Model Nr. 5')), tx_rnbase::makeInstance('tx_rnbase_model_base', array('uid' => 6, 'name' => 'Model Nr. 6')), tx_rnbase::makeInstance('tx_rnbase_model_base', array('uid' => 5, 'name' => 'Model Nr. 5')), tx_rnbase::makeInstance('tx_rnbase_model_base', array('uid' => 2, 'name' => 'Model Nr. 2'))); $aUnique = tx_mklib_util_Model::uniqueModels($aArray); $this->assertTrue(is_array($aUnique), 'No array given.'); $this->assertEquals(count($aUnique), 3, 'Array has a wrong count of entries.'); $this->assertArrayHasKey(2, $aUnique, 'Model with uid 2 not found'); $this->assertArrayHasKey(5, $aUnique, 'Model with uid 5 not found'); $this->assertArrayHasKey(6, $aUnique, 'Model with uid 6 not found'); }
/** * Erstellen des Frontend-Outputs */ function createOutput($template, &$viewData, &$configurations, &$formatter) { $confId = $this->getController()->getConfId(); // Die ViewData bereitstellen $item = $viewData->offsetGet('item'); $itemPath = $this->getItemPath($configurations, $confId); $markerClass = $this->getMarkerClass($configurations, $confId); $marker = tx_rnbase::makeInstance($markerClass); $out = $marker->parseTemplate($template, $item, $formatter, $confId . $itemPath . '.', strtoupper($itemPath)); return $out; }
/** * Returns the cache instance * * @param string $name * @return tx_rnbase_cache_ICache */ private static function getCacheImpl($name) { if (tx_rnbase_util_TYPO3::isTYPO62OrHigher()) { return tx_rnbase::makeInstance('tx_rnbase_cache_TYPO3Cache62', $name); } elseif (tx_rnbase_util_TYPO3::isTYPO60OrHigher()) { return tx_rnbase::makeInstance('tx_rnbase_cache_TYPO3Cache60', $name); } elseif (tx_rnbase_util_TYPO3::isTYPO46OrHigher()) { return tx_rnbase::makeInstance('tx_rnbase_cache_TYPO3Cache46', $name); } return tx_rnbase::makeInstance('tx_rnbase_cache_TYPO3Cache', $name); }
protected function getConfigurations($aConfig = array()) { $configurations = tx_rnbase::makeInstance('tx_rnbase_configurations'); $parameters = tx_rnbase::makeInstance('tx_rnbase_parameters'); //@TODO: warum wird die klasse tslib_cObj nicht gefunden!? (mw: eternit local) if (!class_exists('tslib_cObj')) { require_once t3lib_extMgm::extPath('cms', 'tslib/class.tslib_content.php'); } $configurations->init($aConfig, $configurations->getCObj(1), 'mklib', 'mklib'); $configurations->setParameters($parameters); return $configurations; }
public function testGetInt() { $params = array('empty' => '', 'zero' => '0', 'seven' => '7', 'hello' => 'hello', 'NK_world' => 'world'); /* @var $parameters tx_rnbase_parameters */ $parameters = tx_rnbase::makeInstance('tx_rnbase_parameters', $params); $this->assertEquals(0, $parameters->getInt('empty')); $this->assertEquals(0, $parameters->getInt('zero')); $this->assertEquals(7, $parameters->getInt('seven')); $this->assertEquals(0, $parameters->getInt('hello')); $this->assertEquals(0, $parameters->getInt('world')); $this->assertEquals(0, $parameters->getInt('null')); }
/** * Do the output rendering. * * As this is a generic view which can be called by * many different actions we need the actionConfId in * $viewData in order to read its special configuration, * including redirection options etc. * * @param string $template * @param ArrayObject $viewData * @param tx_rnbase_configurations $configurations * @param tx_rnbase_util_FormatUtil $formatter * @return mixed Ready rendered output or HTTP redirect */ public function createOutput($template, &$viewData, &$configurations, &$formatter) { //View-Daten abholen $items =& $viewData->offsetGet('items'); $confId = $this->getController()->getExtendedConfId(); $itemPath = $this->getItemPath($configurations, $confId); $markerClass = $this->getMarkerClass($configurations, $confId); //Liste generieren $listBuilder = tx_rnbase::makeInstance('tx_rnbase_util_ListBuilder'); $out = $listBuilder->render($items, $viewData, $template, $markerClass, $confId . $itemPath . '.', strtoupper($itemPath), $formatter); return $out; }
/** * Returns the cache * * @param string $name * @return tx_rnbase_cache_ICache */ private static function createTYPO3Cache($name) { if (tx_rnbase_util_TYPO3::isTYPO62OrHigher()) { $className = 'tx_rnbase_cache_TYPO3Cache62'; } elseif (tx_rnbase_util_TYPO3::isTYPO60OrHigher()) { $className = 'tx_rnbase_cache_TYPO3Cache60'; } elseif (tx_rnbase_util_TYPO3::isTYPO46OrHigher()) { $className = 'tx_rnbase_cache_TYPO3Cache46'; } else { $className = 'tx_rnbase_cache_TYPO3Cache'; } return tx_rnbase::makeInstance($className, $name); }
/** * @return TYPO3\CMS\Core\TypoScript\TemplateService */ public static function getTSTemplate() { if (!is_object(self::$tmpl)) { if ($GLOBALS['TSFE']->tmpl) { self::$tmpl = $GLOBALS['TSFE']->tmpl; } else { self::$tmpl = tx_rnbase::makeInstance(tx_rnbase_util_Typo3Classes::getTemplateServiceClass()); self::$tmpl->init(); self::$tmpl->tt_track = 0; } } return self::$tmpl; }
/** * * @param tx_rnbase_model_base $model * @param array|tx_rnbase_model_data $options * @return string */ protected function makeLink($model = NULL, $options = NULL) { if (!$model instanceof tx_rnbase_model_base) { $item = $this->getModel(array('uid' => 14))->setTableName('pages'); } if (!$options instanceof tx_rnbase_model_data) { $options = tx_rnbase_model_data::getInstance($options); } /* @var $linker tx_rnbase_mod_linker_ShowDetails */ $linker = tx_rnbase::makeInstance('tx_rnbase_mod_linker_ShowDetails'); self::assertInstanceOf('tx_rnbase_mod_linker_LinkerInterface', $linker); return $linker->makeLink($item, tx_rnbase::makeInstance('tx_rnbase_util_FormTool'), 0, $options); }
/** * @group unit */ public function testInitMediaForFalMediaSetsFalPropertiesToRecord() { if (!tx_rnbase_util_TYPO3::isTYPO60OrHigher()) { $this->markTestSkipped('Runs only in TYPO3 6.0 and higher'); } $falModel = $this->getMock('stdClass', array('getProperties', 'getUid', 'getPublicUrl')); $falModel->expects($this->once())->method('getProperties')->will($this->returnValue(array('title' => 'sample picture reference', 'description' => 'this is a sample picture', 'otherField' => '/some/path', 'otherField2' => '/some/other/path'))); $mediaModel = tx_rnbase::makeInstance('tx_rnbase_model_media', $falModel); $this->assertEquals('sample picture reference', $mediaModel->record['title'], 'not the title of the reference'); $this->assertEquals('/some/path', $mediaModel->record['otherField'], 'not the otherField of the original'); $this->assertEquals('/some/other/path', $mediaModel->record['otherField2'], 'not the otherField2 of the otherField2'); $this->assertEquals('this is a sample picture', $mediaModel->record['description'], 'not the description of the original'); }
/** * Render the PHP template, translate and return the output as string * * The ".php" suffix is added in this function. * Call this function after the $pathToTemplates is set. * The return value is the rendered result of the template, followed by translation. * It is typically a (x)html string, but can be used for any other text based format. * * @param string name of template file without the ".php" suffix * @param tx_rnbase_configurations configuration instance * @return string typically an (x)html string */ function render($view, $configurations) { $link = $configurations->createLink(); // Die ViewData bereitstellen $viewData =& $configurations->getViewData(); $formatter = tx_rnbase::makeInstance('tx_rnbase_util_FormatUtil', $configurations); $path = $this->getTemplate($view); // Für den PHP Include benötigen wir den absoluten Pfad $path = tx_rnbase_util_Files::getFileAbsFileName($path); ob_start(); include $path; $out = ob_get_clean(); return $out; }
/** * @param mixed $rowOrUid * @return tx_mklib_model_StaticCountryZone */ public static function getInstance($rowOrUid) { // Instanzieren, wenn nicht im Cache oder ein Record übergeben wurde. if (is_array($rowOrUid) || !isset(self::$instances[$rowOrUid])) { $item = tx_rnbase::makeInstance('tx_mklib_model_StaticCountryZone', $rowOrUid); // Nur das erzeugte Model zurückgeben if (is_array($rowOrUid)) { return $item; } // else, Model Cachen, wenn eine uid übergeben wurde self::$instances[$rowOrUid] = $item; } return self::$instances[$rowOrUid]; }