function editWork($uid, $params) { $objResponse =& new xajaxResponse(); if ($uid == null) { $uid = get_uid(false); } $uid = intval($uid); $work_id = intval($params['id']); if ($uid != get_uid(false) || !get_uid(false) || $work_id < 0 || is_emp()) { return $objResponse; } $params = stripslashes($params); parse_str($params, $params); $params['work_descr'] = _htmlentities($params['work_descr'], 'UTF-8'); $params['work_name'] = _htmlentities($params['work_name'], 'UTF-8'); $params = uploader::encodeCharset($params, array('utf-8', 'cp1251')); $edited = portfolio::editWork($uid, $params); if (is_array($edited)) { // Вернуло ошибки $errors = json_encode(array_map('win2utf', $edited)); $objResponse->script("portfolio.viewError({$errors}, 'portfolio_work_edit')"); return $objResponse; } if ($edited) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; $first_prof = intval($params['prof_id_first']); $second_prof = intval($params['work_category_db_id']); $objResponse->script("\$('portfolio_work_edit').getParent().dispose()"); $stop_words = new stop_words(hasPermissions('users')); $profession = new professions(); $portfolio = new portfolio(); $user = new users(); $user->login = $_SESSION['login']; $user->uid = $_SESSION['uid']; $user->is_pro = is_pro() ? 't' : 'f'; $is_owner = $uid == $_SESSION['uid']; if ($first_prof != $second_prof) { $pinfo = current(portfolio::getPortfolioCategory($second_prof)); $pinfo['mainprofname'] = $pinfo['group_name']; $pinfo['profname'] = $pinfo['prof_name']; $pinfo['gr_prevs'] = $pinfo['show_preview']; $pinfo = $profession->prepareCostText($pinfo, $stop_words); $works = $portfolio->GetPortf($uid, $second_prof, true); if (!empty($works)) { $result = portfolio::prepareDataPortfolio($works, $uid, $stop_words, true); extract($result); $work[0]['id'] = 100; $prof_id = $second_prof; ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/user/tpl.portfolio.works.php'; $second_works = ob_get_contents(); ob_end_clean(); } else { $work[0]['id'] = null; $prof_id = $first_prof; $pp_noblocks[$prof_id] = array(); ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/user/tpl.portfolio.works.php'; $first_works = ob_get_contents(); ob_end_clean(); } $pinfo = current(portfolio::getPortfolioCategory($first_prof)); $pinfo['mainprofname'] = $pinfo['group_name']; $pinfo['profname'] = $pinfo['prof_name']; $pinfo['gr_prevs'] = $pinfo['show_preview']; $pinfo = $profession->prepareCostText($pinfo, $stop_words); $works = $portfolio->GetPortf($uid, $first_prof, true); if (!empty($works)) { $result = portfolio::prepareDataPortfolio($works, $uid, $stop_words, true); extract($result); $work[0]['id'] = 100; $prof_id = $first_prof; ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/user/tpl.portfolio.works.php'; $first_works = ob_get_contents(); ob_end_clean(); } else { $work[0]['id'] = null; $prof_id = $first_prof; $pp_noblocks[$prof_id] = array(); ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/user/tpl.portfolio.works.php'; $first_works = ob_get_contents(); ob_end_clean(); } if ($first_works != '') { $objResponse->assign("prof_works_{$first_prof}", 'innerHTML', $first_works); } if ($second_works != '') { $objResponse->assign("prof_works_{$second_prof}", 'innerHTML', $second_works); } } else { $pinfo = current(portfolio::getPortfolioCategory($second_prof)); $pinfo['mainprofname'] = $pinfo['group_name']; $pinfo['profname'] = $pinfo['prof_name']; $pinfo['gr_prevs'] = $pinfo['show_preview']; $pinfo = $profession->prepareCostText($pinfo, $stop_words); $works = $portfolio->GetPortf($uid, $second_prof, true); if (!empty($works)) { $result = portfolio::prepareDataPortfolio($works, $uid, $stop_words, true); extract($result); $work[0]['id'] = 100; $prof_id = $second_prof; ob_start(); include_once $_SERVER['DOCUMENT_ROOT'] . '/user/tpl.portfolio.works.php'; $sWorks = ob_get_contents(); ob_end_clean(); } else { $work[0]['id'] = null; $prof_id = $first_prof; $pp_noblocks[$prof_id] = array(); ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/user/tpl.portfolio.works.php'; $first_works = ob_get_contents(); ob_end_clean(); } if ($sWorks != '') { $objResponse->assign("prof_works_{$second_prof}", 'innerHTML', $sWorks); } } $objResponse->script("JSScroll(\$('professions_works_{$second_prof}'));"); } return $objResponse; }