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">— нет цели — </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; }
function api_wm_edit($core, $user) { $flow = (int) $core->post['flow']; $name = $core->text->line($core->post['name']); require_once PATH . 'lib/webmaster.php'; $result = webmaster_flow_edit($core, $user, $flow, $name); if ($result) { if ($result > 0) { return array('status' => 'ok'); } else { return array('status' => 'error', 'error' => 'access-denied'); } } else { return array('status' => 'error', 'error' => 'request-error'); } }