//------------------------------------------------------------------------------ //$profiler->start('fill_frl_mem'); //------------------------------------------------------------------------------ //$results['data'] = print_r(TServiceOrderModel::model()->getInactiveOrders(),true); //$results['data'] = print_r(TServiceOrderModel::model()->getNoneFeedbackOrders(),true); //print_r($DB->sql); //exit; $DB = new DB('master'); //$_SESSION['DB']; if (!isset($DB)) { exit; } //77, 78, 79, 80 //74 73 17 72 $DB->query("\n UPDATE tservices_orders \n SET date = NOW() - interval '1 day'\n WHERE id = 77\n"); $DB->query("\n UPDATE tservices_orders \n SET date = NOW() - interval '3 days'\n WHERE id = 78\n"); $DB->query("\n UPDATE tservices_orders \n SET date = NOW() - interval '1 day'\n WHERE id = 79\n"); $DB->query("\n UPDATE tservices_orders \n SET date = NOW() - interval '3 days'\n WHERE id = 80\n"); $tservices_smail = new tservices_smail(); $results['inactiveOrders'] = $tservices_smail->inactiveOrders(); $results['noneFeedbackOrders'] = $tservices_smail->noneFeedbackOrders(); //------------------------------------------------------------------------------ //$profiler->stop('fill_frl_mem'); //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ array_walk($results, function (&$value, $key) { $value = sprintf('%s = %s' . PHP_EOL, $key, $value); }); print_r(implode('', $results)); exit;
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/stdf.php"; //require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/config.php"); //require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/profiler.php"); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices_smail.php'; //------------------------------------------------------------------------------ $results = array(); if (count($argv) > 1) { parse_str(implode('&', array_slice($argv, 1)), $_GET); } //------------------------------------------------------------------------------ $id = intval(@$_GET['id']); $kind = intval(@$_GET['kind']); if (!$kind) { $kind = 1; } try { if ($id > 0) { $DB->query("\n UPDATE tservices_binds \n SET \n sent_up = false\n WHERE tservice_id = ?i AND kind = ?i\n ", $id, $kind); } $tservices_smail = new tservices_smail(); $results['remindBindsUp'] = $tservices_smail->remindBindsUp(); } catch (\Exception $e) { $results['Error Message'] = $e->getMessage(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ array_walk($results, function (&$value, $key) { $value = sprintf('%s = %s' . PHP_EOL, $key, $value); }); print_r(implode('', $results)); exit;
$log->TRACE(stats::writeGeneralStat()); // Пересчет цен работ фрилансеров в портфолио $log->TRACE(professions::calcAvgPrices()); } if (date('H') == 2) { $log->TRACE($mail->ContestReminder()); $log->TRACE($mail->ContestEndReminder()); // отмена не оплаченных заказов $log->TRACE(billing::checkOldReserve()); } //------------------------------------------------------------------------------ /** * Уведомления закреплений ТУ. */ require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices_smail.php'; $tservices_smail = new tservices_smail(); $log->TRACE($tservices_smail->remind24hEndBinds()); //за сутки $log->TRACE($tservices_smail->remindBindsUp()); //если опустился ниже 4 позиции включительно //------------------------------------------------------------------------------ //За сутки до завершения срока действия закрепления $mail->remindFreelancerbindsProlong(); //После того, как закрепление опустилось ниже середины списка закреплений (и в списке больше одного закрепления) $mail->remindFreelancerbindsUp(); //------------------------------------------------------------------------------ /* * Обновление количества пользователей в разделах каталога фрилансеров */ $catalog = new FreelancerCatalog(); $log->TRACE($catalog->recalcCounters());
public function actionNewOrder() { $code = __paramInit('string', 'code', 'code', ''); $activation_data = $this->order_model->getOrderActivation($code); if (!$activation_data) { $this->missingAction(null); } $this->order_model->deleteOrderActivation($code); $is_new = !($activation_data['user_id'] > 0); $registration = new registration(); $user_data = $registration->autoRegistationAndLogin(array('uid' => $activation_data['user_id'], 'role' => 1, 'email' => $activation_data['email'], 'uname' => $activation_data['uname'], 'usurname' => $activation_data['usurname'])); //Если почему то не можем зарегать //то редиректим на регистрацию if (!$user_data || !$user_data['ret']) { $this->redirect('/registration/'); } $status = $user_data['ret']; $user = $user_data['user']; $this->uid = $user->uid; $service_id = intval($activation_data['tu_id']); $debt_info = $this->order_model->isDebt($this->uid); //блокируем возможность заказать если у исполнителя долг //и вышли все сроки погашения if ($debt_info && $debt_info['is_blocked'] == 't') { $this->missingAction(null); } $activation_data['options']['emp_id'] = $this->uid; $this->order_model->attributes($activation_data['options']); $order = $this->order_model->create($service_id); //Не удалось создать заказ показываем 404 if (!$order) { $this->missingAction(null); } //Уведомляем все стороны $tservices_smail = new tservices_smail(); $tservices_smail->newOrder($order); //Если юзер уже бывалый пользователь то редиректим на карточку заказа $order_url = sprintf(tservices_helper::url('order_card_url'), $order['id']); if (!$is_new) { if ($status == users::AUTH_STATUS_2FA) { $_SESSION['ref_uri'] = $order_url; $order_url = '/auth/second/'; } $this->redirect($order_url); } //Берем доп.инфу о фрилансере $freelancer = new freelancer(); $freelancer->GetUserByUID($order['frl_id']); //Если юзер новичек то показываем ему логин/пароль и статус заказа $this->layout = '//layouts/content-full-width'; $this->render('new-order', array('order_url' => $order_url, 'login' => $user->login, 'passwd' => $user->passwd, 'freelancer' => (array) $freelancer)); }
Example: \n GET: order_id=7777&days=1 CLI: order_id=7777 days=1 "); exit; } */ //------------------------------------------------------------------------------ $order_id = intval(@$_GET['order_id']); $days = intval(@$_GET['days']); if (!$days) { $days = 1; } try { if ($order_id > 0) { $DB->query("\n UPDATE tservices_orders \n SET close_date = NOW() - interval '{$days} days'\n WHERE id = ?i AND status = ?i\n ", $order_id, TServiceOrderModel::STATUS_EMPCLOSE); } $tservices_smail = new tservices_smail(); //$results['inactiveOrders'] = $tservices_smail->inactiveOrders(); $results['noneFeedbackOrders'] = $tservices_smail->noneFeedbackOrders(); } catch (\Exception $e) { $results['Error Message'] = $e->getMessage(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ array_walk($results, function (&$value, $key) { $value = sprintf('%s = %s' . PHP_EOL, $key, $value); }); print_r(implode('', $results)); exit;
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php'; //require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/config.php"); //require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/profiler.php"); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices_smail.php'; //------------------------------------------------------------------------------ $results = array(); if (count($argv) > 1) { parse_str(implode('&', array_slice($argv, 1)), $_GET); } //------------------------------------------------------------------------------ $id = intval(@$_GET['id']); $kind = intval(@$_GET['kind']); if (!$kind) { $kind = 1; } try { if ($id > 0) { $DB->query("\n UPDATE tservices_binds \n SET \n date_stop = NOW() + interval '23 hours',\n sent_prolong = false\n WHERE tservice_id = ?i AND kind = ?i\n ", $id, $kind); } $tservices_smail = new tservices_smail(); $results['remind24hEndBinds'] = $tservices_smail->remind24hEndBinds(); } catch (\Exception $e) { $results['Error Message'] = $e->getMessage(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ array_walk($results, function (&$value, $key) { $value = sprintf('%s = %s' . PHP_EOL, $key, $value); }); print_r(implode('', $results)); exit;
/** * Редактирование стоимости и сроков заказа ТУ * * @param type $order_id * @param type $price * @param type $days * * @return \xajaxResponse */ function tservicesOrdersSetPrice($order_id, $price, $days, $paytype) { $objResponse =& new xajaxResponse(); $uid = get_uid(false); $price = intval($price); $days = intval($days); $paytype = intval($paytype); //Валидация входных параметров $validator = new validation(); $valid = $validator->is_natural_no_zero($price) && $validator->greater_than_equal_to($price, 300); $valid = $valid && $validator->is_natural_no_zero($days) && $validator->numeric_interval($days, 1, 730); $valid = $valid && in_array($valid, array(TServiceOrderModel::PAYTYPE_DEFAULT, TServiceOrderModel::PAYTYPE_RESERVE)); if (!$valid) { return $objResponse; } //Получение заказа $orderModel = TServiceOrderModel::model(); $order_id = intval($order_id); $old_order = $orderModel->getCard($order_id, $uid); if (!$old_order) { return $objResponse; } //Валидация возможности изменений $is_new_status = $old_order['status'] == TServiceOrderModel::STATUS_NEW; $is_owner = $old_order['emp_id'] == $uid; $is_reserve_accepted = isset($old_order['reserve_data']); if (!($is_new_status && $is_owner && !$is_reserve_accepted)) { return $objResponse; } //Проверка возможности смены типа оплаты $is_reserve = tservices_helper::isOrderReserve($paytype); if ($is_reserve && !tservices_helper::isAllowOrderReserve($old_order['category_id'])) { return $objResponse; } if (!$is_reserve) { $paytype = TServiceOrderModel::PAYTYPE_DEFAULT; } $data = array('order_price' => $price, 'order_days' => $days, 'pay_type' => $paytype); //Меняем if ($orderModel->edit($order_id, $data, $old_order['tax'])) { $order = $old_order; $order['order_price'] = $price; $order['order_days'] = $days; $order['pay_type'] = $paytype; //Сохранить действие в историю $history = new tservices_order_history($order_id); $history->save($order, $old_order); //Уведомление на почту $tservices_smail = new tservices_smail(); $tservices_smail->changeOrder2($order, $old_order); //Обновляем интерфейс цен и сроков $objResponse->script("\$('tu-container-price').set('html', '" . tservices_helper::cost_format($price) . "');"); $objResponse->script("\$('tu-container-days').set('html', '" . tservices_helper::days_format($days) . "');"); $objResponse->script("\$('tu_edit_budjet_price').set('value', '" . $price . "');"); $objResponse->script("\$('tu_edit_budjet_days').set('value', '" . $days . "');"); //Обновляем сообщение статуса, т.к. вторая сторона тоже могла его изменить $tserviceOrderStatusWidget = new TServiceOrderStatus(); $tserviceOrderStatusWidget->setIsEmp(true); $tserviceOrderStatusWidget->setOrder($order); $tserviceOrderStatusWidget->init(); ob_start(); $tserviceOrderStatusWidget->run(); $statusHtml = ob_get_contents(); ob_end_clean(); $objResponse->assign('tservices_order_status_' . $order_id, 'innerHTML', $statusHtml); $objResponse->script("\n \$('tu-container-price').getParent()\n .removeClass('b-layout__link_bordbot_dot_" . ($is_reserve ? '000' : 'ee1d16') . "')\n .addClass('b-layout__link_bordbot_dot_" . ($is_reserve ? 'ee1d16' : '000') . "');\n \$('tu-container-price').getPrevious('span').set('html','" . ($is_reserve ? 'Бюджет:' : 'Стоимость:') . "'); \n "); } return $objResponse; }
* «апускать каждый час * * –ассылка уведомлений о * наличии новых заказов дл¤ исполнителей за 24 и 72 часа * возможности оставить отзыв после завершени¤ заказа за 24 и 72 часа. * */ //ini_set('display_errors',1); //error_reporting(E_ALL ^ E_NOTICE); ini_set('max_execution_time', 0); ini_set('memory_limit', '512M'); if (!isset($_SERVER['DOCUMENT_ROOT']) || !strlen($_SERVER['DOCUMENT_ROOT'])) { //@todo: укажите вместо '' относительное положение doc_root например '/../' $_SERVER['DOCUMENT_ROOT'] = rtrim(realpath(dirname(__FILE__) . ''), '/'); } require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/config.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/log.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/multi_log.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/tservices/tservices_smail.php"; $log = new log('hourly_tservices_orders/' . SERVER . '-%d%m%Y.log'); $log->writeln('------------ BEGIN hourly (start time: ' . date('d.m.Y H:i:s') . ') -----'); //------------------------------------------------------------------------------ try { $tservices_smail = new tservices_smail(); $log->TRACE($tservices_smail->inactiveOrders()); $log->TRACE($tservices_smail->noneFeedbackOrders()); } catch (Exception $e) { $log->TRACE($e->getMessage()); } //------------------------------------------------------------------------------ $log->writeln('------------ END hourly (total time: ' . $log->getTotalTime() . ') ---------------');
public function doActivation($code) { $activation_data = $this->getActivation($code); if (!$activation_data) { return false; } $this->deleteActivation($code); $current_uid = get_uid(false); if ($current_uid) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/employer.php'; $user = new employer(); $user->GetUserByUID($current_uid); $status = 1; } else { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/registration.php'; $registration = new registration(); $user_data = $registration->autoRegistationAndLogin(array('uid' => $activation_data['user_id'], 'role' => 1, 'email' => $activation_data['email'], 'uname' => $activation_data['uname'], 'usurname' => $activation_data['usurname'])); if (!$user_data || !$user_data['ret']) { return self::REDIRECT_AUTH_FAIL; } $status = $user_data['ret']; $user = $user_data['user']; } $uid = $user->uid; $redirect = false; $data = $activation_data['data']; switch ($activation_data['type']) { case GuestConst::TYPE_PERSONAL_ORDER: $data['emp_id'] = $uid; require_once $_SERVER['DOCUMENT_ROOT'] . '/tu/models/TServiceOrderModel.php'; $orderModel = TServiceOrderModel::model(); if ($order = $orderModel->createPersonal($data)) { $tservices_smail = new tservices_smail(); $tservices_smail->newOrder($order); $redirect = sprintf(tservices_helper::url('order_card_url'), $order['id']); } break; case GuestConst::TYPE_VACANCY: require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; $data['state'] = projects::STATE_MOVED_TO_VACANCY; $date_public = null; $redirect_layout = '/public/?step=1&kind=4&public=%s&popup=1'; case GuestConst::TYPE_PROJECT: require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; $key = md5(uniqid($uid)); $tmpPrj = new tmp_project($key); $tmpPrj->initForUser($user); if (isset($data['IDResource']) && !empty($data['IDResource'])) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/uploader/uploader.php'; $uploader = new uploader($data['IDResource']); $attachedfiles_files = $uploader->getFiles(); $tmpPrj->clearAttaches(); $tmpPrj->addAttachedFiles($attachedfiles_files, false); $uploader->clear(); } if ($prj = $tmpPrj->addSimpleProject($data)) { $_SESSION['new_public'] = 1; $redirect = getFriendlyURL('project', $prj); if (isset($redirect_layout)) { $redirect = sprintf($redirect_layout, $prj['id']); } $src_id = $prj['id']; //Если проект был создан при переходе с лендинга //то привязываем его для статистики if (isset($data['landingProjectId'])) { require_once ABS_PATH . '/classes/LandingProjects.php'; LandingProjects::model()->linkWithProject($data['landingProjectId'], $src_id, !$activation_data['user_id']); } } break; } //Обновляем приглашение if (isset($activation_data['invite_id']) && $activation_data['invite_id'] > 0) { $guestInviteModel = new GuestInviteModel(); $guestInviteModel->updateDateComeInvite($activation_data['invite_id'], array('src_id' => isset($src_id) ? $src_id : null, 'date_public' => isset($date_public) ? $date_public : null)); } //Мессага с паролями для новеньких if (!$activation_data['user_id'] && !$current_uid) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/Helpers/SubBarNotificationHelper.php'; SubBarNotificationHelper::getInstance()->setMessage($activation_data['type'], array('login' => $user->login, 'password' => $user->passwd), $user->uid); } elseif ($status == users::AUTH_STATUS_2FA) { $_SESSION['ref_uri'] = $redirect; $redirect = '/auth/second/'; } return $redirect; }
Example: \n GET: order_id=7777&days=1 CLI: order_id=7777 days=1 "); exit; } */ //------------------------------------------------------------------------------ $order_id = intval(@$_GET['order_id']); $days = intval(@$_GET['days']); if (!$days) { $days = 1; } try { if ($order_id > 0) { $DB->query("\n UPDATE tservices_orders \n SET date = NOW() - interval '{$days} days'\n WHERE id = ?i AND status = ?i\n ", $order_id, TServiceOrderModel::STATUS_NEW); } $tservices_smail = new tservices_smail(); $results['inactiveOrders'] = $tservices_smail->inactiveOrders(); //$results['noneFeedbackOrders'] = $tservices_smail->noneFeedbackOrders(); } catch (\Exception $e) { $results['Error Message'] = $e->getMessage(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ array_walk($results, function (&$value, $key) { $value = sprintf('%s = %s' . PHP_EOL, $key, $value); }); print_r(implode('', $results)); exit;