function ChangeGrPrev($prof_id, $check)
{
    session_start();
    $objResponse = new xajaxResponse();
    $portf = new portfolio();
    if (!$portf->ChangeGrPrev($_SESSION['uid'], intval($prof_id), $projs)) {
        if ($projs) {
            foreach ($projs as $id => $prj) {
                if ($check != 0) {
                    if ($prj['prev_type'] == 1) {
                        $text = '<div style="width:200px">' . reformat2($prj['prev_data'], 37) . '</div>';
                    } else {
                        if (in_array(strtolower(CFile::getext($prj['prev_data'])), $GLOBALS['graf_array']) && strtolower(CFile::getext($prj['prev_data'])) != 'swf') {
                            $text = '<div align="left" style="width:200px;"><a href="/users/' . $_SESSION['login'] . '/viewproj.php?prjid=' . $id . '" target="_blank" class="blue">
    				' . viewattach($_SESSION['login'], $prj['prev_data'], 'upload', $file, 500, 200, 307200, 0, 0, 'left') . '</a></div>';
                        } else {
                            $text = viewattach($_SESSION['login'], $prj['prev_data'], 'upload', $file, 500, 200, 307200, 0, 0, 'left');
                        }
                        #				$script .= "document.getElementById('prev".$id."').checked = true;";
                    }
                } else {
                    #				$script = "document.getElementById('prev".$id."').checked = false;";
                    $text = '<div style="width:200px">&nbsp;</div>';
                }
                $objResponse->assign('previmg' . intval($id), 'innerHTML', $text);
                $objResponse->script($script);
            }
        }
        $script = "document.getElementById('grprev" . $prof_id . "').disabled = false;";
    } else {
        $script = "document.getElementById('grprev" . $prof_id . "').disabled = false;";
    }
    $objResponse->script($script);
    return $objResponse;
}
/**
 * Сохранение уточнения к разделам в портфолио
 * 
 * @param object $objResponse xajaxResponse
 * @param  string $user_id UID пользователя
 * @param string $rec_type тип записи
 * @param array $aForm массив данных
 * @param string $sDrawFunc имя функции для выполнения после сохранения
 */
function _admEditPortfChoiceSaveForm(&$objResponse, $user_id = '', $rec_type = '', $aForm = array(), $sDrawFunc = '')
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/kwords.php';
    $kwords = new kwords();
    $aOldIds = array_keys($kwords->getUserKeys($user_id, $aForm['prof_id']));
    $ids = array();
    $kwords->delUserKeys($user_id, $aForm['prof_id']);
    if (trim($aForm['prof_keys'])) {
        $ukey = explode(',', $aForm['prof_keys']);
        if (count($ukey) > 0) {
            $ids = $kwords->add($ukey, true);
            $kwords->addUserKeys($user_id, $ids, $aForm['prof_id']);
        }
    }
    $kwords->moderUserKeys($user_id, $aForm['prof_id'], $aOldIds, $ids, $_SESSION['uid']);
    $sReason = _parseReason($aForm['user_id'], $aForm['adm_edit_text']);
    $obj_prof = new professions();
    $error_prof = $obj_prof->UpdateProfDesc($user_id, $aForm['prof_id'], str_replace(" ", "", $aForm['prof_cost_from']), str_replace(" ", "", $aForm['prof_cost_to']), str_replace(" ", "", $aForm['prof_cost_hour']), str_replace(" ", "", $aForm['prof_cost_1000']), $aForm['prof_cost_type'], $aForm['prof_cost_type_hour'], $aForm['prof_time_type'], $aForm['prof_time_from'], $aForm['prof_time_to'], $aForm['prof_text'], $errorProfText, $_SESSION['uid'], $sReason);
    if (!$error_prof) {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/portfolio.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
        $user = new users();
        $projs = array();
        $user->GetUserByUID($user_id);
        if ($user->is_pro == 't') {
            $show_preview = isset($aForm['show_preview']) && $aForm['show_preview'] ? $aForm['show_preview'] : 0;
            portfolio::ChangeGrPrev($user_id, $aForm['prof_id'], $projs, $show_preview);
        }
        messages::portfChoiceModifiedNotification($user_id, $aForm['prof_id'], $sReason);
        $objResponse->script('adm_edit_content.cancel();');
        if ($sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2') {
            // если случаев будет больше - вынести в отдельную функцию
            $objResponse->script('parent.adm_edit_content.cancel();');
            $objResponse->script('user_content.getContents()');
        } elseif ($sDrawFunc == 'suspect') {
            // шерстим все профили на наличие контактов в админке
            $objResponse->script("window.location = '/siteadmin/suspicious_contacts/?site={$aForm['p_site']}&action=resolve&sid={$aForm['p_sid']}&page={$aForm['p_page']}'");
        } else {
            // действие после редактирования по умолчанию
            $objResponse->script('window.location.reload(true)');
        }
    } else {
        $sParent = $sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2' ? 'parent.' : '';
        $error_prof = str_replace(array('<br />', '<br/>', '<br>'), "\n", $error_prof);
        $objResponse->alert($error_prof);
        $objResponse->script("{$sParent}adm_edit_content.disabled = false; {$sParent}adm_edit_content.button();");
    }
}
Exemple #3
0
 /**
  * Включение превью везде
  *
  * @param integer $uid ИД ПОльзователя
  */
 function OnAllPrev($uid)
 {
     global $DB;
     $sql = "select prof_id from portfolio where user_id=?i group by prof_id";
     $res = $DB->rows($sql, $uid);
     if ($res) {
         foreach ($res as $v) {
             $prof_id = $v['prof_id'];
             portfolio::ChangeGrPrev($uid, $prof_id, $projs, 't');
         }
     }
 }