#set_tags(mahara,mahara patch)

* 日誌提示ブロックに「編集する」リンクを表示する。 [#iebda82f]

Mahara 1.5.2〜1.5.8 で確認。1.6以降では、日誌提示ブロックに「新規エントリ」のボタンが追加されるようになった。


http://sumi.riise.hiroshima-u.ac.jp/skitch/ramen.png

** 更新記録 [#mbbf60fb]
日誌エントリの編集画面から戻るときに、日誌提示ブロックがおいていあるビューに戻るようにした。これに関連する変更は青文字で示している。(2012-10-31)

HTMLエクスポートするときに、「編集する」リンクが表示されないようにした。$exporter を参照しているあたり。(2013-04-04)

ここに書いた改修を施したファイルを固めたものを置いた (2013-04-04): &attachref(blog_edit_link_20130404_0.tgz); ~
Maharaのhtdocs (config.php があるところ)で tar zxvf blog_edit_link_20130404.tgz とすると展開できる。本家バージョンの1.5.0〜1.5.8 では、ここに書いたファイルへの変更は加えられていないので、どのバージョンでも適用できるはず。

1.8を常用するようになった。日誌提示ブロックに「新しいエントリ」が表示されるようになったが、編集モードに入らないといけないし、「エントリの編集」は相変わらずできない。ここに書いたカスタマイズの方が使いやすいので、1.8.0に変更を施した。以下に提示するtgzファイルを Mahara の htdocs (config.phpがあるところ)で tar zxvf すればOK。(2013-11-06)
- [[差分の表示>Mahara/Edit_Journal2_180]]
- 変更したファイルを纏めたもの &attachref(mahara180_blog_edit_link_20131106.tgz);


** artefact/blog/lib.php [#z851de7e]

#pre(soft){{
    631             }
    632             $smarty->assign('attachments', $attachments);
    633         }
    634         $smarty->assign('postedbyon', get_string('postedbyon', 'artefact.blog',
    635                                                  display_name($this->owner),
    636                                                  format_date($this->ctime)));
 
                &color(#ff0000){global $USER;};
                &color(#ff0000){global $exporter;};
                &color(#ff0000){$exporting = isset($exporter);};
                &color(#ff0000){$smarty->assign('viewbyowner',(!$exporting && ($USER->id==$this->owner || $USER->id==$this->author))? 1:0);};
				
                &color(#0000ff){$sv=param_integer('id',0); };
                &color(#0000ff){$smarty->assign('savepar',sprintf("&sartefact=%d&sview=%d", };
                &color(#0000ff){                          param_integer('artefact',0), };
                &color(#0000ff){                          ( ($sv>0)? $sv:param_integer('view',0)))); };

    637         return array('html' => $smarty->fetch('artefact:blog:render/blogpost_renderfull.tpl'),
    638                      'javascript' => '');
    639     }
}}

#pre(soft){{
    691         $data = get_records_sql_assoc('
    692             SELECT
    693                 a.id, a.title, a.description, a.author, a.authorname, ' .
    694                 db_format_tsfield('a.ctime', 'ctime') . ', ' . db_format_tsfield('a.mtime', 'mtime') . '    694 ,
    695                 a.locked, bp.published, a.allowcomments&color(#ff0000){, a.parent}; ' . $from . '
    696             ORDER BY bp.published ASC, a.ctime DESC',
    697             array($id),
    698             $offset, $limit
    699         );
}}


#pre(soft){{
    749             // Ensure images in the post have the right viewid associated with them
    750             if (!empty($viewoptions['viewid'])) {
    751                 safe_require('artefact', 'file');
    752                 $post->description = ArtefactTypeFolder::append_view_url($post->description, $viewoptions['viewid']);
    753             }
	            &color(#ff0000){global $USER;};
	            &color(#ff0000){global $exporter;};
	            &color(#ff0000){$exporting = isset($exporter);};
	            &color(#ff0000){$post->viewbyowner=( (!$exporting && ($post->owner==$USER->id || $post->author==$USER->id))? 1:0); };
	            &color(#0000ff){$sv=param_integer('id',0); };
	            &color(#0000ff){$post->savepar = sprintf("&sartefact=%d&sview=%d", };
	            &color(#0000ff){                     param_integer('artefact',0), };
	            &color(#0000ff){                     ( ($sv>0)? $sv:param_integer('view',0))); };
    754         }
}}


** artefact/blog/post.php [#h56ceac0]
#pre(soft){{
     37 safe_require('artefact', 'blog');
     38 safe_require('artefact', 'file');

 &color(#0000ff){       function wayback_url ($blog,$sview,$sartefact) {};
 &color(#0000ff){         if  ( $sview==0 ) { };
 &color(#0000ff){            return 'artefact/blog/view/index.php?id='.$blog; };
 &color(#0000ff){          } elseif ( $sartefact==0 ) { };
 &color(#0000ff){           return 'view/view.php?id=' . $sview; };
 &color(#0000ff){         } else { };
 &color(#0000ff){           return 'view/artefact.php?artefact='. $sartefact.'&view=' . $sview; };
 &color(#0000ff){         } };
 &color(#0000ff){       } };
}}

#pre(soft){{
     85 }
     86 

     &color(#0000ff){      $sview = param_integer('sview',0); };
     &color(#0000ff){      $sartefact = param_integer('sartefact',0); };

     87 
     88 $form = pieform(array(
     89     'name'               => 'editpost',
}}

#pre(soft){{
    168         'submitpost' => array(
    169             'type' => 'submitcancel',
    170             'value' => array(get_string('savepost', 'artefact.blog'), get_string('cancel')),
    171             &color(#0000ff){%%'goto' => get_config('wwwroot') . 'artefact/blog/view/index.php?id=' . $blog%%};
                    &color(#0000ff){'goto' => get_config('wwwroot') . wayback_url($blog,$sview,$sartefact)};,
    172         )
}}

#pre(soft){{
    316     db_commit();
    317 
            &color(#0000ff){global $sview,$sartefact;};
			
    318     $result = array(
    319         'error'   => false,
    320         'message' => get_string('blogpostsaved', 'artefact.blog'),
    321         &color(#0000ff){%%'goto'    => get_config('wwwroot') . 'artefact/blog/view/index.php?id=' . $blog,%%};
                &color(#0000ff){'goto' => get_config('wwwroot') . wayback_url($blog,$sview,$sartefact)};,
    322     );
}}

** artefact/blog/theme/raw/viewposts.tpl [#u90cd574]

#pre(soft){{
     26     {if $options.viewid && $post->allowcomments} | <a href="{$WWWROOT}view/artefa
     26 ct.php?artefact={$post->id}&view={$options.viewid}">{str tag=Comments section=art
     26 efact.comment} ({$post->commentcount})</a>{/if}&color(#ff0000){%%</div>%%};

            &color(#ff0000){{if $post->viewbyowner} };
              | <a href="{$WWWROOT}artefact/blog/post.php?id={$post->id}&color(#0000ff){{$post->savepar}"> };
            &color(#ff0000){     {str tag=editblogpost section=artefact.blog}</a> };
              | <a href="{$WWWROOT}artefact/blog/post.php?blog={$post->parent}&color(#0000ff){{$post->savepar}"> };
            &color(#ff0000){     {str tag=addpost section=artefact.blog}</a> };
            &color(#ff0000){{/if}</div>	 };

     27   </td>
}}

** artefact/blog/theme/raw/render/blogpost_renderfull.tpl [#b106b749]

#pre(soft){{
     23     {if isset($commentcount) && $artefact->get('allowcomments')} | <a href="{$art
     23 efacturl}">{str tag=Comments section=artefact.comment} ({$commentcount})</a>{/if}
 
            &color(#ff0000){{if $viewbyowner} };
              | <a href="{$WWWROOT}artefact/blog/post.php?id={$artefact->get('id')}&color(#0000ff){{$savepar}"> };
            &color(#ff0000){     {str tag=editblogpost section=artefact.blog}</a> };
            &color(#ff0000){{/if} };
      
     24   </div>
}}

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS