Index: file.c
===================================================================
--- file.c	(revision 896)
+++ file.c	(revision 897)
@@ -9,6 +9,7 @@
 #include "index.h"
 #else
 #include "headers/file.h"
+#include "headers/rayphp.h"
 #endif
 
 // proto
@@ -122,7 +123,7 @@
 
 }
 
-FILE *raydium_file_fopen(char *file, char *mode)
+FILE *raydium_file_fopen_internal(char *file, char *mode,char * full_path)
 {
 FILE *fp;
 int i;
@@ -147,26 +148,47 @@
 // local mode ?
 if(strchr(mode,'l') || raydium_init_cli_option("repository-disable",NULL))
     {
+    strcpy(full_path,file2);
     return fopen(file2,mode);
     }
 
 if(strchr(mode,'w'))
     {
+    strcpy(full_path,file2);
     return fopen(file2,mode);
     }
 
 if( !raydium_init_cli_option("repository-refresh",NULL) &&
     !raydium_init_cli_option("repository-force",NULL) )
 {
- fp=fopen(file2,mode);
- if(fp) return fp;
+    strcpy(full_path,file2);
+    fp=fopen(file2,mode);
+    if(fp) return fp;
 }
 raydium_rayphp_repository_file_get(file2);
+strcpy(full_path,file2);
 fp=fopen(file2,mode);
 
 return fp;
 }
 
+FILE *raydium_file_fopen(char *file, char *mode)
+{
+FILE *f;
+char full_path[RAYDIUM_MAX_DIR_LEN];
+char zip_file[RAYDIUM_MAX_DIR_LEN];
+
+f=raydium_file_fopen_internal(file,mode,full_path);
+if (!f)
+    return NULL;
+#ifdef PHP_SUPPORT
+if (raydium_init_cli_option( "zip_package",zip_file))
+    raydium_rayphp_zip_add(zip_file,full_path);
+#endif
+return f;
+
+}
+
 unsigned long raydium_file_sum_simple_mode(char *filename,char *mode)
 {
 unsigned long total=0;