101 lines
4.7 KiB
PHP
101 lines
4.7 KiB
PHP
<?php
|
|
|
|
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
|
|
|
|
if($_SESSION['id'] && $_POST['id_object']) {
|
|
$db_sphinx = new MysqlPdo(hstsph2, null, null, null, true, '9306');
|
|
$post = clearInputData($_POST);
|
|
|
|
if (isset($post['state']) && $post['state'] == 1) {
|
|
$sql = "INSERT INTO user_potential_objects(user_id, object_id) VALUES($_SESSION[id], $post[id_object])";
|
|
mysql_query($sql);
|
|
//Проверка в сфинкс
|
|
$sql_sh = "SELECT count(*) FROM objects WHERE id=$post[id_object]";
|
|
$q_sh = $db_sphinx->query($sql_sh);
|
|
if($db_sphinx->result($q_sh,0) == 0){
|
|
$sql_o = "SELECT * FROM objects WHERE id = $post[id_object]";
|
|
$q_o = mysql_query($sql_o);
|
|
$obj = mysql_fetch_assoc($q_o);
|
|
if($obj){
|
|
$time = strtotime($obj['date_add']);
|
|
$sql_sh = "INSERT INTO objects_rt (id, type, rayon_id, adres, peshkom, transport, srok, komnat, etazh, ploshad, ploshad_k, ploshad_komn, holod, stirka, tv, mebel, stoim, stoim_prim, sort_price, price_for_order, moder, date_add, phone_search, id_add_user, commission, type_category, operation_type, id_rf_region)
|
|
VALUES('$obj[id]', '$obj[type]', '$obj[rayon]', '$obj[adres]', '$obj[peshkom]', '$obj[transport]', '$obj[srok]', '$obj[komnat]', '$obj[etazh]', '$obj[ploshad]', '$obj[ploshad_k]', '$obj[ploshad_komn]', '$obj[holod]', '$obj[stirka]', '$obj[tv]', '$obj[mebel]', '$obj[stoim]', '$obj[stoim_prim]', '$obj[stoim]', '$obj[stoim]', '$obj[moder]', '".$time."', '$obj[phone_search]]', '$obj[id_add_user]', '$obj[commission]', '$obj[type_category]', '$obj[operation_type]', '$obj[id_rf_region]')";
|
|
$db_sphinx->query($sql_sh);
|
|
}
|
|
}
|
|
} else {
|
|
$user = new User;
|
|
$user->get($_SESSION['id']);
|
|
$user->checkPermissions();
|
|
|
|
$depClass = new Department();
|
|
$adminDep = false;
|
|
$searchUserId = $_SESSION['id'];
|
|
|
|
if ($_SESSION['agency'] || $_SESSION['manager'] || $_SESSION['users_admin']) {
|
|
$agentIds = [];
|
|
if ($_SESSION['users_admin']) {
|
|
$user = new User;
|
|
$user->checkPermissions();
|
|
$searchUserId = $user->agencyId;
|
|
$agentIds[] = $user->agencyId;
|
|
}
|
|
$user = new User;
|
|
$user->get((int)$_SESSION['id']);
|
|
$dep_user = $depClass->getDepartment((int)$_SESSION['id']);
|
|
if($dep_user['role'] == 'manager_office'){
|
|
$searchUserId = $dep_user['admin'];
|
|
$adminDep = true;
|
|
} else if($dep_user['role'] == 'manager_office_menager') {
|
|
$searchUserId = $user->id_manager;
|
|
$adminDep = true;
|
|
}
|
|
|
|
|
|
$agentIds[] = $searchUserId;
|
|
$agentsOfAgency = User::getAllAgents($searchUserId);
|
|
foreach ($agentsOfAgency as $agent) {
|
|
if (!in_array($agent['id'], $agentIds)) {
|
|
$agentIds[] = $agent['id'];
|
|
}
|
|
}
|
|
|
|
if ($_SESSION['agency'] || $_SESSION['users_admin'] || $adminDep) {
|
|
$agentsOfManager = User::getAllManagers($searchUserId);
|
|
foreach ($agentsOfManager as $agent) {
|
|
if (!in_array($agent['id'], $agentIds)) {
|
|
$agentIds[] = $agent['id'];
|
|
}
|
|
if((int)$agent['role_id'] > 0 && (int)$agent['department_id'] > 0){
|
|
$role_user = $depClass->getRole((int)$agent['role_id']);
|
|
if($role_user['role'] == 'admin_department'){
|
|
$menagerDep = User::getDepManagers($role_user['department_id']);
|
|
foreach($menagerDep as $md){
|
|
if(!in_array($md['id'], $agentIds)){
|
|
$agentIds[] = $md['id'];
|
|
|
|
$thisAgents = User::getAgentsOfAgency($md['id'], true);
|
|
|
|
foreach($thisAgents as $da){
|
|
if (!in_array($da['id'], $agentIds)) {
|
|
$agentIds[] = $da['id'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
} else {
|
|
$agentIds = isset($user_view) ? [$user_view->id] : [$_SESSION['id']];
|
|
$agentIds = array_merge($agentIds, $agentIds);
|
|
}
|
|
|
|
$sql = "DELETE FROM user_potential_objects where user_id IN (" . implode(',', $agentIds) . ") and object_id =$post[id_object]";
|
|
mysql_query($sql);
|
|
}
|
|
|
|
}
|