root / branches / 2.1.x / actions / SaveBookmark.php @ 1111

View | Annotate | Download (2.3 KB)

1
<?php
2
3
/*
4
* @copyright Copyright (C) 2005-2010 Keyboard Monkeys Ltd. http://www.kb-m.com
5
* @license http://creativecommons.org/licenses/BSD/ BSD License
6
* @author Keyboard Monkeys Ltd.
7
* @since Sciret 1.2
8
* @package Sciret
9
* @packager Keyboard Monkeys
10
*/
11
12
require 'actions/Action.php';
13
14
class SaveBookmark extends Action {
15
16
    function dispatch() {
17
        $bookmarkId = isset($_POST['bookmarkId'])? (int)$_POST['bookmarkId'] : 0;
18
19
        $art = new Kb_Model_Article($bookmarkId);
20
        $art->setIsBookmark(true);
21
        $art->setCategoryId($_POST['cat_id']);
22
        $art->setTitle($_POST['name']);
23
        $art->setURL($_POST['url']);
24
        $art->setContent($_POST['description']);
25
26
        if ($_POST['expDate'] == '') {
27
            $art->setExpDate('0000-00-00');
28
        } else {
29
            $art->setExpDate($_POST['expDate']);
30
        }
31
32
        if ($bookmarkId > 0) {
33
            $art->setModificationDate(date('Y-m-d H:i:s'));
34
            $art->setModifiedByUserId($this->user->id);
35
            $historyMessage = 'Bookmark modified';
36
            translate('Bookmark modified');
37
        } else {
38
            $art->setPublished($this->configuration->getConfigValue('publishBookmarksAuto') == '1'? true : false);
39
            $art->setDraft($_POST['draft']);
40
            $art->setUserId($this->user->id);
41
            $historyMessage = 'Bookmark created';
42
            translate('Bookmark created');
43
        }
44
        $art->setTags(trim($_POST['tags']) == '' ? array() : explode(' ', $_POST['tags']));
45
        $art->save();
46
        $this->addHistoryEntry($art->getId(), $historyMessage);
47
48
        // create TODO for drafts
49
        if ($_POST['draft'] == 1) {
50
            require_once 'models/Todo.php';
51
52
            $todo = new Kb_Model_Todo();
53
            $todo->setUserId($this->user->id);
54
            $todo->setTitle($_POST['name']);
55
            $todo->setStatus(TODO_STATUS_PENDING);
56
            $todo->setPrivate(true);
57
            $todo->setCreationDate(date('Y-m-d'));
58
            $todo->setDueDate('0000-00-00');
59
            $todo->save();
60
61
            $todo->addRelatedArticles(array($art->getId()));
62
        }
63
64
        $_SESSION['message'] = $this->translate('Bookmark saved successfully.');
65
        Library::redirect(Library::getLink(array('view' => 'ViewBookmark', 'id' => $art->getId())));
66
    }
67
}
68
69
?>
70