Ver.1.24:アルバム画像表示時間改善?

MyHome Portal Ver.1.24を リリースしました。
http://ok2nd.web.fc2.com/download.html

アルバムで、画像データをimagecopyresampled()でリサイズしていたが、非常に時間がかかるのでリサイズ処理を行わない方法に変更。
スポンサーサイト

はてなブックマークに追加 はてなブックマーク - Ver.1.24:アルバム画像表示時間改善?

theme : PHP
genre : コンピュータ

MyHome Portal 使用のJavaScripライブラリ

MyHome Portal で使っているJavaScriptライブラリ一覧を、
「中級プログラマの自宅でPHP」の「MyHome Portal」動作環境ページに整理しました。

<使用スクリプト/ライブラリ>
http://ok2nd.web.fc2.com/requirements.html

はてなブックマークに追加 はてなブックマーク - MyHome Portal 使用のJavaScripライブラリ

theme : JavaScript
genre : コンピュータ

Ver.1.23:HTMLテーブルCSSスタイル シミュレーション

MyHome Portal Ver.1.23を リリースしました。
http://ok2nd.web.fc2.com/download.html

「ツール」に「HTML テーブル CSSスタイル シミュレーション」を追加。
使いそうなテーブルレイアウト複数パターンのbackground-colorやborder-widthなどを一括変更してレイアウトイメージを確認できます。
JavaScript+jQueryを使っています。

HTML生成はphpで行っていますが、シミュレーション部分はJavaScriptで行っていますので、インターネット上でも利用できるように、拡張子htmlにして、以下に置きました。
http://ok2nd.web.fc2.com/tools/table-layout.html

123-1.jpg
123-2.jpg

はてなブックマークに追加 はてなブックマーク - Ver.1.23:HTMLテーブルCSSスタイル シミュレーション

theme : JavaScript
genre : コンピュータ

Ver.1.22:未入力チェックをJavaScriptで警告ダイアログ

MyHome Portal Ver.1.22を リリースしました。
http://ok2nd.web.fc2.com/download.html
  • 入力フォームの件名未入力チェックをJavaScriptで行い警告ダイアログを表示するようにしました。
    (修正コンテンツ:カレンダー、メモ、ID管理、利用ガイド)

  • 追加スクリプトは以下です。
    <script language="JavaScript">
    <!--
    function formCheck(form) {
    if (form.c_subject.value == '') {
    window.alert('件名を入れてください。');
    return false; // 送信を中止
    }
    return true; // 送信を実行
    }
    -->
    </script>
    <form ... onSubmit="return formCheck(this)">

    はてなブックマークに追加 はてなブックマーク - Ver.1.22:未入力チェックをJavaScriptで警告ダイアログ

    theme : JavaScript
    genre : コンピュータ

    デバッグ用SQL表示サンプル

    MyHome Portalでは、あまり複雑なSQL文を使っていません。

    MyHome Portalで使っている一番複雑なSQL文をデバッグ用SQL表示機能でプリントしたサンプルは以下です。

    これは、「ユーザ一覧」で実行しているSQLです。

    select m_account.*, left(r_permit_type_1.c_permit_type,2) as public_permit_from, left(r_permit_type_2.c_permit_type,2) as public_permit_to, left(r_permit_type_3.c_permit_type,2) as friends_permit
    from (
    select *
    from m_public
    where (m_public.id_account = '10001')
    and m_public.c_delete = 0) t2
    left outer join r_permit_type r_permit_type_2
    on t2.id_permit_type = r_permit_type_2.id_permit_type
    right outer join m_account
    left outer join (
    select *
    from m_public
    where (m_public.id_permit_id = '10001')
    and m_public.c_delete = 0) t1
    left outer join r_permit_type r_permit_type_1
    on t1.id_permit_type = r_permit_type_1.id_permit_type
    on m_account.id_account = t1.id_account
    on t2.id_permit_id = m_account.id_account
    left outer join (
    select *
    from v_friends
    where (v_friends.id_account = '10001')
    and v_friends.c_delete = 0) t3
    left outer join r_permit_type r_permit_type_3
    on t3.id_permit_type = r_permit_type_3.id_permit_type
    on m_account.id_account = t3.id_member_id
    where (m_account.c_delete = 0) order by id_account asc

    はてなブックマークに追加 はてなブックマーク - デバッグ用SQL表示サンプル

    theme : MySQL
    genre : コンピュータ

    Ver.1.21:デバッグ用SQL表示機能修正

    MyHome Portal Ver.1.21を リリースしました。
    http://ok2nd.web.fc2.com/download.html

  • 一覧形式ページでurl引数にdebug=yを付けるとSQL文を表示するようにしているが、そのSQLを少しだけ整形して表示するようにした。

  • 合わせて、このデバッグ用SQL表示のロジック変更をした。
    【修正前】
    include-common-mp-list.php内の、mp_list_sql_add_create、mp_list_sql_createで、$_SESSION['debug'] == "y"の時にerror_msgでSQLを表示していた。
    【修正後】
    error_msgの代わりに、整形表示用sql_printを作成。
    include-common-all.php内に、my_mysql_query_debug_printという関数を新たに作成し、mp_list_view、mp_list_editで、my_mysql_queryの代わりにこれをコールするようにした。
    定義ファイルの_DEBUG_ERROR_MSGが"YES"の時のみ、この機能が有効なように仕様変更。

    function my_mysql_query_debug_print($sql, $err_msg="", $con_link=NULL, $html=False) {
    if (_DEBUG_ERROR_MSG == "YES" and $_SESSION['debug'] == "y") {
    sql_print ($sql);
    }
    return my_mysql_query($sql, $err_msg, $con_link, $html);
    }

  • デバッグモードをOFFにする場合は、url引数にdebug=nを付けてください。

  • はてなブックマークに追加 はてなブックマーク - Ver.1.21:デバッグ用SQL表示機能修正

    theme : MySQL
    genre : コンピュータ

    Ver.1.20:ID管理ページのレイアウト修正

    MyHome Portal Ver.1.20を リリースしました。
    http://ok2nd.web.fc2.com/download.html

  • 「ID管理」表示ページのID、パスワード表示欄のレイアウトを少しだけ修正。
    項目名と値表示ボックスの上下位置がアンバランスだったのを補正。
    Google Chromeでは改行されて2段表示になってしまってた問題を解消。

  • ReadMe-original.txt.phpに、「初期アカウント登録」と「サンプルデータ削除方法」を追加。
    【初期アカウント登録方法】
    サンプルデータを利用して一括修正する方法が簡単です。
    1.サンプルデータの管理者アカウント「tarou」でログインします。
    2.右上メニュー「ユーザ一覧」を開き、「一括修正/追加/削除」を開きます。
    3.サンプルデータのアカウント、ハンドル、パスワードを利用環境のユーザに合わせて修正します。
    権限に「admin」と入れるとシステム管理者になります。
    【サンプルデータ削除方法】
    サンプルデータを削除する方法です。
    <カレンダからサンプルのスケジュールデータを削除>
    mysql -u myhome -ppass123
    use _db_calendar;
    truncate table m_schedule;
    exit


  • 120.jpg

    はてなブックマークに追加 はてなブックマーク - Ver.1.20:ID管理ページのレイアウト修正

    オブジェクト指向を隠蔽

    myHome Portalの携帯端末スケジュール表示では、携帯用アプリの開発ツールキットHAWHAWを利用しています。
    HAWHAWは、オブジェクト指向を使ったクラス・ライブラリーとして作成されています。

    myHome Portalの携帯端末スケジュール表示のメインソース(_mobile/calendar/index.php)からは、あえてHAWHAWコールのオブジェクト指向的プログラミングを隠蔽(オブジェクト指向で別の意味で使われる用語です)してみました。
    _mobile/__common__/include-common-mobile.phpの中にオブジェクト指向的プログラミングを閉じ込めています。

    手続き型(?)プログラミングの方が、ステップ数も少なくすっきりとわかり易いと思うのは私だけでしょうか?

    【_mobile/calendar/index.php】一部

    mobile_add_text($myPage, $rec['c_subject'], 'bold', $rec['c_categoryDisplayColor']);
    mobile_add_memo($myPage, $rec['c_memo']);


    【_mobile/__common__/include-common-mobile.php】一部

    function mobile_add_text($myPage, $text, $attrib='', $color='', $br=1) {
    if ($attrib == 'bold') {
    $attrib=HAW_TEXTFORMAT_BOLD;
    } else {
    $attrib=HAW_TEXTFORMAT_NORMAL;
    }
    $myText = new HAW_text(my_htmlspecialchars(mobile_encode($text)), $attrib);
    if ($color <> '') {
    $myText->set_color($color);
    }
    $myText->set_br($br);
    $myPage->add_text($myText);
    }
    function mobile_add_memo($myPage, $memo) {
    $memo_ary = split("\n", strip_tags($memo));
    foreach ($memo_ary as $str) {
    mobile_add_text($myPage, $str);
    }
    }

    はてなブックマークに追加 はてなブックマーク - オブジェクト指向を隠蔽

    theme : PHP
    genre : コンピュータ

    Ver.1.19:携帯電話でスケジュール表示

    MyHome Portal Ver.1.19を リリースしました。
    http://ok2nd.web.fc2.com/download.html
  • 携帯電話(mobile端末)からのカレンダースケジュール表示機能を作成しました。
    本人のスケジュール表示機能だけです。本文のHTML、アイコンは省いています。カテゴリアイコンと色は件名に反映させています。png画像の場合、正しく表示されない可能性があります。
    開発には、携帯用アプリの開発ツールキットHAWHAWを利用しています。
    http://www.d-meister.co.jp/HAWHAW/
    テストはiモードHTMLシミュレータIIでのみ行っています。実機でのテストは行っていません。(iモードHTMLシミュレータIIではlocalhostは使えないようです。IPアドレスで指定してください。)
    http://www.nttdocomo.co.jp/service/imode/make/content/download/index.html
    実用に耐えるかどうかは保障できません。 あくまで、携帯端末向けWebサイトのトライアルとして作成しました
    認証は、ログイン画面を表示する方式とurlで直接アカウントとパスワードを指定する方式をサポートしています。
    http://localhost/_mobile/calendar/
    http://localhost/_mobile/calendar/?ac=tarou&pw=demo

  • 携帯端末の場合、Cookieが使えないなどセッションまわりがPCブラウザと違うので、そのための工夫をしていますが、試行錯誤しましたので、間違いや余分のものがある可能性があります。
    PHPソース内でのセッション開始では、以下のようにしています。
            ini_set('session.use_trans_sid', '1');
            session_start();
            session_regenerate_id(true);
    .htaccessファイルを作成して以下のように記述しました。
            php_flag session.use_trans_sid On
    header("Location: xxx.php")でページ遷移する場合、携帯端末ではセッションが引き継がれないことがあるので、下記のようにしてセッションIDを指定しています。
            header("Location: xxx.php?".SID);
    以下のサイトを参考にしました。
    http://www.phppro.jp/qa/1356

  • _myhomeと並列のディレクトリ_mobileとして作成しました。
    ただし、_myhomeの定義ファイルや共有ライブラリに依存する構成にしています。

  • 119-11.jpg119-12.jpg
    119-21.jpg119-22.jpg

    はてなブックマークに追加 はてなブックマーク - Ver.1.19:携帯電話でスケジュール表示

    theme : PHP
    genre : コンピュータ

    プロフィール

    ok.2nd

    Author:ok.2nd
    HomePage:
    http://ok2nd.web.fc2.com/
    Email: m.ok.2nd@gmail.com

    最新記事
    最新コメント
    最新トラックバック
    月別アーカイブ
    FC2ブログランキング

    FC2Blog Ranking

    検索フォーム
    カテゴリ
    リンク
    RSSリンクの表示
    ブロとも申請フォーム

    この人とブロともになる

    QRコード
    QRコード
    ユーザータグ