本文整理汇总了PHP中projects类的典型用法代码示例。如果您正苦于以下问题:PHP projects类的具体用法?PHP projects怎么用?PHP projects使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了projects类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process_event
public function process_event(&$event)
{
global $DB;
$this->force_connect();
$r = false;
switch ($event->type) {
case 'ProjectPosted':
$project_id = $event->data['id'];
$this->log->notice('New project posted #id = ' . $project_id);
$obj_project = new projects();
$project = $obj_project->GetPrjCust($project_id);
// Не выбран испольнитель (если испольнитель выбран, то не пишем ответ на этот проект)
if ($project && $project['exec_id'] == 0 && $project['kind'] == 1) {
$autoresponses = autoresponse::getListForProject($project);
foreach ($autoresponses as $autoresponse) {
$freelancer = $autoresponse->data['freelancer'];
$contacts_freelancer = $autoresponse->data['contacts_freelancer'];
// Проверяем если проект только для про, то и пользователь который на него отвечает должен быть ПРО
if ($project['pro_only'] == 't' && !payed::CheckPro($freelancer->login)) {
continue;
}
// Проверяем если проект только для верифицированных, то и пользователь который на него отвечает должен быть верифицирован
if ($project['verify_only'] == 't' && !$freelancer->IsVerified()) {
continue;
}
// Проверка, что текущий пользователь не является владельцем проекта
if ($project['user_id'] == $freelancer->uid) {
continue;
}
// Добавление нового отзыва к проекту
$obj_offer = new projects_offers();
$save_contacts = serialize($contacts_freelancer);
$DB->start();
$error_offer = $obj_offer->AddOffer($freelancer->uid, $project['id'], '', '', '', '', '', '', antispam(stripslashes($autoresponse->data['descr'])), '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', $autoresponse->toBoolean($autoresponse->data['only_4_cust']), 0, 0, false, false, $save_contacts, 0, $autoresponse->data['id']);
// В случае добавление автоответа, уменьшаем счетчик автоответов для пользователя (в транзакции)
if ($error_offer || !$autoresponse->reduce($freelancer, $obj_offer, $project_id)) {
$this->log->notice('Rollback autoresponse posted for project #id = ' . $project_id);
$DB->rollback();
} else {
$obj_project->incrementViews($project_id);
$this->log->notice(sprintf('New autoresponse #%d posted for project #%d', $obj_offer->offer_id, $project_id));
$DB->commit();
}
}
}
break;
}
return PGQ_EVENT_OK;
}
示例2: run
/**
* run - display template and edit data
*
* @access public
*
*/
public function run()
{
$tpl = new template();
$helper = new helper();
$projects = new projects();
$user = new users();
$tpl->assign('objTickets', $this);
$tpl->assign('helper', $helper);
$tpl->assign('allProjects', $projects->getAll());
$tpl->assign('userProjectrelation', $user->getUserProjectRelation($_SESSION['userdata']['id']));
$tpl->assign('numText', '');
//Closed Tickets
$tpl->assign('allClosedTickets', $this->getUserTickets('0,1', $_SESSION['userdata']['id']));
//Open Tickets
$tpl->assign('allOpenTickets', $this->getUserTickets('3,2,4,5,6', $_SESSION['userdata']['id']));
$tpl->assign('role', $_SESSION['userdata']['role']);
$tpl->assign('numPages', $this->getNumPages());
$tpl->display('tickets.showMy');
}
示例3: createProjectSelectList
public static function createProjectSelectList()
{
$engine = EngineAPI::singleton();
$projects = projects::getProjects();
$output = '<ul class="pickList">';
foreach ($projects as $project) {
$output .= sprintf('<li><a href="list.php?listType=project&projectID=%s" class="btn">%s</a></li>', $project['ID'], $project['projectName']);
}
$output .= '</ul>';
return $output;
}
示例4: generateProjectCheckList
public static function generateProjectCheckList($selected = array())
{
if (!is_array($selected)) {
return FALSE;
}
$allProjects = projects::getProjects();
$output = "";
foreach ($allProjects as $project) {
$output .= sprintf('<li><label class="checkbox" for="%s"><input type="checkbox" id="%s" name="projects[]" value="%s"%s> %s</label></li>', htmlSanitize("project_" . $project['ID']), htmlSanitize("project_" . $project['ID']), htmlSanitize($project['ID']), in_array($project['ID'], $selected) ? " checked" : "", htmlSanitize($project['projectName']));
}
return "<ul class='checkboxList'>{$output}</ul>";
}
示例5: run
/**
* run - display template and edit data
*
* @access public
*
*/
public function run()
{
$tpl = new template();
$helper = new helper();
$projects = new projects();
//Show closed tickets? (1=yes, 0=no)
$closedTickets = 1;
//if(isset($_POST['closedTickets'])===true){
//$closedTickets = 0;
//}
$tpl->assign('closedTickets', $closedTickets);
$tpl->assign('allTickets', $this->getAllBySearch('', '', $closedTickets));
$tpl->assign('status', $this->state);
$tpl->assign('role', $_SESSION['userdata']['role']);
$tpl->assign('rowsPerPage', $this->rowsPerPage);
$tpl->assign('objTickets', $this);
$tpl->assign('helper', $helper);
$tpl->assign('numPages', $this->getNumPages());
$tpl->assign('allProjects', $projects->getAll());
$tpl->display('tickets.showAll');
}
示例6: run
/**
* run - display template and edit data
*
* @access public
*/
public function run()
{
$tpl = new template();
$id = '';
if (isset($_GET['id']) === true) {
$id = (int) $_GET['id'];
}
$client = $this->getClient($id);
if (empty($client) === false) {
$file = new files();
$project = new projects();
$msgKey = '';
if ($_SESSION['userdata']['role'] == 'admin') {
$tpl->assign('admin', true);
}
if (isset($_POST['upload'])) {
if (isset($_FILES['file'])) {
$msgKey = $file->upload($_FILES, 'client', $id);
}
}
$comment = new comments();
//Add comment
if (isset($_POST['comment']) === true) {
$mail = new mailer();
$values = array('text' => $_POST['text'], 'date' => date("Y-m-d H:i:s"), 'userId' => $_SESSION['userdata']['id'], 'moduleId' => $id, 'commentParent' => $_POST['father']);
$comment->addComment($values, 'client');
}
$tpl->assign('userClients', $this->getClientsUsers($id));
$tpl->assign('comments', $comment->getComments('client', $id));
$tpl->assign('imgExtensions', array('jpg', 'jpeg', 'png', 'gif', 'psd', 'bmp', 'tif', 'thm', 'yuv'));
$tpl->assign('info', $msgKey);
$tpl->assign('client', $client);
$tpl->assign('clientProjects', $project->getClientProjects($id));
$tpl->assign('files', $file->getFilesByModule('client'));
//var_dump($file->getFilesByModule('client')); die();
$tpl->display('clients.showClient');
} else {
$tpl->display('general.error');
}
}
示例7: updatePrjBlock
/**
* Изменение блокировки проекта.
*
* @param int $project_id ID проекта
* @param int $act_id ID нового действия (admin_actions)
* @param int $src_id ID исходного действия (projects_blocked)
* @param string $reason причина
* @param int $reason_id ID причины, если она выбрана из списка (таблица admin_reasons, где act_id = 9)
*
* @return object xajaxResponse
*/
function updatePrjBlock($project_id, $act_id, $src_id, $reason = '', $reason_id = null)
{
session_start();
$objResponse = new xajaxResponse();
if (hasPermissions('projects')) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
$projects = new projects();
$project = $projects->GetPrjCust($project_id);
$sObjLink = '/projects/?pid=' . $project_id;
// лог админских действий
$reason_id = $reason_id ? $reason_id : null;
$reason = str_replace('%USERNAME%', $project['uname'] . ' ' . $project['usurname'], $reason);
$reason = change_q($reason, false, 0, true);
if ($act_id == 10 && $src_id) {
// разблокируем проект
$projects->UnBlocked($project_id);
// пишем лог админских действий
admin_log::addLog(admin_log::OBJ_CODE_PROJ, 10, $project['user_id'], $project_id, $project['name'], $sObjLink, 0, '', $reason_id, $reason);
// так как появилось новое действие в логе?
$objResponse->script('window.location="/siteadmin/admin_log/?site=proj";');
} elseif ($act_id == 9 && $src_id) {
// редактируем текущую блокировку в projects_blocked, admin_log обновится триггером
admin_log::updateProjBlock($src_id, $reason, $reason_id);
$reason = reformat($project['blocked_reason'], 24, 0, 0, 1, 24);
$objResponse->script('window.location.reload(true)');
} elseif ($act_id == 9 && !$src_id) {
// блокируем проект
$sBlockId = $projects->Blocked($project_id, $reason, $reason_id, $_SESSION['uid']);
$project = $projects->GetPrjCust($project_id);
// пишем лог админских действий
admin_log::addLog(admin_log::OBJ_CODE_PROJ, 9, $project['user_id'], $project_id, $project['name'], $sObjLink, 0, '', $reason_id, $reason, $sBlockId);
// так как появилось новое действие в логе?
$objResponse->script('window.location="/siteadmin/admin_log/?site=proj";');
}
}
return $objResponse;
}
示例8: ending
$prj_content = $prj->getSimilarProjects($project['id'], 5, $project_specs);
if ($prj_content) {
//Список специализаций через запятую
$str_specs = projects::getGroupLinks($project_specs);
?>
<div class="b-layout b-layout_margright_270 b-layout_marg_null_ipad">
<h3 class="b-layout__title b-layout__title_padbot_20">
<?php
if ($str_specs) {
?>
Другие проекты по <?php
echo ending(count($project_specs), 'специализации', 'специализациям', 'специализациям');
?>
«<?php
echo projects::getGroupLinks($project_specs);
?>
»
<?php
} else {
?>
Возможно вас заинтересуют другие проекты
<?php
}
?>
</h3>
<?php
echo $prj_content;
?>
<div class="b-pager">
<ul class="b-pager__list">
示例9: array_keys
<?php
$currentProjectsIDs = array_keys(sessionGet('currentProject'));
$projectListHTML = '<ul id="selectProjectsList">';
try {
if (($projects = projects::getProjects()) === FALSE) {
throw new Exception("Error retrieving project list.");
}
foreach ($projects as $project) {
$projectListHTML .= sprintf("<li><label><input type='checkbox' value='%s' data-label='%s'%s> %s</label></li>", $project['ID'], $project['projectName'], in_array($project['ID'], $currentProjectsIDs) ? " checked='checked'" : '', $project['projectName']);
}
} catch (Exception $e) {
$projectListHTML .= "<li>" . $e->getMessage() . "</li>";
}
$projectListHTML .= '</ul>';
localvars::add('projectModalList', $projectListHTML);
?>
{engine name="csrf"}
<!-- Modal - Select Current Projects -->
<div id="selectProjectsModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3>Your current projects:</h3>
</div>
<div class="modal-body">{local var="projectModalList"}</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button class="btn btn-primary" onclick="saveSelectedProjects();">Save changes</button>
</div>
</div>
示例10: actionNewProjectOrder
/**
* Cоздание заказа на базе проекта.
*/
public function actionNewProjectOrder()
{
//@todo: на период разработки резерва заказов
if (!tservices_helper::isAllowOrderReserve()) {
$this->missingAction(null);
}
$offer_id = __paramInit('int', 'offer_id', 'offer_id', null);
$projects = new projects();
$projectData = $projects->getProjectByOfferId($offer_id, $this->uid);
if (!$projectData) {
$this->missingAction(null);
}
$freelancer = new freelancer();
$freelancer->GetUserByUID($projectData['frl_id']);
if ($freelancer->uid <= 0) {
$this->missingAction(null);
}
$form = new NewOrderForm();
$form->setDefaults(array('title' => addslashes(htmlspecialchars_decode($projectData['name'], ENT_QUOTES)), 'description' => addslashes(htmlspecialchars_decode($projectData['descr'], ENT_QUOTES)), 'order_price' => $projectData['currency'] == 2 ? $projectData['cost'] : ''));
if (isset($_POST) && sizeof($_POST) > 0 && $form->isValid($_POST)) {
$data = $form->getValues();
$data['frl_id'] = $freelancer->uid;
$data['emp_id'] = $this->uid;
$data['tu_id'] = $projectData['id'];
if ($order = $this->order_model->createFromProject($data)) {
$projects->SetExecutor($projectData['id'], $projectData['frl_id'], $projectData['user_id']);
$tservices_smail = new tservices_smail();
$tservices_smail->newOrder($order);
$this->redirect(sprintf(tservices_helper::url('order_card_url'), $order['id']));
}
}
//Выводим в сайдбар виджет индикатор статуса заказа
$this->getClips()->add('sidebar', $this->widget('OrderStatusIndicator', array(), true));
$this->render('new-order-form', array('title' => 'Новый заказ по проекту', 'submit_title' => 'Выбрать исполнителем и предложить заказ', 'cansel_url' => getFriendlyURL('project', $projectData), 'form' => $form, 'freelancer' => $freelancer));
}
示例11: __paramInit
case "prj_trash":
$location = __paramInit('string', null, 'location', '/');
$prj_id = __paramInit('int', null, 'project_id');
$do_remove = __paramInit('bool', null, 'do_remove');
$projects = new projects();
if ($prj_id) {
$error .= $projects->switchTrashProject(get_uid(false), $prj_id, $do_remove);
}
header("Location: " . str_replace($GLOBALS['host'], '', $location));
//перекидываем на текущую страницу, чтобы нельзя было повторить POST по F5
exit;
break;
case "prj_express_public":
$location = __paramInit('string', null, 'location', '/');
$prj_id = __paramInit('int', null, 'project_id');
$projects = new projects();
if ($prj_id && $user->is_pro == 't') {
$error .= $projects->publishedMovedToVacancy(array('uid' => $uid), $prj_id);
}
header("Location: " . str_replace($GLOBALS['host'], '', $location));
//перекидываем на текущую страницу, чтобы нельзя было повторить POST по F5
exit;
break;
}
$header = "../header.php";
$footer = "../footer.html";
if (!$user->login) {
include ABS_PATH . "/404.php";
exit;
}
$obj_memcache = new memBuff();
示例12: users
$log->TRACE(payed::getPROEnding(true, 1));
// За 1 день для тех у кого включено автопродление
$log->TRACE(payed::getPROEnding(false, 3));
// За 3 дня для тех у кого не включено автопродление
$log->TRACE(payed::getPROEnding(false, 1));
// За 1 день для тех у кого не включено автопродление
//@todo: пока отключаем уведомления об автопродлении ПРО так как отключили автопродление
//@todo: тут еще и пытается продлить
//$log->TRACE( payed::checkAutoPRO());
// рассылаем email для тех у кого включено автопродление PRO и он закончится через 1 день
// @todo: пока автопродление не используется
// @todo: кстати непонятно зачем отдельный метод если getPROEnding справяется с этой задачей?
//$log->TRACE( payed::AlertPROEnding() );
//------------------------------------------------------------------------------
// Функция автоподьема проектов если в них в течении 2х дней не было ни одного ответа
$log->TRACE(projects::autoSetTopProject());
// Раз в час пересчитываем счетчики сообществ (пересчитываем только сообщество "Общение")
$log->TRACE(commune::recalcThemesCountCommunes(commune::COMMUNE_BLOGS_ID));
if (date('H') == 1) {
$log->TRACE($mail->SendWarnings());
// Отправляет предупреждению юзеру о том, что аккаунт ПРО истекает в ближайшие дни.
$temp = new users();
$rpath = '';
$log->TRACE($temp->DropInactive());
// Пишем статистику для админки #0003426
$log->TRACE(stats::writeGeneralStat());
// Пересчет цен работ фрилансеров в портфолио
$log->TRACE(professions::calcAvgPrices());
}
if (date('H') == 2) {
$log->TRACE($mail->ContestReminder());
示例13: isset
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/stdf.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/projects.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/CFile.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
$ret = 'ok:::-!-:::';
if (isset($_POST['project_id']) && isset($_POST['emp_id']) && is_array($_FILES['attach'])) {
$prj_id = isset($_POST['project_id']) ? intval($_POST['project_id']) : 0;
$project = new projects();
$prj = $project->GetPrj(0, $prj_id, 1);
if ($prj['id'] == $prj_id && $_POST['emp_id'] == $prj['user_id']) {
$attaches = array();
if (is_array($_FILES['attach']) && !empty($_FILES['attach']['name'])) {
foreach ($_FILES['attach']['name'] as $key => $v) {
if (!$_FILES['attach']['name'][$key]) {
continue;
}
$attaches[] = new CFile(array('name' => $_FILES['attach']['name'][$key], 'type' => $_FILES['attach']['type'][$key], 'tmp_name' => $_FILES['attach']['tmp_name'][$key], 'error' => $_FILES['attach']['error'][$key], 'size' => $_FILES['attach']['size'][$key]));
}
}
if ($attaches) {
$files = array();
$error = false;
$err = '';
$emp = new users();
$emp->GetUser($emp->GetField($prj['user_id'], $ee, 'login'));
$dir = $emp->login;
foreach ($attaches as $attach) {
$attach->max_size = 2097152;
$attach->proportional = 1;
示例14: _admEditProjectsParseForm
/**
* Отдает HTML для Редактирование проектов и конкурсов
*
* @param object $objResponse xajaxResponse
* @param string $rec_id идентификатор записи
* @param string $rec_type тип записи
* @param array $aParams дополнительные параметры с UID отправителя. остальные - опционально
* @return string
*/
function _admEditProjectsParseForm(&$objResponse, $rec_id = '', $rec_type = '', $aParams = array())
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
$sTmpKey = md5(uniqid($_SESSION['uid']));
$tmpPrj = new tmp_project($sTmpKey);
$prj = $tmpPrj->init(1, $rec_id);
$tmpPrj->fix();
// $aFolders = projects::getUserFolders( $prj['user_id'] ); // папки
$remTPeriod = $tmpPrj->getRemainingTopPeriod($remTD, $remTH, $remTM, $remtverb);
// закрепление
// страны и города
$countries = country::GetCountries();
if ($prj['country']) {
$cities = city::GetCities($prj['country']);
}
// разделы
$categories = professions::GetAllGroupsLite();
$professions = professions::GetAllProfessions();
array_group($professions, 'groupid');
$professions[0] = array();
$project_categories = new_projects::getSpecs($rec_id);
if (empty($project_categories)) {
$project_categories[] = array('category_id' => 0, 'subcategory_id' => 0);
}
ob_start();
include_once $_SERVER['DOCUMENT_ROOT'] . '/user/adm_edit_tpl/projects.php';
$sHtml = ob_get_contents();
ob_end_clean();
// текст
$sOnReady = "if(document.getElementById('adm_edit_descr')) \n document.getElementById('adm_edit_descr').value = (\$('adm_edit_descr_source')? \$('adm_edit_descr_source').value : null);";
// аттачи
$sAttach = getAttachedFilesJs(projects::GetAllAttach($rec_id), tmp_project::MAX_FILE_COUNT, tmp_project::MAX_FILE_SIZE, 'project');
$objResponse->assign('h4_adm_edit', 'innerHTML', 'Редактировать ' . ($rec_type == '7' ? 'конкурс' : 'проект'));
$objResponse->assign('div_adm_edit', 'innerHTML', $sHtml);
$objResponse->script("\$('div_adm_reason').setStyle('display', 'none');");
$objResponse->script("adm_edit_content.editMenuItems = ['', 'Основное', 'Файлы', 'Платные услуги'];");
$objResponse->script('adm_edit_content.edit();');
$objResponse->script($sAttach);
$objResponse->script($sOnReady);
$objResponse->script("var mx = new MultiInput('adm_edit_professions','category_line'); mx.init();");
$objResponse->script('xajax_getAdmEditReasons(' . admin_log::ACT_ID_EDIT_PROJECTS . ');');
// для конкурса даты окончания и определения победителей
if ($prj['kind'] == 7) {
$objResponse->script("new tcal ({ 'formname': 'adm_edit_frm', 'controlname': 'adm_edit_end_date', 'iconId': 'end_date_btn', 'clickEvent': function(){ adm_edit_content.hideError('end_date'); } });");
$objResponse->script("new tcal ({ 'formname': 'adm_edit_frm', 'controlname': 'adm_edit_win_date', 'iconId': 'win_date_btn', 'clickEvent': function(){ adm_edit_content.hideError('win_date'); } });");
}
}
示例15: header_location_exit
}
if ($action == 'edit') {
if ($_POST['cancel'] || $sbr->edit($_POST, $_FILES)) {
$ok = true;
if ($_POST['send'] && ($sbr->status == sbr::STATUS_CANCELED || $sbr->status == sbr::STATUS_REFUSED)) {
$ok = $sbr->resendCanceled($sbr->id);
}
if ($ok) {
header_location_exit($sbr->isDraft() ? '/norisk2/?site=drafts' : "/norisk2/?id={$sbr->id}");
}
}
}
break;
case 'new':
$inner = $fpath . 'new.php';
$projects_cnt = projects::CountMyProjects($sbr->uid, false, true);
break;
case 'Stage':
$inner = 'stage.php';
$stage_id = __paramInit('int', 'id', 'id');
if (!($stage = $sbr->initFromStage($stage_id))) {
break;
}
$feedback_sent = isset($_SESSION["thnx_block{$stage_id}"]);
if ($feedback_sent) {
unset($_SESSION["thnx_block{$stage_id}"]);
}
if ($action == 'resolve_changes') {
$resend = __paramInit('bool', NULL, 'resend');
$cancel = __paramInit('bool', NULL, 'cancel');
$version = __paramInit('int', NULL, 'version');