PageVkiss_db_num);
$_page_cont[$_ni]['body_onload'] = '';
// --------------- [END] page components
PageCode();
// --------------- page components functions
/**
* page code function
*/
function getMainCode()
{
global $_page;
$member['ID'] = getLoggedId();
$member['Password'] = getLoggedPassword;
$recipientID = getID( $_REQUEST['sendto'], 0 );
$recipient = getProfileInfo( $recipientID );
ob_start();
?>
$sResTmpl = ob_get_clean();
$ret = '';
$sKissKey = '_Send virtual kiss';
$sJQueryJS = genAjaxyPopupJS($recipientID);
$_page['header'] = _t($sKissKey);
if ( $_REQUEST['ConfCode'] && $_REQUEST['from'] &&
( strcmp( $_REQUEST['ConfCode'], base64_encode( base64_encode( crypt( $_REQUEST['from'], CRYPT_EXT_DES ? "vkiss_sec" : "vk") ) ) ) == 0 ) )
{
$member['ID'] = (int)$_REQUEST['from'];
}
//
// Check if member can send messages
$check_res = checkAction( $member['ID'], ACTION_ID_SEND_VKISS );
if ( $check_res[CHECK_ACTION_RESULT] != CHECK_ACTION_RESULT_ALLOWED)
{
$_page['header_text'] = _t($sKissKey . '3');
$ret = $GLOBALS['oSysTemplate']->parseHtmlByContent($sResTmpl, array('content' => $check_res[CHECK_ACTION_MESSAGE]));
return $ret . $sJQueryJS;
}
$action_result = "";
// Check if recipient found
if( !$recipient )
{
$_page['header_text'] = _t($sKissKey . '3');
$sFormCode = "
";
$ret = $GLOBALS['oSysTemplate']->parseHtmlByContent($sResTmpl, array('content' => $sFormCode));
return $ret . $sJQueryJS;
}
// Perform sending
$send_result = MemberSendVKiss( $member, $recipient );
switch ( $send_result )
{
case 1:
$action_result .= _t_err( "_VKISS_BAD" );
break;
case 7:
$action_result .= _t_err( "_VKISS_BAD_COUSE_B" );
break;
case 10:
$action_result .= _t_err( "_VKISS_BAD_COUSE_C" );
break;
case 13:
$action_result .= _t_err( "_VKISS_BAD_COUSE_A3" );
break;
case 23:
$action_result .= _t_err( "_VKISS_BAD_COUSE_X" );
break;
case 24:
$action_result .= _t_err( "_VKISS_BAD_COUSE_Y" );
break;
default:
$action_result .= _t("_VKISS_OK" );
break;
}
if ($send_result == 0)
$_page['header_text'] = _t($sKissKey .'2');
else
$_page['header_text'] = _t($sKissKey .'3');
$ret = $GLOBALS['oSysTemplate']->parseHtmlByContent($sResTmpl, array('content' => $action_result));
return $ret . $sJQueryJS;
}
/**
* Send virtual kiss
*/
function MemberSendVKiss( $member, $recipient )
{
global $logged;
// Check if recipient is active
if( 'Active' != $recipient['Status'] )
{
return 7;
}
// block members
if( $recipient['ID'] && $member['ID'] && isBlocked( (int)$recipient['ID'], (int)$member['ID']) ) {
return 24;
}
// Get sender info
$sender = getProfileInfo( $member['ID'] );
// Send email notification
$rEmailTemplate = new BxDolEmailTemplates();
if ( $logged['member'] ) {
$aTemplate = $rEmailTemplate -> getTemplate( 't_VKiss', $logged['member'] ) ;
}
else {
$aTemplate = $rEmailTemplate -> getTemplate( 't_VKiss_visitor' ) ;
}
$ConfCode = urlencode( base64_encode( base64_encode( crypt( $recipient['ID'], CRYPT_EXT_DES ? "vkiss_sec" : "vk" ) ) ) );
// parse the email template ;
$sProfileLink = $sender
? '' . $sender['NickName'] . ''
: '' . _t("_Visitor") . '';
$sKissLink = $sender
? '' . BX_DOL_URL_ROOT . 'greet.php?sendto=' . $member['ID'] . '&from=' . $recipient['ID'] . '&ConfCode=' . $ConfCode . ''
: '' . BX_DOL_URL_ROOT . 'communicator.php';
$aRepl = array(
'' => $ConfCode,
'' => $sProfileLink,
'' => $sKissLink,
'' => $recipient['NickName'],
'' => BX_DOL_URL_ROOT,
);
$aTemplate['Body'] = str_replace(array_keys($aRepl), array_values($aRepl), $aTemplate['Body']);
$mail_ret = sendMail( $recipient['Email'], $aTemplate['Subject'], $aTemplate['Body'], $recipient['ID'] );
// Send message into the member's site personal mailbox;
$aTemplate['Subject'] = process_db_input($aTemplate['Subject'], BX_TAGS_NO_ACTION);
$aTemplate['Body'] = process_db_input($aTemplate['Body'], BX_TAGS_NO_ACTION);
$sender['ID'] = ( !$sender['ID'] ) ? 0 : $sender['ID'] ;
$sQuery =
"
INSERT INTO
`sys_messages`
SET
`Date` = NOW(),
`Sender` = '{$sender['ID']}',
`Recipient` = '{$recipient['ID']}',
`Subject` = '{$aTemplate['Subject']}',
`Text` = '{$aTemplate['Body']}',
`New` = '1',
`Type` = 'greeting'
";
db_res($sQuery);
if ( !$mail_ret )
{
return 10;
}
// Insert kiss into database
$kiss_arr = db_arr( "SELECT `ID` FROM `sys_greetings` WHERE `ID` = {$member['ID']} AND `Profile` = {$recipient['ID']} LIMIT 1", 0 );
if ( !$kiss_arr )
$result = db_res( "INSERT INTO `sys_greetings` ( `ID`, `Profile`, `Number`, `When`, `New` ) VALUES ( {$member['ID']}, {$recipient['ID']}, 1, NOW(), '1' )", 0 );
else
$result = db_res( "UPDATE `sys_greetings` SET `Number` = `Number` + 1, `New` = '1' WHERE `ID` = {$member['ID']} AND `Profile` = {$recipient['ID']}", 0 );
// If success then perform actions
if ( $result )
checkAction( $member['ID'], ACTION_ID_SEND_VKISS, true );
else
return 1;
return 0;
}
?>