wordpressと自社開発のグループウェアをフィックス

以前から社内グループウェア(開発中)を使ってましたが
wordpressダッシュボードと自社開発のグループウェアをフィックスさせようということで
今回作業を行いました。

wp-admin/includes/dashboard.phpにて

☆dashuboard.php

//////////////////////////////////////////////

/* ダッシュボードウィジェットをつくる①

—————————————- */

function my_dashboard_test() {

?>

<iframe src=”http://sys-guard.com/businessControl/todo/index.php” width=”100%” height=”800px”>この部分はインラインフレームを使用しています。</iframe>

<?php

}

function my_dashboard_test_setup() {

wp_add_dashboard_widget(‘my_dashboard_test’,__(‘業務リストTODO’),’my_dashboard_test’);

}

add_action(‘wp_dashboard_setup’,’my_dashboard_test_setup’);

//////////////////////////////////////////////////////

/* ダッシュボードウィジェットをつくる②

—————————————- */

echo ‘<div id =”normal-sortables” class=”meta-box-sortables”>’ ;
function example_dashboard_widget_function() {
echo file_get_contents(‘http://sys-guard.com/contents/wp-admin/includes/businessControl/todo/index.php’);
}
function example_add_dashboard_widgets() {
wp_add_dashboard_widget(‘example_dashboard_widget’, ‘業務リストTODO’, ‘example_dashboard_widget_function’);

}
add_action(‘wp_dashboard_setup’, ‘example_add_dashboard_widgets’ );
echo ‘</div>’;

///////////////////////////////////////////////////////
ダッシュボードにウィジェットを追加する方法は2通りできました。

①は<iframe src=”URL”></iframe>で呼び出し
②はecho file_get_contents(‘URL’);関数でファイルをゲットして呼び出してきます。

結果として①のほうが処理が早かったので①を採用しました。
②は①に比べ処理が重く、①はページ遷移をiframe内で行ってくれてスマートな処理です。<iframe>便利ですー!

///////////////////////////////////////////////////////

RSSウィジェットをつくる。

simple_load_file()関数を使う
->item as $item
$x[‘link’] = (string)$item->link;
$x[‘title’] = (string)$item->title;

などはSimpleXMLElementオブジェクト

//////////////////////////////////
以下実際のコード
//////////////////////////////////

add_action(‘wp_dashboard_setup’, ‘my_custom_dashboard_widgets’);
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget(‘custom_help_widget’, ‘スタッフ外部ブログ’, ‘dashboard_text’);

}

function dashboard_text() {
//フィード取得

$rss_1 = simplexml_load_file(“http://feedblog.ameba.jp/rss/ameblo/amebloID/rss20.xml”);
$rss_2 = simplexml_load_file(“http://feedblog.ameba.jp/rss/ameblo/yuu-sys-guard/rss20.xml”);
$rss_3 = simplexml_load_file(“http://feedblog.ameba.jp/rss/ameblo/amebloID/rss20.xml”);

echo “ほげほげ社員<hr>”;
$i = 0; foreach ($rss_1->channel->item as $item) {
if( $i++ == 5 ) { break; }
$link = $item->link;
$title = $item->title;
$date = date(‘Y.m.d’, strtotime($item->pubDate));
if(substr($title, 0, 2) != “PR”){ echo $date.'<a href=”‘ . $link . ‘” target=”_blank”>’ . $title . ‘</a></br>’;}

}

echo “優社員<hr>”;
$i = 0; foreach ($rss_2->channel->item as $item) {
if( $i++ == 5 ) { break; }
$link = $item->link;
$title = $item->title;
$date = date(‘Y.m.d’, strtotime($item->pubDate));
if(substr($title, 0, 2) != “PR”){ echo $date.'<a href=”‘ . $link . ‘” target=”_blank”>’ . $title . ‘</a></br>’;}
}

echo “げふんげふん社員<hr>”;
$i = 0; foreach ($rss_3->channel->item as $item) {
if( $i++ == 5 ) { break; }
$link = $item->link;
$title = $item->title;
$date = date(‘Y.m.d’, strtotime($item->pubDate));
if(substr($title, 0, 2) != “PR”){ echo $date.'<a href=”‘ . $link . ‘” target=”_blank”>’ . $title . ‘</a></br>’;}
}

}

//上記のように繰り返しで増やせます。
//////////////////////////////////////////

group

じゃじゃーん☆

twitterの場合

$xml=simplexml_load_file(‘https://api.twitter.com/1/statuses/user_timeline/twitterID.xml?count=5&include_rts=1callback=?’);
$i= 0;
foreach($xml ->status as $item){
if(++$i>4) break;
$text = (string)$item->text;
$id = (string)$item->id;
$text = mb_strimwidth($text,0,48);
print (“<p><a href=https://twitter.com/twitterID/status/”.$id.”>”.$text.” …</a></p>”);

}

仕様変更でsimplexml_load_fileで取得できなくなるようです。
その都度対応していく感じですね。

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG