HtmlTemplateFramework
[ class tree: HtmlTemplateFramework ] [ index: HtmlTemplateFramework ] [ all elements ]

Source for file htf_tlb_google.phl

Documentation is available at htf_tlb_google.phl

  1. <?php
  2. /**
  3.  * htf_tlb_google.phl
  4.  *
  5.  * google検索タグ生成クラス
  6.  *
  7.  * @package HtmlTemplateFramework
  8.  * @subpackage htmltaglib
  9.  * @access  public
  10.  * @author    Yamauchi Shogo <htf@as-prj.com>
  11.  * @version $Id: htf_tlb_google.phl ,v 1.0 $
  12.  ***/
  13. require_once("htf_com_initialize.inc");    //共通初期処理
  14. require_once("htf_tag_element.phl");    //エレメントクラス
  15.  
  16. /**
  17.  * google検索タグ生成クラス
  18.  * 
  19.  * googleの各種検索オプションを指定することにより、さまざまなgoogle検索タグを
  20.  * 生成するクラス。サイト内指定検索やファイルタイプ指定検索、言語指定指定などが可能。
  21.  *
  22.  * @access  public
  23.  * @author    Yamauchi Shogo <htf@as-prj.com>
  24.  ***/
  25. class htf_tlb_google {
  26.    /**
  27.     * google検索エンジンの呼び出しURL。(デフォルトは、'http://www.google.co.jp/search')
  28.     * @access public
  29.     * @var string 
  30.     */
  31.     var $url;            //検索エンジンURL
  32.       /**
  33.     * google検索エンジンインターフェイス・入力エンコード指定。(デフォルトは空文字・指定なし)
  34.     * 
  35.     * 'Shift_JIS' 'euc-jp' 'UTF-8'等が指定可能なようです。
  36.     * 
  37.     * @access public
  38.     * @var string 
  39.     */
  40.     var $ie;            //inputエンコード
  41.       /**
  42.     * google検索エンジンインターフェイス・出力エンコード指定。(デフォルトは空文字・指定なし)
  43.     * 
  44.     * 'Shift_JIS' 'euc-jp' 'UTF-8'等が指定可能なようです。
  45.     * 
  46.     * @access public
  47.     * @var string 
  48.     */
  49.     var $oe;            //outputエンコード
  50.       /**
  51.     * google検索エンジンインターフェイス・メッセージを表示する言語指定。(デフォルトは"ja")
  52.     * 
  53.     * @access public
  54.     * @var string 
  55.     */
  56.     var $hl;            //メッセージを表示する言語
  57.       /**
  58.     * google検索エンジンインターフェイス・検索の対象にする言語指定。(デフォルトは空文字・全ての国が対象)
  59.     * 
  60.     * 以下のような言語が指定可能なようです。<br>
  61.     * lang_is→アイスランド語<br>
  62.     * lang_ar→アラビア語<br>
  63.     * lang_it→イタリア語<br>
  64.     * lang_id→インドネシア語<br>
  65.     * lang_et→エストニア語<br>
  66.     * lang_nl→オランダ語<br>
  67.     * lang_ca→カタロニア語<br>
  68.     * lang_el→ギリシャ語<br>
  69.     * lang_hr→クロアチア語<br>
  70.     * lang_sv→スウェーデン語<br>
  71.     * lang_es→スペイン語<br>
  72.     * lang_sk→スロバキア語<br>
  73.     * lang_sl→スロベニア語<br>
  74.     * lang_sr→セルビア語<br>
  75.     * lang_cs→チェコ語<br>
  76.     * lang_da→デンマーク語<br>
  77.     * lang_tr→トルコ語<br>
  78.     * lang_de→ドイツ語<br>
  79.     * lang_no→ノルウェー語<br>
  80.     * lang_hu→ハンガリー語<br>
  81.     * lang_fi→フィンランド語<br>
  82.     * lang_fr→フランス語<br>
  83.     * lang_bg→ブルガリア語<br>
  84.     * lang_iw→ヘブライ語<br>
  85.     * lang_pt→ポルトガル語<br>
  86.     * lang_pl→ポーランド語<br>
  87.     * lang_lv→ラトビア語<br>
  88.     * lang_lt→リトアニア語<br>
  89.     * lang_ro→ルーマニア語<br>
  90.     * lang_ru→ロシア語<br>
  91.     * lang_zh-CN→中国語(簡体)<br>
  92.     * lang_zh-TW→中国語(繁体)<br>
  93.     * lang_ja→日本語<br>
  94.     * lang_en→英語<br>
  95.     * lang_ko→韓国語<br>
  96.     * 
  97.     * @access public
  98.     * @var string 
  99.     */
  100.     var $lr;            //検索の対象にする言語
  101.       /**
  102.     * google検索エンジンインターフェイス・表示件数指定。(デフォルトは空文字・10件出力)
  103.     * 
  104.     * @access public
  105.     * @var string 
  106.     */
  107.     var $num;            //表示件数
  108.       /**
  109.     * google検索エンジンインターフェイス・ファイルタイプを検索対象にする・しない指定(デフォルトは空文字)
  110.     * 
  111.     * 以下の指定が可能なようです。<br>
  112.     * i→対象にする<br>
  113.     * e→対象にしない<br>
  114.     * 
  115.     * @access public
  116.     * @var string 
  117.     */
  118.     var $as_ft;            //ファイル形式を検索対象にする・しない(i:対象にする e:しない)
  119.       /**
  120.     * google検索エンジンインターフェイス・ファイルタイプを指定(デフォルトは空文字・指定なし)以下の指定が可能なようです。
  121.     * pdf→Adobe Acrobat PDF (.pdf)<br>
  122.     * ps →Adobe Postscript (.ps)<br>
  123.     * doc→Microsoft Word (.doc)<br>
  124.     * xls→Microsoft Excel (.xls)<br>
  125.     * ppt→Microsoft Powerpoint (.ppt)<br>
  126.     * rtf→Rich Text Format (.rtf)<br>
  127.     * 
  128.     * @access public
  129.     * @var string 
  130.     */
  131.     var $as_filetype;    //指定ファイルタイプ(pdf/ps/doc/xls/ppt/rtf)
  132.       /**
  133.     * google検索エンジンインターフェイス・ページ最終更新日指定(デフォルトは空文字・指定なし)
  134.     * 
  135.     * 以下の指定が可能なようです。<br>
  136.     * all→全て<br>
  137.     * m3 →3ヵ月以内<br>
  138.     * m6 →6ヵ月前以内<br>
  139.     * y  →1年前以内<br>
  140.     * 
  141.     * @access public
  142.     * @var string 
  143.     */
  144.     var $as_qdr;        //ページ最終更新日条件(all/m3/m6/y)
  145.       /**
  146.     * google検索エンジンインターフェイス・検索対象箇所指定(デフォルトは空文字・指定なし)
  147.     * 
  148.     * 以下の指定が可能なようです。<br>
  149.     * any  →ページ全体<br>
  150.     * title→ページのタイトルのみ<br>
  151.     * body →ページの本文のみ<br>
  152.     * url  →ページのURLのみ<br>
  153.     * links→ページへのリンク内<br>
  154.     * 
  155.     * @access public
  156.     * @var string 
  157.     */
  158.     var $as_occt;        //検索の対象にする箇所(any/title/body/url/links)
  159.       /**
  160.     * google検索エンジンインターフェイス・サイト・ドメインを対象にする・しない(デフォルトは空文字・指定なし)
  161.     * 
  162.     * 以下の指定が可能なようです。<br>
  163.     * i→対象にする<br>
  164.     * e→対象にしない<br>
  165.     * 
  166.     * @access public
  167.     * @var string 
  168.     */
  169.     var $as_dt;            //サイト・ドメインを検索対象にする・しない(i:対象にする e:除く)
  170.       /**
  171.     * google検索エンジンインターフェイス・検索対象にするサイト指定(デフォルトは空文字・指定なし)
  172.     * 
  173.     * サイト・ドメインを対象にするオプションで'i'を指定した場合、検索対象のサイト・ドメインURLを設定してください。
  174.     * @access public
  175.     * @var string 
  176.     */
  177.     var $as_sitesearch;    //検索対象にするサイト指定
  178.       /**
  179.     * テキストボックスの長さ指定(デフォルトは空文字・指定なし)
  180.     * 
  181.     * @access public
  182.     * @var string 
  183.     */
  184.     var $width;            //テキストボックスの長さ
  185.       /**
  186.     * 結果を表示するウインドウ名指定(デフォルトは空文字・指定なし)
  187.     * 
  188.     * @access public
  189.     * @var string 
  190.     */
  191.     var $target;        //指定ターゲット
  192.       /**
  193.     * 検索ボタンのラベル表示値(デフォルトは'Search')
  194.     * 
  195.     * @access public
  196.     * @var string 
  197.     */
  198.     var $buttonlabel;    //検索ボタンのラベル
  199.     
  200.         
  201.     /**
  202.      * コンストラクタ
  203.      *
  204.      * 引数の設定値からgoogle検索タグオブジェクトを生成します。
  205.      *
  206.      * @param     string    $textwidth     検索文字入力テキストボックスの長さ(デフォルトは空文字)
  207.      * @param     string    $strhl         メッセージを表示する言語指定(デフォルトは日本語)
  208.      * @param     string    $strlr         検索対象にする言語指定(デフォルトは空文字)
  209.      * @param     string    $strenc        google検索エンジンへの入出力エンコード指定(デフォルトは空文字)
  210.      * @return    void 
  211.      ***/
  212.     function htf_tlb_google($textwidth=""$strhl="ja"$strlr=""$strenc=""{
  213.         //各プロパティ初期化
  214.         $this->initialize();
  215.         //引数設定値上書き
  216.         $this->ie=$strenc;
  217.         $this->oe=$strenc;
  218.         $this->hl=$strhl;
  219.         $this->lr=$strlr;
  220.         $this->width=$textwidth;
  221.         
  222.         return;
  223.     }
  224.     
  225.     /**
  226.      *
  227.      * googleサイト検索タグを取得します。
  228.      *
  229.      * @access     public
  230.      * @return    string 
  231.      ***/
  232.     function get_searchtag({
  233.         //タグオブジェクト生成
  234.         //form
  235.         $searchform $this->make_element_form($this->url$this->target);
  236.         //ie
  237.         $input_ie $this->make_element_input("ie"$this->ie);
  238.         //oe
  239.         $input_oe $this->make_element_input("oe"$this->oe);
  240.         //hl
  241.         $input_hl $this->make_element_input("hl"$this->hl);
  242.         //lr
  243.         $input_lr $this->make_element_input("lr"$this->lr);
  244.         //num
  245.         $input_num $this->make_element_input("num"$this->num);
  246.         //as_ft
  247.         $input_as_ft $this->make_element_input("as_ft"$this->as_ft);
  248.         //as_filetype
  249.         $input_as_filetype $this->make_element_input("as_filetype"$this->as_filetype);
  250.         //as_qdr
  251.         $input_as_qdr $this->make_element_input("as_qdr"$this->as_qdr);
  252.         //as_occt
  253.         $input_as_occt $this->make_element_input("as_occt"$this->as_occt);
  254.         //as_dt
  255.         $input_as_dt $this->make_element_input("as_dt"$this->as_dt);
  256.         //as_sitesearch
  257.         $input_as_sitesearch $this->make_element_input("as_sitesearch"$this->as_sitesearch);    
  258.         //inputtext
  259.         $inputtext $this->make_element_inputtext("q"$this->width);        
  260.         //submit
  261.         $submitbutton $this->make_element_submitbutton($this->buttonlabel);
  262.     
  263.         //formコンテンツに追加
  264.         if (!is_null($input_ie)) $searchform->add_content($input_ie)}
  265.         if (!is_null($input_oe)) $searchform->add_content($input_oe)}
  266.         if (!is_null($input_hl)) $searchform->add_content($input_hl)}
  267.         if (!is_null($input_lr)) $searchform->add_content($input_lr)}
  268.         if (!is_null($input_num)) $searchform->add_content($input_num)}
  269.         if (!is_null($input_as_ft)) $searchform->add_content($input_as_ft)}
  270.         if (!is_null($input_as_filetype)) $searchform->add_content($input_as_filetype)}
  271.         if (!is_null($input_as_qdr)) $searchform->add_content($input_as_qdr)}
  272.         if (!is_null($input_as_occt)) $searchform->add_content($input_as_occt)}
  273.         if (!is_null($input_as_dt)) $searchform->add_content($input_as_dt)}
  274.         if (!is_null($input_as_sitesearch)) $searchform->add_content($input_as_sitesearch)}
  275.         if (!is_null($inputtext)) $searchform->add_content($inputtext)}
  276.         if (!is_null($submitbutton)) $searchform->add_content($submitbutton)}
  277.  
  278.         //htmlタグ取得
  279.         $strret $searchform->get_htmltag();
  280.             
  281.         return $strret;
  282.     }
  283.  
  284.     /**
  285.      *
  286.      * googleサイト検索タグ(関連サイト検索タグ)を取得します。
  287.      *
  288.      * @access     public
  289.      * @return    string 
  290.      ***/
  291.     function get_relation_searchtag({
  292.         //form
  293.         $searchform $this->make_element_form($this->url$this->target);
  294.         //ie
  295.         $input_ie $this->make_element_input("ie"$this->ie);
  296.         //oe
  297.         $input_oe $this->make_element_input("oe"$this->oe);
  298.         //hl
  299.         $input_hl $this->make_element_input("hl"$this->hl);
  300.         //lr
  301.         $input_lr $this->make_element_input("lr"$this->lr);
  302.         //num
  303.         $input_num $this->make_element_input("num"$this->num);
  304.         //inputtext
  305.         $inputtext $this->make_element_inputtext("as_rq"$this->width);        
  306.         //submit
  307.         $submitbutton $this->make_element_submitbutton($this->buttonlabel);
  308.  
  309.         //formコンテンツに追加
  310.         if (!is_null($input_ie)) $searchform->add_content($input_ie)}
  311.         if (!is_null($input_oe)) $searchform->add_content($input_oe)}
  312.         if (!is_null($input_hl)) $searchform->add_content($input_hl)}
  313.         if (!is_null($input_lr)) $searchform->add_content($input_lr)}
  314.         if (!is_null($input_num)) $searchform->add_content($input_num)}
  315.         if (!is_null($inputtext)) $searchform->add_content($inputtext)}
  316.         if (!is_null($submitbutton)) $searchform->add_content($submitbutton)}
  317.  
  318.         //htmlタグ取得
  319.         $strret $searchform->get_htmltag();
  320.         
  321.         return $strret;
  322.     
  323.     }
  324.  
  325.     /**
  326.      *
  327.      * googleサイト検索タグ(リンクページ検索タグ)を取得します。
  328.      *
  329.      * @access     public
  330.      * @return    string 
  331.      ***/
  332.     function get_link_searchtag({
  333.         //form
  334.         $searchform $this->make_element_form($this->url$this->target);
  335.         //ie
  336.         $input_ie $this->make_element_input("ie"$this->ie);
  337.         //oe
  338.         $input_oe $this->make_element_input("oe"$this->oe);
  339.         //hl
  340.         $input_hl $this->make_element_input("hl"$this->hl);
  341.         //lr
  342.         $input_lr $this->make_element_input("lr"$this->lr);
  343.         //num
  344.         $input_num $this->make_element_input("num"$this->num);
  345.         //inputtext
  346.         $inputtext $this->make_element_inputtext("as_lq"$this->width);        
  347.         //submit
  348.         $submitbutton $this->make_element_submitbutton($this->buttonlabel);
  349.         
  350.         //formコンテンツに追加
  351.         if (!is_null($input_ie)) $searchform->add_content($input_ie)}
  352.         if (!is_null($input_oe)) $searchform->add_content($input_oe)}
  353.         if (!is_null($input_hl)) $searchform->add_content($input_hl)}
  354.         if (!is_null($input_lr)) $searchform->add_content($input_lr)}
  355.         if (!is_null($input_num)) $searchform->add_content($input_num)}
  356.         if (!is_null($inputtext)) $searchform->add_content($inputtext)}
  357.         if (!is_null($submitbutton)) $searchform->add_content($submitbutton)}
  358.  
  359.         //htmlタグ取得
  360.         $strret $searchform->get_htmltag();
  361.         
  362.         return $strret;
  363.     
  364.     }
  365.     
  366.     /**
  367.      *
  368.      * プロパティを初期化します。
  369.      *
  370.      * @access     private
  371.      * @return    void 
  372.      ***/
  373.     function initialize({
  374.         $this->url = "http://www.google.co.jp/search";
  375.         $this->ie = "";
  376.         $this->oe = "";
  377.         $this->hl = "";
  378.         $this->lr = "";
  379.         $this->num = "";
  380.         $this->as_ft = "";
  381.         $this->as_filetype = "";
  382.         $this->as_qdr = "";
  383.         $this->as_occt = "";
  384.         $this->as_dt = "";
  385.         $this->as_sitesearch = "";
  386.         $this->width = "";
  387.         $this->target = "";
  388.         $this->buttonlabel = "Search";
  389.         
  390.         return;
  391.         
  392.     }
  393.  
  394.     /**
  395.      *
  396.      * formタグオブジェクトを生成します。
  397.      *
  398.      * @access     private
  399.      * @param     string $url      ポスト先のURL
  400.      * @param     string $target   targetウィンドウ名設定値
  401.      * @return    htf_tag_element  formタグ指定htf_tag_elementオブジェクト
  402.      ***/
  403.     function make_element_form($url$target{
  404.         //form
  405.         $searchform new htf_tag_element("form"TRUEHTF_ITEMCASE_ELEMENT);
  406.         $searchform->add_attribute("action"$urlHTF_ITEMCASE_ATTRIBUTE);
  407.         $searchform->add_attribute("method","get"HTF_ITEMCASE_ATTRIBUTE);
  408.         if (htf_is_existsval($target)) {
  409.             $searchform->add_attribute("target",$targetHTF_ITEMCASE_ATTRIBUTE);
  410.         }
  411.         
  412.         return $searchform;
  413.         
  414.     }
  415.  
  416.     /**
  417.      *
  418.      * input hiddenタグオブジェクトを生成します。
  419.      *
  420.      * @access     private
  421.      * @param     string $strname  nameの属性値
  422.      * @param     string $strvalue valueの属性設定値
  423.      * @return    htf_tag_element  inputタグ指定htf_tag_elementオブジェクト
  424.      ***/
  425.     function make_element_input($strname$strvalue{
  426.         //sitesearch
  427.         $inputtag NULL;
  428.         if (htf_is_existsval($strvalue)) {
  429.             $inputtag new htf_tag_element("input",FALSEHTF_ITEMCASE_ELEMENT);
  430.             $inputtag->add_attribute("type""hidden"HTF_ITEMCASE_ATTRIBUTE);
  431.             $inputtag->add_attribute("name"$strnameHTF_ITEMCASE_ATTRIBUTE);
  432.             $inputtag->add_attribute("value"$strvalueHTF_ITEMCASE_ATTRIBUTE);
  433.         }
  434.         return $inputtag;
  435.     }
  436.  
  437.     /**
  438.      *
  439.      * input textタグオブジェクトを生成します。
  440.      *
  441.      * @access     private
  442.      * @param     string $namevalue  nameの属性値
  443.      * @param     string $widthvalue widthの属性設定値
  444.      * @return    htf_tag_element  inputタグ指定htf_tag_elementオブジェクト
  445.      ***/
  446.     function make_element_inputtext($namevalue$widthvalue{
  447.         //inputtext
  448.         $inputtext new htf_tag_element("input",FALSEHTF_ITEMCASE_ELEMENT);
  449.         $inputtext->add_attribute("type""text"HTF_ITEMCASE_ATTRIBUTE);
  450.         $inputtext->add_attribute("maxlength""256"HTF_ITEMCASE_ATTRIBUTE);
  451.         $inputtext->add_attribute("name"$namevalueHTF_ITEMCASE_ATTRIBUTE);
  452.         if (htf_is_existsval($widthvalue)) {
  453.             $inputtext->add_attribute("width"$widthvalueHTF_ITEMCASE_ATTRIBUTE);
  454.         }
  455.         return $inputtext;
  456.     }
  457.  
  458.     /**
  459.      *
  460.      * submit buttonタグオブジェクトを生成します。
  461.      *
  462.      * @access     private
  463.      * @param     string $labelstr  ボタンのvalue設定値
  464.      * @return    htf_tag_element  inputタグ指定htf_tag_elementオブジェクト
  465.      ***/
  466.     function make_element_submitbutton($labelstr{
  467.         //inputtext
  468.         $submitbutton new htf_tag_element("input",FALSEHTF_ITEMCASE_ELEMENT);
  469.         $submitbutton->add_attribute("type""submit"HTF_ITEMCASE_ATTRIBUTE);
  470.         $submitbutton->add_attribute("value"$labelstrHTF_ITEMCASE_ATTRIBUTE);
  471.  
  472.         return $submitbutton;
  473.     }
  474. }
  475.  
  476. ?>

Documentation generated on Tue, 19 Sep 2006 06:21:28 +0900 by phpDocumentor 1.3.0