Exemple #1
0
function webmaster_action($core)
{
    $action = $core->get['a'] ? $core->get['a'] : null;
    $id = $core->post['id'] ? (int) $core->post['id'] : ($core->get['id'] ? (int) $core->get['id'] : 0);
    switch ($action) {
        case 'flow-add':
            $oid = webmaster_flow_add($core, $core->user->id, $id);
            if ($oid) {
                if ($oid > 0) {
                    $core->go($core->url('im', 'flow', $oid, 'ok'));
                } else {
                    $core->go($core->url('mm', 'offers', 'inactive'));
                }
            } else {
                $core->go($core->url('mm', 'offers', 'error'));
            }
        case 'flow-edit':
            $data = array('name' => $core->text->line($core->post['name']), 'site' => (int) $core->post['site'], 'space' => (int) $core->post['space'], 'cb' => $core->post['cb'] ? 1 : 0, 'param' => $core->post['param'] ? 1 : 0, 'url' => $core->text->url($core->post['url']), 'pbu' => $core->text->url($core->post['pbu']));
            $result = webmaster_flow_edit($core, $core->user->id, $id, $data);
            if ($result) {
                if ($result > 0) {
                    $core->go($core->url('mm', 'flow', 'save'));
                } else {
                    $core->go($core->url('mm', '', 'access'));
                }
            } else {
                $core->go($core->url('mm', 'flow', 'error'));
            }
        case 'flow-ajax':
            $data = array();
            if (isset($core->get['site'])) {
                $data['site'] = (int) $core->get['site'];
            }
            if (isset($core->get['space'])) {
                $data['space'] = (int) $core->get['space'];
            }
            if (isset($core->get['cb'])) {
                $data['cb'] = $core->get['cb'] ? 1 : 0;
            }
            if (isset($core->get['param'])) {
                $data['param'] = $core->get['param'] ? 1 : 0;
            }
            if (isset($core->get['url'])) {
                $data['url'] = $core->text->url($core->get['url']);
            }
            if (isset($core->get['pbu'])) {
                $data['pbu'] = $core->text->url($core->get['pbu']);
            }
            $result = webmaster_flow_edit($core, $core->user->id, $id, $data);
            echo $result > 0 ? 'ok' : error;
            $core->_die();
        case 'flow-del':
            $result = webmaster_flow_del($core, $core->user->id, $id);
            if ($result) {
                if ($result > 0) {
                    $core->go($core->url('mm', 'flow', 'del'));
                } else {
                    $core->go($core->url('mm', '', 'access'));
                }
            } else {
                $core->go($core->url('mm', 'flow', 'error'));
            }
        case 'flow-target':
            $target = $core->wmsale->get('target', $core->user->id);
            $result = '<td class="olt-label">Цель</td><td class="olt-field"><select id="offer' . $id . 'targt" onchange="makelink(' . $id . ');"><option value="0">&mdash; нет цели &mdash; </option>';
            foreach ($target as $v => $n) {
                $result .= '<option value="' . $v . '">' . $n . '</option>';
            }
            $result .= '</select></td>';
            echo $result;
            $core->_die();
            //
            // Black list
            //
        //
        // Black list
        //
        case 'bl-add':
            $u = (int) $core->get['u'];
            $i = preg_replace("#([^a-z0-9\\-\\_\\.]*)#si", '', strtolower($core->get['i']));
            $t = (int) $core->get['t'];
            $id = $core->db->field("SELECT bl_id FROM " . DB_BL . " WHERE user_id = '" . $core->user->id . "' AND bl_utm = '{$u}' AND bl_type = '{$t}' AND bl_item = '{$i}' LIMIT 1");
            if (!$id) {
                $core->db->query("INSERT INTO " . DB_BL . " SET user_id = '" . $core->user->id . "', bl_utm = '{$u}', bl_type = '{$t}', bl_item = '{$i}', bl_time = '" . time() . "'");
                $id = $core->db->lastid();
            }
            $ajax = $core->get['z'] == 'ajax' ? true : false;
            if ($ajax) {
                echo json_encode(array('status' => 'ok', 'id' => $t . '_' . $u . '_' . strtr($i, '.', '_'), 'newid' => $id, 'cls' => 'decline', 'url' => $core->url('a', 'bl-del', $id) . '?', 'text' => $core->lang['bl_del']));
                $core->_die();
            } else {
                msgo($core, 'ok');
            }
        case 'bl-del':
            $bl = $core->db->row("SELECT * FROM " . DB_BL . " WHERE bl_id = '{$id}' LIMIT 1");
            $ajax = $core->get['z'] == 'ajax' ? true : false;
            if ($bl['user_id'] = $core->user->id) {
                $core->db->query("DELETE FROM " . DB_BL . " WHERE bl_id = '{$id}' LIMIT 1");
                if ($ajax) {
                    echo json_encode(array('status' => 'ok', 'id' => $id, 'newid' => $bl['bl_type'] . '_' . $bl['bl_utm'] . '_' . strtr($bl['bl_item'], '.', '_'), 'cls' => 'accept', 'url' => $core->url('a', 'bl-add', 0) . '?i=' . $bl['bl_item'] . '&u=' . $bl['bl_utm'] . '&t=' . $bl['bl_type'], 'text' => $core->lang['bl_add']));
                } else {
                    msgo($core, 'ok');
                }
            } else {
                if ($ajax) {
                    echo json_encode(array('status' => 'error', 'id' => $id));
                } else {
                    msgo($core, 'error');
                }
            }
            $core->_die();
        case 'bl-load':
            if ($u = (int) $core->get['u']) {
                $name = ($id ? 'sites-' : 'teasers-') . strtolower($core->lang['stat_srcs'][$u]);
                $items = $core->db->col("SELECT bl_item FROM " . DB_BL . " WHERE bl_utm = '{$u}' AND bl_type = '{$id}' ORDER BY bl_item ASC");
                $blacklist = implode("\r\n", $items);
            } else {
                $name = $id ? 'sites' : 'teasers';
                $itsl = array();
                $blacklist = '';
                $items = $core->db->icol("SELECT bl_item, bl_utm FROM " . DB_BL . " WHERE bl_type = '{$id}' ORDER BY bl_item ASC");
                foreach ($items as $i => $v) {
                    $itsl[$v][] = $i;
                }
                unset($items, $i, $v);
                foreach ($itsl as $i => $v) {
                    $blacklist .= $core->lang['stat_srcs'][$i] . "\r\n" . implode("\r\n", $v) . "\r\n\r\n";
                }
            }
            header('Content-type: text/plain; charset=utf-8');
            header("Content-Disposition: attachment; filename=blacklist-{$name}.txt");
            echo $blacklist;
            $core->_die();
            //
            // Domains
            //
            // New parked domain
        //
        // Domains
        //
        // New parked domain
        case 'dmn-add':
            $url = $core->text->link($core->post['url']);
            $core->db->add(DB_DOMAIN, array('user_id' => $core->user->id, 'dom_url' => $url));
            $core->wmsale->clear('domain', $core->user->id);
            $core->go($core->url('mm', 'domain', 'ok'));
            // Delete parked domain
        // Delete parked domain
        case 'dmn-del':
            $dd = $core->db->field("SELECT user_id FROM " . DB_DOMAIN . " WHERE dom_id = '{$id}' LIMIT 1");
            if ($dd == $core->user->id) {
                $core->db->del(DB_DOMAIN, "dom_id = '{$id}'");
                $core->wmsale->clear('domain', $core->user->id);
                $core->go($core->url('mm', 'domain', 'del'));
            } else {
                $core->go($core->url('mm', 'domain', 'access'));
            }
            // Check domain for working
        // Check domain for working
        case 'dmn-check':
            $dom = $core->db->field("SELECT dom_url FROM " . DB_DOMAIN . " WHERE dom_id = '{$id}' LIMIT 1");
            $data = @file_get_contents('http://' . $dom . '/ok');
            if ($data == 'ok') {
                $core->go($core->url('mm', 'domain', 'check'));
            } else {
                $core->go($core->url('mm', 'domain', 'error'));
            }
            //
            // Targets
            //
            // Adding new target
        //
        // Targets
        //
        // Adding new target
        case 'target-add':
            $name = $core->text->line($core->post['name']);
            $type = (int) $core->post['type'];
            if ($name) {
                $core->db->add(DB_TARGET, array('target_name' => $name, 'target_type' => $type, 'user_id' => $core->user->id));
            }
            $core->wmsale->clear('target', $core->user->id);
            $core->wmsale->clear('targets', $core->user->id);
            $core->go($core->url('mm', 'target', 'ok'));
            // Edit target name and type
        // Edit target name and type
        case 'target-edit':
            $targets = $core->wmsale->get('target', $core->user->id);
            if ($targets[$id]) {
                $name = $core->text->line($core->post['name']);
                $type = (int) $core->post['type'];
                if ($name) {
                    $core->db->edit(DB_TARGET, array('target_name' => $name, 'target_type' => $type), "target_id = '{$id}'");
                }
                $core->wmsale->clear('target', $core->user->id);
                $core->wmsale->clear('targets', $core->user->id);
                $core->go($core->url('mm', 'target', 'ok'));
            } else {
                $core->go($core->url('mm', 'target', 'access'));
            }
            // Delete target info
        // Delete target info
        case 'target-del':
            $targets = $core->wmsale->get('target', $core->user->id);
            if ($targets[$id]) {
                $core->db->edit(DB_ORDER, array('target_id' => 0), "target_id = '{$id}'");
                $core->db->edit(DB_CLICK, array('target_id' => 0), "target_id = '{$id}'");
                $core->db->del(DB_TARGET, "target_id = '{$id}'");
                $core->wmsale->clear('target', $core->user->id);
                $core->wmsale->clear('targets', $core->user->id);
                $core->go($core->url('mm', 'target', 'del'));
            } else {
                $core->go($core->url('mm', 'target', 'access'));
            }
    }
    return false;
}
Exemple #2
0
function api_wm_add($core, $user)
{
    $offer = (int) $core->post['offer'];
    $name = $core->text->line($core->post['name']);
    require_once PATH . 'lib/webmaster.php';
    $oid = webmaster_flow_add($core, $user, $offer, $name);
    if ($oid) {
        if ($oid > 0) {
            return array('status' => 'ok', 'id' => $oid);
        } else {
            return array('status' => 'error', 'error' => 'offer-inactive');
        }
    } else {
        return array('status' => 'error', 'error' => 'request-error');
    }
}