/**
  * 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;
 }
Beispiel #6
0
    /**
     * 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;
 }
Beispiel #8
0
 /**
  * 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.');
 }
Beispiel #16
0
 /**
  */
 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];
 }