/** * Process single file * @param string $token * @param HttpUploadedFile $file * @return bool */ function processFile($token, $file) { // Why not in one condition? // @see http://forum.nettephp.com/cs/viewtopic.php?pid=29556#p29556 if (!$file instanceof Nette\Http\FileUpload) { return false; } /* @var $validateCallback Callback */ $validateCallback = MultipleFileUpload::$validateFileCallback; /* @var $isValid bool */ $isValid = $validateCallback->invoke($file); if ($isValid) { MultipleFileUpload::getQueuesModel()->getQueue($token)->addFile($file); } return $isValid; }
// Enable Nette Debugger for error visualisation & logging $configurator->setDebugMode(['94.138.99.8', '10.0.2.2']); $configurator->enableDebugger(__DIR__ . '/../log', '*****@*****.**'); // Specify folder for cache $configurator->setTempDirectory(__DIR__ . '/../temp'); // Enable RobotLoader - this will load all classes automatically $configurator->createRobotLoader()->addDirectory(__DIR__)->addDirectory(__DIR__ . '/../libs')->register(); // Create Dependency Injection container from config.neon file $configurator->addConfig(__DIR__ . '/config/config.neon'); $configurator->addConfig(__DIR__ . '/config/config-local.neon'); $container = $configurator->createContainer(); //Form extensions use Nette\Forms\Container; use Nextras\Forms\Controls; //Date & Datetime Picker Container::extensionMethod('addDatePicker', function (Container $container, $name, $label = NULL) { return $container[$name] = new Controls\DatePicker($label); }); Container::extensionMethod('addDateTimePicker', function (Container $container, $name, $label = NULL) { return $container[$name] = new Controls\DateTimePicker($label); }); //Form Replication Kdyby\Replicator\Container::register(); //File Uploading MultipleFileUpload::register(); MultipleFileUpload::setQueuesModel(new MFUQueuesSQLite3()); //Thumbnails $configurator->onCompile[] = function ($configurator, $compiler) { $compiler->addExtension('thumbnail', new Kollarovic\Thumbnail\DI\Extension()); }; return $container;
/** * Renders JavaScript body of function. */ public function renderInitJavaScript(MultipleFileUpload $upload) { $tpl = $this->createTemplate(dirname(__FILE__) . "/initJS.js"); $tpl->token = $upload->getToken(); $tpl->sizeLimit = $upload->maxFileSize; $tpl->maxFiles = $upload->maxFiles; $tpl->backLink = (string) $upload->form->action; $tpl->mfu = $upload; $tpl->id = $this->getHtmlIdFlashCompatible($upload); return $tpl->__toString(TRUE); }
public static function setQueuesModel(IMFUQueuesModel $model) { self::$queuesModel = $model; self::_doSetLifetime(); }