• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP ArtefactTypeFileBase类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中ArtefactTypeFileBase的典型用法代码示例。如果您正苦于以下问题:PHP ArtefactTypeFileBase类的具体用法?PHP ArtefactTypeFileBase怎么用?PHP ArtefactTypeFileBase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了ArtefactTypeFileBase类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: filebrowser_element

 public static function filebrowser_element(&$instance, $default = array())
 {
     $element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
     $element['title'] = get_string('Files', 'blocktype.file/filedownload');
     $element['name'] = 'artefactids';
     $element['config']['selectone'] = false;
     return $element;
 }
开发者ID:vohung96,项目名称:mahara,代码行数:8,代码来源:lib.php


示例2: filebrowser_element

 public static function filebrowser_element(&$instance, $default = array())
 {
     $element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
     $element['title'] = get_string('media', 'blocktype.file/internalmedia');
     $element['name'] = 'artefactid';
     $element['config']['selectone'] = true;
     $element['filters'] = array('artefacttype' => array('file', 'audio', 'video'), 'filetype' => self::get_allowed_mimetypes());
     return $element;
 }
开发者ID:janaece,项目名称:globalclassroom4_clean,代码行数:9,代码来源:lib.php


示例3: filebrowser_element

 public static function filebrowser_element(&$instance, $default = array())
 {
     $element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
     $element['title'] = get_string('file', 'artefact.file');
     $element['name'] = 'artefactid';
     $element['config']['selectone'] = true;
     $element['config']['selectmodal'] = true;
     $element['filters'] = array('artefacttype' => array('file'), 'filetype' => self::get_allowed_mimetypes());
     $element['accept'] = implode(',', self::get_allowed_mimetypes());
     return $element;
 }
开发者ID:sarahjcotton,项目名称:mahara,代码行数:11,代码来源:lib.php


示例4: get_export_path_for_file

 /**
  * Generates a path, relative to the root of the export, that the given
  * file will appear in the export.
  *
  * If the file is a thumbnail, the copy proxy is informed about it so that
  * the image can later be copied in to place.
  *
  * @param ArtefactTypeFileBase $file The file to get the exported path for
  * @param array $options             Options from the URL that was linking
  *                                   to the image - most importantly, size
  *                                   related options about how the image
  *                                   was thumbnailed, if it was.
  * @param string $basefolder         What folder in the export to dump the
  *                                   file in
  * @return string                    The relative path to where the file
  *                                   will be placed
  */
 private function get_export_path_for_file(ArtefactTypeFileBase $file, array $options, $basefolder = null)
 {
     if (is_null($basefolder)) {
         if ($file->get('owner') == $this->owner) {
             $basefolder = '/files/file/' . $this->get_folder_path_for_file($file);
         } else {
             $basefolder = '/files/extra/';
         }
     }
     unset($options['view']);
     $prefix = '';
     $title = PluginExportHtml::sanitise_path($file->get('title'));
     if ($options) {
         list($size, $prefix) = $this->get_size_from_options($options);
         $from = $file->get_path($size);
         $to = $basefolder . $file->get('id') . '-' . $prefix . $title;
         $this->htmlexportcopyproxy->add($from, $to);
     } else {
         if ($basefolder == '/files/extra/') {
             $title = $file->get('id') . '-' . $title;
         }
         $to = $basefolder . $title;
     }
     return $this->basepath . $to;
 }
开发者ID:rboyatt,项目名称:mahara,代码行数:42,代码来源:lib.php


示例5: explode

// Set tags
try {
    $tags = explode(",", param_variable('tags'));
} catch (ParameterException $e) {
}
// -- Now check for files to upload --
$artefact_id = '';
// our resulting artefact id on creation
if ($_FILES) {
    $file_title = $title;
    if ($blog || !$title) {
        // set the filename to be the title of the artefact
        $file_title = basename($_FILES['userfile']['name']);
    }
    try {
        $data->title = ArtefactTypeFileBase::get_new_file_title($file_title, $data->parent, $data->owner);
        if (!$blog) {
            // only set a description if it's an artefact upload
            $data->description = $description;
        }
        $data->tags = $tags;
        $artefact_id = ArtefactTypeFile::save_uploaded_file('userfile', $data);
        if ($artefact_id) {
            $json['id'] = $artefact_id;
        }
    } catch (QuotaExceededException $e) {
        jsonreply(array('fail' => 'Quota exceeded'));
    } catch (UploadException $e) {
        jsonreply(array('fail' => 'Failed to save file'));
    }
}
开发者ID:povsod,项目名称:maharadroid,代码行数:31,代码来源:upload.php


示例6: pieform_element_filebrowser_update

function pieform_element_filebrowser_update(Pieform $form, $element, $data)
{
    global $USER;
    $collide = !empty($data['collide']) ? $data['collide'] : 'fail';
    $artefact = artefact_instance_from_id($data['artefact']);
    if (!$USER->can_edit_artefact($artefact)) {
        return array('error' => true, 'message' => get_string('noeditpermission', 'mahara'));
    }
    if ($existingid = ArtefactTypeFileBase::file_exists($data['title'], $artefact->get('owner'), $data['folder'], $artefact->get('institution'), $artefact->get('group'))) {
        if ($existingid != $data['artefact']) {
            if ($collide == 'replace') {
                log_debug('deleting ' . $existingid);
                $copy = artefact_instance_from_id($existingid);
                $copy->delete();
            } else {
                return array('error' => true, 'message' => get_string('fileexists', 'artefact.file'));
            }
        }
    }
    $artefact->set('title', $data['title']);
    $artefact->set('description', $data['description']);
    $artefact->set('tags', preg_split("/\\s*,\\s*/", trim($data['tags'])));
    if ($form->get_property('group') && $data['permissions']) {
        $artefact->set('rolepermissions', $data['permissions']);
    }
    $artefact->commit();
    return array('error' => false, 'message' => get_string('changessaved', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $artefact->get('parent')));
}
开发者ID:Br3nda,项目名称:mahara,代码行数:28,代码来源:filebrowser.php


示例7: pieform_element_filebrowser_update

function pieform_element_filebrowser_update(Pieform $form, $element, $data)
{
    global $USER;
    $collide = !empty($data['collide']) ? $data['collide'] : 'fail';
    try {
        $artefact = artefact_instance_from_id($data['artefact']);
    } catch (ArtefactNotFoundException $e) {
        $parentfolder = $element['folder'] ? $element['folder'] : null;
        $result = array('error' => true, 'message' => get_string('editingfailed', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $parentfolder));
        return $result;
    }
    if (!$USER->can_edit_artefact($artefact) || $artefact->get('locked')) {
        return array('error' => true, 'message' => get_string('noeditpermission', 'mahara'));
    }
    if ($existingid = ArtefactTypeFileBase::file_exists($data['title'], $artefact->get('owner'), $data['folder'], $artefact->get('institution'), $artefact->get('group'))) {
        if ($existingid != $data['artefact']) {
            if ($collide == 'replace') {
                log_debug('deleting ' . $existingid);
                $copy = artefact_instance_from_id($existingid);
                $copy->delete();
            } else {
                return array('error' => true, 'message' => get_string('fileexists', 'artefact.file'));
            }
        }
    }
    $artefact->set('title', trim($data['title']));
    $artefact->set('description', $data['description']);
    $artefact->set('allowcomments', (int) $data['allowcomments']);
    $oldtags = $artefact->get('tags');
    $newtags = preg_split("/\\s*,\\s*/", trim($data['tags']));
    $updatetags = $oldtags != $newtags;
    if ($updatetags) {
        $artefact->set('tags', $newtags);
    }
    if (get_config('licensemetadata')) {
        foreach (array('license', 'licensor', 'licensorurl') as $licensef) {
            if ($data[$licensef] !== null) {
                $data[$licensef] = trim($data[$licensef]);
                if ($artefact->get($licensef) !== $data[$licensef]) {
                    $artefact->set($licensef, $data[$licensef]);
                }
            }
        }
    }
    if ($form->get_property('group') && $data['permissions']) {
        $artefact->set('rolepermissions', $data['permissions']);
    }
    $artefact->commit();
    $prefix = $form->get_name() . '_' . $element['name'];
    $newtabdata = isset($element['tabs']) ? pieform_element_filebrowser_configure_tabs($element['tabs'], $prefix) : null;
    $group = null;
    $institution = null;
    $user = null;
    if (!empty($element['tabs'])) {
        $newtabdata = pieform_element_filebrowser_configure_tabs($element['tabs'], $prefix);
        if ($newtabdata['owner'] == 'site') {
            $institution = 'mahara';
        } else {
            if ($newtabdata['owner'] == 'institution') {
                $institution = $newtabdata['ownerid'];
            } else {
                if ($newtabdata['owner'] == 'group') {
                    $group = $newtabdata['ownerid'];
                } else {
                    if ($newtabdata['owner'] == 'user') {
                        $user = true;
                    }
                }
            }
        }
    }
    $returndata = array('error' => false, 'message' => get_string('changessaved', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $artefact->get('parent'), null, $user, $group, $institution));
    if ($updatetags && $form->submitted_by_js()) {
        $smarty = smarty_core();
        $tagdata = tags_sideblock();
        $smarty->assign('sbdata', $tagdata);
        $returndata['tagblockhtml'] = $smarty->fetch('sideblocks/tags.tpl');
    }
    return $returndata;
}
开发者ID:rboyatt,项目名称:mahara,代码行数:80,代码来源:filebrowser.php


示例8: get_data

 protected static function get_data($groupid)
 {
     global $USER;
     if (!defined('GROUP')) {
         define('GROUP', $groupid);
     }
     // get the currently requested group
     $group = group_current_group();
     $group->ctime = strftime(get_string('strftimedate'), $group->ctime);
     // if the user isn't logged in an the group isn't public don't show anything
     if (!is_logged_in() && !$group->public) {
         throw new AccessDeniedException();
     }
     // find the group administrators
     $group->admins = get_column_sql("SELECT \"member\"\n            FROM {group_member}\n            WHERE \"group\" = ?\n            AND \"role\" = 'admin'", array($group->id));
     $role = group_user_access($group->id);
     $group->role = $role;
     // logged in user can do stuff
     if (is_logged_in()) {
         $afterjoin = param_variable('next', 'view');
         if ($role) {
             if ($role == 'admin') {
                 $group->membershiptype = 'admin';
                 $group->requests = count_records('group_member_request', 'group', $group->id);
             } else {
                 $group->membershiptype = 'member';
             }
             $group->canleave = group_user_can_leave($group->id);
         } else {
             if ($group->jointype == 'invite' and $invite = get_record('group_member_invite', 'group', $group->id, 'member', $USER->get('id'))) {
                 $group->membershiptype = 'invite';
                 $group->invite = group_get_accept_form('invite', $group->id, $afterjoin);
             } else {
                 if ($group->jointype == 'request' and $request = get_record('group_member_request', 'group', $group->id, 'member', $USER->get('id'))) {
                     $group->membershiptype = 'request';
                 } else {
                     if ($group->jointype == 'open') {
                         $group->groupjoin = group_get_join_form('joingroup', $group->id, $afterjoin);
                     }
                 }
             }
         }
     }
     $group->settingsdescription = group_display_settings($group);
     if (get_config('allowgroupcategories')) {
         $group->categorytitle = $group->category ? get_field('group_category', 'title', 'id', $group->category) : '';
     }
     $filecounts = ArtefactTypeFileBase::count_user_files(null, $group->id, null);
     return array('group' => $group, 'filecounts' => $filecounts);
 }
开发者ID:richardmansfield,项目名称:richardms-mahara,代码行数:50,代码来源:lib.php


示例9: filebrowser_element

 public static function filebrowser_element(&$instance, $default = array())
 {
     $element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
     $element['title'] = get_string('file', 'artefact.file');
     $element['name'] = 'artefactid';
     $element['config']['upload'] = false;
     $element['config']['selectone'] = true;
     $element['config']['selectmodal'] = true;
     $element['config']['selectfolders'] = true;
     $element['filters'] = array('artefacttype' => array('folder'));
     return $element;
 }
开发者ID:agwells,项目名称:Mahara-1,代码行数:12,代码来源:lib.php


示例10: request_user_authorise


//.........这里部分代码省略.........
     }
     // See if we need to create/update a profile Icon image
     if ($create || $update) {
         $client->set_method('auth/mnet/auth.php/fetch_user_image')->add_param($remoteuser->username)->send($remotewwwroot);
         $imageobject = (object) $client->response;
         $u = preg_replace('/[^A-Za-z0-9 ]/', '', $user->username);
         $filename = get_config('dataroot') . 'temp/mpi_' . intval($this->instanceid) . '_' . $u;
         if (array_key_exists('f1', $client->response)) {
             $imagecontents = base64_decode($client->response['f1']);
             if (file_put_contents($filename, $imagecontents)) {
                 $imageexists = false;
                 $icons = false;
                 if ($update) {
                     $newchecksum = sha1_file($filename);
                     $icons = get_records_select_array('artefact', 'artefacttype = \'profileicon\' AND owner = ? ', array($user->id), '', 'id');
                     if (false != $icons) {
                         foreach ($icons as $icon) {
                             $iconfile = get_config('dataroot') . 'artefact/file/profileicons/originals/' . $icon->id % 256 . '/' . $icon->id;
                             $checksum = sha1_file($iconfile);
                             if ($newchecksum == $checksum) {
                                 $imageexists = true;
                                 unlink($filename);
                                 break;
                             }
                         }
                     }
                 }
                 if (false == $imageexists) {
                     $filesize = filesize($filename);
                     if (!$user->quota_allowed($filesize)) {
                         $error = get_string('profileiconuploadexceedsquota', 'artefact.file', get_config('wwwroot'));
                     }
                     require_once 'file.php';
                     $imagesize = getimagesize($filename);
                     if (!$imagesize || !is_image_type($imagesize[2])) {
                         $error = get_string('filenotimage');
                     }
                     $mime = $imagesize['mime'];
                     $width = $imagesize[0];
                     $height = $imagesize[1];
                     $imagemaxwidth = get_config('imagemaxwidth');
                     $imagemaxheight = get_config('imagemaxheight');
                     if ($width > $imagemaxwidth || $height > $imagemaxheight) {
                         $error = get_string('profileiconimagetoobig', 'artefact.file', $width, $height, $imagemaxwidth, $imagemaxheight);
                     }
                     try {
                         $user->quota_add($filesize);
                     } catch (QuotaException $qe) {
                         $error = get_string('profileiconuploadexceedsquota', 'artefact.file', get_config('wwwroot'));
                     }
                     require_once get_config('docroot') . '/artefact/lib.php';
                     require_once get_config('docroot') . '/artefact/file/lib.php';
                     // Entry in artefact table
                     $artefact = new ArtefactTypeProfileIcon();
                     $artefact->set('owner', $user->id);
                     $artefact->set('parent', ArtefactTypeFolder::get_folder_id(get_string('imagesdir', 'artefact.file'), get_string('imagesdirdesc', 'artefact.file'), null, true, $user->id));
                     $artefact->set('title', ArtefactTypeFileBase::get_new_file_title(get_string('profileicon', 'artefact.file'), (int) $artefact->get('parent'), $user->id));
                     // unique title
                     $artefact->set('description', get_string('uploadedprofileicon', 'artefact.file'));
                     $artefact->set('note', get_string('profileicon', 'artefact.file'));
                     $artefact->set('size', $filesize);
                     $artefact->set('filetype', $mime);
                     $artefact->set('width', $width);
                     $artefact->set('height', $height);
                     $artefact->commit();
                     $id = $artefact->get('id');
                     // Move the file into the correct place.
                     $directory = get_config('dataroot') . 'artefact/file/profileicons/originals/' . $id % 256 . '/';
                     check_dir_exists($directory);
                     rename($filename, $directory . $id);
                     if ($create || empty($icons)) {
                         $user->profileicon = $id;
                     }
                 }
                 $user->commit();
             } else {
                 log_warn(get_string('cantcreatetempprofileiconfile', 'artefact.file', $filename));
             }
         }
         if ($update) {
             $locked[] = 'profileicon';
         }
     }
     /*******************************************/
     // We know who our user is now. Bring her back to life.
     $USER->reanimate($user->id, $this->instanceid);
     // Set session variables to let the application know this session was
     // initiated by MNET. Don't forget that users could initiate their
     // sessions without MNET sometimes, which is why this data is stored in
     // the session object.
     $SESSION->set('mnetuser', $user->id);
     $SESSION->set('authinstance', $this->instanceid);
     if (isset($_SERVER['HTTP_REFERER'])) {
         $SESSION->set('mnetuserfrom', $_SERVER['HTTP_REFERER']);
     }
     if ($update && isset($locked)) {
         $SESSION->set('lockedfields', $locked);
     }
     return true;
 }
开发者ID:rboyatt,项目名称:mahara,代码行数:101,代码来源:lib.php


示例11: group_get_accept_form

    } else {
        if ($group->jointype == 'invite' and $invite = get_record('group_member_invite', 'group', $group->id, 'member', $USER->get('id'))) {
            $group->membershiptype = 'invite';
            $group->invite = group_get_accept_form('invite', $group->id, $afterjoin);
        } else {
            if ($group->jointype == 'request' and $request = get_record('group_member_request', 'group', $group->id, 'member', $USER->get('id'))) {
                $group->membershiptype = 'request';
            } else {
                if ($group->jointype == 'open') {
                    $group->groupjoin = group_get_join_form('joingroup', $group->id, $afterjoin);
                }
            }
        }
    }
}
$filecounts = ArtefactTypeFileBase::count_user_files(null, $group->id, null);
// Latest forums posts
// NOTE: it would be nicer if there was some generic way to get information
// from any installed interaction. But the only interaction plugin is forum,
// and group info pages might be replaced with views anyway...
$foruminfo = null;
if ($role || $group->public) {
    $foruminfo = get_records_sql_array('
        SELECT
            p.id, p.subject, p.body, p.poster, p.topic, t.forum, pt.subject AS topicname
        FROM
            {interaction_forum_post} p
            INNER JOIN {interaction_forum_topic} t ON (t.id = p.topic)
            INNER JOIN {interaction_instance} i ON (i.id = t.forum)
            INNER JOIN {interaction_forum_post} pt ON (pt.topic = p.topic AND pt.parent IS NULL)
        WHERE
开发者ID:Br3nda,项目名称:mahara,代码行数:31,代码来源:view.php


示例12: artefactchooser_get_element_data

 /**
  * Optional method. If specified, allows the blocktype class to munge the 
  * artefactchooser element data before it's templated
  */
 public static function artefactchooser_get_element_data($artefact)
 {
     return ArtefactTypeFileBase::artefactchooser_get_file_data($artefact);
 }
开发者ID:Br3nda,项目名称:mahara,代码行数:8,代码来源:lib.php


示例13: add_feedback_form_submit

function add_feedback_form_submit(Pieform $form, $values)
{
    global $view, $artefact, $USER;
    $data = new StdClass();
    $data->view = $view->get('id');
    if ($artefact) {
        $data->artefact = $artefact->get('id');
        $table = 'artefact_feedback';
    } else {
        $table = 'view_feedback';
    }
    $data->message = $values['message'];
    $data->public = (int) $values['ispublic'];
    $data->author = $USER->get('id');
    if (!$data->author) {
        unset($data->author);
        $data->authorname = $values['authorname'];
    }
    $data->ctime = db_format_timestamp(time());
    db_begin();
    if (is_array($values['attachment'])) {
        require_once get_config('libroot') . 'group.php';
        require_once get_config('libroot') . 'uploadmanager.php';
        safe_require('artefact', 'file');
        $groupid = $view->get('submittedgroup');
        if (group_user_can_assess_submitted_views($groupid, $USER->get('id'))) {
            $um = new upload_manager('attachment');
            if ($error = $um->preprocess_file()) {
                throw new UploadException($error);
            }
            $owner = $view->get('owner');
            $ownerlang = get_user_language($owner);
            $folderid = ArtefactTypeFolder::get_folder_id(get_string_from_language($ownerlang, 'feedbackattachdirname', 'view'), get_string_from_language($ownerlang, 'feedbackattachdirdesc', 'view'), null, true, $owner);
            $attachment = (object) array('owner' => $owner, 'parent' => $folderid, 'title' => ArtefactTypeFileBase::get_new_file_title($values['attachment']['name'], $folderid, $owner), 'size' => $values['attachment']['size'], 'filetype' => $values['attachment']['type'], 'oldextensin' => $um->original_filename_extension(), 'description' => get_string_from_language($ownerlang, 'feedbackonviewbytutorofgroup', 'view', $view->get('title'), display_name($USER), get_field('group', 'name', 'id', $groupid)));
            try {
                $data->attachment = ArtefactTypeFile::save_uploaded_file('attachment', $attachment);
            } catch (QuotaExceededException $e) {
            }
        }
    }
    insert_record($table, $data, 'id', true);
    require_once 'activity.php';
    unset($data->id);
    activity_occurred('feedback', $data);
    db_commit();
    if ($artefact) {
        $goto = get_config('wwwroot') . 'view/artefact.php?artefact=' . $artefact->get('id') . '&view=' . $view->get('id');
    } else {
        $goto = get_config('wwwroot') . 'view/view.php?id=' . $view->get('id');
    }
    $form->reply(PIEFORM_OK, array('message' => get_string('feedbacksubmitted', 'view'), 'goto' => $goto));
}
开发者ID:Br3nda,项目名称:mahara,代码行数:52,代码来源:view.php


示例14: pieform_element_filebrowser_update

function pieform_element_filebrowser_update(Pieform $form, $element, $data)
{
    global $USER;
    $collide = !empty($data['collide']) ? $data['collide'] : 'fail';
    try {
        $artefact = artefact_instance_from_id($data['artefact']);
    } catch (ArtefactNotFoundException $e) {
        $parentfolder = $element['folder'] ? $element['folder'] : null;
        $result = array('error' => true, 'message' => get_string('editingfailed', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $parentfolder));
        return $result;
    }
    if (!$USER->can_edit_artefact($artefact) || $artefact->get('locked')) {
        return array('error' => true, 'message' => get_string('noeditpermission', 'mahara'));
    }
    if ($existingid = ArtefactTypeFileBase::file_exists($data['title'], $artefact->get('owner'), $data['folder'], $artefact->get('institution'), $artefact->get('group'))) {
        if ($existingid != $data['artefact']) {
            if ($collide == 'replace') {
                log_debug('deleting ' . $existingid);
                $copy = artefact_instance_from_id($existingid);
                $copy->delete();
            } else {
                return array('error' => true, 'message' => get_string('fileexists', 'artefact.file'));
            }
        }
    }
    $artefact->set('title', $data['title']);
    $artefact->set('description', $data['description']);
    $oldtags = $artefact->get('tags');
    $newtags = preg_split("/\\s*,\\s*/", trim($data['tags']));
    $updatetags = $oldtags != $newtags;
    if ($updatetags) {
        $artefact->set('tags', $newtags);
    }
    if ($form->get_property('group') && $data['permissions']) {
        $artefact->set('rolepermissions', $data['permissions']);
    }
    $artefact->commit();
    $returndata = array('error' => false, 'message' => get_string('changessaved', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $artefact->get('parent')));
    if ($updatetags && $form->submitted_by_js()) {
        $smarty = smarty_core();
        $tagdata = tags_sideblock();
        $smarty->assign('sbdata', $tagdata);
        $returndata['tagblockhtml'] = $smarty->fetch('sideblocks/tags.tpl');
    }
    return $returndata;
}
开发者ID:gbleydon,项目名称:mahara-survey,代码行数:46,代码来源:surveybrowser.php


示例15: upload_submit

function upload_submit(Pieform $form, $values)
{
    global $USER, $filesize;
    safe_require('artefact', 'file');
    try {
        $USER->quota_add($filesize);
    } catch (QuotaException $qe) {
        $form->json_reply(PIEFORM_ERR, array('message' => get_string('profileiconuploadexceedsquota', 'artefact.file', get_config('wwwroot'))));
    }
    // Entry in artefact table
    $data = new stdClass();
    $data->owner = $USER->id;
    $data->parent = ArtefactTypeFolder::get_folder_id(get_string('imagesdir', 'artefact.file'), get_string('imagesdirdesc', 'artefact.file'), null, true, $USER->id);
    $data->title = $values['title'] ? $values['title'] : $values['file']['name'];
    $data->title = ArtefactTypeFileBase::get_new_file_title($data->title, (int) $data->parent, $USER->id);
    // unique title
    $data->note = $values['file']['name'];
    $data->size = $filesize;
    $imageinfo = getimagesize($values['file']['tmp_name']);
    $data->width = $imageinfo[0];
    $data->height = $imageinfo[1];
    $data->filetype = $imageinfo['mime'];
    $data->description = get_string('uploadedprofileicon', 'artefact.file');
    $artefact = new ArtefactTypeProfileIcon(0, $data);
    if (preg_match("/\\.([^\\.]+)\$/", $values['file']['name'], $saved)) {
        $artefact->set('oldextension', $saved[1]);
    }
    $artefact->commit();
    $id = $artefact->get('id');
    // Move the file into the correct place.
    $directory = get_config('dataroot') . 'artefact/file/profileicons/originals/' . $id % 256 . '/';
    check_dir_exists($directory);
    move_uploaded_file($values['file']['tmp_name'], $directory . $id);
    $USER->commit();
    $form->json_reply(PIEFORM_OK, get_string('profileiconaddedtoimagesfolder', 'artefact.file', get_string('imagesdir', 'artefact.file')));
}
开发者ID:rboyatt,项目名称:mahara,代码行数:36,代码来源:profileicons.php


示例16: ensure_composite_value

 /**
  * Ensures that the given value for the given composite is present
  * TODO: expand on these docs.
  * @param unknown_type $values
  * @param unknown_type $compositetype
  * @param unknown_type $owner
  * @return int If successful, the ID of the composite artefact
  * @throws SystemException
  */
 public static function ensure_composite_value($values, $compositetype, $owner)
 {
     global $USER;
     if (!in_array($compositetype, self::get_composite_artefact_types())) {
         throw new SystemException("ensure_composite_value called with invalid composite type");
     }
     try {
         $a = artefact_instance_from_type($compositetype, $owner);
         $a->set('mtime', time());
     } catch (Exception $e) {
         $classname = generate_artefact_class_name($compositetype);
         $a = new $classname(0, array('owner' => $owner, 'title' => get_string($compositetype, 'artefact.resume')));
     }
     $a->commit();
     $values['artefact'] = $a->get('id');
     $table = 'artefact_resume_' . $compositetype;
     if (!empty($values['id'])) {
         $itemid = $values['id'];
         update_record($table, (object) $values, 'id');
     } else {
         if (isset($values['displayorder'])) {
             $values['displayorder'] = intval($values['displayorder']);
         } else {
             $max = get_field($table, 'MAX(displayorder)', 'artefact', $values['artefact']);
             $values['displayorder'] = is_numeric($max) ? $max + 1 : 0;
         }
         $itemid = insert_record($table, (object) $values, 'id', true);
     }
     // If there are any attachments, attach them to your Resume...
     if ($compositetype == 'educationhistory' || $compositetype == 'employmenthistory') {
         $goto = get_config('wwwroot') . 'artefact/resume/employment.php';
     } else {
         $goto = get_config('wwwroot') . 'artefact/resume/achievements.php';
     }
     // Attachments via 'files' pieform element
     // This happens when adding new resume composite...
     if (array_key_exists('attachments', $values)) {
         require_once get_config('libroot') . 'uploadmanager.php';
         safe_require('artefact', 'file');
         $folderid = null;
         $attachment = (object) array('owner' => $owner, 'group' => null, 'institution' => null, 'author' => $owner, 'allowcomments' => 0, 'parent' => $folderid, 'description' => null);
         foreach ($values['attachments'] as $filesindex) {
             $originalname = $_FILES[$filesindex]['name'];
             $attachment->title = ArtefactTypeFileBase::get_new_file_title($originalname, $folderid, $owner, null, null);
             try {
                 $fileid = ArtefactTypeFile::save_uploaded_file($filesindex, $attachment);
             } catch (QuotaExceededException $e) {
                 return array('message' => $e->getMessage(), 'goto' => $goto);
             } catch (UploadException $e) {
                 return array('message' => $e->getMessage(), 'goto' => $goto);
             }
             $a->attach($fileid, $itemid);
         }
     }
     // Attachments via 'filebrowser' pieform element
     // This happens when editing resume composite...
     if (array_key_exists('filebrowser', $values)) {
         $old = $a->attachment_id_list_with_item($itemid);
         $new = is_array($values['filebrowser']) ? $values['filebrowser'] : array();
         // only allow the attaching of files that exist and are editable by user
         foreach ($new as $key => $fileid) {
             $file = artefact_instance_from_id($fileid);
             if (!$file instanceof ArtefactTypeFile || !$USER->can_publish_artefact($file)) {
                 unset($new[$key]);
             }
         }
         if (!empty($new) || !empty($old)) {
             foreach ($old as $o) {
                 if (!in_array($o, $new)) {
                     try {
                         $a->detach($o, $itemid);
                     } catch (ArtefactNotFoundException $e) {
                     }
                 }
             }
             $is_error = false;
             foreach ($new as $n) {
                 if (!in_array($n, $old)) {
                     // check the new item is not already attached to the
                     // artefact under a different $itemid
                     if (record_exists('artefact_attachment', 'artefact', $a->get('id'), 'attachment', $n)) {
                         $artefactfile = artefact_instance_from_id($n);
                         $is_error[] = $artefactfile->get('title');
                     } else {
                         try {
                             $a->attach($n, $itemid);
                         } catch (ArtefactNotFoundException $e) {
                         }
                     }
                 }
             }
//.........这里部分代码省略.........
开发者ID:vohung96,项目名称:mahara,代码行数:101,代码来源:lib.php


示例17: group_get_groupinfo_data

function group_get_groupinfo_data($group)
{
    safe_require('artefact', 'file');
    safe_require('interaction', 'forum');
    $group->admins = group_get_admins(array($group->id));
    $group->settingsdescription = group_display_settings($group);
    if (get_config('allowgroupcategories')) {
        $group->categorytitle = $group->category ? get_field('group_category', 'title', 'id', $group->category) : '';
    }
    if (group_can_list_members($group, group_user_access($group->id))) {
        $group->membercount = count_records('group_member', 'group', $group->id);
    }
    $group->viewcount = count_records('view', 'group', $group->id);
    $group->filecounts = ArtefactTypeFileBase::count_user_files(null, $group->id, null);
    $group->forumcounts = PluginInteractionForum::count_group_forums($group->id);
    $group->topiccounts = PluginInteractionForum::count_group_topics($group->id);
    $group->postcounts = PluginInteractionForum::count_group_posts($group->id);
    return $group;
}
开发者ID:vohung96,项目名称:mahara,代码行数:19,代码来源:group.php


示例18: unzip_directory_name

 public function unzip_directory_name()
 {
     if (isset($this->data['unzipdir'])) {
         return $this->data['unzipdir'];
     }
     $folderdata = ArtefactTypeFileBase::artefactchooser_folder_data($this);
     $parent = $this->get('parent');
     $strpath = ArtefactTypeFileBase::get_full_path($parent, $folderdata->data);
     $extn = $this->get('oldextension');
     $name = $this->get('title');
     if (substr($name, -1 - strlen($extn)) == '.' . $extn) {
         $name = substr($name, 0, strlen($name) - 1 - strlen($extn));
     }
     $name = ArtefactTypeFileBase::get_new_file_title($name, $parent, $this->get('owner'), $this->get('group'), $this->get('institution'));
     $this->data['unzipdir'] = array('basename' => $name, 'fullname' => $strpath . $name);
     return $this->data['unzipdir'];
 }
开发者ID:vohung96,项目名称:mahara,代码行数:17,代码来源:lib.php


示例19: filebrowser_element

 public static function filebrowser_element(&$instance, $default = array())
 {
     $element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
     $element['title'] = get_string('attachments', 'artefact.blog');
     $element['name'] = 'artefactids';
     $element['config']['select'] = true;
     $element['config']['selectone'] = false;
     $element['config']['selectmodal'] = true;
     $element['config']['alwaysopen'] = false;
     return $element;
 }
开发者ID:banterweb,项目名称:mahara,代码行数:11,代码来源:lib.php


示例20: add_feedback_form_submit

function add_feedback_form_submit(Pieform $form, $values)
{
    global $view, $artefact, $USER;
    $data = (object) array('title' => get_string('Comment', 'artefact.comment'), 'description' => $values['message']);
    if ($artefact) {
        $data->onartefact = $artefact->get('id');
        $data->owner = $artefact->get('owner');
        $data->group = $artefact->get('group');
        $data->institution = $artefact->get('institution');
    } else {
        $data->onview = $view->get('id');
        $data->owner = $view->get('owner');
        $data->group = $view->get('group');
        $data->institution = $view->get('institution');
    }
    if ($author = $USER->get('id')) {
        $anonymous = false;
        $data->author = $author;
    } else {
        $anonymous = true;
        $data->authorname = $values['authorname'];
    }
    if (isset($values['moderate']) && $values['ispublic'] && !$USER->can_edit_view($view)) {
        $data->private = 1;
        $data->requestpublic = 'author';
        $moderated = true;
    } else {
        $data->private = (int) (!$values['ispublic']);
        $moderated = false;
    }
    $private = $data->private;
    if (get_config('licensemetadata')) {
        $data->license = $values['license'];
        $data->licensor = $values['licensor'];
        $data->licensorurl = $values['licensorurl'];
    }
    if (isset($values['rating'])) {
        $data->rating = valid_rating($values['rating']);
    }
    $comment = new ArtefactTypeComment(0, $data);
    db_begin();
    $comment->commit();
    $url = $comment->get_view_url($view->get('id'), true, false);
    $goto = get_config('wwwroot') . $url;
    if (isset($data->requestpublic) && $data->requestpublic === 'author' && $data->owner) {
        $arg = $author ? display_name($USER, null, true) : $data->authorname;
        $moderatemsg = ( 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Article类代码示例发布时间:2022-05-23
下一篇:
PHP ArtefactTypeComment类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap