public int ConvertFilePathToFileId(string FilePath, int PortalID)
        {
            string FileName   = "";
            string FolderName = "";
            int    FileId     = -1;

            if (!String.IsNullOrEmpty(FilePath))
            {
                FileName   = FilePath.Substring(FilePath.LastIndexOf("/") + 1);
                FolderName = FilePath.Replace(FileName, "");
            }
            FileController   objFiles   = new FileController();
            FolderController objFolders = new FolderController();
            FolderInfo       objFolder  = objFolders.GetFolder(PortalID, FolderName, false);

            if (objFolder != null)
            {
                FileInfo objFile = objFiles.GetFile(FileName, PortalID, objFolder.FolderID);
                if (objFile != null)
                {
                    FileId = objFile.FileId;
                }
            }
            return(FileId);
        }
 public int ConvertFilePathToFileId(string FilePath, int PortalID)
 {
     string FileName = "";
     string FolderName = "";
     int FileId = -1;
     if (!String.IsNullOrEmpty(FilePath))
     {
         FileName = FilePath.Substring(FilePath.LastIndexOf("/") + 1);
         FolderName = FilePath.Replace(FileName, "");
     }
     FileController objFiles = new FileController();
     FolderController objFolders = new FolderController();
     FolderInfo objFolder = objFolders.GetFolder(PortalID, FolderName, false);
     if (objFolder != null)
     {
         FileInfo objFile = objFiles.GetFile(FileName, PortalID, objFolder.FolderID);
         if (objFile != null)
         {
             FileId = objFile.FileId;
         }
     }
     return FileId;
 }
 public static string AddFile(string strFile, int PortalId, bool ClearCache, CommonLibrary.Services.FileSystem.FolderInfo folder)
 {
     string retValue = "";
     try
     {
         CommonLibrary.Services.FileSystem.FileController objFileController = new CommonLibrary.Services.FileSystem.FileController();
         System.IO.FileInfo fInfo = new System.IO.FileInfo(strFile);
         string sourceFolderName = Globals.GetSubFolderPath(strFile, PortalId);
         string sourceFileName;
         if (folder.StorageLocation == (int)CommonLibrary.Services.FileSystem.FolderController.StorageLocationTypes.SecureFileSystem)
         {
             sourceFileName = GetFileName(strFile);
         }
         else
         {
             sourceFileName = strFile;
         }
         CommonLibrary.Services.FileSystem.FileInfo file = objFileController.GetFile(sourceFileName, PortalId, folder.FolderID);
         if (file == null)
         {
             FileStream fileStrm = null;
             try
             {
                 fileStrm = fInfo.OpenRead();
                 AddFile(PortalId, fileStrm, strFile, "", fInfo.Length, sourceFolderName, true, ClearCache, true);
             }
             finally
             {
                 if (fileStrm != null)
                 {
                     fileStrm.Close();
                     fileStrm.Dispose();
                 }
             }
         }
         else
         {
             if (file.Size != fInfo.Length)
             {
                 string extension = Path.GetExtension(strFile).Replace(".", "");
                 UpdateFileData(file.FileId, folder.FolderID, PortalId, sourceFileName, extension, GetContentType(extension), fInfo.Length, sourceFolderName);
             }
         }
     }
     catch (Exception ex)
     {
         retValue = ex.Message;
     }
     return retValue;
 }
 public static void AddFile(string FileName, int PortalId, string Folder, string HomeDirectoryMapPath, string contentType)
 {
     string strFile = HomeDirectoryMapPath + Folder + FileName;
     CommonLibrary.Services.FileSystem.FileController objFiles = new CommonLibrary.Services.FileSystem.FileController();
     System.IO.FileInfo finfo = new System.IO.FileInfo(strFile);
     CommonLibrary.Services.FileSystem.FolderController objFolders = new CommonLibrary.Services.FileSystem.FolderController();
     CommonLibrary.Services.FileSystem.FolderInfo objFolder = objFolders.GetFolder(PortalId, Folder, false);
     CommonLibrary.Services.FileSystem.FileInfo objFile;
     objFile = objFiles.GetFile(FileName, PortalId, objFolder.FolderID);
     if (objFile == null)
     {
         objFiles.AddFile(PortalId, FileName, finfo.Extension, finfo.Length, 0, 0, contentType, "", objFolder.FolderID, true);
     }
     else
     {
         objFiles.UpdateFile(objFile.FileId, objFile.FileName, finfo.Extension, finfo.Length, 0, 0, contentType, "", objFolder.FolderID);
     }
 }
 private static string UpdateFile(string strSourceFile, string strDestFile, int PortalId, bool isCopy, bool isNew, bool ClearCache)
 {
     string retValue = "";
     retValue += CheckValidFileName(strSourceFile) + " ";
     retValue += CheckValidFileName(strDestFile);
     if (retValue.Length > 1)
     {
         return retValue;
     }
     retValue = "";
     Stream sourceStream = null;
     try
     {
         CommonLibrary.Services.FileSystem.FolderController objFolderController = new CommonLibrary.Services.FileSystem.FolderController();
         CommonLibrary.Services.FileSystem.FileController objFileController = new CommonLibrary.Services.FileSystem.FileController();
         string sourceFolderName = Globals.GetSubFolderPath(strSourceFile, PortalId);
         string sourceFileName = GetFileName(strSourceFile);
         CommonLibrary.Services.FileSystem.FolderInfo sourceFolder = objFolderController.GetFolder(PortalId, sourceFolderName, false);
         string destFileName = GetFileName(strDestFile);
         string destFolderName = Globals.GetSubFolderPath(strDestFile, PortalId);
         CommonLibrary.Services.FileSystem.FileInfo file;
         if (sourceFolder != null)
         {
             file = objFileController.GetFile(sourceFileName, PortalId, sourceFolder.FolderID);
             if (file != null)
             {
                 sourceStream = (Stream)GetFileStream(file);
                 if (isCopy)
                 {
                     AddFile(PortalId, sourceStream, strDestFile, "", file.Size, destFolderName, true, ClearCache);
                 }
                 else
                 {
                     CommonLibrary.Services.FileSystem.FolderInfo destinationFolder = objFolderController.GetFolder(PortalId, destFolderName, false);
                     if (destinationFolder != null)
                     {
                         objFileController.UpdateFile(file.FileId, destFileName, file.Extension, file.Size, file.Width, file.Height, file.ContentType, destFolderName, destinationFolder.FolderID);
                         WriteStream(file.FileId, sourceStream, strDestFile, destinationFolder.StorageLocation, true);
                         if (sourceFolder.StorageLocation == (int)CommonLibrary.Services.FileSystem.FolderController.StorageLocationTypes.InsecureFileSystem)
                         {
                             DeleteFile(strSourceFile);
                         }
                         if (sourceFolder.StorageLocation == (int)CommonLibrary.Services.FileSystem.FolderController.StorageLocationTypes.SecureFileSystem)
                         {
                             DeleteFile(strSourceFile + Globals.glbProtectedExtension);
                         }
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         retValue = ex.Message;
     }
     finally
     {
         if (sourceStream != null)
         {
             sourceStream.Close();
             sourceStream.Dispose();
         }
     }
     return retValue;
 }
 public static string UnzipFile(string fileName, string DestFolder, PortalSettings settings)
 {
     ZipInputStream objZipInputStream = null;
     string strMessage = "";
     try
     {
         int FolderPortalId = GetFolderPortalId(settings);
         bool isHost = settings.ActiveTab.ParentId == settings.SuperTabId;
         PortalController objPortalController = new PortalController();
         CommonLibrary.Services.FileSystem.FolderController objFolderController = new CommonLibrary.Services.FileSystem.FolderController();
         CommonLibrary.Services.FileSystem.FileController objFileController = new CommonLibrary.Services.FileSystem.FileController();
         string sourceFolderName = Globals.GetSubFolderPath(fileName, FolderPortalId);
         string sourceFileName = GetFileName(fileName);
         CommonLibrary.Services.FileSystem.FolderInfo folder = objFolderController.GetFolder(FolderPortalId, sourceFolderName, false);
         CommonLibrary.Services.FileSystem.FileInfo file = objFileController.GetFile(sourceFileName, FolderPortalId, folder.FolderID);
         int storageLocation = folder.StorageLocation;
         ZipEntry objZipEntry;
         string strFileName = "";
         string strExtension;
         try
         {
             objZipInputStream = new ZipInputStream(GetFileStream(file));
         }
         catch (Exception ex)
         {
             return ex.Message;
         }
         ArrayList sortedFolders = new ArrayList();
         objZipEntry = objZipInputStream.GetNextEntry();
         while (objZipEntry != null)
         {
             if (objZipEntry.IsDirectory)
             {
                 try
                 {
                     sortedFolders.Add(objZipEntry.Name.ToString());
                 }
                 catch (Exception ex)
                 {
                     objZipInputStream.Close();
                     return ex.Message;
                 }
             }
             objZipEntry = objZipInputStream.GetNextEntry();
         }
         sortedFolders.Sort();
         foreach (string s in sortedFolders)
         {
             try
             {
                 AddFolder(settings, DestFolder, s.ToString(), storageLocation);
             }
             catch (Exception ex)
             {
                 return ex.Message;
             }
         }
         objZipInputStream = new ZipInputStream(GetFileStream(file));
         objZipEntry = objZipInputStream.GetNextEntry();
         while (objZipEntry != null)
         {
             if (!objZipEntry.IsDirectory)
             {
                 if (objPortalController.HasSpaceAvailable(FolderPortalId, objZipEntry.Size))
                 {
                     strFileName = Path.GetFileName(objZipEntry.Name);
                     if (!String.IsNullOrEmpty(strFileName))
                     {
                         strExtension = Path.GetExtension(strFileName).Replace(".", "");
                         if (("," + Host.FileExtensions.ToLower()).IndexOf("," + strExtension.ToLower()) != 0 || isHost)
                         {
                             try
                             {
                                 string folderPath = System.IO.Path.GetDirectoryName(DestFolder + objZipEntry.Name.Replace("/", "\\"));
                                 DirectoryInfo Dinfo = new DirectoryInfo(folderPath);
                                 if (!Dinfo.Exists)
                                 {
                                     AddFolder(settings, DestFolder, objZipEntry.Name.Substring(0, objZipEntry.Name.Replace("/", "\\").LastIndexOf("\\")));
                                 }
                                 string zipEntryFileName = DestFolder + objZipEntry.Name.Replace("/", "\\");
                                 strMessage += AddFile(FolderPortalId, objZipInputStream, zipEntryFileName, "", objZipEntry.Size, Globals.GetSubFolderPath(zipEntryFileName, settings.PortalId), false, false);
                             }
                             catch (Exception ex)
                             {
                                 if (objZipInputStream != null)
                                 {
                                     objZipInputStream.Close();
                                 }
                                 return ex.Message;
                             }
                         }
                         else
                         {
                             strMessage += "<br>" + string.Format(Localization.GetString("RestrictedFileType"), strFileName, Host.FileExtensions.Replace(",", ", *."));
                         }
                     }
                 }
                 else
                 {
                     strMessage += "<br>" + string.Format(Localization.GetString("DiskSpaceExceeded"), strFileName);
                 }
             }
             objZipEntry = objZipInputStream.GetNextEntry();
         }
     }
     finally
     {
         if (objZipInputStream != null)
         {
             objZipInputStream.Close();
             objZipInputStream.Dispose();
         }
     }
     return strMessage;
 }
 private void ParseFiles(XmlNodeList nodeFiles, int PortalId, FolderInfo objFolder)
 {
     int FileId;
     FileController objController = new FileController();
     CommonLibrary.Services.FileSystem.FileInfo objInfo;
     string fileName;
     foreach (XmlNode node in nodeFiles)
     {
         fileName = XmlUtils.GetNodeValue(node.CreateNavigator(), "filename");
         objInfo = objController.GetFile(fileName, PortalId, objFolder.FolderID);
         if (objInfo == null)
         {
             objInfo = new CommonLibrary.Services.FileSystem.FileInfo();
             objInfo.PortalId = PortalId;
             objInfo.FileName = fileName;
             objInfo.Extension = XmlUtils.GetNodeValue(node.CreateNavigator(), "extension");
             objInfo.Size = XmlUtils.GetNodeValueInt(node, "size");
             objInfo.Width = XmlUtils.GetNodeValueInt(node, "width");
             objInfo.Height = XmlUtils.GetNodeValueInt(node, "height");
             objInfo.ContentType = XmlUtils.GetNodeValue(node.CreateNavigator(), "contenttype");
             objInfo.FolderId = objFolder.FolderID;
             objInfo.Folder = objFolder.FolderPath;
             FileId = objController.AddFile(objInfo);
         }
         else
         {
             FileId = objInfo.FileId;
         }
     }
 }