Exemplo n.º 1
0
/**
 * @param array $workInfo
 * @param array $values
 * @param array $courseInfo
 * @param int $sessionId
 * @param int $groupId
 * @param int $userId
 * @return null|string
 */
function processWorkForm($workInfo, $values, $courseInfo, $sessionId, $groupId, $userId)
{
    $work_table = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);

    $courseId = $courseInfo['real_id'];
    $groupId = intval($groupId);
    $sessionId = intval($sessionId);
    $userId = intval($userId);

    $title  = $values['title'];
    $description = $values['description'];
    $contains_file = isset($values['contains_file']) && !empty($values['contains_file']) ? intval($values['contains_file']): 0;

    $saveWork = true;
    $message = null;
    $filename = null;
    $url = null;

    if ($values['contains_file']) {
        $result = uploadWork($workInfo, $courseInfo);
        if (isset($result['error'])) {
            $message = $result['error'];
            $saveWork = false;
        }
        $filename = isset($result['filename']) ? $result['filename'] : null;
        if (empty($title)) {
            $title = isset($result['title']) && !empty($result['title']) ? $result['title'] : get_lang('Untitled');
        }
        $url = $result['url'];
    }

    if (empty($title)) {
        $title = get_lang('Untitled');
    }

    if ($saveWork) {
        $active = '1';
        $sql = "INSERT INTO ".$work_table." SET
                   c_id         = $courseId ,
                   url          = '".$url . "',
                   title        = '".Database::escape_string($title)."',
                   description  = '".Database::escape_string($description)."',
                   contains_file = '".$contains_file."',
                   active       = '".$active."',
                   accepted     = '1',
                   post_group_id = '".$groupId."',
                   sent_date    =  '".api_get_utc_datetime()."',
                   parent_id    =  '".$workInfo['id']."' ,
                   session_id   = '".$sessionId."',
                   user_id      = '".$userId."'";

        Database::query($sql);
        $workId = Database::insert_id();

        if ($workId) {
            if (array_key_exists('filename', $workInfo) && !empty($filename)) {
                $filename = Database::escape_string($filename);
                $sql = "UPDATE $work_table SET
                            filename = '$filename'
                        WHERE c_id = $courseId AND id = $workId";
                Database::query($sql);
            }

            if (array_key_exists('document_id', $workInfo)) {
                $documentId = isset($values['document_id']) ? intval($values['document_id']) : 0;
                $sql = "UPDATE $work_table SET
                            document_id = '$documentId'
                        WHERE c_id = $courseId AND id = $workId";
                Database::query($sql);
            }
            api_item_property_update(
                $courseInfo,
                'work',
                $workId,
                'DocumentAdded',
                $userId,
                $groupId
            );
            sendAlertToTeacher($workId, $courseInfo, $sessionId);
            event_upload($workId, $userId, $courseInfo['code'], $sessionId);
            $message = Display::return_message(get_lang('DocAdd'));
        }
    } else {
        if (empty($message)) {
            $message = Display::return_message(get_lang('IsNotPosibleSaveTheDocument'), 'error');
        }
    }

    return $message;
}
Exemplo n.º 2
0
             deleteDirWork($workId);
         }
     }
     break;
 case 'upload_correction_file':
     api_protect_course_script(true);
     // User access same as upload.php
     $is_allowed_to_edit = api_is_allowed_to_edit(null, true);
     $itemId = isset($_GET['item_id']) ? intval($_GET['item_id']) : '';
     $result = array();
     if (!empty($_FILES) && !empty($itemId)) {
         $file = $_FILES['file'];
         $courseInfo = api_get_course_info();
         $workInfo = get_work_data_by_id($itemId);
         $workInfoParent = get_work_data_by_id($workInfo['parent_id']);
         $resultUpload = uploadWork($workInfoParent, $courseInfo, true, $workInfo);
         $work_table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
         if (isset($resultUpload['url']) && !empty($resultUpload['url'])) {
             $title = isset($resultUpload['filename']) && !empty($resultUpload['filename']) ? $resultUpload['filename'] : get_lang('Untitled');
             $url = Database::escape_string($resultUpload['url']);
             $title = Database::escape_string($title);
             $sql = "UPDATE {$work_table} SET\n                            url_correction = '" . $url . "',\n                            title_correction = '" . $title . "'\n                        WHERE iid = {$itemId}";
             Database::query($sql);
             $result['title'] = $resultUpload['filename'];
             $result['url'] = 'view.php?' . api_get_cidreq() . '&id=' . $itemId;
             $json = array();
             $json['name'] = Display::url(api_htmlentities($result['title']), api_htmlentities($result['url']), array('target' => '_blank'));
             $json['type'] = api_htmlentities($file['type']);
             $json['size'] = format_file_size($file['size']);
         }
         if (isset($result['url'])) {
Exemplo n.º 3
0
/**
 * @param array $workInfo
 * @param array $values
 * @param array $courseInfo
 * @param int $sessionId
 * @param int $groupId
 * @param int $userId
 * @return null|string
 */
function processWorkForm($workInfo, $values, $courseInfo, $sessionId, $groupId, $userId)
{
    $work_table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
    $courseId = $courseInfo['real_id'];
    $groupId = intval($groupId);
    $sessionId = intval($sessionId);
    $userId = intval($userId);
    $title = $values['title'];
    $description = $values['description'];
    $contains_file = isset($values['contains_file']) && !empty($values['contains_file']) ? intval($values['contains_file']) : 0;
    $saveWork = true;
    $message = null;
    $filename = null;
    $url = null;
    if ($values['contains_file']) {
        $result = uploadWork($workInfo, $courseInfo);
        if (isset($result['error'])) {
            $message = $result['error'];
            $saveWork = false;
        }
        $filename = isset($result['filename']) ? $result['filename'] : null;
        if (empty($title)) {
            $title = isset($result['title']) && !empty($result['title']) ? $result['title'] : get_lang('Untitled');
        }
        $url = $result['url'];
    }
    if (empty($title)) {
        $title = get_lang('Untitled');
    }
    if ($saveWork) {
        $active = '1';
        $params = ['c_id' => $courseId, 'url' => $url, 'filetype' => 'file', 'title' => $title, 'description' => $description, 'contains_file' => $contains_file, 'active' => $active, 'accepted' => '1', 'post_group_id' => $groupId, 'sent_date' => api_get_utc_datetime(), 'parent_id' => $workInfo['id'], 'session_id' => $sessionId, 'user_id' => $userId];
        $workId = Database::insert($work_table, $params);
        if ($workId) {
            $sql = "UPDATE {$work_table} SET id = iid WHERE iid = {$workId} ";
            Database::query($sql);
            if (array_key_exists('filename', $workInfo) && !empty($filename)) {
                $filename = Database::escape_string($filename);
                $sql = "UPDATE {$work_table} SET\n                            filename = '{$filename}'\n                        WHERE iid = {$workId}";
                Database::query($sql);
            }
            if (array_key_exists('document_id', $workInfo)) {
                $documentId = isset($values['document_id']) ? intval($values['document_id']) : 0;
                $sql = "UPDATE {$work_table} SET\n                            document_id = '{$documentId}'\n                        WHERE iid = {$workId}";
                Database::query($sql);
            }
            api_item_property_update($courseInfo, 'work', $workId, 'DocumentAdded', $userId, $groupId);
            sendAlertToUsers($workId, $courseInfo, $sessionId);
            Event::event_upload($workId);
            $message = Display::return_message(get_lang('DocAdd'));
        }
    } else {
        if (empty($message)) {
            $message = Display::return_message(get_lang('IsNotPosibleSaveTheDocument'), 'error');
        }
    }
    return $message;
}