function addsubmitAction() { if ($this->request->isPost()) { $date = $this->request->getPost('date'); $system_id = $this->request->getPost('system_id'); $version = $this->request->getPost('version'); # print_r($this->request->getPost());exit(); $versions = new Versions(); $versions->date = $date; $versions->version = $version; $versions->system_id = $system_id; $versions->created_by = 105; $versions->created_at = date('Y-m-d'); if ($versions->save() == false) { foreach ($versions->getMessages() as $message) { $this->flash->error((string) $message); } } else { $this->flash->success('Create version success'); $this->response->redirect('versions/system/' . $system_id); } } }
* * Add the option 'edit_as_thread' to activate this script in some article. * * @author Bernard Paques * @reference * @license http://www.gnu.org/copyleft/lesser.txt GNU Lesser General Public License */ // loaded from articles/view.php defined('YACS') or exit('Script must be included'); // process uploaded data if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') { // update an existing page if (isset($_REQUEST['id'])) { // remember the previous version if ($item['id'] && Versions::are_different($item, $_REQUEST)) { Versions::save($item, 'article:' . $item['id']); } // stop on error if (!Articles::put_attributes($_REQUEST) || is_object($overlay) && !$overlay->remember('update', $_REQUEST, 'article:' . $_REQUEST['id'])) { $item = $_REQUEST; $with_form = TRUE; // else display the updated page } else { // do whatever is necessary on page update Articles::finalize_update($anchor, $_REQUEST, $overlay, isset($_REQUEST['silent']) && $_REQUEST['silent'] == 'Y', isset($_REQUEST['notify_watchers']) && $_REQUEST['notify_watchers'] == 'Y', isset($_REQUEST['notify_followers']) && $_REQUEST['notify_followers'] == 'Y'); // cascade changes on access rights if ($_REQUEST['active'] != $item['active']) { Anchors::cascade('article:' . $item['id'], $_REQUEST['active']); } // the page has been modified $context['text'] .= '<p>' . i18n::s('The page has been successfully updated.') . '</p>';
// follow-up commands $context['text'] .= Skin::build_block(Skin::build_link($anchor->get_url('files'), i18n::s('Done'), 'button'), 'bottom'); // extension is not allowed } elseif (Files::get_uploaded('upload', 'name') && !Files::is_authorized(Files::get_uploaded('upload', 'name'))) { Safe::header('Status: 401 Unauthorized', TRUE, 401); Logger::error(i18n::s('This type of file is not allowed.')); // an error occured } elseif (count($context['error'])) { $item = $_REQUEST; $with_form = TRUE; // process uploaded data } elseif (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') { // remember the previous version if (isset($item['id'])) { include_once '../versions/versions.php'; Versions::save($item, 'file:' . $item['id']); } // assume this is just an update of the record $action = 'file:update'; // true when several files are uploaded at once $exploded = FALSE; // this record is a reference to an external file -- do not take upload into account, if any if (isset($_REQUEST['file_href']) && $_REQUEST['file_href']) { // protect from hackers -- encode_link() would introduce & $_REQUEST['file_href'] = trim(preg_replace(FORBIDDEN_IN_URLS, '_', $_REQUEST['file_href']), ' _'); // ensure we have a title if (!$_REQUEST['title']) { $_REQUEST['title'] = str_replace('%20', ' ', basename($_REQUEST['file_href'])); } // ensure we have a file name $_REQUEST['file_name'] = utf8::to_ascii(str_replace('%20', ' ', basename($_REQUEST['file_href'])));
$_REQUEST['overlay'] = $overlay->save(); $_REQUEST['overlay_id'] = $overlay->get_id(); } // branch to another script to save data if (isset($_REQUEST['options']) && preg_match('/\\bedit_as_[a-zA-Z0-9_\\.]+?\\b/i', $_REQUEST['options'], $matches) && is_readable($matches[0] . '.php')) { include $matches[0] . '.php'; return; } elseif (is_object($overlay) && ($deputy = $overlay->get_value('edit_as')) && is_readable('edit_as_' . $deputy . '.php')) { include 'edit_as_' . $deputy . '.php'; return; } // update an existing page if (isset($_REQUEST['id'])) { // remember the previous version if ($item['id']) { Versions::save($item, 'section:' . $item['id']); } // overlay has been inserted or updated if (isset($_REQUEST['overlay_type']) && $_REQUEST['overlay_type']) { $action = 'insert'; } else { $action = 'update'; } // stop on error if (!Sections::put($_REQUEST) || is_object($overlay) && !$overlay->remember($action, $_REQUEST, 'section:' . $_REQUEST['id'])) { $item = $_REQUEST; $with_form = TRUE; // else display the updated page } else { // cascade changes on access rights if ($_REQUEST['active'] != $item['active']) {
public function executeXlsTasksImport(sfWebRequest $request) { app::setPageTitle('Import Spreadsheet', $this->getResponse()); if ($request->isMethod(sfRequest::PUT)) { if ($request->hasParameter('import_file')) { if (is_file($import_spreadsheet_file = sfConfig::get('sf_upload_dir') . '/' . $request->getParameter('import_file'))) { $import_fields = $this->getUser()->getAttribute('import_fields'); $data = new Spreadsheet_Excel_Reader($import_spreadsheet_file); $projects_id = $request->getParameter('projects_id'); if ($request->getParameter('import_first_row') == 1) { $first_row = 1; } elseif ($data->rowcount() > 2) { $first_row = 2; } else { $first_row = 1; } for ($i = $first_row; $i <= $data->rowcount(); $i++) { $t = new Tasks(); $t->setCreatedBy($this->getUser()->getAttribute('id'))->setCreatedAt(date('Y-m-d H:i:s'))->setProjectsId($request->getParameter('projects_id')); $extra_fields = array(); for ($j = 1; $j <= $data->colcount(); $j++) { if (isset($import_fields[$j])) { $v = $data->val($i, $j); if (strlen(trim($v)) == 0) { continue; } switch ($import_fields[$j]) { case 'TasksGroups': if ($id = app::getProjectCfgItemIdByName($v, 'TasksGroups', $projects_id)) { $t->setTasksGroupsId($id); } else { $cfg = new TasksGroups(); $cfg->setName($v); $cfg->setProjectsId($projects_id); $cfg->save(); $t->setTasksGroupsId($cfg->getId()); } break; case 'Versions': if ($id = app::getProjectCfgItemIdByName($v, 'Versions', $projects_id)) { $t->setVersionsId($id); } else { $cfg = new Versions(); $cfg->setName($v); $cfg->setProjectsId($projects_id); $cfg->save(); $t->setVersionsId($cfg->getId()); } break; case 'ProjectsPhases': if ($id = app::getProjectCfgItemIdByName($v, 'ProjectsPhases', $projects_id)) { $t->setProjectsPhasesId($id); } else { $cfg = new ProjectsPhases(); $cfg->setName($v); $cfg->setProjectsId($projects_id); $cfg->save(); $t->setProjectsPhasesId($cfg->getId()); } break; case 'TasksPriority': if ($id = app::getCfgItemIdByName($v, 'TasksPriority')) { $t->setTasksPriorityId($id); } else { $cfg = new TasksPriority(); $cfg->setName($v); $cfg->save(); $t->setTasksPriorityId($cfg->getId()); } break; case 'TasksLabels': if ($id = app::getCfgItemIdByName($v, 'TasksLabels')) { $t->setTasksLabelId($id); } else { $cfg = new TasksLabels(); $cfg->setName($v); $cfg->save(); $t->setTasksLabelId($cfg->getId()); } break; case 'name': $t->setName($v); break; case 'TasksStatus': if ($id = app::getCfgItemIdByName($v, 'TasksStatus')) { $t->setTasksStatusId($id); } else { $cfg = new TasksStatus(); $cfg->setName($v); $cfg->save(); $t->setTasksStatusId($cfg->getId()); } break; case 'TasksTypes': if ($id = app::getCfgItemIdByName($v, 'TasksTypes')) { $t->setTasksTypeId($id); } else { $cfg = new TasksTypes(); $cfg->setName($v); $cfg->save(); $t->setTasksTypeId($cfg->getId()); } break; break; case 'assigned_to': $assigned_to = array(); foreach (explode(',', $v) as $n) { if ($user = Doctrine_Core::getTable('Users')->createQuery()->addWhere('name=?', trim($n))->fetchOne()) { $assigned_to[] = $user->getId(); } } $t->setAssignedTo(implode(',', $assigned_to)); break; case 'estimated_time': $t->setEstimatedTime($v); break; case 'start_date': $t->setStartDate(date('Y-m-d', strtotime($v))); break; case 'due_date': $t->setDueDate(date('Y-m-d', strtotime($v))); break; case 'progress': $t->setProgress($v); break; } if (strstr($import_fields[$j], 'extra_field_')) { $extra_fields[str_replace('extra_field_', '', $import_fields[$j])] = $v; } } } $t->save(); foreach ($extra_fields as $id => $v) { $f = new ExtraFieldsList(); $f->setBindId($t->getId()); $f->setExtraFieldsId($id); $f->setValue($v); $f->save(); } } $this->getUser()->setFlash('userNotices', t::__('Spreadsheet imported')); $this->redirect('tasks/index?projects_id=' . $request->getParameter('projects_id')); } } elseif (($projects_id = $request->getParameter('projects_id')) > 0) { $f = $request->getFiles(); if ($f['import_file']) { $this->getUser()->setAttribute('import_fields', array()); move_uploaded_file($f['import_file']['tmp_name'], sfConfig::get('sf_upload_dir') . '/' . $f['import_file']['name']); $this->import_file = $f['import_file']['name']; if (is_file($import_spreadsheet_file = sfConfig::get('sf_upload_dir') . '/' . $this->import_file)) { $this->data = new Spreadsheet_Excel_Reader($import_spreadsheet_file); $this->setTemplate('xlsTasksImportBind'); } else { $this->getUser()->setFlash('userNotices', array('type' => 'error', 'text' => t::__('There is an error with uploading file. Please try again with less file size.'))); $this->redirect('tools/xlsTasksImport'); } } } } }
// notify sysops Logger::notify('comments/edit.php: ' . $label, $description); // forward to the updated thread if (!isset($_REQUEST['follow_up'])) { // redirect Safe::redirect($anchor->get_url('comments')); } elseif ($_REQUEST['follow_up'] === 'json') { // provide a json version of the new comment. Comments::render_json($_REQUEST['id'], $anchor); } // update of an existing comment } else { // remember the previous version if ($item['id']) { include_once '../versions/versions.php'; Versions::save($item, 'comment:' . $item['id']); } // touch the related anchor $anchor->touch('comment:update', $item['id'], isset($_REQUEST['silent']) && $_REQUEST['silent'] == 'Y'); // clear cache Comments::clear($_REQUEST); // forward to the updated thread if (!isset($_REQUEST['follow_up'])) { Safe::redirect($anchor->get_url('comments')); } else { switch ($_REQUEST['follow_up']) { case 'json': // provide a json version of the new comment. Comments::render_json($_REQUEST['id'], $anchor); break; case 'close':