function profile_update($profile_new) { global $CFG; global $data; global $messages; global $page_owner; global $profile_name; $profiledetails = optional_param('profiledetails', array()); if (count($profiledetails) > 0) { delete_records('profile_data', 'owner', $page_owner); foreach ($profiledetails as $field => $value) { $field = trim($field); $value = trim($value); if ($value != "") { //TODO get rid of variable duplication here. (Penny) $access = $_POST['profileaccess'][$field]; $pd = new StdClass(); $pd->name = $field; $pd->value = $value; $pd->access = $access; $pd->owner = $page_owner; $insert_id = insert_record('profile_data', $pd); } foreach ($data['profile:details'] as $datatype) { if ($datatype[1] == $field && $datatype[2] == "keywords") { delete_records('tags', 'tagtype', $field, 'owner', $page_owner); $value = insert_tags_from_string($value, $field, $insert_id, $access, $page_owner); } } } $messages[] = gettext("Profile updated."); } // Changes saved successfully, update RSS feeds $rssresult = run("weblogs:rss:publish", array(1, false)); $rssresult = run("profile:rss:publish", array(1, false)); // redirect("{$CFG->wwwroot}{$profile_name}", get_string("changessaved")); redirect("{$CFG->wwwroot}{$profile_name}", ""); }
$fp->title = $title; $fp->body = $description; $fp->posted = $posted; $fp->url = $url; $fp->feed = $parameter; $fp->added = $added; insert_record('feed_posts', $fp); if ($weblogs = get_records_select('feed_subscriptions', 'feed_id = ? AND autopost = ?', array($parameter, 'yes'))) { $body = "<p><a href=\"{$url}\">{$url}</a></p> " . $description; foreach ($weblogs as $weblog) { $wp = new StdClass(); $wp->title = $title; $wp->body = $body; $wp->access = 'PUBLIC'; $wp->owner = $weblog->user_id; $wp->weblog = $weblog->user_id; $wp->posted = $added; $id = insert_record('weblog_posts', $wp); $tags = trim($weblog->autopost_tag); insert_tags_from_string($tags, 'weblog', $id, 'PUBLIC', $weblog_user_id); $rssresult = run("weblogs:rss:publish", array($weblog->user_id, false)); $rssresult = run("profile:rss:publish", array($weblog->user_id, false)); } } } } } } } } }
// Edit a folder // Edit a folder case "edit_folder": $f = new StdClass(); $f->ident = optional_param('edit_folder_id', 0, PARAM_INT); $f->name = trim(optional_param('edit_folder_name')); $f->access = trim(optional_param('edit_folder_access')); $f->parent = optional_param('edit_folder_parent', 0, PARAM_INT); if (!empty($f->ident) && !empty($f->name) && !empty($f->access) && !empty($f->parent)) { $edit_owner = get_field('file_folders', 'owner', 'ident', $f->ident); if (run("permissions:check", array("files:edit", $edit_owner))) { if ($f->ident != $f->parent) { update_record('file_folders', $f); delete_records('tags', 'tagtype', 'folder', 'ref', $f->ident); $edit_value = trim(optional_param('edit_folder_keywords')); insert_tags_from_string($edit_value, 'folder', $f->ident, $f->access, $USER->ident); $messages[] = gettext("The folder was edited."); } else { $messages[] = gettext("Error: a folder cannot be its own parent."); } } } break; // Delete a folder // Delete a folder case "delete_folder": $id = optional_param('delete_folder_id', 0, PARAM_INT); if (!empty($id) && $id != -1) { $folder = get_record('file_folders', 'ident', $id); if (!empty($folder) && (run("permissions:check", array("files:edit", $folder->files_owner)) || run("permissions:check", array("files:edit", $folder->owner)))) { $files_username = run("users:id_to_name", $folder->files_owner);
<?php // Action parser for profiles global $page_owner; $page_owner = (int) $page_owner; if (isset($_POST['action']) && $_POST['action'] == "profile:edit" && logged_on && run("permissions:check", "profile")) { if (isset($_POST['profiledetails'])) { delete_records('profile_data', 'owner', $page_owner); foreach ($_POST['profiledetails'] as $field => $value) { $value = trim($value); if ($value != "") { //TODO get rid of variable duplication here. (Penny) $access = trim($_POST['profileaccess'][$field]); $owner = (int) $page_owner; $pd = new StdClass(); $pd->name = $field; $pd->value = $value; $pd->access = $access; $pd->owner = $page_owner; $insert_id = insert_record('profile_data', $pd); foreach ($data['profile:details'] as $datatype) { if ($datatype[1] == $field && $datatype[2] == "keywords") { delete_records('tags', 'tagtype', $field, 'owner', $page_owner); $value = insert_tags_from_string($value, $field, $insert_id, $access, $page_owner); } } } } $messages[] = gettext("Profile updated."); } }
function profile_update($profile_new) { global $CFG; global $data; global $messages; global $page_owner; global $profile_name; $profiledetails = optional_param('profiledetails', array()); if (count($profiledetails) > 0) { // delete_records('profile_data','owner',$page_owner); $insertvalues = array(); $requiredmissing = array(); foreach ($profiledetails as $field => $value) { $field = trim($field); $value = trim($value); if (!empty($value)) { //TODO get rid of variable duplication here. (Penny) if (!empty($data['profile:details'][$field]->invisible)) { $access = 'user' . $page_owner; } else { $access = $_POST['profileaccess'][$field]; } $pd = new StdClass(); $pd->name = $field; $pd->value = $value; $pd->access = $access; $pd->owner = $page_owner; // $insert_id = insert_record('profile_data',$pd); $insertvalues[] = $pd; } else { foreach ($data['profile:details'] as $datatype) { if (is_array($datatype)) { $fname = !empty($datatype[1]) ? $datatype[1] : ''; $flabel = !empty($field[0]) ? $field[0] : ''; $frequired = false; $fcat = __gettext("Main"); // Otherwise map things the new way! } else { $fname = $datatype->internal_name; $flabel = $datatype->name; $frequired = $datatype->required; if (empty($datatype->category)) { $fcat = __gettext("Main"); } else { $fcat = $datatype->category; } } if ($fname == $field) { if ($frequired == true) { $requiredmissing[] = sprintf(__gettext("%s (in category %s)"), $flabel, $fcat); } else { delete_records('profile_data', 'owner', $page_owner, 'name', $fname); } } } } } if (sizeof($requiredmissing) == 0) { $updatedok = true; foreach ($insertvalues as $insertvalue) { delete_records('profile_data', 'owner', $page_owner, 'name', $insertvalue->name); $insertvalue = plugin_hook("profile_data", "create", $insertvalue); if (!empty($insertvalue)) { $insert_id = insert_record('profile_data', $insertvalue); $insertvalue->ident = $insert_id; plugin_hook("profile_data", "publish", $insertvalue); foreach ($data['profile:details'] as $datatype) { if (is_array($datatype)) { $fname = !empty($datatype[1]) ? $datatype[1] : ''; $ftype = !empty($datatype[2]) ? $datatype[2] : ''; // Otherwise map things the new way! } else { $fname = $datatype->internal_name; $ftype = $datatype->field_type; } if ($fname == $insertvalue->name && $ftype == "keywords") { delete_records('tags', 'tagtype', $insertvalue->name, 'owner', $page_owner); $value = insert_tags_from_string($insertvalue->value, $insertvalue->name, $insert_id, $insertvalue->access, $page_owner); } if (isset($CFG->display_field_module[$ftype])) { $callback = $CFG->display_field_module[$ftype] . "_validate_input_field"; $updatedok = $callback($insertvalue); } } } } $messages[] = __gettext("Profile updated."); } else { $savedata = array(); foreach ($insertvalues as $insertvalue) { $savedata['profile:preload'][$insertvalue->name] = $insertvalue->value; $savedata['profile:preload:access'][$insertvalue->name] = $insertvalue->access; } foreach ($requiredmissing as $key => $missinglabel) { $message = ""; if ($key > 0) { $message .= ", "; } $message .= $missinglabel; } $messages[] = sprintf(__gettext("You need to fill in the following required fields: %s"), $message); $updatedok = false; $_SESSION['profile:preload'] = $savedata['profile:preload']; $_SESSION['profile:preload:access'] = $savedata['profile:preload:access']; } } // Changes saved successfully, update RSS feeds $rssresult = run("weblogs:rss:publish", array(1, false)); $rssresult = run("profile:rss:publish", array(1, false)); $_SESSION['messages'] = $messages; // redirect("{$CFG->wwwroot}{$profile_name}", get_string("changessaved")); if ($updatedok) { redirect("{$CFG->wwwroot}{$profile_name}/profile/", ""); } else { redirect("{$CFG->wwwroot}profile/edit.php?profile_id=" . $page_owner, ""); } }
$exists = false; if ($oldpost = get_record('weblog_posts', 'ident', $post->ident)) { if (run("permissions:check", array("weblog:edit", $oldpost->owner, $oldpost->weblog))) { $exists = true; } } if (!empty($exists)) { $post->posted = $oldpost->posted; $post->owner = $oldpost->owner; $post->weblog = $oldpost->weblog; $post = plugin_hook("weblog_post", "update", $post); if (!empty($post)) { update_record('weblog_posts', $post); delete_records('tags', 'tagtype', 'weblog', 'ref', $post->ident); $value = trim(optional_param('edit_weblog_keywords')); insert_tags_from_string($value, 'weblog', $post->ident, $post->access, $oldpost->owner); $post = get_record('weblog_posts', 'ident', $post->ident); $extra_value = trim(optional_param('new_weblog_extra')); $post->extra_value = $extra_value; $post = plugin_hook("weblog_post", "republish", $post); $rssresult = run("weblogs:rss:publish", array($oldpost->weblog, false)); $rssresult = run("profile:rss:publish", array($oldpost->weblog, false)); $messages[] = __gettext("The weblog post has been modified."); // gettext variable } } define('redirect_url', url . user_info("username", $page_owner) . "/{$extensionContext}/" . $post->ident . ".html"); } break; //Mark a weblog post as interesting //Mark a weblog post as interesting