Posts tagged cli

GoogleMap 特定のキーワードで表示させる

1

Google AJAX Search API を使用してキーワードや住所から自分のサイトに Google Map を表示させるメモ

Google AJAX Search API KEY と Google Map API KEY を指定して JavaScript を読み込む

<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=Google AJAX Search API KEY" type="text/javascript"></script>
<script src="http://maps.google.com/maps?file=api&v=2.x&key=Google Map API KEY" type="text/javascript"></script>

実際の表示部分。 q=キーワードで表示させる地図のキーワード(または住所)を指定する。

<script type="text/javascript">
<!--
var gls;
var gMap;

function OnLocalSearch() {
    if (!gls.results) return;
    var first = gls.results[0];
    var point = new GLatLng(parseFloat(first.lat), parseFloat(first.lng));
    var zoom = 15;
    gMap.addControl(new GSmallMapControl());
    gMap.addControl(new GMapTypeControl());
    gMap.setMapType(G_MAP_TYPE);
    gMap.setCenter(point, zoom);
    var marker = new GMarker(point);
    gMap.addOverlay(marker);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(html);
    });
}

function load() {
    gMap = new GMap2(document.getElementById("map"));
    gMap.addControl(new GSmallMapControl());
    gMap.addControl(new GMapTypeControl());
    gMap.setCenter(new GLatLng(0, 0));
    gls = new GlocalSearch();
    gls.setCenterPoint(gMap);
    gls.setSearchCompleteCallback(null, OnLocalSearch);
    var q = "横浜ランドマークタワー";
    gls.execute(q);
}
//-->
</script>

<body onLoad="load()">
<div id="map" style="width: 410px; height: 320px"></div>
</body>

各 API KEY の取得は下記ページから
Sign-up for an AJAX Search API Key – Google AJAX Search API – Google Code
Sign Up for the Google Maps API – Google Maps API – Google Code

シェルから CLI版 PHP を実行した場合の返り値

0

シェルから PHP を実行してその結果を元にシェルで処理をしたいので、PHP からシェルに値を戻す方法を調べた。
exit で引数を指定できるのを知らなかったのでメモ。

●参考PHPマニュアル
PHP: exit – Manual

正常終了の場合
exit(0);
異常終了の場合
exit(1);
とすれば

/usr/bin/php hoge.php
if [ $? -ne "0" ]; then
    異常終了時の処理
else
    正常終了時の処理
fi

と “$?” で php からの返り値をチェックしてその後の処理の分岐に使用できます。

CakePHP 入力フォームで確認画面を表示する方法

2

フォームを入力後、すぐに保存ではなく一度確認画面を表示させたい場合のやり方。

こちらに詳しいやり方が書いてあります。
http://www12.atwiki.jp/nezox/pages/6.html

ポイントは

  • 入力フォームで
    <input type="hidden" name="mode" value="confirm">

    とする。

  • コントローラの add アクションでバリデーションチェック後に
     if (@$_POST["mode"]=="confirm") {
        // 確認画面を表示する
        $this->render('confirm');
    } else {
        // 保存処理
        if ($this->User->save($this->data)) {
            $this->flash('Your post has been saved.', '/users');
        }
    }
  • 確認画面の view を confirm.thtml を作成
     <h1>確認画面</h1>
    <form action="<?php echo $html->url('/users/add'); ?>" method="post">
    ログインID:
    <?php echo $html->tagValue('Users/login_id'); ?
    <?php echo $html->hidden('Users/login_id', array('value'=>$html->tagValue('Users/login_id'))); ?>
    <input type="button" value="戻る" onclick="history.back();">
    <input type="submit" value="新規登録">
    </form>
Go to Top