<?php
class Platy_Form
{
    /**
     * エディタの表示
     */
    static public function editor($name, $value, $rows=10, $cols=60)
    {
        global $config;
        $e = 'fck';
        switch ($e) {
        case 'fck':
            include_once(BASE_PATH . 'libs/fckeditor/fckeditor.php');
            $sBasePath = FCK_BasePath;
            //echo 'sBasePath=' . $sBasePath . "<br />\n";
            $editor = new FCKeditor($name);
            $editor->BasePath = $sBasePath;
            $editor->Value = $value;
            $editor->Height = $rows * 20 + 60;
            //$editor->ToolbarSet = 'MyToolbar';
            $editor->Create();
            break;
        default:
            echo '<textarea name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . "\n"
                 . $value . '</textarea>' . "\n";
            break;
        }
    }
    
    /**
     * 必須入力の表示
     */
    static public function form_required()
    {
        echo ' <span class="form_required" title="必須">*</span> ';
    }
    
    /**
     * 都道府県
     * @param string $name select 要素名
     */
    static public function select_state($name = 'state', $default = '')
    {
        $state = array(
            '', '北海道', '青森県', '岩手県', '宮城県', '秋田県', '山形県', '福島県',
            '茨城県', '栃木県', '群馬県', '埼玉県', '千葉県', '東京都', '神奈川県',
            '新潟県', '富山県', '石川県', '福井県', '山梨県', '長野県', '岐阜県',
            '静岡県', '愛知県', '三重県', '滋賀県', '京都府', '大阪府', '兵庫県',
            '奈良県', '和歌山県', '鳥取県', '島根県', '岡山県', '広島県', '山口県',
            '徳島県', '香川県', '愛媛県', '高知県', '福岡県', '佐賀県', '長崎県',
            '熊本県', '大分県', '宮崎県', '鹿児島県', '沖縄県');
        echo '<select name="' .$name . '">' . "\n";
        for ($i = 0; $i < count($state); $i++) {
            echo '<option value="' . $state[$i] . '"';
            if ($default == $state[$i]) {
                echo ' selected="true"';
            }
            echo '>';
            echo $state[$i];
            echo '</option>' . "\n";
        }
        echo '</select>' . "\n";
    }
    
    /**
     * コンテンツステータス SelectBoxの表示
     * @param int $contentId コンテンツId (編集のときのみセットされる)
     * @param string $default デフォルト値
     */
    static public function Manage_ContentStatus($contentId = 0, $default ='')
    {
        global $db, $Me, $config;
        //echo "Manage_ContentStatus:id={$contentId},default={$default}<br />\n";
        
        echo '<select name="status">' . "\n";
        if ($contentId >= 1) {
            $sql = "SELECT status, owner FROM Platy_Content_Base WHERE id={$contentId}";
            $row = $db->fetchRow($sql);
            $status = $row['status'];
            $owner = $row['owner'];
            $isOwner = false;
            if ($owner == $Me->id) {
                $isOwner = true;
            }
            
            if ($Me->isAllowed('Manage_Contents')) {
                switch ($status) {
                case 'private':
                    if ($default == '') { $default = 'private'; }
                    echo '<option value="public"';
                    if ($default == 'public') { echo ' selected="true"'; }
                    echo '>公開する</option>' . "\n";
                    echo '<option value="private"';
                    if ($default == 'private') { echo ' selected="true"'; }
                    echo '>下書き</option>' . "\n";
                    break;
                case 'pending':
                    if ($default == '') { $default = 'pending'; }
                    echo '<option value="public"';
                    if ($default == 'public') { echo ' selected="true"'; }
                    echo '>公開する</option>' . "\n";
                    echo '<option value="pending"';
                    if ($default == 'pending') { echo ' selected="true"'; }
                    echo '>保留</option>' . "\n";
                    echo '<option value="private"';
                    if ($default == 'private') { echo ' selected="true"'; }
                    echo '>却下する</option>' . "\n";
                    break;
                case 'public':
                    if ($default == '') { $default = 'public'; }
                    echo '<option value="public"';
                    if ($default == 'public') { echo ' selected="true"'; }
                    echo '>公開</option>' . "\n";
                    echo '<option value="private"';
                    if ($default == 'private') { echo ' selected="true"'; }
                    echo '>却下する</option>' . "\n";
                    break;
                }
            }
            else if ($Me->isAllowed('Approve_Contents')) {
                switch ($status) {
                case 'pending':
                    if ($default == '') { $default = 'pending'; }
                    echo '<option value="public"';
                    if ($default == 'public') { echo ' selected="true"'; }
                    echo '>公開する</option>' . "\n";
                    echo '<option value="pending"';
                    if ($default == 'pending') { echo ' selected="true"'; }
                    echo '>保留</option>' . "\n";
                    echo '<option value="private"';
                    if ($default == 'private') { echo ' selected="true"'; }
                    echo '>却下する</option>' . "\n";
                    break;
                case 'public':
                    if ($default == '') { $default = 'public'; }
                    echo '<option value="public"';
                    if ($default == 'public') { echo ' selected="true"'; }
                    echo '>公開</option>' . "\n";
                    echo '<option value="private"';
                    if ($default == 'private') { echo ' selected="true"'; }
                    echo '>却下する</option>' . "\n";
                    break;
                }
            }
            else if ($isOwner == true) {
                switch ($status) {
                case 'private':
                    if ($default == '') { $default = 'private'; }
                    echo '<option value="pending"';
                    if ($default == 'pending') { echo ' selected="true"'; }
                    echo '>提出する</option>' . "\n";
                    echo '<option value="private"';
                    if ($default == 'private') { echo ' selected="true"'; }
                    echo '>下書き</option>' . "\n";
                    break;
                case 'pending':
                    if ($default == '') { $default = 'pending'; }
                    echo '<option value="pending"';
                    if ($default == 'pending') { echo ' selected="true"'; }
                    echo '>保留</option>' . "\n";
                    echo '<option value="private"';
                    if ($default == 'private') { echo ' selected="true"'; }
                    echo '>下書きに戻す</option>' . "\n";
                    break;
                }
            }
        }
        else {
            // 新規
            if ($Me->isAllowed('Manage_Contents')) {
                if ($default == '') { $default = 'public'; }
                echo '<option value="public"';
                if ($default == 'public') { echo ' selected="true"'; }
                echo '>公開</option>' . "\n";
                echo '<option value="private"';
                if ($default == 'private') { echo ' selected="true"'; }
                echo '>下書き</option>' . "\n";
            }
            else if ($Me->isAllowed('Create_Contents')) {
                if ($default == '') { $default = 'private'; }
                echo '<option value="pending"';
                if ($default == 'pending') { echo ' selected="true"'; }
                echo '>提出する</option>' . "\n";
                echo '<option value="private"';
                if ($default == 'private') { echo ' selected="true"'; }
                echo '>下書き</option>' . "\n";
            }
        }
        echo '</form>' . "\n";
    }
}
?>