コード例 #1
0
ファイル: _home.php プロジェクト: nopticon/noptc
    public function home()
    {
        global $core;
        $v = $this->__(array('a', 'p' => 0));
        if (f($v['a'])) {
            $sql = 'SELECT area_id
				FROM _reference_area
				WHERE area_alias = ?';
            if (!_field(sql_filter($sql, $v['a']), 'area_id', 0)) {
                _fatal();
            }
            $sql = 'SELECT COUNT(r.ref_id) AS total
				FROM _reference r, _reference_area a
				WHERE a.area_alias = ?
					AND r.ref_area = a.area_id
				ORDER BY r.ref_time DESC';
            $ref_total = _field(sql_filter($sql, $v['a']), 'total', 0);
            $sql = 'SELECT *
				FROM _reference r, _reference_area a
				WHERE a.area_alias = ?
					AND r.ref_area = a.area_id
				ORDER BY r.ref_time DESC
				LIMIT ??, ??';
            $ref = _rowset(sql_filter($sql, $v['a'], $v['p'], $core->v('ref_pages')));
        } else {
            $sql = 'SELECT COUNT(ref_id) AS total
				FROM _reference
				ORDER BY ref_time DESC';
            $ref_total = _field($sql, 'total', 0);
            $sql = 'SELECT *
				FROM _reference r, _reference_area a
				WHERE r.ref_area = a.area_id
				ORDER BY r.ref_time DESC
				LIMIT ??, ??';
            $ref = _rowset(sql_filter($sql, $v['p'], $core->v('ref_pages')));
        }
        if ($v['p'] && $ref_total) {
            redirect(_link());
        } else {
            _style('noref');
        }
        foreach ($ref as $i => $row) {
            if (!$i) {
                _style('ref');
            }
            if ($this->has_plugin($row['ref_content'])) {
                $this->parse_plugin($row);
                continue;
            }
            _style('ref.row', _vs(array('id' => $row['ref_id'], 'link' => _link($row['ref_alias']), 'subject' => $row['ref_subject'], 'content' => _message($row['ref_content']), 'time' => _format_date($row['ref_time'])), 'ref'));
        }
        return;
    }
コード例 #2
0
ファイル: _ticket.php プロジェクト: nopticon/tts
    protected function _cat_home()
    {
        global $user;
        $v = $this->__(array('g' => 0));
        if ($v['g']) {
            $sql = 'SELECT group_id
				FROM _groups
				WHERE group_id = ?';
            if (!_field(sql_filter($sql, $v['g']), 'group_id', 0)) {
                _fatal();
            }
        }
        $sql_filter = $v['g'] ? sql_filter('= ??', $v['g']) : '> 0';
        $sql = 'SELECT c.cat_id, c.cat_name, g.group_name AS group_alias, g.group_email
			FROM _tickets_cat c, _groups g
			WHERE c.cat_group ??
				AND c.cat_group = g.group_id
				AND g.group_id IN (??)
			ORDER BY cat_group, cat_name';
        if (!_rowset_style(sql_filter($sql, $sql_filter, $user->auth_groups()), 'cat')) {
            _style('no_cat');
        }
        $sql = 'SELECT group_id, group_name, group_email
			FROM _groups
			WHERE group_id IN (??)
			ORDER BY group_name';
        _rowset_style(sql_filter($sql, $user->auth_groups()), 'groups');
        return;
    }
コード例 #3
0
ファイル: _home.php プロジェクト: nopticon/mag
    protected function _friend_deny()
    {
        global $bio;
        if (!$bio->v('auth_member')) {
            _login();
        }
        $v = $this->__(w('a'));
        $sql = 'SELECT bio_id
			FROM _bio
			WHERE bio_alias = ?';
        if (!($bio_id = _field(sql_filter($sql, $v['a']), 'bio_id', 0))) {
            _fatal();
        }
        $sql = 'SELECT friend_id, friend_pending
			FROM _bio_friends
			WHERE friend_assoc = ?
				AND friend_bio = ?';
        if (!($friend = _fieldrow(sql_filter($sql, $bio_id, $bio->v('bio_id'))))) {
            _fatal();
        }
        if (!$friend['friend_pending']) {
            _fatal();
        }
        $sql = 'DELETE FROM _bio_friends
			WHERE friend_id = ?';
        _sql(sql_filter($sql, $friend['friend_id']));
        return;
    }
コード例 #4
0
?>
</li>
					<li><?php 
echo _field('company-address-2');
?>
</li>
					<li><?php 
echo _field('company-town');
?>
</li>
					<li><?php 
echo _field('company-city');
?>
</li>
					<li><?php 
echo _field('company-postcode');
?>
</li>
				</ul>
			</div>

			<div class="col-md-7 col-md-offset-1 contact-form">

				<?php 
if (function_exists('ninja_forms_display_form')) {
    ?>
 
					<?php 
    ninja_forms_display_form(5);
    ?>
				<?php 
コード例 #5
0
ファイル: mysqli.php プロジェクト: nopticon/noptc
    function sql_cache($a_sql, $sid = '', $private = true)
    {
        global $user;
        $filter_values = array($sid);
        $sql = 'SELECT cache_query
			FROM _search_cache
			WHERE cache_sid = ?';
        if ($private) {
            $sql .= ' AND cache_uid = ?';
            $filter_values[] = $user->v('user_id');
        }
        $query = _field(sql_filter($sql, $filter_values), 'cache_query', '');
        if (f($sid) && !f($query)) {
            _fatal();
        }
        if (!f($query) && f($a_sql)) {
            $sid = md5(unique_id());
            $insert = array('cache_sid' => $sid, 'cache_query' => $a_sql, 'cache_uid' => $user->v('user_id'), 'cache_time' => time());
            $sql = 'INSERT INTO _search_cache' . _build_array('INSERT', $insert);
            _sql($sql);
            $query = $a_sql;
        }
        $all_rows = 0;
        if (!empty($query)) {
            $result = $this->sql_query($query);
            $all_rows = $this->sql_numrows($result);
            $this->sql_freeresult($result);
        }
        $has_limit = false;
        if (preg_match('#LIMIT ([0-9]+)(\\, ([0-9]+))?#is', $query, $limits)) {
            $has_limit = $limits[1];
        }
        return array('sid' => $sid, 'query' => $query, 'limit' => $has_limit, 'total' => $all_rows);
    }
コード例 #6
0
ファイル: _bio.php プロジェクト: nopticon/mag
    protected function _messages_home()
    {
        global $bio, $core;
        $v = $this->__(array('i' => 'home', 'u' => '', 'a' => array(0 => ''), 's' => 0));
        if (!in_array($v['i'], $this->messages_a)) {
            _fatal();
        }
        switch ($v['i']) {
            case 'write':
                if (!$bio->v('bio_active')) {
                    $this->_error('PLEASE_CONFIRM_ACCOUNT');
                }
                if (f($v['u']) && $v['u'] != $bio->v('bio_alias')) {
                    $v['a'][] = $v['u'];
                }
                unset($v['u']);
                if (_button()) {
                    $v = array_merge($v, $this->__(array('subject', 'message', 'parent' => 0)));
                    if ($v['parent']) {
                        $sql = 'SELECT *
							FROM _bio_talk
							WHERE talk_id = ?';
                        if (!($talk = _fieldrow(sql_filter($sql, $v['parent'])))) {
                            _fatal();
                        }
                        $sql = 'SELECT *
							FROM _bio_talkers
							WHERE talker_talk = ?
								AND talker_bio = ?';
                        if (!($talkers = _rowset(sql_filter($sql, $v['parent'], $bio->v('bio_id'))))) {
                            _fatal();
                        }
                    } else {
                        if (!f($v['subject'])) {
                            $this->_error('#TALK_NO_SUBJECT');
                        }
                        $sql = 'SELECT bio_alias, bio_name, bio_email
							FROM bio
							WHERE bio_id IN (??)
							ORDER BY bio_alias';
                        if (!($talkers = _rowset(sql_filter($sql, _implode(',', $v['a']))))) {
                            $this->_error('#TALK_NO_TALKERS');
                        }
                    }
                    if (!f($v['message'])) {
                        $this->_error('#NO_MESSAGE');
                    }
                    $sql_insert = array('parent' => $v['parent'], 'subject' => _prepare($v['subject']), 'message' => _prepare($v['message']), 'time' => time());
                    $v->talk_id = sql_put('_bio_talk', $sql_insert);
                    foreach ($talkers as $row) {
                        $sql_insert = array('talk' => $v['parent'] ? $v['parent'] : $v->talk_id, 'bio' => $row['bio_id']);
                        sql_put('_bio_talkers', $sql_insert);
                        $properties = array('from' => 'info', 'to' => $row['bio_email'], 'subject' => '', 'body' => '', 'template' => '');
                        _sendmail($properties);
                    }
                    if (is_ghost() && $v['parent']) {
                        $response = array('message_id' => $message_id, 'message_content' => $v['message'], 'message_time' => _format_date());
                        return $this->e(json_encode($response));
                    }
                    redirect('my', array('messages', 'm' => $message_id));
                }
                break;
            default:
                $v = array_merge($v, $this->__(array('m' => 0)));
                if ($v['m']) {
                    $sql = 'SELECT *
						FROM _bio_talk t, _bio_talkers r
						WHERE t.talk_id = ?
							AND r.talker_bio = ?
							AND t.talk_id = r.talker_talk';
                    if (!($talk = _fieldrow(sql_filter($sql, $v['m'], $bio->v('bio_id'))))) {
                        _fatal();
                    }
                    $sql = 'SELECT t.*, b.bio_id, b.bio_alias, b.bio_name
						FROM _bio_talk t, _bio_talkers r, _bio b
						WHERE t.talk_parent = ?
							AND t.talk_id = r.talker_talk
							AND t.talk_author = r.talker_bio
							AND r.talker_bio = b.bio_id
						ORDER BY t.talk_time';
                    $messages = _rowset(sql_filter($sql, $talk['talk_parent']));
                    foreach ($messages as $i => $row) {
                        if (!$i) {
                            _style('messages');
                        }
                        _style('messages.row');
                    }
                    return;
                }
                //
                // Message lists
                $is_draft = 0;
                switch ($v['i']) {
                    case 'sent':
                        $sql_total = 'SELECT COUNT(talk_id) AS total
							FROM _bio_talk
							WHERE talk_author = ?
								AND talk_draft = ?
								AND talk_id = talk_parent';
                        $sql_list = 'SELECT *
							FROM _bio_talk
							WHERE talk_author = ?
								AND talk_draft = ?
								AND talk_id = t.talk_parent
							ORDER BY talk_lasttime DESC
							LIMIT ??, ??';
                        break;
                    case 'draft':
                        $sql_total = 'SELECT COUNT(talk_id) AS total
							FROM _bio_talk
							WHERE talk_author = ?
								AND talk_draft = ?
								AND talk_id = talk_parent';
                        $sql_list = 'SELECT *
							FROM _bio_talk
							WHERE talk_author = ?
								AND talk_draft = ?
								AND talk_id = talk_parent
							ORDER BY talk_lasttime DESC
							LIMIT ??, ??';
                        $is_draft = 1;
                        break;
                    default:
                        $sql_total = 'SELECT COUNT(talk_id) AS total
							FROM _bio_talk t, _bio_talkers r
							WHERE r.talker_bio = ?
								AND t.talk_draft = ?
								AND t.talk_id = t.talk_parent
								AND t.talk_id = r.talker_talk';
                        $sql_list = 'SELECT *
							FROM _bio_talk t, _bio_talkers r
							WHERE r.talker_bio = ?
								AND t.talk_draft = ?
								AND t.talk_id = t.talk_parent
								AND t.talk_id = r.talker_talk
							ORDER BY t.talk_lasttime DESC
							LIMIT ??, ??';
                        break;
                }
                $talk_total = _field(sql_filter($sql_total, $bio->v('bio_id'), $is_draft), 'total', 0);
                $talk_list = _rowset(sql_filter($sql_list, $bio->v('bio_id'), $is_draft, $v['s'], $core->v('talk_pager')));
                if ($talk_total && !count($talk_list)) {
                    redirect(_link($this->m(), array('messages', 'i' => $v['i'])));
                }
                foreach ($messages as $i => $row) {
                    if (!$i) {
                        _style('talks', _pagination(_link('my', array('messages', 'i' => $v['i'])), 's:%d', $messages_total, $core->v('talk_pager'), $v['s']));
                    }
                    if (!$row['message_last']) {
                        $row['message_last'] = $row['message_id'];
                        $row['message_last_time'] = $row['message_time'];
                    }
                    _style('talks.row', _vs(array('PARENT' => $row['talk_parent'], 'SUBJECT' => $row['talk_subject'], 'READ' => _link($this->m(), array('messages', 'i' => $v['i'], 'm' => $row['talk_last'])), 'TIME' => _format_date($row['talk_lasttime']), 'ROOT' => $row['talk_root']), 'TALK'));
                }
                break;
        }
        return;
    }
コード例 #7
0
ファイル: _cvm.php プロジェクト: nopticon/mag
    public function home()
    {
        global $core;
        error_reporting(0);
        $v = $this->__(w('v'));
        if (!$v['v']) {
            $sql = 'SELECT media_id
				FROM _bio_media
				WHERE media_type = ?
					AND media_mp3 = ?
				LIMIT 1';
            $v['v'] = _field(sql_filter($sql, 1, 0), 'media_id', 0);
        }
        $tag_format = 'UTF-8';
        $relative_path = '/data/artists/%s/media/';
        $absolute_path = '/var/www/vhosts/rockrepublik.net/www' . $relative_path;
        $sql = 'SELECT m.*, b.bio_id, b.bio_name
			FROM _bio_media m
			LEFT JOIN _bio b ON m.media_bio = b.bio_id
			WHERE m.media_id = ?';
        //$spaths = '/data/artists/' . $songd['ub'] . '/media/';
        //$spath = '/var/www/vhosts/rockrepublik.net/httpdocs' . $spaths;
        if ($media = _fieldrow(sql_filter($sql, $v['v']))) {
            $row_relative = sprintf($relative_path, $media['bio_id']);
            $row_absolute = $absolute_path . $row_relative;
            $row_wma = $row_absolute . $media['media_id'] . '.wma';
            $row_mp3 = $row_absolute . $media['media_id'] . '.mp3';
            $rel_wma = '.' . $row_relative . $media['media_id'] . '.wma';
            $rel_mp3 = '.' . $row_relative . $media['media_id'] . '.mp3';
            if (@file_exists($rel_wma) && !@file_exists($rel_mp3) && !$media['media_mp3']) {
                exec('ffmpeg -i ' . $row_wma . ' -vn -ar 44100 -ac 2 -ab 64kb -f mp3 ' . $row_mp3);
                include_once XFS . XCOR . 'getid3/getid3.php';
                $getID3 = new getID3();
                $getID3->setOption(array('encoding' => $tag_format));
                getid3_lib::IncludeDependency(GETID3_INCLUDEPATH . 'write.php', __FILE__, true);
                $tagwriter = new getid3_writetags();
                $tagwriter->filename = getid3_lib::SafeStripSlashes($row_mp3);
                $tagwriter->tagformats = array('id3v1');
                $tagwriter->overwrite_tags = true;
                $tagwriter->tag_encoding = $tag_format;
                $tagwriter->remove_other_tags = true;
                $tag_comment = 'Visita www.rockrepublik.net';
                $media['album'] = !empty($media['media_album']) ? $media['media_album'] : 'Single';
                $media['genre'] = !empty($media['media_genre']) ? $media['media_genre'] : 'Rock';
                $media_f = array('title', 'name', 'album', 'genre');
                foreach ($media_f as $mr) {
                    $media['media_' . $mr] = getid3_lib::SafeStripSlashes(utf8_encode(html_entity_decode($media['media_' . $mr])));
                }
                $tagwriter->tag_data = array('title' => array($media['media_title']), 'artist' => array($media['media_name']), 'album' => array($media['media_album']), 'year' => array(getid3_lib::SafeStripSlashes($media['media_year'])), 'genre' => array($media['media_genre']), 'comment' => array(getid3_lib::SafeStripSlashes($tag_comment)), 'tracknumber' => array(''));
                $tagwriter->WriteTags();
                $sql = 'UPDATE _bio_media SET media_mp3 = ?
					WHERE media_id = ?';
                _sql(sql_filter($sql, 1, $media['media_id']));
                $fp = @fopen('./conv.txt', 'a+');
                fwrite($fp, $row_mp3 . "\n");
                fclose($fp);
            }
            if (!@file_exists($rel_wma)) {
                $sql = 'UPDATE _bio_media SET media_mp3 = ?
					WHERE media_id = ?';
                _sql(sql_filter($sql, 2, $media['media_id']));
            }
        }
        $sql = 'SELECT media_id
			FROM _bio_media
			WHERE media_type = ?
				AND media_mp3 = ?
			LIMIT 1';
        if ($v_next = _field(sql_filter($sql, 1, 0), 'media_id', 0)) {
            sleep(1);
            _redirect(_link($this->m(), array('v' => $v_next)));
        } else {
            $this->e('no_next');
        }
        return $this->e('.');
    }
コード例 #8
0
ファイル: _events.php プロジェクト: nopticon/mag
    protected function _attend_home()
    {
        global $bio;
        if (!is_ghost()) {
            _fatal();
        }
        if (!$bio->v('auth_member')) {
            _login();
        }
        $v = $this->__(_array_keys(w('event option'), 0));
        if (!$v['event'] || !$v['option']) {
            _fatal();
        }
        $sql = 'SELECT event_id
			FROM _events
			WHERE event_id = ?';
        if (!_fieldrow($sql, $v['event'])) {
            _fatal();
        }
        $sql = 'SELECT type_id
			FROM _events_attend_type
			WHERE type_id = ?';
        if (!_fieldrow(sql_filter($sql, $v['option']))) {
            _fatal();
        }
        $sql = 'SELECT attend_id
			FROM _events_attend
			WHERE attend_event = ?
				AND attend_uid = ?';
        if ($attend_id = _field(sql_filter($sql, $v['event'], $bio->v('bio_id')), 'attend_id', 0)) {
            $sql = 'UPDATE _events SET attend_option = ?
				WHERE attend_id = ?';
            _sql(sql_filter($sql, $v['option'], $attend_id));
        } else {
            $sql_insert = array('attend_event' => $v['event'], 'attend_uid' => $bio->v('bio_id'), 'attend_option' => $v['option'], 'attend_time' => time());
            sql_put('_events_attend', $sql_insert);
        }
        return $this->e('~OK');
    }
コード例 #9
0
ファイル: project.php プロジェクト: nopticon/tts
    protected function _relation_value(&$row)
    {
        if (!isset($row['field_relation'])) {
            return;
        }
        if (f($row['field_relation'])) {
            $e_rel = explode('.', $row['field_relation']);
            $sql = 'SELECT ??, ??
				FROM _??
				WHERE ?? = ?
				ORDER BY ?';
            $row['a_value'] = _field(sql_filter($sql, $e_rel[1], $e_rel[2], $e_rel[0], $e_rel[1], $row['a_value'], $e_rel[1]), $e_rel[2], $row['a_value']);
        }
        return;
    }
コード例 #10
0
ファイル: _cron.php プロジェクト: nopticon/tts
    protected function _ticket_home()
    {
        global $user, $core;
        if (!$core->v('cron_enabled')) {
            return $this->e('CRON_DISABLED');
        }
        foreach (w('mail pop3 emailer htmlparser') as $row) {
            require_once XFS . 'core/' . $row . '.php';
        }
        $pop3 = new pop3();
        if (!$pop3->connect($core->v('mail_server'), $core->v('mail_port'))) {
            return $this->e('MAIL_NO_CONNECT');
        }
        if (!($total_mail = $pop3->login('recent:' . $core->v('mail_ticket_login'), $core->v('mail_ticket_key')))) {
            return $this->e('MAIL_NEW_MAIL');
        }
        //
        $mail = new _mail();
        $emailer = new emailer();
        //
        if (!($blacklist = $core->cache_load('ticket_blacklist'))) {
            $sql = 'SELECT *
				FROM _tickets_blacklist
				ORDER BY list_id';
            $blacklist = $core->cache_store(_rowset($sql, 'list_address', 'list_id'));
        }
        if (!($ticket_status = $core->cache_load('ticket_status_default'))) {
            $sql = 'SELECT status_id
				FROM _tickets_status
				WHERE status_default = 1';
            $ticket_status = $core->cache_store(_field($sql, 'status_id', 0));
        }
        $sql = 'SELECT group_id, group_email
			FROM _groups
			ORDER BY group_email';
        $groups = _rowset($sql, 'group_email', 'group_id');
        $sql = 'SELECT group_email, group_name
			FROM _groups
			ORDER BY group_email';
        $groups_name = _rowset($sql, 'group_email', 'group_name');
        $sql = 'SELECT gg.group_email, m.user_email
			FROM _groups gg, _groups_members g, _members m
			WHERE g.member_mod = ?
				AND g.member_uid = m.user_id
				AND gg.group_id = g.member_group
			ORDER BY m.user_email';
        $groups_mods = _rowset(sql_filter($sql, 1), 'group_email', 'user_email', true);
        foreach ($groups as $a_group_email => $a_group_id) {
            if (!isset($groups_mods[$a_group_email])) {
                $groups_mods[$a_group_email] = w();
            }
        }
        $sql = 'SELECT s.a_assoc, s.a_value
			FROM _members_fields f, _members_store s
			WHERE s.a_field = f.field_id
				AND f.field_alias LIKE ?
			ORDER BY s.a_value';
        $email_alt = _rowset(sql_filter($sql, 'email%'), 'a_value', 'a_assoc');
        // Pre mail process
        $recv = w();
        $now = time();
        $line_orig = array('&nbsp;');
        $line_repl = array(' ');
        $_v = w('from from_d to ticket subject body date mod ip spam blacklist reply other');
        $_c = w('normal reply other blacklist spam', 0);
        for ($i = 1; $i <= $total_mail; $i++) {
            foreach ($_v as $row) {
                ${'recv_' . $row} = 0;
            }
            $s_header = $mail->parse_header(split("\r\n", implode('', $pop3->top($i))));
            $recv_from = $mail->parse_address($s_header['from']);
            if (isset($blacklist[$recv_from])) {
                $recv_blacklist = 1;
            }
            if ($recv_from == $core->v('mail_ticket_login')) {
                $recv_blacklist = 1;
            }
            _dvar($s_header['to'], '');
            _dvar($s_header['cc'], '');
            if (f($s_header['cc'])) {
                $s_header['to'] .= (f($s_header['to']) ? ', ' : '') . $s_header['cc'];
            }
            $to_part = array_map('trim', explode(strpos($s_header['to'], ',') ? ',' : ';', $s_header['to']));
            foreach ($to_part as $row) {
                if (strpos($row, '<') !== false) {
                    $row = preg_replace('#.*?<(.*?)>#is', '\\1', $row);
                }
                if (isset($blacklist[$row])) {
                    $recv_blacklist = 1;
                } else {
                    $recv_blacklist = 0;
                    $row_first = array_key(explode('@', $row), 0);
                    if (isset($groups[$row_first])) {
                        $recv_to = $row_first;
                    }
                }
            }
            if (strstr($s_header['to'], _lang('MAIL_TO_UNKNOWN')) !== false) {
                $recv_to = array_key(explode('@', $core->v('mail_ticket_login')), 0);
            }
            if (!$recv_to) {
                $recv_blacklist = 1;
            }
            if (!$recv_blacklist) {
                $recv_subject = htmlencode(trim($s_header['subject']));
                if (preg_match('#\\[\\#(.*?)\\]#is', $recv_subject, $p_subject)) {
                    $sql = 'SELECT ticket_id
						FROM _tickets
						WHERE ticket_code = ?';
                    if ($recv_subject_d = _fieldrow(sql_filter($sql, $p_subject[1]))) {
                        $recv_ticket = $recv_subject_d['ticket_id'];
                        $recv_reply = $p_subject[1];
                        $recv_subject = substr(strrchr($recv_subject, ']'), 3);
                    }
                }
                if ($recv_to . '@' . $core->v('domain') == $recv_from && $recv_from == $core->v('mail_ticket_login') && $recv_reply) {
                    $recv_blacklist = 1;
                }
            }
            if (!$recv_blacklist) {
                if (isset($email_alt[$recv_from])) {
                    $sql_field = 'id';
                    $sql_value = $email_alt[$recv_from];
                } else {
                    $sql_field = 'username';
                    $sql_value = array_key(explode('@', $recv_from), 0);
                }
                $sql = 'SELECT user_id, user_username, user_firstname, user_lastname
					FROM _members
					WHERE user_?? = ?';
                if ($recv_from_d = _fieldrow(sql_filter($sql, $sql_field, $sql_value))) {
                    $recv_from_d = serialize(array_row($recv_from_d));
                } else {
                    $recv_other = 1;
                }
                $d_body = $mail->body($s_header, $pop3->fbody($i), true);
                $recv_date = $mail->parse_date($s_header['date']);
                $recv_ip = $mail->parse_ip($s_header['received']);
                if (isset($groups_email[$recv_to])) {
                    $recv_mod = $groups_email[$recv_to];
                }
                if ($recv_date > $now || $recv_date < $now - 86400) {
                    $recv_date = $now;
                }
                if (isset($d_body['text-plain']) && f($d_body['text-plain'])) {
                    $recv_body = trim($d_body['text-plain']);
                } elseif (isset($d_body['text-html']) && f($d_body['text-html'])) {
                    $htm_text = w();
                    $tag_open = false;
                    $parser = new HtmlParser($d_body['text-html']);
                    while ($parser->parse()) {
                        $line = trim(str_replace($line_orig, $line_repl, $parser->iNodeValue));
                        if ($tag_open || strpos($line, '<') !== false) {
                            $tag_open = !$tag_open;
                            continue;
                        }
                        if ($parser->iNodeName == 'Text' && f($line)) {
                            $htm_text[] = preg_replace("/(\r\n){1}/", ' ', $line);
                        }
                    }
                    $recv_body = implode("\n", $htm_text);
                }
                if (f($recv_body)) {
                    $recv_body = htmlencode(_utf8($recv_body));
                }
                if (!f($recv_body)) {
                    $recv_blacklist = 1;
                }
            }
            $recv[$i] = w();
            foreach ($_v as $row) {
                $recv[$i][$row] = ${'recv_' . $row};
            }
        }
        foreach ($recv as $i => $row) {
            if ($row['spam'] || $row['blacklist']) {
                $pop3->delete($i);
                $row_key = $row['spam'] ? 'spam' : 'blacklist';
                $_c[$row_key]++;
                continue;
            }
            // Send mail to group admin
            if ($row['other']) {
                $_c['other']++;
                if (count($groups_mods[$row['to']])) {
                    foreach ($groups_mods[$row['to']] as $i => $mod_email) {
                        $email_func = !$i ? 'email_address' : 'cc';
                        $emailer->{$email_func}($mod_email);
                    }
                    $emailer->from($row['from']);
                    $emailer->replyto($row['from']);
                    $emailer->set_subject(entity_decode($row['subject']));
                    $emailer->use_template('ticket_other');
                    $emailer->set_decode(true);
                    $emailer->assign_vars(array('SUBJECT' => entity_decode($row['subject']), 'MESSAGE' => entity_decode($row['body'])));
                    $emailer->send();
                    $emailer->reset();
                }
                $pop3->delete($i);
                continue;
            }
            $row['code'] = $row['reply'] ? $row['reply'] : substr(md5(unique_id()), 0, 8);
            $row['from_d'] = unserialize($row['from_d']);
            $row['group_id'] = $groups[$row['to']];
            $row['msubject'] = entity_decode(sprintf('%s [#%s]: %s', $groups_name[$row['to']], $row['code'], $row['subject']));
            $row['mbody'] = explode("\n", $row['body']);
            //
            $body_const = w();
            foreach ($row['mbody'] as $part_i => $part_row) {
                if (isset($row['mbody'][$part_i - 1]) && f($row['mbody'][$part_i - 1]) && f($row['mbody'][$part_i])) {
                    $row['mbody'][$part_i] = "\n" . $part_row;
                }
            }
            $row['body'] = implode("\n", $row['mbody']);
            $v_mail = array('USERNAME' => $row['from_d']['user_username'], 'FULLNAME' => entity_decode(_fullname($row['from_d'])), 'SUBJECT' => entity_decode($row['subject']), 'MESSAGE' => entity_decode($row['body']), 'TICKET_URL' => _link('ticket', array('x1' => 'view', 'code' => $row['code'])));
            if (!$row['reply']) {
                $_c['normal']++;
                $sql_insert = array('parent' => 0, 'cat' => 1, 'group' => $row['group_id'], 'title' => _subject($row['subject']), 'text' => _prepare($row['body']), 'code' => $row['code'], 'contact' => $row['from_d']['user_id'], 'aby' => 0, 'status' => $ticket_status, 'start' => $row['date'], 'lastreply' => $row['date'], 'end' => 0, 'ip' => $row['ip']);
                $sql = 'INSERT INTO _tickets' . _build_array('INSERT', prefix('ticket', $sql_insert));
                _sql($sql);
                // Send mail to user
                $emailer->email_address($row['from']);
                $emailer->from($row['to'] . '@' . $core->v('domain'));
                $emailer->set_subject($row['msubject']);
                $emailer->use_template('ticket_' . $row['to']);
                $emailer->set_decode(true);
                $emailer->assign_vars($v_mail);
                $emailer->send();
                $emailer->reset();
                // > Send mail to group admin
                if (count($groups_mods[$row['to']])) {
                    foreach ($groups_mods[$row['to']] as $i => $mod_email) {
                        $address_func = !$i ? 'email_address' : 'cc';
                        $emailer->{$address_func}($mod_email);
                    }
                    $emailer->from($row['to'] . '@' . $core->v('domain'));
                    $emailer->set_subject($row['msubject']);
                    $emailer->use_template('ticket_' . ($row['reply'] ? 'reply' : 'tech'));
                    $emailer->set_decode(true);
                    $emailer->assign_vars($v_mail);
                    $emailer->send();
                    $emailer->reset();
                }
            } else {
                $_c['reply']++;
                $sql_insert = array('ticket_id' => $row['ticket'], 'user_id' => $row['from_d']['user_id'], 'note_text' => htmlencode($row['body']), 'note_time' => $row['date'], 'note_cc' => 1);
                $sql = 'INSERT INTO _tickets_notes' . _build_array('INSERT', $sql_insert);
                _sql($sql);
                $sql = 'UPDATE _tickets SET ticket_lastreply = ?
					WHERE ticket_id = ?';
                _sql(sql_filter($sql, $row['date'], $row['ticket']));
                // Send mail to group members || user
                $sql = 'SELECT *
					FROM _tickets_assign a, _members m
					WHERE a.assign_ticket = ?
						AND a.user_id = m.user_id
						AND m.user_username NOT IN (?)';
                $tech = _rowset(sql_filter($sql, $row['ticket'], $row['from_d']['user_username']));
                if ($row['mod'] != $row['from_d']['user_username']) {
                    $tech[] = $row['mod'];
                }
                if (count($tech)) {
                    foreach ($tech as $tech_i => $tech_row) {
                        $m_method = !$tech_i ? 'email_address' : 'cc';
                        $emailer->{$m_method}($tech_row . '@' . $core->v('domain'));
                    }
                    $emailer->from($row['to'] . '@' . $core->v('domain'));
                    $emailer->use_template('ticket_reply');
                    $emailer->set_subject($row['msubject']);
                    $emailer->set_decode(true);
                    $emailer->assign_vars($v_mail);
                    $emailer->send();
                    $emailer->reset();
                }
            }
            // Delete mail from server
            $pop3->delete($i);
        }
        // Quit server
        $pop3->quit();
        $ret = '';
        foreach ($_c as $k => $v) {
            $ret .= "\n" . $k . ' = ' . $v . '<br />';
        }
        return $this->e($ret);
    }
コード例 #11
0
ファイル: _email.php プロジェクト: nopticon/noptc
    function _total_home()
    {
        $v = $this->__(array('id' => 0));
        $sql = 'SELECT *
			FROM _email
			WHERE email_id = ?';
        if (!($email = _fieldrow(sql_filter($sql, $v['id'])))) {
            $this->e('El registro de email no existe.');
        }
        $sql = 'SELECT COUNT(user_id) AS total
			FROM _members
			WHERE user_active = ?
				AND user_id <> ?';
        $total = _field(sql_filter($sql, 1, 1), 'total');
        $sql = 'SELECT COUNT(user_id) AS total
			FROM _members';
        $all = _field($sql, 'total');
        $this->e($total . ' . ' . $all);
    }
コード例 #12
0
					</div>
				<?php 
    }
    ?>
			</div> <!-- /.hero.service -->
		<?php 
}
?>

	<?php 
if (_field('service-intro-text')) {
    ?>
		<div class="intro service">
			<div class="container">
				<?php 
    echo _field('service-intro-text');
    ?>
			</div>
		</div> <!-- /.intro.service -->
	<?php 
}
?>

	<div class="content container">

		<h1><?php 
echo $post->post_title;
?>
 </h1>
		<?php 
echo apply_filters('the_content', $post->post_content);
コード例 #13
0
ファイル: _home.php プロジェクト: nopticon/noptc
    public function home()
    {
        global $user;
        $v = $this->__(array('faddr', 'nickname', 'address', 'birthday' => array('' => 0), 'country' => 0));
        foreach (w('year month day') as $name) {
            $v['birthday'][$name] = isset($v['birthday'][$name]) ? $v['birthday'][$name] : '';
        }
        if (f($v['faddr'])) {
            $v['address'] = $v['faddr'];
        }
        if (_button()) {
            if (!f($v['address']) || !f($v['nickname'])) {
                $this->error('COMPLETE_FIELDS');
            }
            if (f($v['address'])) {
                $sql = 'SELECT user_id
					FROM _members
					WHERE user_email = ?';
                if (_field(sql_filter($sql, $v['address']), 'user_id', 0)) {
                    $this->error('EMAIL_EXISTS');
                }
                if (!preg_match('/^[a-z0-9&\'\\.\\-_\\+]+@[a-z0-9\\-]+\\.([a-z0-9\\-]+\\.)*?[a-z]+$/is', $v['address'])) {
                    $this->error('EMAIL_BAD');
                }
            }
            $sql = 'SELECT country_id
				FROM _countries
				WHERE country_id = ?';
            if (!_field(sql_filter($sql, $v['country']), 'country_id', 0)) {
                $this->error('NO_COUNTRY');
            }
            if (!$this->errors()) {
                $v['birthday'] = _zero($v['birthday']['year']) . _zero($v['birthday']['month']) . _zero($v['birthday']['day']);
                $sql_insert = array('type' => 1, 'active' => 0, 'username' => $v['nickname'], 'password' => '', 'registration' => time(), 'lastvisit' => '', 'lastpage' => '', 'country' => $v['country'], 'email' => $v['address'], 'birthday' => $v['birthday'], 'gender' => 0, 'dateformat' => 'd M Y H:i', 'timezone' => 0, 'dst' => 0);
                $sql = 'INSERT INTO _members' . _build_array('INSERT', prefix('user', $sql_insert));
                _sql($sql);
                require XFS . 'core/emailer.php';
                $emailer = new emailer();
                $emailer->format('plain');
                $emailer->from('TWC Kaulitz <*****@*****.**>');
                $emailer->use_template('welcome');
                $emailer->email_address($v['address']);
                $emailer->assign_vars(array('USERNAME' => $v['nickname']));
                $emailer->send();
                $emailer->reset();
                //
                redirect('http://www.twckaulitz.com/', false);
            }
        }
        if ($this->errors()) {
            _style('errors', array('MSG' => $this->get_errors()));
        }
        for ($i = 1; $i < 32; $i++) {
            _style('days', array('DAY' => $i));
        }
        $months = w('Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre');
        foreach ($months as $i => $row) {
            _style('months', array('VALUE' => $i + 1, 'MONTH' => $row));
        }
        for ($i = 2005; $i > 1899; $i--) {
            _style('years', array('YEAR' => $i));
        }
        //
        // GeoIP
        //
        include XFS . 'core/geoip.php';
        $gi = geoip_open(XFS . 'core/GeoIP.dat', GEOIP_STANDARD);
        $geoip_code = strtolower(geoip_country_code_by_addr($gi, $user->ip));
        $sql = 'SELECT *
			FROM _countries
			ORDER BY country_name';
        $countries = _rowset($sql);
        $codes = w();
        foreach ($countries as $row) {
            $codes[$row['country_short']] = $row['country_id'];
            _style('countries', array('VALUE' => $row['country_id'], 'NAME' => $row['country_name']));
        }
        if (!$v['country']) {
            $v['country'] = isset($codes[$geoip_code]) ? $codes[$geoip_code] : $codes['gt'];
        }
        v_style(array('NICKNAME' => $v['nickname'], 'ADDRESS' => $v['address'], 'COUNTRY' => $v['country'], 'BIRTHDAY_YEAR' => $v['birthday']['year'], 'BIRTHDAY_MONTH' => $v['birthday']['month'], 'BIRTHDAY_DAY' => $v['birthday']['day']));
        return;
    }
コード例 #14
0
        the_post_thumbnail('small-thumbnail');
        ?>
						</a>
					</div>

					<p><?php 
        echo _field('service-excerpt');
        ?>
</p>

					<a href="<?php 
        the_permalink();
        ?>
" class="btn btn-primary">
						<?php 
        echo _field('service-link-text') ? _field('service-link-text') : 'Read more';
        ?>
					</a>
		


				</div>

				<?php 
    }
    ?>

			</div> <!-- /.services-holder -->

				<?php 
} else {
コード例 #15
0
ファイル: _contacts.php プロジェクト: nopticon/tts
    protected function _groups_modify()
    {
        gfatal();
        global $core;
        $v = $this->__(array('el' => 0, 'r_name', 'r_email', 'r_mod', 'r_color'));
        foreach ($v as $row) {
            if (!f($row)) {
                $this->_error('#FIELD_IS_EMPTY');
            }
        }
        $sql = 'SELECT *
			FROM _groups
			WHERE group_id = ?';
        if (!($group = _fieldrow(sql_filter($sql, $v['el'])))) {
            $this->_error('#GROUPS_NO_EXISTS');
        }
        $mod_list = array_map('trim', explode(',', $v['r_mod']));
        array_unshift($mod_list, 'addquotes');
        $sql = 'SELECT user_id
			FROM _members
			WHERE user_username IN (??)
			ORDER BY user_username';
        if (!($mods_list = _rowset(sql_filter($sql, _implode(',', $mod_list)), false, 'user_id'))) {
            $this->_error('#USER_UNKNOWN');
        }
        $sql = 'UPDATE _groups SET group_name = ?, group_email = ?, group_color = ?
			WHERE group_id = ?';
        _sql(sql_filter($sql, $v['r_name'], $v['r_email'], $v['r_color'], $v['el']));
        $sql = 'UPDATE _groups_members SET member_mod = 0
			WHERE member_group = ?';
        _sql(sql_filter($sql, $v['el']));
        foreach ($mods_list as $row) {
            $sql = 'SELECT member_id
				FROM _groups_members
				WHERE member_uid = ?';
            if (_field(sql_filter($sql, $row), 'member_id', 0)) {
                $sql = 'UPDATE _groups_members SET member_mod = ?
					WHERE member_uid = ?';
                _sql(sql_filter($sql, 1, $row));
            } else {
                $sql_insert = array('group' => $group_id, 'uid' => $row, 'mod' => 1);
                $sql = 'INSERT INTO _groups_members' . _build_array('INSERT', prefix('member', $sql_insert));
                _sql($sql);
            }
        }
        $core->cache_unload();
        return $this->e('~OK');
    }
コード例 #16
0
ファイル: _create.php プロジェクト: nopticon/mag
    protected function _artist_home()
    {
        $v = array_merge($v, $this->__(array('a_name', 'a_website', 'a_email', 'a_genre' => array(0), 'a_country' => 0)));
        $v_check = array('a_name' => 'INVALID_NAME', 'a_email' => 'INVALID_EMAIL', 'a_genre' => 'INVALID_GENRE');
        foreach ($v_check as $vk => $vv) {
            if (!f($v[$vk])) {
                $this->error($vv);
            }
        }
        if (!$this->errors()) {
            $v['a_alias'] = _alias($v['a_name']);
            if (f($v['a_alias'])) {
                $sql = 'SELECT a_approved
					FROM _artists
					WHERE a_alias = ?';
                if ($a_approved = _field(sql_filter($sql, $v['a_alias']), 'a_approved')) {
                    $a_msg = $a_approved ? 'EXISTS' : 'PENDING';
                    $this->error('ARTIST_' . $a_msg);
                }
            } else {
                $this->error('INVALID_ALIAS');
            }
        }
        if (!$this->errors() && !check_email($v['a_email'])) {
            $this->error('INVALID_EMAIL');
        }
        if (!$this->errors()) {
            $sql = 'SELECT country_id
				FROM _countries
				WHERE country_id = ?';
            if (!_fieldrow(sql_filter($sql, $v['a_country']))) {
                $this->error('INVALID_COUNTRY');
            }
        }
        if (!$this->errors()) {
            $sql = 'SELECT type_id
				FROM _alias_type
				WHERE type_alias = ?';
            $alias_type = _field(sql_filter($sql, 'artist'), 'type_id');
            $sql_insert = array('name' => $v['a_name'], 'alias' => $v['a_alias'], 'approved' => 0, 'time' => time(), 'email' => strtolower($v['a_email']), 'website' => $v['a_website'], 'country' => $v['a_country'], 'biography' => '', 'views' => 0, 'music' => 0, 'video' => 0, 'news' => 0, 'posts' => 0, 'votes' => 0, 'lyrics' => 0, 'images' => 0);
            sql_put('_artists', prefix('a', $sql_insert));
            $sql_insert = array('name' => $v['a_alias'], 'enable' => 0, 'type' => $alias_type);
            sql_put('_alias', prefix('alias', $sql_insert));
            redirect(_link('alias', array('alias' => $v['a_alias'])));
        }
        return;
    }