Pommo_Subscribers::getIDByAttr PHP Method

getIDByAttr() public method

.. 15 => array("greater: 15")), 'subscribers' => array( 'email' => "not: '[email protected]'"), 'status' => "equal: active" ); LEGAL LOGIC: (not|is|less|greater|true|false|equal)
public getIDByAttr ( $f = ['subscriber_pending' => [], 'subscriber_data' => [], 'subscribers' => []] )
    function &getIDByAttr($f = array('subscriber_pending' => array(), 'subscriber_data' => array(), 'subscribers' => array()))
    {
        $dbo = Pommo::$_dbo;
        require_once Pommo::$_baseDir . 'classes/Pommo_Sql.php';
        $sql = array('where' => array(), 'join' => array());
        if (!empty($f['subscribers'])) {
            $sql = array_merge_recursive($sql, Pommo_Sql::fromFilter($f['subscribers'], 's'));
        }
        if (!empty($f['subscriber_data'])) {
            $sql = array_merge_recursive($sql, Pommo_Sql::fromFilter($f['subscriber_data'], 'd'));
        }
        $p = null;
        if (!empty($f['subscriber_pending'])) {
            $p = 'p';
            $sql = array_merge_recursive($sql, Pommo_Sql::fromFilter($f['subscriber_pending'], 'p'));
        }
        $joins = implode(' ', $sql['join']);
        $where = implode(' ', $sql['where']);
        $query = "\n            SELECT DISTINCT s.subscriber_id\n            FROM " . $dbo->table['subscribers'] . " s\n            [LEFT JOIN " . $dbo->table['subscriber_pending'] . " %S\n                ON (s.subscriber_id = p.subscriber_id)]\n            " . $joins . "\n            WHERE 1 " . $where;
        $query = $dbo->prepare($query, array($p));
        die($query);
        return $dbo->getAll($query, 'assoc', 'subscriber_id');
    }