/media/shnoulle/data/webdev/noplugin/application/libraries/Zip.php(19)
07 */ 08 class Zip extends \ZipArchive 09 { 10 protected $opened = false; 11 12 /** 13 * @inheritdoc 14 * @param bool $checkZipBomb If true, check for Zip Bombing 15 */ 16 #[\ReturnTypeWillChange] 17 public function open($filename, $flags = 0, $checkZipBomb = true) 18 { 19 $result = parent::open($filename, $flags); 20 $this->opened = ($result === true); 21 if ($result === true && $checkZipBomb && $this->isZipBomb()) { 22 throw new \Exception("Unzipped file is bigger than upload_max_filesize or post_max_size"); 23 } 24 return $result; 25 } 26 27 /** 28 * @inheritdoc 29 */ 30 public function close() : bool 31 {
| #0 |
+
–
/media/shnoulle/data/webdev/noplugin/application/libraries/Zip.php(19): ZipArchive->open("toolsDomDocument.zip", null) 14 * @param bool $checkZipBomb If true, check for Zip Bombing 15 */ 16 #[\ReturnTypeWillChange] 17 public function open($filename, $flags = 0, $checkZipBomb = true) 18 { 19 $result = parent::open($filename, $flags); 20 $this->opened = ($result === true); 21 if ($result === true && $checkZipBomb && $this->isZipBomb()) { 22 throw new \Exception("Unzipped file is bigger than upload_max_filesize or post_max_size"); 23 } 24 return $result; |
| #1 |
+
–
/media/shnoulle/data/webdev/noplugin/application/helpers/common_helper.php(4999): LimeSurvey\Zip->open("toolsDomDocument.zip", null, false) 4994 */ 4995 function isZipBomb($zip_filename) 4996 { 4997 $isZipBomb = false; 4998 $zip = new LimeSurvey\Zip(); 4999 if ($zip->open($zip_filename, null, false) === true) { 5000 $isZipBomb = $zip->isZipBomb(); 5001 $zip->close(); 5002 } 5003 return $isZipBomb; 5004 } |
| #2 |
+
–
/media/shnoulle/data/webdev/noplugin/application/libraries/ExtensionInstaller/FileFetcherUploadZip.php(213): isZipBomb("toolsDomDocument.zip") 208 */ 209 protected function checkZipBomb() 210 { 211 // Check zip bomb. 212 \Yii::import('application.helpers.common_helper', true); 213 if (isZipBomb($_FILES['the_file']['name'])) { 214 throw new Exception(gT('Unzipped file is too big.')); 215 } 216 } 217 218 /** |
| #3 |
+
–
/media/shnoulle/data/webdev/noplugin/application/libraries/ExtensionInstaller/FileFetcherUploadZip.php(227): LimeSurvey\ExtensionInstaller\FileFetcherUploadZip->checkZipBomb() 222 protected function extractZipFile($tempdir) 223 { 224 \Yii::import('application.helpers.common_helper', true); 225 226 /** @todo: Move this after checking if the file exists? */ 227 $this->checkZipBomb(); 228 229 if (!is_file($_FILES['the_file']['tmp_name'])) { 230 throw new Exception( 231 gT("An error occurred uploading your file. This may be caused by incorrect permissions for the application /tmp folder.") 232 ); |
| #4 |
+
–
/media/shnoulle/data/webdev/noplugin/application/libraries/ExtensionInstaller/FileFetcherUploadZip.php(45): LimeSurvey\ExtensionInstaller\FileFetcherUploadZip->extractZipFile("/media/shnoulle/data/webdev/noplugin/tmp/install_tFcsZH4zhqzIh5U...") 40 */ 41 public function fetch() 42 { 43 $this->checkFileSizeError(); 44 $this->clearTmpdir(); 45 $this->extractZipFile($this->getTempdir()); 46 } 47 48 /** 49 * Move files from tempdir to final destdir. 50 * |
| #5 |
+
–
/media/shnoulle/data/webdev/noplugin/application/libraries/ExtensionInstaller/ExtensionInstaller.php(51): LimeSurvey\ExtensionInstaller\FileFetcherUploadZip->fetch() 46 { 47 if (empty($this->fileFetcher)) { 48 throw new InvalidArgumentException('fileFetcher is not set'); 49 } 50 51 $this->fileFetcher->fetch(); 52 } 53 54 55 /** 56 * Get the configuration from temp dir. |
| #6 |
+
–
/media/shnoulle/data/webdev/noplugin/application/controllers/admin/PluginManagerController.php(520): LimeSurvey\ExtensionInstaller\ExtensionInstaller->fetchFiles() 515 $this->checkDemoMode(); 516 517 $installer = $this->getInstaller(); 518 519 try { 520 $installer->fetchFiles(); 521 $this->getController()->redirect($this->getPluginManagerUrl('uploadConfirm')); 522 } catch (Exception $ex) { 523 $installer->abort(); 524 $this->errorAndRedirect(gT('Could not fetch files.') . ' ' . $ex->getMessage()); 525 } |
| #7 |
unknown(0): PluginManagerController->upload()
|
| #8 |
+
–
/media/shnoulle/data/webdev/noplugin/vendor/yiisoft/yii/framework/web/actions/CAction.php(114): ReflectionMethod->invokeArgs(PluginManagerController, array()) 109 elseif($param->isDefaultValueAvailable()) 110 $ps[]=$param->getDefaultValue(); 111 else 112 return false; 113 } 114 $method->invokeArgs($object,$ps); 115 return true; 116 } 117 } |
| #9 |
+
–
/media/shnoulle/data/webdev/noplugin/application/core/SurveyCommonAction.php(83): CAction->runWithParamsInternal(PluginManagerController,
ReflectionMethod, array("r" => "admin/pluginmanager", "sa" =>
"upload", "sAction" => "templateupload")) 78 $oMethod = new ReflectionMethod($this, $sDefault); 79 } 80 81 // We're all good to go, let's execute it 82 // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params 83 return parent::runWithParamsInternal($this, $oMethod, $params); 84 } 85 86 /** 87 * Some functions have different parameters, which are just an alias of the 88 * usual parameters we're getting in the url. This function just populates |
| #10 |
+
–
/media/shnoulle/data/webdev/noplugin/vendor/yiisoft/yii/framework/web/CController.php(308): SurveyCommonAction->runWithParams(array("r" => "admin/pluginmanager", "sa" => "upload", "sAction" => "templateupload")) 303 { 304 $priorAction=$this->_action; 305 $this->_action=$action; 306 if($this->beforeAction($action)) 307 { 308 if($action->runWithParams($this->getActionParams())===false) 309 $this->invalidActionParams($action); 310 else 311 $this->afterAction($action); 312 } 313 $this->_action=$priorAction; |
| #11 |
+
–
/media/shnoulle/data/webdev/noplugin/vendor/yiisoft/yii/framework/web/CController.php(286): CController->runAction(PluginManagerController) 281 * @see runAction 282 */ 283 public function runActionWithFilters($action,$filters) 284 { 285 if(empty($filters)) 286 $this->runAction($action); 287 else 288 { 289 $priorAction=$this->_action; 290 $this->_action=$action; 291 CFilterChain::create($this,$action,$filters)->run(); |
| #12 |
+
–
/media/shnoulle/data/webdev/noplugin/vendor/yiisoft/yii/framework/web/CController.php(265): CController->runActionWithFilters(PluginManagerController, array()) 260 { 261 if(($parent=$this->getModule())===null) 262 $parent=Yii::app(); 263 if($parent->beforeControllerAction($this,$action)) 264 { 265 $this->runActionWithFilters($action,$this->filters()); 266 $parent->afterControllerAction($this,$action); 267 } 268 } 269 else 270 $this->missingAction($actionID); |
| #13 |
+
–
/media/shnoulle/data/webdev/noplugin/application/controllers/AdminController.php(204): CController->run("pluginmanager") 199 $this->runModuleController($action); 200 // this will redirect the default action to the new controller previously "admin/index" or "admin" to "dashboard/view" 201 if (empty($action) || $action === 'index') { 202 $this->redirect($this->createUrl('dashboard/view')); 203 } 204 return parent::run($action); 205 } 206 207 /** 208 * Starting with LS4, 3rd party developer can extends any of the LimeSurve controllers. 209 * |
| #14 |
+
–
/media/shnoulle/data/webdev/noplugin/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): AdminController->run("pluginmanager") 277 { 278 list($controller,$actionID)=$ca; 279 $oldController=$this->_controller; 280 $this->_controller=$controller; 281 $controller->init(); 282 $controller->run($actionID); 283 $this->_controller=$oldController; 284 } 285 else 286 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".', 287 array('{route}'=>$route===''?$this->defaultController:$route))); |
| #15 |
+
–
/media/shnoulle/data/webdev/noplugin/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/pluginmanager") 136 foreach(array_splice($this->catchAllRequest,1) as $name=>$value) 137 $_GET[$name]=$value; 138 } 139 else 140 $route=$this->getUrlManager()->parseUrl($this->getRequest()); 141 $this->runController($route); 142 } 143 144 /** 145 * Registers the core application components. 146 * This method overrides the parent implementation by registering additional core components. |
| #16 |
+
–
/media/shnoulle/data/webdev/noplugin/vendor/yiisoft/yii/framework/base/CApplication.php(185): CWebApplication->processRequest() 180 public function run() 181 { 182 if($this->hasEventHandler('onBeginRequest')) 183 $this->onBeginRequest(new CEvent($this)); 184 register_shutdown_function(array($this,'end'),0,false); 185 $this->processRequest(); 186 if($this->hasEventHandler('onEndRequest')) 187 $this->onEndRequest(new CEvent($this)); 188 } 189 190 /** |
| #17 |
+
–
/media/shnoulle/data/webdev/noplugin/index.php(161): CApplication->run() 156 require_once APPPATH . 'core/LSYii_Application' . EXT; 157 158 $config = require_once(APPPATH . 'config/internal' . EXT); 159 160 Yii::$enableIncludePath = false; 161 Yii::createApplication('LSYii_Application', $config)->run(); 162 163 /* End of file index.php */ 164 /* Location: ./index.php */ |