[PHP-DEV] cvs: /php3/functions php3_mcal.c From: Mark Musone (musone <email protected>)
Date: 09/02/99

musone Thu Sep 2 17:55:50 1999 EDT

  Modified files:
    /php3/functions php3_mcal.c
  Log:
  made convenience functions
  
Index: php3/functions/php3_mcal.c
diff -u php3/functions/php3_mcal.c:1.5 php3/functions/php3_mcal.c:1.6
--- php3/functions/php3_mcal.c:1.5 Thu Sep 2 17:09:40 1999
+++ php3/functions/php3_mcal.c Thu Sep 2 17:55:50 1999
@@ -196,10 +196,8 @@
 
         mcal_le_struct = emalloc(sizeof(pils));
         mcal_le_struct->mcal_stream = mcal_stream;
- mcal_le_struct->flags = 0;
- mcal_le_struct->start_has_time=0;
- mcal_le_struct->end_has_time=0;
-
+ php3_event_init(mcal_le_struct);
+
         ind = php3_list_insert(mcal_le_struct, le_mcal);
         RETURN_LONG(ind);
 }
@@ -717,12 +715,13 @@
         unsigned long uid;
         CALEVENT *myevent;
         myargc=ARG_COUNT(ht);
- if (myargc !=2 || getParameters(ht,myargc,&streamind,&storeobject) == FAILURE) {
+ if (myargc <1 || getParameters(ht,myargc,&streamind,&storeobject) == FAILURE) {
                 WRONG_PARAM_COUNT;
         }
 
         convert_to_long(streamind);
- convert_to_array(storeobject);
+
+ if(myargc >= 2 )convert_to_array(storeobject);
 
         ind = streamind->value.lval;
 
@@ -738,6 +737,8 @@
                 RETURN_FALSE;
         }
         myevent=calevent_new();
+ if(myargc >=2)
+ {
         if(_php3_hash_find(storeobject->value.ht,"uid",sizeof("uid"),(void **) &pvalue)== SUCCESS){
 
           convert_to_long(pvalue);
@@ -844,8 +845,29 @@
           }
           myevent->end.has_date=true;
         }
-
- cal_append(mcal_le_struct->mcal_stream,"INBOX",&uid,myevent);
+ }
+ else
+ {
+ myevent->description=mcal_le_struct->description;
+ myevent->title=mcal_le_struct->title;
+ myevent->category=mcal_le_struct->category;
+ myevent->alarm=mcal_le_struct->alarm;
+ myevent->public=mcal_le_struct->class;
+ myevent->start.year=mcal_le_struct->start_year;
+ myevent->start.mon=mcal_le_struct->start_month;
+ myevent->start.mday=mcal_le_struct->start_mday;
+ myevent->start.hour=mcal_le_struct->start_hour;
+ myevent->start.min=mcal_le_struct->start_min;
+ myevent->start.sec=mcal_le_struct->start_sec;
+
+ myevent->end.year=mcal_le_struct->end_year;
+ myevent->end.mon=mcal_le_struct->end_month;
+ myevent->end.mday=mcal_le_struct->end_mday;
+ myevent->end.hour=mcal_le_struct->end_hour;
+ myevent->end.min=mcal_le_struct->end_min;
+ myevent->end.sec=mcal_le_struct->start_sec;
+ }
+ cal_append(mcal_le_struct->mcal_stream,"INBOX",&uid,myevent);
         calevent_free(myevent);
         RETURN_LONG(uid);
 }
@@ -1128,6 +1150,68 @@
 }
         /* }}} */
 
+void php3_mcal_init_event(INTERNAL_FUNCTION_PARAMETERS)
+{
+ pval *streamind;
+ int ind, ind_type;
+ unsigned long i;
+ char *t;
+ int mcal_folders=0;
+ unsigned int msgno;
+ pils *mcal_le_struct;
+ pval *pvalue,*temppvalue;
+ cal_list_t *my_cal_list;
+ int myargc;
+ unsigned long uid;
+ CALEVENT *myevent;
+ myargc=ARG_COUNT(ht);
+ if (myargc !=1 || getParameters(ht,myargc,&streamind) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+ convert_to_long(streamind);
+
+ ind = streamind->value.lval;
+
+ mcal_le_struct = (pils *)php3_list_find(ind, &ind_type);
+
+ if (!mcal_le_struct ) {
+ php3_error(E_WARNING, "Unable to find stream pointer");
+ RETURN_FALSE;
+ }
+ php3_event_init(&mcal_le_struct);
+}
+ /* }}} */
+
+php3_event_init(struct php3_mcal_le_struct *mystruct)
+{
+ mystruct->class=1;
+ if(mystruct->category) efree(mystruct->category);
+ if(mystruct->title) efree(mystruct->title);
+ if(mystruct->description) efree(mystruct->description);
+ mystruct->alarm=0;
+ mystruct->start_year=0;
+ mystruct->start_month=0;
+ mystruct->start_mday=0;
+ mystruct->start_hour=0;
+ mystruct->start_min=0;
+ mystruct->start_sec=0;
+ mystruct->start_has_time=0;
+
+ mystruct->end_year=0;
+ mystruct->end_month=0;
+ mystruct->end_mday=0;
+ mystruct->end_hour=0;
+ mystruct->end_min=0;
+ mystruct->end_sec=0;
+ mystruct->end_has_time=0;
+
+ mystruct->category=NULL;
+ mystruct->title=NULL;
+ mystruct->description=NULL;
+}
+
+
 void php3_mcal_event_add_class(INTERNAL_FUNCTION_PARAMETERS)
 {
         pval *streamind,*class;
@@ -1161,6 +1245,7 @@
         mcal_le_struct->class=class->value.lval;
 }
         /* }}} */
+
 
 
 /* Interfaces to callbacks */

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>