Exemplo n.º 1
0
 /**
  * itemを取得する
  * 
  * @param   int   $item_id  項目ID
  * @return array
  * @access	public
  */
 function &getItems($where_params = null, $order_params = null, $limit = null, $offset = null, $func = null, $func_param = null)
 {
     $sql = "SELECT {items}.*, {items_options}.options,{items_options}.default_selected" . " FROM {items} " . " LEFT JOIN {items_options} ON ({items}.item_id={items_options}.item_id)";
     $sql .= $this->_db->getWhereSQL($params, $where_params);
     $sql .= $this->_db->getOrderSQL($order_params);
     $result = $this->_db->execute($sql, $params, $limit, $offset, true, $func, $func_param);
     if ($result === false) {
         // エラーが発生した場合、エラーリストに追加
         $this->_db->addError();
         return $result;
     }
     return $result;
 }
Exemplo n.º 2
0
 /**
  * 下の階層のpageのリストを求める
  * @param array $page
  * @access  private
  */
 function _getChildPages($page)
 {
     $where_params = array("room_id = " . intval($page['room_id']) . " OR parent_id = " . intval($page['room_id']) => null);
     $order_params = array("thread_num" => "ASC");
     $sql = "SELECT {pages}.* FROM {pages} ";
     $params = array();
     $sql .= $this->_db->getWhereSQL($params, $where_params);
     $sql .= $this->_db->getOrderSQL($order_params);
     $parent_pages = $this->_db->execute($sql, $params, null, null, true, array($this, "_fetchcallbackGetChildPages"), $page);
     return $parent_pages;
 }
Exemplo n.º 3
0
 /**
  * pages,pages_users_linkの取得
  * @param array    $where_params
  * @param array    $order_params
  * @param int      $limit
  * @param int      $start
  * @param function $func
  * @param array    $func_param
  * @access	public
  */
 function &getPagesUsers($where_params = null, $order_params = null, $limit = 0, $start = 0, $func = null, $func_param = null)
 {
     $params = array();
     $sql = "SELECT {pages}.*, {pages_users_link}.user_id, {authorities}.user_authority_id AS authority_id,{authorities}.hierarchy, {pages_users_link}.role_authority_id, {pages_users_link}.createroom_flag " . " FROM {pages} " . " LEFT JOIN {pages_users_link} ON {pages}.room_id = {pages_users_link}.room_id " . " LEFT JOIN {authorities} ON {pages_users_link}.role_authority_id = {authorities}.role_authority_id ";
     $sql .= $this->_db->getWhereSQL($params, $where_params);
     $sql .= $this->_db->getOrderSQL($order_params);
     $result = $this->_db->execute($sql, $params, $limit, $start, true, $func, $func_param);
     if ($result === false) {
         $this->_db->addError();
         return $result;
     }
     return $result;
 }
Exemplo n.º 4
0
 /**
  * ルームに所属するpages_users_linkテーブルを取得する
  *
  * @param  array    $room_id_arr  ルームID
  * @param	array	 $where_params		キー名称配列、whereデータ配列
  * @param	array    $order_params		        キー名称配列、orderデータ配列
  * @param	integer	 $offset	取得し始めるレコードのオフセット
  * @param	integer	 $limit	取得する件数
  * @param	function $func	各レコード処理で実行させるメソッド
  * @param	array	 $func_param	各レコード処理で実行させるメソッドの引数
  * @return array
  * @access	public
  */
 function &getPagesUsersLinkByRoom($room_id_arr, $where_params = null, $order_params = null, $limit = null, $offset = null, $func = null, $func_param = null)
 {
     //if($func == null) $func = array($this, "_getPagesUsersLinkFetchcallback");
     $params = array();
     $sql = "SELECT {pages_users_link}.*,{authorities}.user_authority_id AS authority_id,{authorities}.hierarchy " . " FROM {pages_users_link} " . " LEFT JOIN {authorities} ON ({pages_users_link}.role_authority_id={authorities}.role_authority_id)" . " WHERE room_id IN (" . implode(",", $room_id_arr) . ") ";
     $sql .= $this->_db->getWhereSQL($params, $where_params, false);
     //$sql .= " GROUP BY {pages_users_link}.user_id ";
     $sql .= $this->_db->getOrderSQL($order_params);
     $result = $this->_db->execute($sql, $params, $limit, $offset, true, $func, $func_param);
     if ($result === false) {
         // エラーが発生した場合、エラーリストに追加
         $this->_db->addError();
         return $result;
     }
     return $result;
 }