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);
         }
     }
 }
Ejemplo n.º 2
0
 *
 * 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>';
Ejemplo n.º 3
0
Archivo: edit.php Proyecto: rair/yacs
    // 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 &amp;
        $_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'])));
Ejemplo n.º 4
0
Archivo: edit.php Proyecto: rair/yacs
     $_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']) {
Ejemplo n.º 5
0
 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');
                 }
             }
         }
     }
 }
Ejemplo n.º 6
0
Archivo: edit.php Proyecto: rair/yacs
     // 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':