root/websites/events.php.gr.jp/trunk/app/action/EventCancelRevert.php @ 9806

Revision 9806, 3.6 kB (checked in by ha1t, 6 years ago)

first import

Line 
1<?php
2/**
3 *  EventCancelRevert.php
4 *
5 *  @author     halt <halt.feits@gmail.com>
6 *  @package    Event
7 *  @version    $Id: skel.action.php 2 2006-04-29 15:04:12Z halt $
8 */
9
10/**
11 *  EventCancelRevertフォームの実装
12 *
13 *  @author     halt <halt.feits@gmail.com>
14 *  @access     public
15 *  @package    Event
16 */
17class Event_Form_EventCancelRevert extends Ethna_ActionForm
18{
19    /**
20     *  @access private
21     *  @var    array   フォーム値定義
22     */
23    var $form = array(
24        /*
25        'sample' => array(
26            'name'          => 'サンプル',      // 表示名
27            'required'      => true,            // 必須オプション(true/false)
28            'min'           => null,            // 最小値
29            'max'           => null,            // 最大値
30            'regexp'        => null,            // 文字種指定(正規表現)
31            'custom'        => null,            // メソッドによるチェック
32            'filter'        => null,            // 入力値変換フィルタオプション
33            'form_type'     => FORM_TYPE_TEXT,  // フォーム型
34            'type'          => VAR_TYPE_INT,    // 入力値型
35        ),
36        */
37        'id' => array(
38            'name' => 'id',
39            'required' => true,
40            'form_type' => FORM_TYPE_HIDDEN,
41            'type' => VAR_TYPE_INT,
42        ),
43        'submit' => array(
44            'name' => 'submit',
45            'required' => false,
46            'form_type' => FORM_TYPE_SUBMIT,
47            'type' => VAR_TYPE_STRING,
48        ),
49    );
50}
51
52/**
53 *  EventCancelRevertアクションの実装
54 *
55 *  @author     halt <halt.feits@gmail.com>
56 *  @access     public
57 *  @package    Event
58 */
59class Event_Action_EventCancelRevert extends Ethna_AuthAdminActionClass
60{
61    /**
62     *  EventCancelRevertアクションの前処理
63     *
64     *  @access public
65     *  @return string      遷移名(正常終了ならnull, 処理終了ならfalse)
66     */
67    function prepare()
68    {
69        $this->db = $this->backend->getDB();
70
71        $id = Event_Util::getPathInfoArg();
72        if (is_numeric($id)) {
73            $this->af->set('id', $id);
74        }
75
76        $this->record = $this->getEventAttendeeFromId($this->af->get('id'));
77        /*
78        if ($this->record['account_name'] != $_SESSION['name']) {
79            $this->ae->add('security', 'access denied');
80            return 'error';
81        }
82         */
83
84        if (!$this->af->get('submit')) {
85            $record = $this->record;
86            unset($record['ip']);
87            unset($record['ua']);
88            unset($record['event_id']);
89            $this->af->setApp('record', $record);
90
91            return 'event-cancel-revert-confirm';
92        }
93    }
94
95    /**
96     *  EventCancelRevertアクションの実装
97     *
98     *  @access public
99     *  @return string  遷移名
100     */
101    function perform()
102    {
103        if ($this->af->validate() > 0) {
104            return 'error';
105        }
106
107        $param['canceled'] = 0;
108
109        $this->db->autoExecute('event_attendee',
110            $param,
111            'UPDATE',
112            "id = {$this->record['id']}"
113        );
114
115        Event_Util::redirect($this->config->get('base_url') . '/event_show/' . $this->record['event_id'], '1', 'イベントキャンセルを解除しました。');
116
117        return null;
118    }
119
120    /**
121     * getEventAttendeeFromId
122     *
123     */
124    function getEventAttendeeFromId($event_id)
125    {
126        $query = "SELECT * FROM event_attendee";
127        $query.= " WHERE id = ?";
128
129        return $this->db->getRow($query, array((int)$event_id));
130    }
131}
132?>
Note: See TracBrowser for help on using the browser.