Пример #1
0
 function GoogleCallsUsers(&$bean, $event, $arguments)
 {
     global $sugar_config, $dbconfig, $beanList, $beanFiles, $app_strings, $app_list_strings, $current_user, $db;
     if (isset($_REQUEST['entryPoint'])) {
         if ($_REQUEST['entryPoint'] == "acceptDecline") {
             if ($_REQUEST['user_id'] != "") {
                 if ($_REQUEST['accept_status'] == "accept" or $_REQUEST['accept_status'] == "tentative") {
                     //decline
                     if (!isset($_REQUEST['allready_retrieved_user_acceptDecline'])) {
                         $_REQUEST['allready_retrieved_user_acceptDecline'] = true;
                         if (!file_exists("google_calendar_tc.php")) {
                             $sq = "CREATE TABLE `google_calendar_rel` (\n  `id` VARCHAR(36),\n  `obj_id` VARCHAR(36),\n  `obj_type` VARCHAR(36),\n  `user_id` VARCHAR(36),\n  `old_id_c` VARCHAR(255),\n  `old_link_edit_c` VARCHAR(255),\n  `deleted` INTEGER UNSIGNED DEFAULT 0,\n  PRIMARY KEY (`id`)\n)\nENGINE = MyISAM;";
                             $db->query($sq);
                             $f = fopen("google_calendar_tc.php", "w+");
                             fclose($f);
                         }
                         $sq = "select * from google_calendar_rel where obj_id='" . $_REQUEST['record'] . "' and obj_type='" . $_REQUEST['module'] . "' and user_id='" . $bean->id . "' and deleted=0";
                         $res = $db->query($sq);
                         $row_oldsaved = $db->fetchByAssoc($res);
                         $current_user = $bean;
                         require_once "custom/include/Calls/google_calendar_plg.php";
                         #                 $us=new User();
                         #                 $us->retrieve($_REQUEST['user_id']);
                         #              print_R($bean);
                         #exit;
                         $bean = $beanList[clean_string($_REQUEST['module'])];
                         require_once $beanFiles[$bean];
                         $focus = new $bean();
                         $focus->disable_row_level_security = true;
                         $result = $focus->retrieve($_REQUEST['record']);
                         if ($row_oldsaved['old_id_c'] == "") {
                             $result->old_id_c = "";
                         } else {
                             $result->old_id_c = $row_oldsaved['old_id_c'];
                             $result->old_link_edit_c = $row_oldsaved['old_link_edit_c'];
                         }
                         if ($_REQUEST['accept_status'] == "tentative") {
                             $result->name = $result->name . " (tentative)";
                         }
                         $su = new GoogleCalls($result, "", "");
                         #    print_r($row_oldsaved);
                         #echo  "\n<br>old record link ".$row_oldsaved['old_id_c']." a<br>\n";
                         if (!empty($row_oldsaved['old_id_c'])) {
                             $sq = "update google_calendar_rel set old_id_c='" . $result->old_id_c . "',old_link_edit_c='" . $result->old_link_edit_c . "' where id='" . $row_oldsaved['id'] . "' and deleted=0";
                             # echo $sq;
                             #   exit;
                         } else {
                             $gid = create_guid();
                             $sq = "insert into google_calendar_rel values ('{$gid}','{$result->id}','" . $_REQUEST['module'] . "','" . $_REQUEST['user_id'] . "','{$result->old_id_c}','{$result->old_link_edit_c}',0)";
                             #   echo $sq;
                             #   exit;
                         }
                         $db->query($sq);
                         #  echo "\n <br>aaaaaaaaaaaaaaaaaaaaaa".$result->old_id_c;
                         #    echo "<br>\n".print_r($bean->id)."\n";
                     }
                 } else {
                     if (!isset($_REQUEST['allready_retrieved_user_acceptDecline'])) {
                         $_REQUEST['allready_retrieved_user_acceptDecline'] = true;
                         require_once "custom/include/Calls/google_calendar_plg.php";
                         $bean = $beanList[clean_string($_REQUEST['module'])];
                         require_once $beanFiles[$bean];
                         $focus = new $bean();
                         $focus->disable_row_level_security = true;
                         $result = $focus->retrieve($_REQUEST['record']);
                         $sq = "select * from google_calendar_rel where obj_id='" . $_REQUEST['record'] . "' and obj_type='" . $_REQUEST['module'] . "' and user_id='" . $_REQUEST['user_id'] . "' and deleted=0";
                         $res = $db->query($sq);
                         $row_oldsaved = $db->fetchByAssoc($res);
                         if ($row_oldsaved['old_link_edit_c'] != "") {
                             # $user_data=get_user_email_pass1($_REQUEST['user_id']);
                             $user = new User();
                             # echo "a";
                             #exit;
                             $user->retrieve($_REQUEST['user_id']);
                             $current_user = $user;
                             $user_data = array($user->google_mmail_c, $user->google_mpass_c);
                             $assigned_link = "";
                             if ($user->google_mmail_c != "" and $user->google_mpass_c != "") {
                                 #    echo "<br>".$user_data[0];
                                 $_REQUEST['delete_invite_user_id'] = $row_oldsaved['user_id'];
                                 $_REQUEST['delete_invite_url'] = $row_oldsaved['old_link_edit_c'];
                                 $gc = new GoogleCalendarWrapper($user_data[0], $user_data[1], "", $assigned_link);
                                 $gc->delete_event($s, $_REQUEST['record'], $result->table_name, $user_data, $focus, $add_notifications);
                                 $sq = "delete from google_calendar_rel where id='" . $row_oldsaved['id'] . "'";
                                 $db->query($sq);
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Пример #2
0
 function GoogleCalls(&$bean, $event, $arguments)
 {
     echo "<br>aa " . $bean->id;
     echo "<br>aa " . $bean->name;
     echo "<br>sess delete " . $_SESSION["mass_upd_assigned"];
     echo "<br>sess delete" . $_REQUEST["massupdate"];
     echo "<br>";
     $okev = true;
     $_SESSION["mass_upd_assigned"] = false;
     if (isset($_REQUEST["massupdate"])) {
         if ($_REQUEST["massupdate"] == true) {
             $okev = false;
             if ($_REQUEST['assigned_user_id'] != "" or $_REQUEST['date_start'] != "") {
                 $okev = true;
             }
             if ($_REQUEST['assigned_user_id'] != "") {
                 $_SESSION["mass_upd_assigned"] = true;
             }
         }
     }
     if ($okev == true) {
         if ($_SESSION["called_from_sync"] == false or $_SESSION["called_from_sync"] == "") {
             ### skip if called from sync.php logic hook
             echo "<br>delete from sugar logic hook ";
             global $timedate;
             $offset_val = ".000+02:00";
             $td = new TimeDate();
             echo "<br>old bean id " . $bean->id;
             echo "<br>old bean name " . $bean->name;
             echo "<br>tablename ";
             $tablename = $bean->table_name;
             $a = $response['list'][$tn1];
             $s = array();
             $s["title"] = $bean->name;
             if ($tablename == 'meetings') {
                 $s["title"] = "Meeting: " . $s["title"];
             }
             if ($tablename == 'calls') {
                 $s["title"] = "Call: " . $s["title"];
             }
             if ($tablename == 'tasks') {
                 $s["title"] = "Task: " . $s["title"];
             }
             echo "<br>bean date start " . $bean->date_start;
             $s["content"] = $bean->description;
             $s["where"] = $bean->location;
             $s["startDay"] = $bean->date_start;
             $s["startTime"] = $bean->time_start;
             $s["endDay"] = $bean->date_end;
             $s["reminder_time"] = $bean->reminder_time / 60;
             if ($s["reminder_time"] == '' or $s["reminder_time"] == 0) {
                 $s["reminder_time"] = 10;
             }
             if ($bean->date_start == '' and $bean->date_due != "") {
                 $s["startDay"] = $bean->date_due;
                 #### for tasks if no start date
             } else {
                 $s["startDay"] = $bean->date_start;
             }
             #   print_r($s);
             global $current_user;
             $pd = $s["startDay"];
             ####260608
             #$pd= $td->handle_offset($td->get_date_time_format(true, $current_user), $td->get_date_time_format(true, $current_user), false,$current_user);
             $date_start_in_db_fmt = $td->swap_formats($s["startDay"], $td->get_date_time_format(true, $current_user), $td->get_db_date_time_format());
             $date_end_in_db_fmt1 = $td->swap_formats($bean->date_due, $td->get_date_time_format(true, $current_user), $td->get_db_date_time_format());
             $date_start_array = split(" ", trim($date_start_in_db_fmt));
             $date_time_start = DateTimeUtil::get_time_start($date_start_array[0], $date_start_array[1]);
             $tt1 = $td->to_display_date_time($bean->date_start, true, true, false);
             $user = $current_user;
             $s["startTime"] = $td->handle_offset($date_start_in_db_fmt, "H:i:s", false, $current_user);
             $date_end_in_db_fmt1 = $td->handle_offset($date_end_in_db_fmt1, "Y-m-d H:i:s", false, $current_user);
             echo "<br>bean date start1 " . $s["startTime"];
             ##260806 $s["startTime"]=$date_start_array[1];
             echo "<br>bean date start2 " . $s["startTime"];
             $ch = explode(" ", $s["startDay"]);
             if ($ch['1'] == "00:00" or $ch['1'] == "00.00") {
                 #### 120608 bogdan if task and 12:00 goes to next day $s["startDay"]  = $td->handle_offset($date_start_in_db_fmt, "Y-m-d", false,$current_user);
                 $s["startDay"] = $td->handle_offset($date_start_in_db_fmt, "Y-m-d", false, $current_user);
                 $s["startDay1"] = $td->handle_offset($date_start_in_db_fmt, "Y-m-d H:i:s", false, $current_user);
             } else {
                 $s["startDay"] = $td->handle_offset($date_start_in_db_fmt, "Y-m-d", false, $current_user);
                 $s["startDay1"] = $td->handle_offset($date_start_in_db_fmt, "Y-m-d H:i:s", false, $current_user);
             }
             $plugin_format = "d/m/Y H:i";
             if ($td->get_date_time_format(true, $current_user) != $plugin_format) {
                 ##260608 $plugin_date_start=$td->swap_formats($pd, $td->get_date_time_format(true, $current_user),  $plugin_format);
                 $plugin_date_due = $td->swap_formats($bean->date_due, $td->get_date_time_format(true, $current_user), $plugin_format);
             } else {
                 ##260608  $plugin_date_start=$pd;
                 $plugin_date_due = $bean->date_due;
             }
             $plugin_date_start = $td->swap_formats($s["startDay1"], "Y-m-d H:i:s", $plugin_format);
             $plugin_date_due1 = $td->swap_formats($date_end_in_db_fmt1, "Y-m-d H:i:s", $plugin_format);
             echo "<br>plg date start " . $plugin_date_start;
             #################################################
             $d1 = explode("/", $plugin_date_start);
             global $current_user;
             $d1[2] = explode(" ", $d1[2]);
             $d1[2] = $d1[2][0];
             if ($bean->time_start != '' and 1 == 2) {
                 $t1 = explode(":", $bean->time_start);
             } else {
                 $fort1 = explode(" ", $plugin_date_start);
                 $fort1 = $fort1[1];
                 $t1 = explode(":", $fort1);
             }
             $t1[1] = round($t1[1]);
             print_r($t1);
             $untill = mktime($t1[0] + $bean->duration_hours, $t1[1] + $bean->duration_minutes, $t1[2], $d1[1], $d1[0], $d1[2]);
             if ($tablename == 'tasks') {
                 if ($plugin_date_due == "" or $bean->date_due == "") {
                     $forexp = $plugin_date_start;
                     echo "<br>date due " . $plugin_date_due . " " . $bean->date_due;
                 } else {
                     $forexp = $plugin_date_due;
                     $forexp = $plugin_date_due1;
                 }
                 $d1d = explode("/", $forexp);
                 $d1d[2] = explode(" ", $d1d[2]);
                 $d1d[2] = $d1d[2][0];
                 $fort1d = explode(" ", $forexp);
                 $fort1d = $fort1d[1];
                 $t1d = explode(":", $fort1d);
                 $untill = mktime($t1d[0], $t1d[1], $t1d[2], $d1d[1], $d1d[0], $d1d[2]);
             }
             $date_due = date("Y-m-d", $untill);
             $time_due = date("H:i:s", $untill);
             $s["endTime"] = $time_due;
             $s["endDay"] = $date_due;
             echo "<br>start day " . $s["startDay"] . "   " . $s["startTime"] . "     " . $plugin_date_start;
             echo "<br>end day " . $s["endDay"] . "   " . $s["endTime"] . "   " . $plugin_date_due;
             if ($bean->assigned_user_id == '') {
                 $userid = $bean->created_by;
             } else {
                 $userid = $bean->assigned_user_id;
             }
             $user = new User();
             $user->retrieve($userid);
             $user_data = get_user_email_pass1($user->id);
             if ($user_data[0] != '' and $user_data[1] != '') {
                 echo "<br>**Got user " . $user_data[0];
                 $assigned_link = $user->google_mcalendar_c;
                 if ($assigned_link == "" or $assigned_link == "1") {
                     $assigned_link = "nolinkfromhook";
                     $assigned_link = "http://www.google.com/calendar/feeds/default/private/full";
                 }
                 $gc = new GoogleCalendarWrapper($user_data[0], $user_data[1], "", $assigned_link);
                 global $current_user;
                 $add_notifications = $user->google_mnotifications_c;
                 $gc->delete_event($s, $bean->id, $tablename, $user_data, $bean, $add_notifications);
                 echo "<br>do event" . $doevent . " tb name " . $tablename;
                 $_SESSION["mass_upd_assigned"] = false;
                 //////////  dmc290609
                 #echo print_r($bean);
                 #  exit;
                 if ($bean->table_name == "calls") {
                     $mdname = "Calls";
                 }
                 if ($bean->table_name == "meetings") {
                     $mdname = "Meetings";
                 }
                 if ($bean->table_name == "tasks") {
                     $mdname = "Tasks";
                 }
                 global $db;
                 $_REQUEST['allready_retrieved_user_acceptDecline'] = true;
                 $sq = "select * from google_calendar_rel where obj_id='" . $bean->id . "' and obj_type='" . $mdname . "' and deleted=0";
                 $res = $db->query($sq);
                 while ($row_oldsaved = $db->fetchByAssoc($res)) {
                     $user_data = get_user_email_pass1($row_oldsaved['user_id']);
                     $_REQUEST['delete_invite_user_id'] = $row_oldsaved['user_id'];
                     $_REQUEST['delete_invite_url'] = $row_oldsaved['old_link_edit_c'];
                     if ($user_data[0] != '' and $user_data[1] != '') {
                         $assigned_link = "";
                         $gc = new GoogleCalendarWrapper($user_data[0], $user_data[1], "", $assigned_link);
                         $gc->delete_event($s, $bean->id, $tablename, $user_data, $bean, $add_notifications);
                         #echo "<br>url ".$_REQUEST['delete_invite_url'];
                     }
                 }
                 //////////  dmc290609
             }
         }
     }
 }