Jump to content

update event function


bradkenyon

Recommended Posts

I am trying to create an update function for an event calendar. This is something I did not create original. I will list the code for the insert event and delete event, in hopes of someone helping me creating a update event function.

 

i've narrowed it down to this file and the update event function as the one i need to work to get this update setting up and running.

 

any help is appreciated.

 

here is the insert event code

function insert_event ()
{
  //$app = 'N';	// BUG hardcoded approval & 104 event limit
  $app = $_POST['D_approved'];

  if (!validate_event('add')) return false;

  list($y,$m,$d) = explode("-",$_POST['D_sdate']);
  $startstamp = mktime(0,0,0,$m,$d,$y);

  if (($_POST['D_edate'] == '') || (get_timestamp($_POST['D_sdate']) > get_timestamp($_POST['D_edate'])) )
     list($y2,$m2,$d2) = explode("-",$_POST['D_sdate']);
  else
     list($y2,$m2,$d2) = explode("-",$_POST['D_edate']);
  $endstamp = mktime(0,0,0,$m2,$d2,$y2);

  $gid = -1;    // group id
  $eday=0;
  $next=$_POST['D_frequency'];
  
  for($n=0;($n<104) && ($startstamp <= $endstamp);$n++) {
     $id = db_ins_event($_POST['D_name'],
                $gid,
                $_POST['D_category'],
                $_POST['D_description'],
                $_POST['D_moreinfo'],
                $_POST['D_moreurl'],
                date("Y-m-d",$startstamp),
                $app);
     if ($gid == -1)  $gid = $id;

     $eday += $next;
     $startstamp = mktime(0,0,0,$m,$d+$eday,$y);
  }

   $_SESSION['DMSG']->set_notice('New Event has been added.');

  return true;
}

 

here is the delete event code

function delete_event ($id)
{
    if (!isset($id)) {
        $q = new DB_Q;
        $q->query(sprintf("SELECT oid FROM d_forms WHERE fid = '%s'",$_POST['D_fid']));
        $q->next_record();
        $id = $q->f('oid');
    }
    
    if (!validate_event('del',$id,'')) return false;
    // BUG: reserved for future use

    $q = new DB_Q;

    if ($_POST['D_grouped'] == 'Y') { // update all grouped events with this one
        $q->query(sprintf("select group_id from events where id = %d",$id));
        $q->next_record();
        $q->query(sprintf("select id from events where group_id = %d",$q->f('group_id')));
        while ($q->next_record()) db_del_event($q->f('id'));
    } else {
        db_del_event($id);
    }
    $_SESSION['DMSG']->set_notice('Event has been removed.');
    
    return true;
}

 

here is the update event code, well...it doesn't work, but what i have tried to put together for it to work - as you can see, i just copied and pasted the delete event function in there and made a couple modifications.

function update_event ($id)
{
  //if (!validate_event('upd',$id,'')) return false;
  // BUG: reserved for future use

  //$_SESSION['DMSG']->set_notice('Event has been updated.');
  //return true;
  
  
  if (!isset($id)) {
        $q = new DB_Q;
        $q->query(sprintf("SELECT oid FROM d_forms WHERE fid = '%s'",$_POST['D_fid']));
        $q->next_record();
        $id = $q->f('oid');
    }
    
    if (!validate_event('upd',$id,'')) return false;
    // BUG: reserved for future use

    $q = new DB_Q;

    if ($_POST['D_grouped'] == 'Y') { // update all grouped events with this one
        $q->query(sprintf("select group_id from events where id = %d",$id));
        $q->next_record();
        $q->query(sprintf("select id from events where group_id = %d",$q->f('group_id')));
        while ($q->next_record()) db_upd_event($q->f('id'));
    } else {
        //db_del_event($id);
        
        echo 'db_del_event(id)';
    }
    $_SESSION['DMSG']->set_notice('Event has been updated.');
    
    return true;
  
}

 

here is the validate event code, just in case you wanted a look at that

function validate_event ($op,$id)
{
   $ok = true;

   switch ($op) {
   case 'add':
      if ($_POST['D_sdate'] == '') {
         $_SESSION['DMSG']->set_error('Error: Must choose an event date.');
         $ok = false;
      }
      break;
   case 'upd':
   case 'del':
   break;
    }

    return $ok;
}

 

here is the db_del_event code

function db_del_event ($id)
{
  $q = new DB_Q;

  $q->query(sprintf("delete from events where id = %d", $id));

  return true;
}

 

here is the del_upd_event code

function db_upd_event ($id,$name,$cat,$desc,$more,$url,$sdat,$isap)
{
  $q = new DB_Q;

  $name = DynamoTextClean($name);
  $desc = DynamoTextClean($desc);
  $more = DynamoTextClean($more);

  $q->query(sprintf("update events set name='%s',
                        cat_id=%d,
                        description='%s',
                        moreinfo='%s',
                        url='%s',
                        sdate='%s',
                        is_approved='%s'
                        where id = %d",
                        addslashes($name), $cat, addslashes($desc), addslashes($more), $url, $sdat, $isap, $id));

  return true;
}

 

thanks again!

Link to comment
https://forums.phpfreaks.com/topic/61536-update-event-function/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.