public function updateUserModuleStep3(Vtiger_Request $request) { $importModuleName = $request->get('module_import_name'); $uploadFile = $request->get('module_import_file'); $uploadDir = Settings_ModuleManager_Module_Model::getUploadDirectory(); $uploadFileName = "{$uploadDir}/{$uploadFile}"; checkFileAccess($uploadFileName); $importType = $request->get('module_import_type'); if (strtolower($importType) == 'language') { $package = new Vtiger_Language(); } else { $package = new Vtiger_Package(); } if (strtolower($importType) == 'language') { $package->import($uploadFileName); } else { $package->update(Vtiger_Module::getInstance($importModuleName), $uploadFileName); } checkFileAccessForDeletion($uploadFileName); unlink($uploadFileName); $result = array('success' => true, 'importModuleName' => $importModuleName); $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }
public function importUserModuleStep2(Vtiger_Request $request) { $viewer = $this->getViewer($request); $uploadDir = Settings_ModuleManager_Extension_Model::getUploadDirectory(); $qualifiedModuleName = $request->getModule(false); $uploadFile = 'usermodule_' . time() . '.zip'; $uploadFileName = "{$uploadDir}/{$uploadFile}"; checkFileAccess($uploadDir); if (!move_uploaded_file($_FILES['moduleZip']['tmp_name'], $uploadFileName)) { $viewer->assign('MODULEIMPORT_FAILED', true); } else { $package = new Vtiger_Package(); $importModuleName = $package->getModuleNameFromZip($uploadFileName); $importModuleDepVtVersion = $package->getDependentVtigerVersion(); if ($importModuleName == null) { $viewer->assign('MODULEIMPORT_FAILED', true); $viewer->assign("MODULEIMPORT_FILE_INVALID", true); checkFileAccessForDeletion($uploadFileName); unlink($uploadFileName); } else { // We need these information to push for Update if module is detected to be present. $moduleLicence = vtlib_purify($package->getLicense()); $viewer->assign("MODULEIMPORT_FILE", $uploadFile); $viewer->assign("MODULEIMPORT_TYPE", $package->type()); $viewer->assign("MODULEIMPORT_NAME", $importModuleName); $viewer->assign("MODULEIMPORT_DEP_VTVERSION", $importModuleDepVtVersion); $viewer->assign("MODULEIMPORT_LICENSE", $moduleLicence); if (!$package->isLanguageType() && !$package->isModuleBundle()) { $moduleInstance = Vtiger_Module::getInstance($importModuleName); $moduleimport_exists = $moduleInstance ? "true" : "false"; $moduleimport_dir_name = "modules/{$importModuleName}"; $moduleimport_dir_exists = is_dir($moduleimport_dir_name) ? "true" : "false"; $viewer->assign("MODULEIMPORT_EXISTS", $moduleimport_exists); $viewer->assign("MODULEIMPORT_DIR", $moduleimport_dir_name); $viewer->assign("MODULEIMPORT_DIR_EXISTS", $moduleimport_dir_exists); } } } $viewer->view('ImportUserModuleStep2.tpl', $qualifiedModuleName); }
public function updateUserModuleStep3(Vtiger_Request $request) { $viewer = $this->getViewer($request); $qualifiedModuleName = $request->getModule(false); $importModuleName = $request->get('module_import_name'); $uploadFile = $request->get('module_import_file'); $uploadDir = Settings_ModuleManager_Extension_Model::getUploadDirectory(); $uploadFileName = "{$uploadDir}/{$uploadFile}"; checkFileAccess($uploadFileName); $importType = $request->get('module_import_type'); if (strtolower($importType) == 'language') { $package = new Vtiger_Language(); } else { $package = new Vtiger_Package(); } if (strtolower($importType) == 'language') { $package->import($uploadFileName); } else { $package->update(Vtiger_Module::getInstance($importModuleName), $uploadFileName); } checkFileAccessForDeletion($uploadFileName); unlink($uploadFileName); $viewer->assign("UPDATE_MODULE_NAME", $importModuleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->view('UpdateUserModuleStep3.tpl', $qualifiedModuleName); }
function deleteFile($dir, $filename) { //added file check before deleting. checkFileAccessForDeletion($dir . $filename); unlink($dir . $filename); }
function pdfAttach($obj, $module, $file_name, $id) { global $log; $log->debug("Entering into pdfAttach() method."); global $adb, $current_user; global $upload_badext; $date_var = date('Y-m-d H:i:s'); $ownerid = $obj->column_fields['assigned_user_id']; if (!isset($ownerid) || $ownerid == '') { $ownerid = $current_user->id; } $current_id = $adb->getUniqueID("vtiger_crmentity"); $upload_file_path = decideFilePath(); //Copy the file from temporary directory into storage directory for upload $source_file_path = "storage/" . $file_name; $status = copy($source_file_path, $upload_file_path . $current_id . "_" . $file_name); //Check wheather the copy process is completed successfully or not. if failed no need to put entry in attachment table if ($status) { $query1 = "insert into vtiger_crmentity (crmid,smcreatorid,smownerid,setype,description,createdtime,modifiedtime) values(?,?,?,?,?,?,?)"; $params1 = array($current_id, $current_user->id, $ownerid, $module . " Attachment", $obj->column_fields['description'], $adb->formatDate($date_var, true), $adb->formatDate($date_var, true)); $adb->pquery($query1, $params1); $query2 = "insert into vtiger_attachments(attachmentsid, name, description, type, path) values(?,?,?,?,?)"; $params2 = array($current_id, $file_name, $obj->column_fields['description'], 'pdf', $upload_file_path); $result = $adb->pquery($query2, $params2); $query3 = 'insert into vtiger_seattachmentsrel values(?,?)'; $adb->pquery($query3, array($id, $current_id)); // Delete the file that was copied checkFileAccessForDeletion($source_file_path); unlink($source_file_path); return true; } else { $log->debug("pdf not attached"); return false; } }