コード例 #1
0
 protected function init()
 {
     $this->m_regionMode = FQL_RMODE_INIT;
     $this->m_expects = FQL_EXPECTS_NOTHING;
     $this->m_index = 0;
     $this->m_error = "";
     $this->m_parsedTokens = FQLUtils::splitWithTokens(FQL_KEYWORDS, $this->m_fql);
     $this->m_selectFields = array();
     $this->m_fromTable = null;
     $this->m_whereFields = array();
 }
コード例 #2
0
ファイル: DbTableAdaptor.php プロジェクト: jkinner/ringside
 protected function createInnerJoinFromProps(&$props, &$joins, &$iJoined, &$vars, $sourceTable = null, $alternateTableName = "")
 {
     //add LEFT JOIN
     if (isset($props["innerJoinFieldLeft"]) && isset($props["innerJoinTableRight"]) && isset($props["innerJoinFieldRight"])) {
         $innerJoinTableLeft = $sourceTable == null ? $props["innerJoinTableLeft"] : $sourceTable;
         $innerJoinFieldLeft = $props["innerJoinFieldLeft"];
         $innerJoinTableRight = $props["innerJoinTableRight"];
         $innerJoinFieldRight = $props["innerJoinFieldRight"];
         //only do duplicate tables if an alternate table join
         //name was specified in the config file
         if (!in_array($innerJoinTableLeft, $iJoined) || strlen($alternateTableName) > 0) {
             //replace the source table name with an alias if specified in config file
             //with the "alternateTableName" property
             $ijl = strlen($alternateTableName) > 0 ? $alternateTableName : $innerJoinTableLeft;
             $joinSql = "LEFT JOIN {$innerJoinTableLeft} ";
             if (strlen($alternateTableName) > 0) {
                 $joinSql .= "AS {$alternateTableName} ";
             }
             $joinSql .= "ON {$ijl}.{$innerJoinFieldLeft}=" . "{$innerJoinTableRight}.{$innerJoinFieldRight}";
             if (isset($props["extraJoinSQL"])) {
                 $ejsql = FQLUtils::replaceVariables($props["extraJoinSQL"], $vars);
                 //parse join sql for variables
                 $joinSql .= " {$ejsql} ";
             }
             $joins[] = $joinSql;
             $iJoined[] = $innerJoinTableLeft;
         }
     }
 }
コード例 #3
0
 public function testReplaceVariables()
 {
     $vars = array("var1" => "val1", "var2" => "val2");
     $str = "This is var1: {var1}, this is var2: {var2}";
     $nstr = FQLUtils::replaceVariables($str, $vars);
     $this->assertEquals("This is var1: val1, this is var2: val2", $nstr);
 }