pquery($query, array($sharedid));
if($adb->num_rows($result)!=0)
{
for($j=0;$j<$adb->num_rows($result);$j++)
$userid[] = $adb->query_result($result,$j,'userid');
$shared_ids = implode (",",$userid);
}
return $shared_ids;
}
/**
* To get hour,minute and format
* @param $starttime -- The date&time :: Type string
* @param $endtime -- The date&time :: Type string
* @param $format -- The format :: Type string
* @returns $timearr :: Type Array
*/
function getaddEventPopupTime($starttime,$endtime,$format)
{
$timearr = Array();
list($sthr,$stmin) = explode(":",$starttime);
list($edhr,$edmin) = explode(":",$endtime);
if($format == 'am/pm' || $format == '12')
{
$hr = $sthr+0;
$timearr['startfmt'] = ($hr >= 12) ? "pm" : "am";
if($hr == 0) $hr = 12;
$timearr['starthour'] = twoDigit(($hr>12)?($hr-12):$hr);
$timearr['startmin'] = $stmin;
$edhr = $edhr+0;
$timearr['endfmt'] = ($edhr >= 12) ? "pm" : "am";
if($edhr == 0) $edhr = 12;
$timearr['endhour'] = twoDigit(($edhr>12)?($edhr-12):$edhr);
$timearr['endmin'] = $edmin;
return $timearr;
}
if($format == '24')
{
$timearr['starthour'] = twoDigit($sthr);
$timearr['startmin'] = $stmin;
$timearr['startfmt'] = '';
$timearr['endhour'] = twoDigit($edhr);
$timearr['endmin'] = $edmin;
$timearr['endfmt'] = '';
return $timearr;
}
}
/**
* Function to get the vtiger_activity details for mail body
* @param string $description - activity description
* @param string $from - to differenciate from notification to invitation.
* return string $list - HTML in string format
*/
function getActivityDetails($description,$user_id,$from='')
{
global $log,$current_user,$current_language;
global $adb;
require_once 'include/utils/utils.php';
$mod_strings = return_module_language($current_language, 'Calendar');
$log->debug("Entering getActivityDetails(".$description.") method ...");
$updated = $mod_strings['LBL_UPDATED'];
$created = $mod_strings['LBL_CREATED'];
$reply = (($description['mode'] == 'edit')?"$updated":"$created");
if($description['activity_mode'] == "Events")
{
$end_date_lable=$mod_strings['End date and time'];
}
else
{
$end_date_lable=$mod_strings['Due Date'];
}
$name = getUserFullName($user_id);
// Show the start date and end date in the users date format and in his time zone
$inviteeUser = CRMEntity::getInstance('Users');
$inviteeUser->retrieveCurrentUserInfoFromFile($user_id);
$startDate = new DateTimeField($description['st_date_time']);
$endDate = new DateTimeField($description['end_date_time']);
if($from == "invite")
$msg = getTranslatedString($mod_strings['LBL_ACTIVITY_INVITATION']);
else
$msg = getTranslatedString($mod_strings['LBL_ACTIVITY_NOTIFICATION']);
$current_username = getUserFullName($current_user->id);
$status = getTranslatedString($description['status'],'Calendar');
$list = $name.',';
$list .= '
'.$msg.' '.$reply.'.
'.$mod_strings['LBL_DETAILS_STRING'].':
';
$list .= '
'.$mod_strings["LBL_SUBJECT"].' : '.$description['subject'];
$list .= '
'.$mod_strings["Start date and time"].' : '.$startDate->getDisplayDateTimeValue($inviteeUser) .' '.getTranslatedString($inviteeUser->time_zone, 'Users');
$list .= '
'.$end_date_lable.' : '.$endDate->getDisplayDateTimeValue($inviteeUser).' '.getTranslatedString($inviteeUser->time_zone, 'Users');
$list .= '
'.$mod_strings["LBL_STATUS"].': '.$status;
$list .= '
'.$mod_strings["Priority"].': '.getTranslatedString($description['taskpriority']);
$list .= '
'.$mod_strings["Related To"].': '.getTranslatedString($description['relatedto']);
if(!empty($description['contact_name']))
{
$list .= '
'.$mod_strings["LBL_CONTACT_LIST"].' '.$description['contact_name'];
}
else
$list .= '
'.$mod_strings["Location"].' : '.$description['location'];
$list .= '
'.$mod_strings["LBL_APP_DESCRIPTION"].': '.$description['description'];
$list .= '
'.$mod_strings["LBL_REGARDS_STRING"].' ,';
$list .= '
'.$current_username.'.';
$log->debug("Exiting getActivityDetails method ...");
return $list;
}
function twoDigit( $no ){
if($no < 10 && strlen(trim($no)) < 2) return "0".$no;
else return "".$no;
}
function sendInvitation($inviteesid,$mode,$subject,$desc)
{
global $current_user,$mod_strings;
require_once("modules/Emails/mail.php");
$invites=$mod_strings['INVITATION'];
$invitees_array = explode(';',$inviteesid);
$subject = $invites.' : '.$subject;
$record = $focus->id;
foreach($invitees_array as $inviteeid)
{
if($inviteeid != '')
{
$description=getActivityDetails($desc,$inviteeid,"invite");
$to_email = getUserEmailId('id',$inviteeid);
send_mail('Calendar',$to_email,$current_user->user_name,'',$subject,$description);
}
}
}
// User Select Customization
/**
* Function returns the id of the User selected by current user in the picklist of the ListView or Calendar view of Current User
* return String - Id of the user that the current user has selected
*/
function calendarview_getSelectedUserId() {
global $current_user, $default_charset;
$only_for_user = htmlspecialchars(strip_tags(vtlib_purifyForSql($_REQUEST['onlyforuser'])),ENT_QUOTES,$default_charset);
if($only_for_user == '') $only_for_user = $current_user->id;
return $only_for_user;
}
function calendarview_getSelectedUserFilterQuerySuffix() {
global $current_user, $adb;
$only_for_user = calendarview_getSelectedUserId();
$qcondition = '';
if(!empty($only_for_user)) {
if($only_for_user != 'ALL') {
// For logged in user include the group records also.
if($only_for_user == $current_user->id) {
$user_group_ids = fetchUserGroupids($current_user->id);
// User does not belong to any group? Let us reset to non-existent group
if(!empty($user_group_ids)) $user_group_ids .= ',';
else $user_group_ids = '';
$user_group_ids .= $current_user->id;
$qcondition = " AND vtiger_crmentity.smownerid IN (" . $user_group_ids .")";
} else {
$qcondition = " AND vtiger_crmentity.smownerid = " . $adb->sql_escape_string($only_for_user);
}
}
}
return $qcondition;
}
?>