Haanga_Compiler::generate_op_regroup PHP Method

generate_op_regroup() protected method

regroup by as {{{
protected generate_op_regroup ( $details, &$body )
    protected function generate_op_regroup($details, &$body)
    {
        $body->comment("Temporary sorting");
        $array = $this->get_filtered_var($details['array'], $varname);
        if (Haanga_AST::is_exec($array)) {
            $varname = hvar($details['as']);
            $body->decl($varname, $array);
        }
        $var = hvar('item', $details['row']);
        $body->decl('temp_group', array());
        $body->do_foreach($varname, 'item', NULL, hcode()->decl(hvar('temp_group', $var, NULL), hvar('item')));
        $body->comment("Proper format");
        $body->decl($details['as'], array());
        $body->do_foreach('temp_group', 'item', 'group', hcode()->decl(hvar($details['as'], NULL), array("grouper" => hvar('group'), "list" => hvar('item'))));
        $body->comment("Sorting done");
    }