Example #1
0
function upcoming_eot()
{
    global $dbtable_prefix;
    $config['days_before'] = 4;
    $query_strlen = 20000;
    $now = gmdate('Ymd');
    $query = "SELECT b.`email`,c.`_user` as `user` FROM `{$dbtable_prefix}payments` a,`" . USER_ACCOUNTS_TABLE . "` b,`{$dbtable_prefix}user_profiles` c WHERE a.`fk_user_id`=b.`" . USER_ACCOUNT_ID . "` AND a.`fk_user_id`=c.`fk_user_id` AND a.`paid_until`='{$now}'-INTERVAL " . $config['days_before'] . " DAY AND a.`is_active`=1 AND a.`is_recurring`=0";
    if (!($res = @mysql_query($query))) {
        trigger_error(mysql_error(), E_USER_ERROR);
    }
    $alerts = array();
    while ($rsrow = mysql_fetch_assoc($res)) {
        $alerts[$rsrow['email']] = $rsrow;
    }
    if (!empty($alerts)) {
        $skin = get_default_skin_dir();
        $tpl = new phemplate(_BASEPATH_ . '/skins_site/' . $skin . '/emails/', 'remove_nonjs');
        $tpl->set_file('temp', 'subscr_expire_alert.html');
        $tpl->set_var('tplvars', $tplvars);
        $subject = sprintf($GLOBALS['_lang'][218], _SITENAME_);
        $subject = sanitize_and_format($subject, TYPE_STRING, $GLOBALS['__field2format'][FIELD_TEXTFIELD]);
        $insert = "INSERT INTO `{$dbtable_prefix}queue_email` (`to`,`subject`,`message_body`) VALUES ";
        $iquery = $insert;
        foreach ($alerts as $email => $v) {
            $tpl->set_var('output', $v);
            $message_body = $tpl->process('', 'temp', TPL_LOOP | TPL_OPTLOOP | TPL_OPTIONAL | TPL_FINISH);
            $message_body = sanitize_and_format($message_body, TYPE_STRING, $GLOBALS['__field2format'][FIELD_TEXTAREA]);
            if (strlen($iquery) > $query_strlen) {
                $iquery = substr($iquery, 0, -1);
                if (!($res = @mysql_query($iquery))) {
                    trigger_error(mysql_error(), E_USER_ERROR);
                }
                $iquery = $insert;
            }
            $iquery .= "('{$email}','{$subject}','{$message_body}'),";
        }
        if ($iquery != $insert) {
            $iquery = substr($iquery, 0, -1);
            if (!($res = @mysql_query($iquery))) {
                trigger_error(mysql_error(), E_USER_ERROR);
            }
        }
    }
    return true;
}
Example #2
0
$topass = array();
$qs = '';
$qs_sep = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = strtolower(sanitize_and_format_gpc($_POST, 'username', TYPE_STRING, $__field2format[FIELD_TEXTFIELD], ''));
    $password = sanitize_and_format_gpc($_POST, 'password', TYPE_STRING, $__field2format[FIELD_TEXTFIELD], '');
    if (!empty($username) && !empty($password)) {
        $query = "SELECT `admin_id`,`name`,`dept_id`,`status` FROM `{$dbtable_prefix}admin_accounts` WHERE `user`='{$username}' AND `pass`=md5('{$password}')";
        if (!($res = @mysql_query($query))) {
            trigger_error(mysql_error(), E_USER_ERROR);
        }
        if (mysql_num_rows($res)) {
            $admin = mysql_fetch_assoc($res);
            if ($admin['status'] == ASTAT_ACTIVE) {
                $_SESSION[_LICENSE_KEY_]['admin'] = array_merge(isset($_SESSION[_LICENSE_KEY_]['admin']) ? $_SESSION[_LICENSE_KEY_]['admin'] : array(), $admin);
                $_SESSION[_LICENSE_KEY_]['admin']['def_skin'] = get_default_skin_dir();
                if (isset($_SESSION[_LICENSE_KEY_]['admin']['timedout']['url'])) {
                    $next = $_SESSION[_LICENSE_KEY_]['admin']['timedout'];
                    unset($_SESSION[_LICENSE_KEY_]['admin']['timedout']);
                    if ($next['method'] == 'GET') {
                        if (!empty($next['qs'])) {
                            $next['url'] = $next['url'] . '?' . array2qs($next['qs']);
                        }
                        redirect2page($next['url'], array(), '', true);
                    } else {
                        post2page($next['url'], $next['qs'], true);
                    }
                } else {
                    redirect2page('admin/cpanel.php', $topass);
                }
            } else {
Example #3
0
 static function get_my_skin()
 {
     if (!empty($_SESSION[_LICENSE_KEY_]['user']['skin']) && is_dir(_BASEPATH_ . '/skins_site/' . $_SESSION[_LICENSE_KEY_]['user']['skin'])) {
         $myreturn = $_SESSION[_LICENSE_KEY_]['user']['skin'];
         $_COOKIE['sco_app']['skin'] = $myreturn;
     } elseif (!empty($_COOKIE['sco_app']['skin']) && preg_match('/^\\w+$/', $_COOKIE['sco_app']['skin']) && is_dir(_BASEPATH_ . '/skins_site/' . $_COOKIE['sco_app']['skin'])) {
         $myreturn = $_COOKIE['sco_app']['skin'];
         // save the option in less expensive places
         $_SESSION[_LICENSE_KEY_]['user']['skin'] = $myreturn;
     } else {
         $myreturn = get_default_skin_dir();
         // save the option in less expensive places
         $_COOKIE['sco_app']['skin'] = $myreturn;
         $_SESSION[_LICENSE_KEY_]['user']['skin'] = $myreturn;
     }
     return $myreturn;
 }
Example #4
0
Support at:                 http://www.datemill.com/forum
*******************************************************************************
* See the "docs/licenses/etano.txt" file for license.                         *
******************************************************************************/
if (!defined('_LICENSE_KEY_')) {
    die('Hacking attempt');
}
//if (function_exists('admin_error')) {
//	set_error_handler('admin_error');
//} elseif (function_exists('general_error')) {
set_error_handler('general_error');
//}
define('IN_ADMIN', 1);
require_once _BASEPATH_ . '/includes/general_functions.inc.php';
$GLOBALS['_lang'] = array();
$def_skin = isset($_SESSION[_LICENSE_KEY_]['admin']['def_skin']) ? $_SESSION[_LICENSE_KEY_]['admin']['def_skin'] : get_default_skin_dir();
require_once _BASEPATH_ . '/skins_site/' . $def_skin . '/lang/global.inc.php';
$_pfields = array();
$_pcats = array();
require_once _BASEPATH_ . '/includes/fields.inc.php';
define('DEPT_MODERATOR', 2);
define('DEPT_ADMIN', 4);
define('OPTION_NA', 0);
define('AMTPL_REJECT_MEMBER', 1);
define('AMTPL_REJECT_PHOTO', 2);
define('AMTPL_REJECT_BLOG', 3);
// language key types
define('LK_SITE', 0);
define('LK_FIELD', 1);
define('LK_MESSAGE', 2);
// extra links in menus
Example #5
0
function queue_or_send_message($mess_array, $force_send = false)
{
    global $dbtable_prefix;
    if (!$force_send) {
        require _BASEPATH_ . '/includes/tables/queue_message.inc.php';
        $query = "INSERT INTO `{$dbtable_prefix}queue_message` SET `date_sent`='" . gmdate('YmdHis') . "'";
        foreach ($queue_message_default['defaults'] as $k => $v) {
            if (isset($mess_array[$k])) {
                $query .= ",`{$k}`='" . $mess_array[$k] . "'";
            }
        }
        if (!($res = @mysql_query($query))) {
            trigger_error(mysql_error(), E_USER_ERROR);
        }
    } else {
        require _BASEPATH_ . '/includes/tables/user_inbox.inc.php';
        $was_sent = false;
        // was sent by a filter?
        $notify_receiver = get_user_settings($mess_array['fk_user_id'], 'def_user_prefs', 'notify_me');
        // see if the receiver has any filters in place to re-route our message
        $query = "SELECT `filter_type`,`field`,`field_value`,`fk_folder_id` FROM `{$dbtable_prefix}message_filters` WHERE `fk_user_id`=" . $mess_array['fk_user_id'];
        if (!($res = @mysql_query($query))) {
            trigger_error(mysql_error(), E_USER_ERROR);
        }
        $filters = array();
        $filters[$mess_array['fk_user_id']] = array();
        while ($rsrow = mysql_fetch_assoc($res)) {
            $filters[$mess_array['fk_user_id']][] = $rsrow;
        }
        if (!empty($filters[$mess_array['fk_user_id']])) {
            for ($i = 0; isset($filters[$mess_array['fk_user_id']][$i]); ++$i) {
                $filter =& $filters[$mess_array['fk_user_id']][$i];
                switch ($filter['filter_type']) {
                    case FILTER_SENDER:
                        if ($mess_array['fk_user_id_other'] == $filter['field_value']) {
                            if ($filter['fk_folder_id'] == FOLDER_SPAMBOX) {
                                $into = "`{$dbtable_prefix}user_spambox`";
                                $notify_receiver = false;
                                require _BASEPATH_ . '/includes/tables/user_inbox.inc.php';
                                $defaults_table =& $user_spambox_default;
                            } else {
                                $into = "`{$dbtable_prefix}user_inbox`";
                                $mess_array['fk_folder_id'] = $filter['fk_folder_id'];
                                $defaults_table =& $user_inbox_default;
                            }
                            $query = "INSERT INTO {$into} SET `date_sent`='" . gmdate('YmdHis') . "'";
                            foreach ($defaults_table['defaults'] as $k => $v) {
                                if (isset($mess_array[$k])) {
                                    $query .= ",`{$k}`='" . $mess_array[$k] . "'";
                                }
                            }
                            if (!($res = @mysql_query($query))) {
                                trigger_error(mysql_error(), E_USER_ERROR);
                            }
                            $was_sent = true;
                        }
                        break 2;
                        // exit the filters for() too
                }
            }
        }
        if (!$was_sent) {
            // no filter here - insert directly in inbox
            $query = "INSERT INTO `{$dbtable_prefix}user_inbox` SET `date_sent`='" . gmdate('YmdHis') . "'";
            foreach ($user_inbox_default['defaults'] as $k => $v) {
                if (isset($mess_array[$k])) {
                    $query .= ",`{$k}`='" . $mess_array[$k] . "'";
                }
            }
            if (!($res = @mysql_query($query))) {
                trigger_error(mysql_error(), E_USER_ERROR);
            }
        }
        if ($notify_receiver) {
            //	new message notification
            $mess_array['subject'] = sanitize_and_format($mess_array['subject'], TYPE_STRING, FORMAT_STRIPSLASH | FORMAT_TEXT2HTML);
            $def_skin = get_default_skin_dir();
            if (empty($mess_array['_user_other']) && $mess_array['message_type'] == MESS_SYSTEM) {
                include_once _BASEPATH_ . '/skins_site/' . $def_skin . '/lang/mailbox.inc.php';
                $mess_array['_user_other'] =& $GLOBALS['_lang'][135];
            }
            $query = "SELECT a.`email`,b.`_user` FROM `" . USER_ACCOUNTS_TABLE . "` a,`{$dbtable_prefix}user_profiles` b WHERE a.`" . USER_ACCOUNT_ID . "`=b.`fk_user_id` AND a.`" . USER_ACCOUNT_ID . "`='" . $mess_array['fk_user_id'] . "'";
            if (!($res = @mysql_query($query))) {
                trigger_error(mysql_error(), E_USER_ERROR);
            }
            if (mysql_num_rows($res)) {
                $receiver_email = mysql_result($res, 0, 0);
                $mess_array['user'] = mysql_result($res, 0, 1);
                send_template_email($receiver_email, $mess_array['subject'], 'new_message.html', $def_skin, $mess_array);
            }
        }
    }
}
Example #6
0
function search_alerts()
{
    global $dbtable_prefix, $tplvars;
    $skin = get_default_skin_dir();
    require_once _BASEPATH_ . '/includes/search_functions.inc.php';
    require_once _BASEPATH_ . '/includes/access_levels.inc.php';
    //	require_once _BASEPATH_.'/includes/user_functions.inc.php';
    $tplvars['tplrelpath'] = _BASEPATH_ . '/skins_site/' . $skin;
    $config['limit_results'] = 5;
    $query_strlen = 20000;
    $query = "SELECT a.`search_id`,a.`fk_user_id`,a.`title`,a.`search`,a.`search_qs`,a.`alert_last_id`,UNIX_TIMESTAMP(a.`alert_last_sent`) as `alert_last_sent`,b.`membership`,c.`_user` as `user`,b.`email` FROM `{$dbtable_prefix}user_searches` a,`" . USER_ACCOUNTS_TABLE . "` b,`{$dbtable_prefix}user_profiles` c WHERE a.`fk_user_id`=b.`" . USER_ACCOUNT_ID . "` AND a.`fk_user_id`=c.`fk_user_id` AND a.`alert`=1";
    if (!($res = @mysql_query($query))) {
        trigger_error(mysql_error(), E_USER_ERROR);
    }
    if (mysql_num_rows($res)) {
        $tpl = new phemplate(_BASEPATH_ . '/skins_site/' . $skin . '/emails/', 'remove_nonjs');
        $tpl->set_file('temp', 'search_alert.html');
        $tpl->set_var('tplvars', $tplvars);
        $subject = sprintf($GLOBALS['_lang'][217], _SITENAME_);
        $subject = sanitize_and_format($subject, TYPE_STRING, $GLOBALS['__field2format'][FIELD_TEXTFIELD]);
        require_once _BASEPATH_ . '/includes/classes/user_cache.class.php';
        $user_cache = new user_cache($skin);
        $insert = "INSERT INTO `{$dbtable_prefix}queue_email` (`to`,`subject`,`message_body`) VALUES ";
        $iquery = $insert;
        $alert_intervals = array();
        $now = time();
        while ($rsrow = mysql_fetch_assoc($res)) {
            if (!isset($alert_intervals[$rsrow['fk_user_id']])) {
                $alert_intervals[$rsrow['fk_user_id']] = get_user_settings($rsrow['fk_user_id'], 'def_user_prefs', 'send_alert_interval') * 86400;
            }
            if ((int) $now - (int) $rsrow['alert_last_sent'] >= (int) $alert_intervals[$rsrow['fk_user_id']]) {
                $output = array();
                $rsrow['search'] = unserialize($rsrow['search']);
                $rsrow['search']['min_user_id'] = $rsrow['alert_last_id'];
                $user_ids = search_results($rsrow['search'], $rsrow['membership']);
                if (!empty($user_ids)) {
                    $GLOBALS['_list_of_online_members'] = get_online_ids();
                    $last_user_id = 0;
                    for ($i = 0; isset($user_ids[$i]); ++$i) {
                        if ($user_ids[$i] > $last_user_id) {
                            $last_user_id = $user_ids[$i];
                        }
                    }
                    $user_ids = array_slice($user_ids, 0, $config['limit_results']);
                    // last activity only for not online members
                    $temp = array();
                    $inject_by_uid = array();
                    for ($i = 0; isset($user_ids[$i]); ++$i) {
                        if (!isset($GLOBALS['_list_of_online_members'][$user_ids[$i]])) {
                            $temp[] = $user_ids[$i];
                        } else {
                            $inject_by_uid[$user_ids[$i]] = array('last_online' => $GLOBALS['_lang'][153]);
                        }
                    }
                    if (!empty($temp)) {
                        $time = mktime(gmdate('H'), gmdate('i'), gmdate('s'), gmdate('m'), gmdate('d'), gmdate('Y'));
                        $query = "SELECT `" . USER_ACCOUNT_ID . "` as `uid`,UNIX_TIMESTAMP(`last_activity`) as `last_activity` FROM `" . USER_ACCOUNTS_TABLE . "` WHERE `" . USER_ACCOUNT_ID . "` IN ('" . join("','", $temp) . "')";
                        if (!($res2 = @mysql_query($query))) {
                            trigger_error(mysql_error(), E_USER_ERROR);
                        }
                        while ($rsrow2 = mysql_fetch_assoc($res2)) {
                            $rsrow2['last_activity'] = $time - $rsrow2['last_activity'];
                            if ($rsrow2['last_activity'] < 86400) {
                                $inject_by_uid[$rsrow2['uid']] = array('last_online' => $GLOBALS['_lang'][154]);
                            } elseif ($rsrow2['last_activity'] < 172800) {
                                $inject_by_uid[$rsrow2['uid']] = array('last_online' => $GLOBALS['_lang'][155]);
                            } elseif ($rsrow2['last_activity'] < 604800) {
                                $inject_by_uid[$rsrow2['uid']] = array('last_online' => $GLOBALS['_lang'][156]);
                            } elseif ($rsrow2['last_activity'] < 2419200) {
                                $inject_by_uid[$rsrow2['uid']] = array('last_online' => $GLOBALS['_lang'][157]);
                            } else {
                                $inject_by_uid[$rsrow2['uid']] = array('last_online' => $GLOBALS['_lang'][158]);
                            }
                        }
                    }
                    $cell_css_classes = array();
                    for ($i = 0; isset($user_ids[$i]); ++$i) {
                        if (isset($GLOBALS['_list_of_online_members'][$user_ids[$i]])) {
                            $cell_css_classes[$i] = 'is_online';
                        }
                    }
                    $output['results'] = smart_table($user_cache->get_cache_array($user_ids, 'result_user', $inject_by_uid), 5, 'list_view', $cell_css_classes);
                    $output['title'] = sanitize_and_format($rsrow['title'], TYPE_STRING, $GLOBALS['__field2format'][TEXT_DB2DISPLAY]);
                    $output['search_qs'] = $rsrow['search_qs'];
                    $output['user'] = $rsrow['user'];
                    $tpl->set_var('output', $output);
                    $message_body = $tpl->process('', 'temp', TPL_LOOP | TPL_OPTLOOP | TPL_OPTIONAL | TPL_FINISH);
                    $message_body = sanitize_and_format($message_body, TYPE_STRING, $GLOBALS['__field2format'][FIELD_TEXTAREA]);
                    if (strlen($iquery) > $query_strlen) {
                        $iquery = substr($iquery, 0, -1);
                        if (!($res2 = @mysql_query($iquery))) {
                            trigger_error(mysql_error(), E_USER_ERROR);
                        }
                        $iquery = $insert;
                    }
                    $iquery .= "('" . $rsrow['email'] . "','{$subject}','{$message_body}'),";
                    $query = "UPDATE `{$dbtable_prefix}user_searches` SET `alert_last_id`={$last_user_id},`alert_last_sent`=now() WHERE `search_id`=" . $rsrow['search_id'];
                    @mysql_query($query);
                }
            }
        }
        if ($iquery != $insert) {
            $iquery = substr($iquery, 0, -1);
            if (!($res2 = @mysql_query($iquery))) {
                trigger_error(mysql_error(), E_USER_ERROR);
            }
        }
    }
    return true;
}