aka) Author: Christian Davén Version: 2.0 Author URI: http://www.daven.se/usefulstuff/ */ # adds an options page to the options menu function SUP_add_options_page() { if(function_exists("add_options_page")) add_options_page("Smart Update Pinger", "Smart Update Pinger", 5, basename(__FILE__), "SUP_show_options_page"); } # shows the options page function SUP_show_options_page() { $ping = get_option("SUP_ping"); $uris = get_option("ping_sites"); $pingservicesnow = "今すぐ ping を送信!"; if(isset($_POST["ping"]) && $_POST["ping"] == $pingservicesnow) { SUP_log("手動で ping を送信中 ..."); SUP_ping_services(); } elseif(isset($_POST["submit"])) { $uris = $_POST["uris"]; $ping = 0; if($_POST["ping"] == 1) $ping = 1; update_option("SUP_ping", $ping); update_option("ping_sites", $uris); echo '

設定を保存しました.

'; } $checked = ''; if($ping == 1) $checked = 'checked="checked"'; echo '

ping 送信先のサーバ

以下に登録されている ping サーバへは記事を投稿する際,自動的に ping 送信や更新通知がなされます。WordPress が通常行うような,以前書いた記事の編集時ではありません

注意: このリストは オリジナルのアップデートサービスリストと同期します。.

複数サーバを登録する際は改行で URI を分けて下さい

Ping 送信ログ

このプラグインのログです(下に行くほど新しいログです)

'.SUP_get_last_log_entries(20).'

'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id) { global $wpdb, $post_title; if(get_option('SUP_ping') == 1 and get_option('ping_sites') != "") { # fetches data directly from database; the function "get_post" is cached, # and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( "SELECT post_date,post_modified FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, # otherwise the author has edited/modified it if($row["post_date"] == $row["post_modified"]) { if($post_title) SUP_log("Pinging services (new post: “".$post_title."”) ..."); else SUP_log("Pinging services (新規の記事の投稿) ..."); SUP_ping_services(); # Try commenting the line above, and uncommenting this line below # if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } else { if($post_title) SUP_log("NOT pinging services (“".$post_title."” の設定が変更されました)"); else SUP_log("NOT pinging services (記事が編集されました)"); } } else SUP_log("NOT pinging services (管理者が ping 送信を無効にしています)"); } # More or less a copy of WP's "generic_ping" from functions.php, # but uses another function to send the actual XML-RPC messages. function SUP_ping_services() { $services = get_settings('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) SUP_send_xmlrpc($service); } } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($server = '', $path = '') { global $wp_version; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url", # but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url. if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) { SUP_log("- ".$server." への ping 送信が成功しました (拡張フォーマット)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." への ping 送信が成功しました"); } else { SUP_log("- ".$server." への ping 送信が失敗しました。 以下のエラーメッセージが返されました: “".$client->error->message."”"); } } } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title) { global $post_title; $post_title = $title; return $title; } # ----- # Log stuff $logfile = ABSPATH."wp-content/plugins/smart-update-pinger/smart-update-pinger.log"; # for debugging function SUP_log($line) { global $logfile; $fh = @fopen($logfile, "a"); @fwrite($fh, strftime("%D %T")."\t$line\n"); @fclose($fh); } function SUP_get_last_log_entries($num) { global $logfile; $lines = @file($logfile); if($lines === false) return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin."; else { $lines = array_slice($lines, count($lines) - $num); $msg = ""; foreach($lines as $line) $msg .= trim($line)."
"; return $msg; } } # ----- # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # adds some hooks # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet # (before the user has changed the settings the first time) if(get_option("SUP_ping") === false) { update_option("SUP_ping", 1); } ?> 何だこれ!?脱帽するほどの斬新なアイデア
このサイトはJavaScriptがオンになっていないと正常に表示されません

何だこれ!?脱帽するほどの斬新なアイデア

アーカイブ:2012年04月28日  カテゴリーアイデア集  タグ  タグ:この記事は5分程で読めます。

今日は土曜日ですので、軽めの記事を書こうと思います。

すばらしいアイデアやすばらしいデザインに触れることはクリエイターとして大事なことです。私達は物を作り出す仕事をしているので、ひらめきを大切にしなければなりません。
ひらめきを生むには、普段から多くの情報に触れる必要があります。それも偏った情報ではなく、多岐にわたった様々な情報に触れるほうが、よりすばらしいひらめきを生み出す可能性が高まります。それがどんなにくだらない情報であっても、ひらめきに変わる可能性があるんです!

そこで今回、私が「これは脱帽するほどの斬新なアイデアだ!」と思えた物を紹介いたします。
【脱帽するほど】なんて立派なタイトルをつけてしまいましたが、内容はだいぶ軽いものです。だいたい私は帽子が嫌いなんで脱帽する帽子を持っていません。時間にゆとりがあれば、箸休め的な感覚で読んでもらえればよろしいかと思います。

なんだこれ?何なんだこの斬新なアイデアは!?

ドアノブが2つ?

イメージ

このドアノブを思いついた人は潔癖症だったんですかね?以前私は、居酒屋のトイレで、洗いっぱなしの濡れたままの手でドアノブに手をかけたおじさんに「こら!そこの酔っ払い!手は拭いてから出て行け!」と心の中で叫んだことがあります。

バタースティック

イメージ

パンにはマーガリンですか? 私はマーガリンを買わないので、バターを塗るんですが、これが結構大変なんです。
マーガリンと違ってバターって硬いでしょ?だから溶けるのが遅くて、なかなか塗れないんです。無理やり塗ろうとすると、バターが硬いあまり、焼きたての食パンだと穴が空いてしまいます。だけどこの商品なら簡単にバターが塗れそうです!日本だとマーガリンを使う人が多いと思うので、なかなか伝わらないかもしれませんが。
それと、これ何かに似てますよね?

カッコいい停留所

イメージ

これ、バス停なんですって。確かドバイだったか、バリだったか。どこだったか。。。まぁどっかのバス停です。もしドバイにあるなら、砂嵐対策ですかね?カッコいいです!

気持ちだけはスイスイ

イメージ

エスカレーター風の階段です。斬新なアイデアというよりは、手抜き感がありますが、私はこういうくだらない感じが好きです。でもなぜ、エスカレーター風にしたんだろうか。

つま先だけは守りたい!

イメージ

これは冗談なのか、本当に製品化して売り出しているのか分からないんですが、これって需要あるんですか? こうまでしてつま先って守るものですか? それとも靴全体を守りたいのか? 私がこんな靴を履く羽目になったら、つま先じゃなくて顔を隠しますよ。

メタボ解消ベルト

イメージ

男性は別にして、女性はサイズに関することを隠したがりますよね?あれ、何でですか?太ってないけど、目標に達していないから隠すんですか?
これを会社内で義務化したら、すっごくメタボの人減るだろうな~。最近何でも「見える化」させるの流行ってますし!でもセクハラですよね?それにプライバシーの侵害だ

鉛筆本棚

イメージ

鉛筆で作った本棚です。鉛筆を規則正しく並べています。このように繰り返すことはデザインにおいて大変大切な要素の1つです。やっとまともなアイデアの画像が紹介できました。

俺が押さえておくからさ!

イメージ

これもっている人いますか?私は以前持っていました。デスクの上に無造作においてあったんですが、カップラーメンを食べる時は立派に役割を果たしてくれていました。この商品は、押えて置くという機能がすばらしいというより、デザインが優れていると思います。デスクの上に転がしておけるデザインにしたこのデザイナーさんに脱帽です!おっ!ここにきてやっと帽子が脱げたぞ!

収納ベッド

イメージ

これはベッドに収納される本棚というべきか、本棚に収納できるベッドというべきなのか分かりませんが、とにかく本棚とベッドです。
何でこんなものが思い浮かんだのかさっぱり分かりません。これを考え付いた人が普段どんなものを見ているのかが気になります。

緑を使う認識

イメージ

この商品には感動しました。健気です。紙タオルを使っていくと、どんどん南アメリカ大陸から緑が減っていく仕組みになっています。こんな風にさりげなく人の意識に働きかける商品って、アイデアとして思い浮かぶまでにとても時間がかかる事が多いと思います。こういう商品って見てくれない人は全然見てくれないんですが、見てくれる人にはちゃんと伝わります。健気に環境問題を訴えている感じがたまりません。大変ユニークですばらしいと思います。

まとめ

いかがでしたか? くだらなかったですか?そうですね。でも最後まで見ていただけてうれしいです。これよりくだらない写真もいっぱいあったんですが、念のためやめておきました。
どんなにくだらなくとも、ひらめきを与えてくれる可能性があるのは確かです。この記事が皆さんのひらめきに少しでも働きかけてくれたなら幸いです。

では、この辺で!


関連記事
この記事へのコメント
現在、この記事へのコメントはありません。
コメントをどうぞ

名前:(必須)

メールアドレス: (公開されません) (必須)

コメント本文:

この記事へのトラックバックとピンバック
現在、この記事へのトラックバックはありません。
トラックバックURL