function createAdmin()
 {
     $db = new CTextDB(PLUGIN_MOVIEVIEWER_COMMU_DIR . "/data/admin.txt");
     $result = $db->select('$id==\'1\'');
     $id = $result[0]['value'];
     $result = $db->select('$id==\'2\'');
     $hashedPassword = $result[0]['value'];
     $object = new MovieViewerCommuAdmin();
     $object->id = $id;
     $object->firstName = "Admin";
     $object->lastName = "Commu";
     $object->hashedPassword = $hashedPassword;
     return $object;
 }
示例#2
0
文件: html.php 项目: big2men/qhm
function edit_form($page, $postdata, $digest = FALSE, $b_template = TRUE)
{
    global $script, $vars, $rows, $cols, $hr, $function_freeze;
    global $_btn_preview, $_btn_repreview, $_btn_update, $_btn_cancel, $_msg_help;
    global $whatsnew, $_btn_template, $_btn_load, $load_template_func;
    global $notimeupdate;
    global $qhm_access_key;
    global $qblog_defaultpage, $style_name, $date_format, $qblog_default_cat;
    $qt = get_qt();
    //accesskey setting
    $accesskey = array();
    foreach (array('r', 'p', 's', 'c') as $v) {
        $accesskey[$v] = $qhm_access_key ? 'accesskey="' . $v . '"' : '';
    }
    // Newly generate $digest or not
    if ($digest === FALSE) {
        $digest = md5(join('', get_source($page)));
    }
    $refer = $template = $headertitle = '';
    // Add plugin
    $addtag = $add_top = '';
    if (isset($vars['add'])) {
        global $_btn_addtop;
        $addtag = '<input type="hidden" name="add"    value="true" />';
        $add_top = isset($vars['add_top']) ? ' checked="checked"' : '';
        $add_top = '<input type="checkbox" name="add_top" ' . 'id="_edit_form_add_top" value="true"' . $add_top . ' />' . "\n" . '  <label for="_edit_form_add_top" class="checkbox">' . '<span class="small">' . $_btn_addtop . '</span>' . '</label>';
    }
    if ($load_template_func && $b_template) {
        $pages = array();
        foreach (get_existpages() as $_page) {
            if ($_page == $whatsnew || check_non_list($_page)) {
                continue;
            }
            $s_page = htmlspecialchars($_page);
            $pages[$_page] = '   <option value="' . $s_page . '">' . $s_page . '</option>';
        }
        ksort($pages);
        $s_pages = join("\n", $pages);
        $template = <<<EOD
  <select name="template_page">
   <option value="">-- {$_btn_template} --</option>
{$s_pages}
  </select>
  <input type="submit" name="template" value="{$_btn_load}" {$accesskey['r']} />
  <br />
EOD;
    }
    //新規作成の場合、ページ名を大見出しとして挿入する
    if (isset($vars['refer']) && $vars['refer'] != '') {
        $headertitle = "\n\n" . '* ' . strip_bracket($page) . "\n\n";
    }
    $r_page = rawurlencode($page);
    $s_page = htmlspecialchars($page);
    $s_digest = htmlspecialchars($digest);
    $s_postdata = htmlspecialchars($refer . $headertitle . $postdata);
    $s_original = isset($vars['original']) ? htmlspecialchars($vars['original']) : $s_postdata;
    $b_preview = isset($vars['preview']);
    // TRUE when preview
    $btn_preview = $b_preview ? $_btn_repreview : $_btn_preview;
    // Checkbox 'do not change timestamp'
    $add_notimestamp = '';
    if ($notimeupdate != 0) {
        global $_btn_notchangetimestamp;
        $checked_time = isset($vars['notimestamp']) ? ' checked="checked"' : '';
        // Only for administrator
        if ($notimeupdate == 2) {
            $add_notimestamp = '   ' . '<input type="password" name="pass" size="12" />' . "\n";
        }
        $add_notimestamp = '<label for="_edit_form_notimestamp" class="checkbox"><input type="checkbox" name="notimestamp" ' . 'id="_edit_form_notimestamp" value="true"' . $checked_time . ' tabindex="9" />' . "\n" . '   ' . '<span class="small">' . $_btn_notchangetimestamp . '</span></label>' . "\n" . $add_notimestamp . '&nbsp;';
    }
    $buttons_align = 'left';
    $blog_cancel_button = 'right';
    if (is_bootstrap_skin()) {
        $buttons_align = 'right';
        $blog_cancel_button = 'left';
    } else {
        //Bootstrap の読み込み
        $include_bs = '
<link rel="stylesheet" href="skin/bootstrap/css/bootstrap-custom.min.css" />
<script type="text/javascript" src="skin/bootstrap/js/bootstrap.min.js"></script>';
        $qt->appendv_once('include_bootstrap_pub', 'beforescript', $include_bs);
    }
    // !ブログ用編集フォーム
    if ($page !== $qblog_defaultpage && is_qblog()) {
        //メタデータを取得
        $data = get_qblog_post_data($page);
        $data['title'] = isset($vars['title']) ? $vars['title'] : $data['title'];
        $data['category'] = isset($vars['category']) ? $vars['category'] : $data['category'];
        $data['image'] = isset($vars['image']) ? $vars['image'] : $data['image'];
        $date = get_qblog_date($date_format, $page);
        if (isset($vars['qblog_date']) && $date !== trim($vars['qblog_date'])) {
            $dates = array_pad(explode('-', $vars['qblog_date'], 3), 3, 0);
            $valid = checkdate($dates[1], $dates[2], $dates[0]);
            $date = $valid ? trim($vars['qblog_date']) : $date;
        }
        $category = isset($data['category']) && strlen(trim($data['category'])) > 0 ? $data['category'] : '';
        $qblog_categories = array_keys(get_qblog_categories());
        $qblog_cat_json = json_encode($qblog_categories);
        $h_qblog_cat_json = h(json_encode($qblog_categories));
        $qblog_cat_list = '<ul id="qblog_categories_selector" class="qblog_categories collapse">';
        foreach ($qblog_categories as $cat) {
            $qblog_cat_list .= '<li>' . h($cat) . '</li>';
        }
        $qblog_cat_list .= '</ul>';
        $h2title = '新規投稿';
        if (is_page($page)) {
            $h2title = $data['title'] . 'の編集';
        }
        $s_h2title = h($h2title);
        $s_blog_title = h($data['title']);
        $body = <<<EOD
<link rel="stylesheet" href="js/datepicker/css/datepicker.css" />
<link rel="stylesheet" href="plugin/qblog/qblog.css" />
<script src="js/datepicker/js/bootstrap-datepicker.js"></script>
<script tyle="text/javascript">
\$(function(){
\t\$('#qblog_datepicker').datepicker({
\t\tlanguage: "japanese"
//\t\tformat: "yyyy/mm/dd"
\t});
\tif (\$("input[name=category]").val().length == 0) {
\t\t\$('#qblog_cat_trigger').click();
\t}

\tif (\$('h2.title').length == 0) {
\t\t\$("#edit_form_main").before('<h2 class="title">{$s_h2title}</h2>');
\t}
\t\$('h2.title').text('{$s_h2title}');

\t\$('a.show-thumbnail').click(function(){
\t\tif (\$(this).next().is(':visible')) {
\t\t\t\$(this).next().hide();
\t\t}
\t\telse {
\t\t\t\$(this).next().show();
\t\t}
\t\treturn false;
\t});

});
</script>

<div class="qblog_edit_form">
<form action="{$script}" method="post" class="form-horizontal" id="edit_form_main">
{$template}
  {$addtag}
  <input type="hidden" name="cmd"    value="edit" />
  <input type="hidden" name="page"   value="{$s_page}" />
  <input type="hidden" name="digest" value="{$s_digest}" />
  <fieldset>
    <div class="form-group">
      <label class="control-label col-sm-2">日付</label>
      <div class="controls col-sm-10"><input type="text" name="qblog_date" id="qblog_datepicker" tabindex="1" class="datepicker form-control" size="16" value="{$date}"  data-date="{$date}"  data-date-format="yyyy-mm-dd" class="form-control" /></div>
    </div>
    <div class="form-group">
      <label class="control-label col-sm-2">タイトル</label>
      <div class="controls col-sm-10"><input type="text" name="title" value="{$s_blog_title}" tabindex="2" class="form-control" /></div>
  \t</div>
    <div class="form-group">
      <label class="control-label col-sm-2">カテゴリ</label>
      <div class="controls col-sm-10">
        <div class="input-group">
          <input type="text" name="category" value="{$category}" placeholder="{$qblog_default_cat}" tabindex="3" class="form-control" data-provide="typeahead" data-source="{$h_qblog_cat_json}" autocomplete="off" />
          <span class="input-group-btn">
            <button type="button" id="qblog_cat_trigger" class="btn btn-default qhm-btn-default" data-toggle="collapse" data-target="#qblog_categories_selector" style="color:#333">
              カテゴリ
              <span class="caret"></span>
            </button>
          </span>
        </div>
        {$qblog_cat_list}
      </div>
    </div>
      <div class="form-group">
          <label class="control-label col-sm-2">記事の内容</label>
          <div class="controls col-sm-10">
              <textarea name="msg" id="msg" tabindex="4" rows="20" class="form-control">{$s_postdata}</textarea>
  \t\t</div>
  \t</div>
      <div class="form-group">
          <div class="controls col-sm-10 col-sm-offset-2">
\t  \t\t<a class="show-thumbnail" href="#">サムネイルを指定する &gt;&gt;</a>
  \t\t\t<div class="set-thumbnail">
  \t\t\t\t<small>自動で本文の画像が使われます。<br />特別に指定したい場合、画像を画像名またはURLで指定してください。</small>
                  <p style="color:#333;">画像名またはURL:<input type="text" name="image" value="{$data['image']}" tabindex="5" class="form-control" /></p>
  \t\t\t\t<p><small><span class="swfu"><a href="swfu/index_child.php">&gt;&gt;QHMのファイル管理(SWFU)を使って画像をアップする</a></span></small></p>
  \t\t\t</div>
<!--  \t\t\t<span class="swfu"><a href="swfu/index_child.php"><i class="icon-picture"></i>SWFU</a><span>
\t\t\t<p class="help-block">SWFUの画像を使う場合、画像詳細画面の<b>URL</b>をコピペしてください。</p>
-->
  \t\t</div>
  \t</div>
      <div class="form-group">
        <div class="col-sm-10 col-sm-offset-2">
          <div style="float:{$buttons_align};">
            <input type="submit" name="preview" value="{$btn_preview}" tabindex="6" class="qhm-btn-default"/>
            <input type="submit" name="write"   value="{$_btn_update}" tabindex="7" class="qhm-btn-primary"/>
        \t\t{$add_notimestamp}
            {$add_top}
        \t\t<textarea name="original" rows="1" cols="1" style="display:none">{$s_original}</textarea>
          </div>
          <div style="float:{$buttons_align};">
            <input type="submit" name="cancel" value="{$_btn_cancel}" tabindex="8" class="btn-link"/>
          </div>
      </div>
  \t</div>
  </fieldset>
</form>
</div>

EOD;
    } else {
        $body = <<<EOD

<div class="edit_form">
 <form action="{$script}" method="post" style="margin-bottom:0px;" id="edit_form_main">
{$template}
  {$addtag}
  <input type="hidden" name="cmd"    value="edit" />
  <input type="hidden" name="page"   value="{$s_page}" />
  <input type="hidden" name="digest" value="{$s_digest}" />
  <div class="form-group">
    <textarea name="msg" id="msg" rows="{$rows}" cols="{$cols}" tabindex="2" class="form-control">{$s_postdata}</textarea>
  </div>
  <div style="float:{$buttons_align};">
   <input type="submit" name="preview" value="{$btn_preview}" tabindex="4" class="qhm-btn-default"/>
   <input type="submit" name="write"   value="{$_btn_update}" tabindex="5" class="qhm-btn-primary"/>
   {$add_top}
   {$add_notimestamp}
  </div>
  <textarea name="original" rows="1" cols="1" style="display:none">{$s_original}</textarea>
 </form>
 <form action="{$script}" method="post" style="margin-top:0px;margin-left:5px;float:{$buttons_align};" id="edit_form_cancel">
  <input type="hidden" name="cmd"    value="edit" />
  <input type="hidden" name="page"   value="{$s_page}" />
  <input type="submit" name="cancel" value="{$_btn_cancel}" tabindex="6" class="btn-link"/>
 </form>
 <div style="clear:both;"></div>
</div>
EOD;
    }
    $addscript = <<<EOD
<script data-qhm-plugin="edit">
\$(function(){

  if (\$("h2.title").length == 0) {
    \$(".edit_form").before('<h2 class="title">{$s_page} の編集</h2>');
  }
  \$("h2.title").css({fontSize: "14px", marginBottom: '15px'});

  \$("#editboxlink").on("click", function(){
    if (\$(".qblog_edit_form").length) {
      QHM.scroll(".qblog_edit_form", 300);
    }
    else {
      QHM.scroll("h2.title", 300);
    }
    \$("#msg").focus();
    return false;
  });

  if (\$("#preview_body").length) {
  }
  else {
    \$(".qhm-eyecatch").hide();

    setTimeout(function(){
      \$("html, body").animate({scrollTop: \$("h2.title").offset().top}, 300);
      \$("#msg").focus();
    }, 25);
  }
});
</script>
EOD;
    $qt->appendv_once("plugin_edit_form_script", 'lastscript', $addscript);
    // List of attached files to the page by hokuken.com
    $attaches = exist_plugin_action('attach') ? attach_filelist(true) : '';
    if ($attaches !== '') {
        $body .= <<<EOD
<script type="text/javascript" src="js/yahoo.js"></script>
<script type="text/javascript" src="js/event.js"></script>
<script type="text/javascript" src="js/dom.js"></script>

<style type="text/css">
.yui-tt {
\tposition: absolute;
\tpadding: 5px;
\tbackground-color:#eee;
\tborder:1px solid #aaa;
}
</style>
<script type="text/javascript" src="js/container.js"></script>
<script type="text/javascript">
    function init() {
        var el = document.getElementById('attachlist');
        if(el != null){

\t        var list = el.getElementsByTagName('a');
\t        for( var i=0; i<list.length; i++ ) {
\t            if( list[i].getAttribute("rel") == "attachhref" ){
\t\t\t\t\tvar el = 'tooltip'+i;
\t\t\t\t\tvar url = list[i].href;
\t\t\t\t\tvar title = '<img src="'+list[i].href+'">';
\t\t\t\t\tif ( list[i].title ) title += '<br>'+list[i].innerHTML;
\t\t\t\t\tvar tp = new YAHOO.widget.Tooltip( el, { context:list[i], text: title, autodismissdelay: 7500 } );
\t\t\t\t}
\t        }

        }

        var el = document.getElementById('swfulist');
        if(el != null){
        \tvar list = el.getElementsByTagName('a');

\t        for( var i=0; i<list.length; i++ ) {
\t            if( list[i].getAttribute("rel") == "attachhref" ){
\t\t\t\t\tvar el = 'tooltip'+i;
\t\t\t\t\tvar url = list[i].getAttribute("url");
\t\t\t\t\tvar title = '<img src="'+url+'">';
\t\t\t\t\tif ( list[i].title ) title += '<br>'+list[i].innerHTML;
\t\t\t\t\tvar tp = new YAHOO.widget.Tooltip( el, { context:list[i], text: title, autodismissdelay: 7500 } );
\t\t\t\t}
\t        }
\t\t}
  }
  YAHOO.util.Event.addListener(window, "load", init);
</script>
EOD;
        $body .= '<br /><div id="attachlist" style="border: 2px dashed #666;padding:5px 10px;background-color:#eee">' . $attaches . '</div>';
    }
    $qm = get_qm();
    $helpstr = $qm->m['html']['view_help_message'];
    //list up swfu files
    if (has_swfu()) {
        require_once SWFU_TEXTSQL_PATH;
        $db = new CTextDB(SWFU_IMAGEDB_PATH);
        $imgtitle = $qm->m['html']['img_title'];
        $imgtitle2 = $qm->m['html']['img_title2'];
        $attcstr = $qm->m['html']['attach_message'];
        //! swfuの画像データを取得して表示をする
        $rs = $db->select('$page_name=="' . $page . '"', 'created desc');
        if (count($rs) > 0) {
            $body .= '<div id="swfulist" style="border:1px #aaa dashed;margin-top:10px;padding:10px;font-size:12px">';
            $body .= '<b><a href="./swfu/index_child.php?page=FrontPage&KeepThis=true&TB_iframe=true&height=450&width=650" class="thickbox">' . $attcstr . '(SWFU)</a> : </b>';
            foreach ($rs as $k => $v) {
                $path = SWFU_IMAGE_DIR . $v['name'];
                $prop = SWFU_DIR . 'view.php?id=' . $v['id'] . '&page=FrontPage&KeepThis=true&TB_iframe=true&height=450&width=650';
                $body .= '<span style="padding:2px;margin-right:5px">';
                $atitle1 = $qm->replace("html.insert_title", $v['name']);
                $atitle2 = $qm->replace("html.ar_insert_title", $v['name']);
                if (preg_match('/\\.(png|jpeg|jpg|gif)$/i', $v['name'])) {
                    $title = h($v['name']);
                    $body .= '<a href="' . $prop . '" url="' . $path . '" rel="attachhref" class="thickbox" title="' . $title . '"><img src="image/file.png" width="20" height="20" alt="file" style="border-width:0" />' . $v['name'] . '</a>';
                    $body .= <<<EOD
<a href="#" title="{$atitle1}" onclick="javascript:jQuery.clickpad.cpInsert('&show({$v['name']},,{$v['description']});'); return false;"><img src="image/ins-img.png" alt="{$imgtitle}"/></a><a href="#" title="{$atitle2}" onclick="javascript:jQuery.clickpad.cpInsert('\\n#show({$v['name']},aroundl,{$v['description']})\\n'); return false;"><img src="image/ins-img2.png" alt="{$imgtitle2}" /></a>
EOD;
                } else {
                    $body .= '<a href="' . $path . '"><img src="image/file.png" width="20" height="20" alt="file" style="border-width:0" />' . $v['name'] . '</a>';
                    $body .= <<<EOD
<a href="#" title="{$v['name']}" onclick="javascript:insert('&dlbutton({$path});'); return false;"><img src="image/ins-btn.png" alt="{$imgtitle}"/></a>
EOD;
                }
                $body .= '</span>';
            }
            $body .= '</div>';
        }
    }
    return $body;
}
示例#3
0
文件: show.inc.php 项目: big2men/qhm
/**
* 画像を添付するためのもの
*/
function plugin_show_action()
{
    global $script, $vars, $username;
    global $html_transitional;
    $qm = get_qm();
    //check auth
    $editable = edit_auth($vars['refer'], FALSE, FALSE);
    if (!$editable) {
        return array('msg' => $qm->m['plg_attachref']['title_ntc_admin'], 'body' => '<p>' . $qm->m['plg_attachref']['ntc_admin'] . '</p>');
    }
    //戻り値を初期化
    $retval['msg'] = $qm->m['plg_attachref']['title'];
    $retval['body'] = '';
    if (array_key_exists('attach_file', $_FILES) and array_key_exists('refer', $vars) and is_page($vars['refer'])) {
        $file = $_FILES['attach_file'];
        $attachname = $file['name'];
        $filename = preg_replace('/\\..+$/', '', $attachname, 1);
        //! swfuを持っていたら (管理者のみ)--------------------------------------------
        if ($editable && has_swfu()) {
            //アップロードするファイル名を決める(日本語ダメ、重複もダメ)
            $upload_name = $file['name'];
            if (preg_match('/^[-_.+a-zA-Z0-9]+$/', $upload_name)) {
                while (!$overwrite && file_exists(SWFU_IMAGE_DIR . $upload_name)) {
                    $upload_name = 's_' . $upload_name;
                }
                $upload_file = SWFU_IMAGE_DIR . $upload_name;
                $fname = $upload_name;
                $disp = $qm->m['plg_attachref']['img_desc'];
            } else {
                $matches = array();
                if (!preg_match('/[^.]+\\.(.*)$/', $upload_name, $matches)) {
                    echo 'invalid file name : ' . $upload_name;
                    exit(0);
                }
                $ext = $matches[1];
                $tmp_name = tempnam(SWFU_IMAGE_DIR, 'auto_');
                $upname = $tmp_name . '.' . $ext;
                $disp = $upload_name;
                rename($tmp_name, $upname);
                $upload_file = SWFU_IMAGE_DIR . basename($upname);
                $fname = basename($upname);
            }
            move_uploaded_file($file['tmp_name'], $upload_file);
            chmod($upload_file, 0666);
            //regist db
            $stat = stat($upload_file);
            $data = array('name' => $fname, 'description' => $disp, 'created' => $stat['mtime'], 'size' => $stat['size'], 'page_name' => $vars['refer']);
            require_once SWFU_TEXTSQL_PATH;
            $db = new CTextDB(SWFU_IMAGEDB_PATH);
            $db->insert($data);
            $retval = show_insert_ref(SWFU_IMAGE_DIR . $fname);
            return $retval;
        }
        // open qhm用 attachフォルダにファイルを置く
        //すでに存在した場合、 ファイル名に'_0','_1',...を付けて回避(姑息)
        $count = '_0';
        while (file_exists('./attach/' . encode($vars['refer']) . '_' . encode($attachname))) {
            $attachname = preg_replace('/^[^\\.]+/', $filename . $count++, $file['name']);
        }
        $file['name'] = $attachname;
        require_once PLUGIN_DIR . "attach.inc.php";
        if (!exist_plugin('attach') or !function_exists('attach_upload')) {
            return array('msg' => $qm->m['plg_attachref']['err_notfound']);
        }
        $pass = array_key_exists('pass', $vars) ? $vars['pass'] : NULL;
        $retval = attach_upload($file, $vars['refer'], $pass);
        if ($retval['result'] == TRUE) {
            $retval = show_insert_ref($file['name']);
        }
    } else {
        $retval = show_showform();
        // XHTML 1.0 Transitional
        $html_transitional = TRUE;
    }
    return $retval;
}
示例#4
0
 function del($table, $condition, $connect)
 {
     $db = new CTextDB();
     return $db->delete($condition, $table);
 }