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

Source for file htf_tlb_yahoo.phl

Documentation is available at htf_tlb_yahoo.phl

  1. <?php
  2. /**
  3.  * htf_tlb_yahooクラス
  4.  *
  5.  * yahoo検索タグ生成クラス
  6.  *
  7.  * @package HtmlTemplateFramework
  8.  * @subpackage htmltaglib
  9.  * @access  public
  10.  * @author    Yamauchi Shogo <htf@as-prj.com>
  11.  * @version $Id: htf_tlb_yahoo.phl ,v 1.0 $
  12.  ***/
  13. require_once("htf_com_initialize.inc");    //共通初期処理
  14. require_once("htf_tag_element.phl");    //エレメントクラス
  15.  
  16. /**
  17.  * yahoo検索タグ生成クラス
  18.  * 
  19.  * yahooの各種検索オプションを指定することにより、さまざまなyahoo検索タグを
  20.  * 生成するクラス。サイト内指定検索やファイルタイプ指定検索、言語指定指定などが可能。
  21.  *
  22.  * @author    Yamauchi Shogo <htf@as-prj.com>
  23.  * @access  public
  24.  ***/
  25.  class htf_tlb_yahoo {
  26.    /**
  27.     * yahoo検索エンジンの呼び出しURL。(デフォルトは、'http://search.yahoo.co.jp/bin/search')
  28.     * 
  29.     * @access public
  30.     * @var string 
  31.     */
  32.     var $url;
  33.    /**
  34.     * yahoo検索エンジンインターフェイス・入力エンコード。(デフォルトは空文字・指定なし)
  35.     * 
  36.     * 'SJIS' 'euc-jp' 'UTF-8'等が指定可能なようです。
  37.     * 
  38.     * @access public
  39.     * @var string 
  40.     */
  41.     var $ei;
  42.    /**
  43.     * yahoo検索エンジンインターフェイス・検索タイプ。(デフォルトは'ysvw'・いろいろサーチ)
  44.     * 
  45.     * 以下の内容が指定可能なようです。<br>
  46.     * yssw→通常サーチ<br>
  47.     * ysow→サイト内検索<br>
  48.     * ysvw→さまざまな検索<br>
  49.     * 
  50.     * @access public
  51.     * @var string 
  52.     */
  53.     var $fr;
  54.    /**
  55.     * yahoo検索エンジンインターフェイス・ページ最終更新日。(デフォルトは空文字・指定なし)
  56.     * 
  57.     * 以下の内容が指定可能なようです。<br>
  58.     * all→全て<br>
  59.     * m3→3カ月以内<br>
  60.     * m6→6カ月以内<br>
  61.     * y→1年以内<br>
  62.     * 
  63.     * @access public
  64.     * @var string 
  65.     */
  66.     var $vd;
  67.    /**
  68.     * yahoo検索エンジンインターフェイス・検索対象サイト。(デフォルトは空文字・指定なし)
  69.     * 
  70.     * 検索対象サイト・ドメインを指定する場合には、$frを'ysow'に指定し、$vdにURLを指定して下さい。<br>
  71.     * 
  72.     * @access public
  73.     * @var string 
  74.     */
  75.     var $vs;
  76.    /**
  77.     * yahoo検索エンジンインターフェイス・指定ファイルタイプ。(デフォルトは空文字・指定なし)
  78.     * 
  79.     * 以下の内容が指定可能なようです。<br>
  80.     * all→全て<br>
  81.     * html→HTML<br>
  82.     * pdf→Adobe PDF<br>
  83.     * xl→Microsoft Excel<br>
  84.     * ppt→Microsoft PowerPoint<br>
  85.     * msword→Microsoft Word<br>
  86.     * rss→RSS/XML<br>
  87.     * txt→テキストフォーマット<br>
  88.     * 
  89.     * @access public
  90.     * @var string 
  91.     */
  92.     var $vf;
  93.    /**
  94.     * yahoo検索エンジンインターフェイス・ゆれを含める/含めない。(デフォルトは空文字・指定なし)
  95.     * 
  96.     * 以下の内容が指定可能なようです。<br>
  97.     * on→設定する<br>
  98.     * off→設定しない<br>
  99.     * 
  100.     * @access public
  101.     * @var string 
  102.     */
  103.     var $yuragi;
  104.    /**
  105.     * yahoo検索エンジンインターフェイス・対象とする国。(デフォルトは空文字・指定なし)
  106.     * 
  107.     * 以下の内容が指定可能なようです。<br>
  108.     * countryUS→アメリカ<br>
  109.     * countryAR→アルゼンチン<br>
  110.     * countryUK→イギリス<br>
  111.     * countryIT→イタリア<br>
  112.     * countryNL→オランダ<br>
  113.     * countryAU→オーストラリア<br>
  114.     * countryAT→オーストリア<br>
  115.     * countryCA→カナダ<br>
  116.     * countryCH→スイス<br>
  117.     * countrySE→スウェーデン<br>
  118.     * countryES→スペイン<br>
  119.     * countryCZ→チェコ<br>
  120.     * countryDK→デンマーク<br>
  121.     * countryDE→ドイツ<br>
  122.     * countryNO→ノルウェー<br>
  123.     * countryFI→フィンランド<br>
  124.     * countryFR→フランス<br>
  125.     * countryBR→ブラジル<br>
  126.     * countryBE→ベルギー<br>
  127.     * countryPL→ポーランド<br>
  128.     * countryformersovietunion→ロシア連邦<br>
  129.     * countryCN→中国<br>
  130.     * countryTW→台湾<br>
  131.     * countryJP→日本<br>
  132.     * countryKR→韓国<br>
  133.     * 
  134.     * @access public
  135.     * @var string 
  136.     */
  137.     var $vc;
  138.    /**
  139.     * yahoo検索エンジンインターフェイス・言語を対象とする/しない。(デフォルトは空文字・指定なし)
  140.     * 
  141.     * 以下の内容が指定可能なようです。<br>
  142.     * "0"→設定する<br>
  143.     * "1"→設定しない<br>
  144.     * "2"→日本語<br>
  145.     * 
  146.     * @access public
  147.     * @var string 
  148.     */
  149.     var $fl;
  150.    /**
  151.     * yahoo検索エンジンインターフェイス・対象とする言語指定。(デフォルトは空文字・指定なし)
  152.     * 
  153.     * 以下の内容が指定可能なようです。<br>
  154.     * lang_ja→日本語<br>
  155.     * lang_en→英語<br>
  156.     * lang_zh-CN→中国語(簡体字)<br>
  157.     * lang_zh-TW→中国語(繁体字)<br>
  158.     * lang_ko→韓国語<br>
  159.     * lang_is→アイスランド語<br>
  160.     * lang_ar→アラビア語<br>
  161.     * lang_it→イタリア語<br>
  162.     * lang_id→インドネシア語<br>
  163.     * lang_et→エストニア語<br>
  164.     * lang_nl→オランダ語<br>
  165.     * lang_ca→カタロニア語<br>
  166.     * lang_el→ギリシャ語<br>
  167.     * lang_hr→クロアチア語<br>
  168.     * lang_sv→スウェーデン語<br>
  169.     * lang_es→スペイン語<br>
  170.     * lang_sk→スロバキア語<br>
  171.     * lang_sl→スロベニア語<br>
  172.     * lang_sr→セルビア語<br>
  173.     * lang_th→タイ語<br>
  174.     * lang_cs→チェコ語<br>
  175.     * lang_da→デンマーク語<br>
  176.     * lang_tr→トルコ語<br>
  177.     * lang_de→ドイツ語<br>
  178.     * lang_no→ノルウェー語<br>
  179.     * lang_hu→ハンガリー語<br>
  180.     * lang_fi→フィンランド語<br>
  181.     * lang_fr→フランス語<br>
  182.     * lang_bg→ブルガリア語<br>
  183.     * lang_iw→ヘブライ語<br>
  184.     * lang_fa→ペルシャ語<br>
  185.     * lang_pt→ポルトガル語<br>
  186.     * lang_pl→ポーランド語<br>
  187.     * lang_lv→ラトビア語<br>
  188.     * lang_lt→リトアニア語<br>
  189.     * lang_ro→ルーマニア語<br>
  190.     * lang_ru→ロシア語<br>
  191.     * 
  192.     * @access public
  193.     * @var string 
  194.     */
  195.     var $vl;
  196.    /**
  197.     * yahoo検索エンジンインターフェイス・出力件数指定。(デフォルトは空文字・指定なし)
  198.     * 
  199.     * @access public
  200.     * @var string 
  201.     */
  202.     var $n;
  203.    /**
  204.     * テキストボックスの長さ指定(デフォルトは空文字・指定なし)
  205.     * 
  206.     * @access public
  207.     * @var string 
  208.     */
  209.     var $width;
  210.    /**
  211.     * 結果を表示するウインドウ名指定(デフォルトは空文字・指定なし)
  212.     * 
  213.     * @access public
  214.     * @var string 
  215.     */
  216.     var $target;
  217.    /**
  218.     * 検索ボタンのラベル表示値(デフォルトは'Search')
  219.     * 
  220.     * @access public
  221.     * @var string 
  222.     */
  223.     var $buttonlabel;
  224.     
  225.     /**
  226.      * コンストラクタ
  227.      *
  228.      * 引数の設定値からyahoo検索タグオブジェクトを生成します。
  229.      *
  230.      * @param     string    $textwidth     検索文字入力テキストボックスの長さ(デフォルトは空文字)
  231.      * @param     string    $strenc        yahoo検索エンジンへの入力エンコード指定(デフォルトは空文字)
  232.      * @return    void 
  233.      ***/
  234.     function htf_tlb_yahoo($textwidth=""$strenc=""{
  235.         //各プロパティ初期化
  236.         $this->initialize();
  237.         //引数指定上書き
  238.         $this->ei=$strenc;
  239.         $this->width=$textwidth;
  240.         
  241.         return;
  242.     }
  243.     
  244.     /**
  245.      *
  246.      * yahooサイト検索タグを取得します。
  247.      *
  248.      * @access  public
  249.      * @return string 
  250.      ***/
  251.     function get_htmltag({
  252.  
  253.         //form
  254.         $searchform $this->make_element_form($this->url$this->target);    //form
  255.         $input_ei $this->make_element_input("ei"$this->ei);                //ei
  256.         $input_fr $this->make_element_input("fr"$this->fr);                //fr
  257.         $input_vd $this->make_element_input("vd"$this->vd);                //vd
  258.         $input_vs $this->make_element_input("vs"$this->vs);                //vs
  259.         $input_vf $this->make_element_input("vf"$this->vf);                //vf
  260.         $input_yuragi $this->make_element_input("yuragi"$this->yuragi);    //yuragi
  261.         $input_vc $this->make_element_input("vc"$this->vc);                //vc
  262.         $input_fl $this->make_element_input("fl"$this->fl);                //fl
  263.         $input_vl $this->make_element_input("vl"$this->vl);                //vl
  264.         $input_n $this->make_element_input("n"$this->n);                //n
  265.         $inputtext $this->make_element_inputtext("p"$this->width);        //p(inputtext)
  266.         $submitbutton $this->make_element_submitbutton($this->buttonlabel);    //submitbutton
  267.  
  268.         //formコンテンツに追加
  269.         if (!is_null($input_ei)) $searchform->add_content($input_ei)}
  270.         if (!is_null($input_fr)) $searchform->add_content($input_fr)}
  271.         if (!is_null($input_vd)) $searchform->add_content($input_vd)}
  272.         if (!is_null($input_vs)) $searchform->add_content($input_vs)}
  273.         if (!is_null($input_vf)) $searchform->add_content($input_vf)}
  274.         if (!is_null($input_yuragi)) $searchform->add_content($input_yuragi)}
  275.         if (!is_null($input_vc)) $searchform->add_content($input_vc)}
  276.         if (!is_null($input_fl)) $searchform->add_content($input_fl)}
  277.         if (!is_null($input_vl)) $searchform->add_content($input_vl)}
  278.         if (!is_null($input_n)) $searchform->add_content($input_n)}
  279.         if (!is_null($inputtext)) $searchform->add_content($inputtext)}
  280.         if (!is_null($submitbutton)) $searchform->add_content($submitbutton)}
  281.  
  282.         //htmlタグ取得
  283.         $strret $searchform->get_htmltag();
  284.             
  285.         return $strret;
  286.         
  287.     }
  288.  
  289.     /**
  290.      *
  291.      * プロパティを初期化します。
  292.      *
  293.      * @access  private
  294.      * @return void 
  295.      ***/
  296.     function initialize({
  297.         $this->url="http://search.yahoo.co.jp/bin/search";
  298.         $this->ei="";
  299.         $this->fr="ysvw";
  300.         $this->vd="";
  301.         $this->vs="";
  302.         $this->vf="";
  303.         $this->yuragi="";
  304.         $this->vc="";
  305.         $this->fl="";
  306.         $this->vl="";
  307.         $this->n="";
  308.         $this->width="";
  309.         $this->target="";
  310.         $this->buttonlabel="Search";
  311.         
  312.         return;
  313.         
  314.     }
  315.     
  316.     /**
  317.      *
  318.      * formタグオブジェクトを生成します。
  319.      *
  320.      * @access  private
  321.      * @return htf_tag_element 
  322.      ***/
  323.     function make_element_form($url$target{
  324.         //form
  325.         $searchform new htf_tag_element("form"TRUEHTF_ITEMCASE_ELEMENT);
  326.         $searchform->add_attribute("action"$urlHTF_ITEMCASE_ATTRIBUTE);
  327.         $searchform->add_attribute("method","get"HTF_ITEMCASE_ATTRIBUTE);
  328.         if (htf_is_existsval($target)) {
  329.             $searchform->add_attribute("target",$targetHTF_ITEMCASE_ATTRIBUTE);
  330.         }
  331.         return $searchform;
  332.         
  333.     }
  334.  
  335.     /**
  336.      *
  337.      * input hiddenタグオブジェクトを生成します。
  338.      *
  339.      * @access  private
  340.      * @return htf_tag_element 
  341.      ***/
  342.     function make_element_input($strname$strvalue{
  343.         //sitesearch
  344.         $inputtag NULL;
  345.         if (htf_is_existsval($strvalue)) {
  346.             $inputtag new htf_tag_element("input",FALSEHTF_ITEMCASE_ELEMENT);
  347.             $inputtag->add_attribute("type""hidden"HTF_ITEMCASE_ATTRIBUTE);
  348.             $inputtag->add_attribute("name"$strnameHTF_ITEMCASE_ATTRIBUTE);
  349.             $inputtag->add_attribute("value"$strvalueHTF_ITEMCASE_ATTRIBUTE);
  350.         }
  351.         return $inputtag;
  352.     }
  353.  
  354.     /**
  355.      *
  356.      * input textタグオブジェクトを生成します。
  357.      *
  358.      * @access  private
  359.      * @return htf_tag_element 
  360.      ***/
  361.     function make_element_inputtext($namevalue$widthvalue{
  362.         //inputtext
  363.         $inputtext new htf_tag_element("input",FALSEHTF_ITEMCASE_ELEMENT);
  364.         $inputtext->add_attribute("type""text"HTF_ITEMCASE_ATTRIBUTE);
  365.         $inputtext->add_attribute("maxlength""256"HTF_ITEMCASE_ATTRIBUTE);
  366.         $inputtext->add_attribute("name"$namevalueHTF_ITEMCASE_ATTRIBUTE);
  367.         if (htf_is_existsval($widthvalue)) {
  368.             $inputtext->add_attribute("width"$widthvalueHTF_ITEMCASE_ATTRIBUTE);
  369.         }
  370.         return $inputtext;
  371.     }
  372.  
  373.     /**
  374.      *
  375.      * input submitタグオブジェクトを生成します。
  376.      *
  377.      * @access  private
  378.      * @return htf_tag_element 
  379.      ***/
  380.     function make_element_submitbutton($labelstr{
  381.         //inputtext
  382.         $submitbutton new htf_tag_element("input",FALSEHTF_ITEMCASE_ELEMENT);
  383.         $submitbutton->add_attribute("type""submit"HTF_ITEMCASE_ATTRIBUTE);
  384.         $submitbutton->add_attribute("value"$labelstrHTF_ITEMCASE_ATTRIBUTE);
  385.  
  386.         return $submitbutton;
  387.     }
  388. }
  389.  
  390. ?>

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