Example #1
0
function test()
{
    global $a;
    $a[f(0)]->{f(1)}[f(2)] = $a[f(3)][f(4)][f(5)]->foo;
    var_dump($a[f(6)]['fuz'] . f(7));
    ref($a[f(10)][f(11)][f(12)], $a[f(20)][f(21)][f(22)], $a[f(30)][f(31)][f(32)]);
    $a->{f(0)}[f(1)]->{f(2)} = $a->{f(3)}->{f(4)}->bar;
}
Example #2
0
 static function find($id)
 {
     $name = isset(static::$PermanentStorageKey) ? static::$PermanentStorageKey : 'name';
     $ins = @user_config_find(static::$config_prefix, $id)[0];
     if ($ins) {
         $ins = ref(unserialize($ins));
     }
     return $ins;
 }
Example #3
0
 static function import($name, $set_owner = NULL)
 {
     $me = parent::import($name, $set_owner);
     if (!$me) {
         return NULL;
     }
     foreach ($me->cols as $col) {
         $col->__owner = ref($me);
     }
     return $me;
 }
Example #4
0
 function table($name, $expand_ref = TRUE)
 {
     if ($this->_tables && @$this->_tables[$name]) {
         return $this->_tables[$name];
     } else {
         $table = new static::$TableClass($name, $this->name, $this);
         $table->fetch_from_db($expand_ref);
         $this->_tables[$name] = ref($table);
         return $table;
     }
 }
 public function objectReference()
 {
     $object = new \lang\Object();
     $ref = newinstance('lang.Object', array(ref($object)), '{
   public $object= NULL;
   
   public function __construct(&$object) {
     $this->object= &deref($object);
   }
 }');
     $this->assertReference($object, $ref->object);
 }
Example #6
0
 function table($name, $expand_ref = TRUE)
 {
     $TableClass = static::$TableClass;
     if ($this->_tables && @$this->_tables[$name]) {
         return $this->_tables[$name];
     } else {
         $temp = $this->containee->table($name, $expand_ref);
         if ($temp) {
             $table = $TableClass::import_or_new_with($this->export_filename() . '@' . $TableClass::$config_prefix . $name, ['containee' => $temp]);
             $table->__owner = ref($this);
             return ref($this->_tables[$name] = ref($table));
         }
     }
 }
Example #7
0
 function table($name, $expand_ref = TRUE)
 {
     $TableClass = static::$TableClass;
     if ($this->_tables && @$this->_tables[$name]) {
         return $this->_tables[$name];
     } else {
         $table = $TableClass::import($this->export_filename() . '@' . $TableClass::$config_prefix . $name);
         if (!$table) {
             $table = parent::table($name, $expand_ref);
         }
         $this->_tables[$name] = ref($table);
         return $table;
     }
 }
Example #8
0
 static function import($export_filename, $owner = NULL)
 {
     $rep = @user_config($export_filename . '.0');
     if (!$rep) {
         return NULL;
     }
     $rep = $rep[0];
     $obj = unserialize($rep);
     if ($owner) {
         $obj->__owner = ref($owner);
     }
     $obj->is_imported = TRUE;
     Ref::resolve_back_references();
     return ref($obj);
 }
Example #9
0
 public function postEdit($id)
 {
     $iuser = Input::get('user');
     $user = User::find($id);
     if (@$iuser['user_groups']) {
         $new_set = [];
         foreach ($iuser['user_groups'] as $key => $value) {
             $new_set[$key] = ref(UserGroup::find($key));
         }
         if ($user->type === 0) {
             $new_set[1] = ref(UserGroup::find(1));
         }
         $iuser['user_groups'] = $new_set;
     }
     foreach ($iuser as $key => $value) {
         $user->{$key} = $value;
     }
     $user->export();
     return \Redirect::back()->with('message_type', 'success')->with('message', 'Success!');
 }
Example #10
0
<?php

function f($a = 500, $b)
{
    // $b shouldn't show up
    var_dump(get_defined_vars());
}
function modify($arr)
{
    $arr['a'] += 200;
}
function rvalue_sort($x)
{
    ksort($x);
    return $x;
}
function ref($a)
{
    $b =& $a;
    var_dump(rvalue_sort(get_defined_vars()));
    modify(rvalue_sort(get_defined_vars()));
    var_dump($b);
}
@f();
ref(20);
Example #11
0
/**
 * callbackParams
 * @param mixed $mCallback
 * @return mixed
 */
function callbackParams($mCallback)
{
    if (is_string($mCallback)) {
        if (!matchesIn($mCallback, '::')) {
            // function
            return ref(new ReflectionFunction($mCallback))->getParameters();
        } else {
            // static method
            return ref(new ReflectionMethod($mCallback))->getParameters();
        }
    } else {
        if (is_array($mCallback)) {
            $mFunc = $mCallback[0];
            if (is_string($mFunc)) {
                // function or static method
                return callbackParams($mFunc);
            } else {
                if (is_object($mFunc)) {
                    if ($mFunc instanceof Curry) {
                        // curry object
                        return $mFunc->getParams();
                    } else {
                        // instance method
                        return ref(new ReflectionMethod(get_class($mFunc), $mCallback[1]))->getParameters();
                    }
                }
            }
        }
    }
    return false;
}
 public function readMalformedDataBC()
 {
     $s = new Stream();
     FileUtil::setContents($s, '@@MALFORMED@@');
     Image::loadFrom(new \img\io\StreamReader(ref($s)));
 }
Example #13
0
{
    foreach ([13, 42, 19] as $k => $v) {
        (yield $k => $v);
    }
}
foreach (withKey() as $k => $v) {
    echo $k . ' ' . $v . PHP_EOL;
}
function &ref()
{
    $v = 5;
    while ($v > 0) {
        (yield $v);
    }
}
foreach (ref() as &$v) {
    echo --$v . ' ';
}
echo PHP_EOL;
function sendGen()
{
    while (true) {
        // without this only one value
        $str = yield;
        echo $str . ' ';
    }
}
/** @var Generator $sg */
$sg = sendGen();
$sg->send(42);
$sg->send(13);
Example #14
0
 static function makeWithFilter($callback, $before = null, $after = null, $around = null)
 {
     return array(ref(new self($callback, array()))->before($before)->after($after)->around($around), 'invoke');
 }
 public function writePngBC()
 {
     $s = new Stream();
     $this->image->saveTo(new PngStreamWriter(ref($s)));
     $this->assertNotEmpty(FileUtil::getContents($s));
 }
 public function read_bc()
 {
     $s = new Stream();
     FileUtil::setContents($s, base64_decode('/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAAQABAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9/ooooA//9k='));
     Image::loadFrom(new \img\io\StreamReader(ref($s)));
 }
Example #17
0
 static function first_user_tasks(&$arr)
 {
     $user_group = UserGroup::create(array('id' => 1, 'name' => 'master_admin', 'parent_group_id' => NULL, 'description' => 'Master Administrator'));
     $user_group->export();
     $arr['user_groups'][$user_group->id] = [ref($user_group)];
 }
 public function read_bc()
 {
     $s = new Stream();
     FileUtil::setContents($s, base64_decode('R0lGODdhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs='));
     Image::loadFrom(new \img\io\StreamReader(ref($s)));
 }
Example #19
0
 function fetch_from_db($expand_ref = FALSE)
 {
     $table_name = $this->name;
     $db_name = $this->db_name;
     $_cols = data_db()->select("DESC {$db_name}.{$table_name}");
     foreach ($_cols as $col => $col_info) {
         $is_primary = $col_info->Key == 'PRI';
         $is_autoinc = strpos($col_info->Extra, 'auto_increment') !== FALSE;
         $type_info = explode('(', $col_info->Type, 2);
         $init = array('name' => $col_info->Field, 'is_null' => $col_info->Null == 'YES', '_default' => $col_info->Default, 'is_autoinc' => $is_autoinc, 'type' => $type_info[0], 'is_primary' => $is_primary);
         if (count($type_info) > 1) {
             if ($type_info[0] == 'enum' || $type_info[0] == 'set') {
                 $list_values = substr($type_info[1], 0, -1);
                 $list_values = str_getcsv($list_values, ',', '\'');
                 $init['extra_info'] = ['list_values' => $list_values];
             }
             $type_info = explode(' ', $type_info[1]);
             $init['type_len'] = intval($type_info[0]);
             if (count($type_info) > 1) {
                 if ($type_info[1] == 'unsigned') {
                     $init['is_unsigned'] = true;
                 }
             }
         }
         $init['__owner'] = ref($this);
         $col = new static::$ColumnClass($init);
         array_push($this->_cols, ref($col));
         if ($is_primary) {
             array_push($this->primary_cols, ref($col));
         }
     }
     $outgoing_references = data_db()->select("SELECT \n\t\t \t\t\t\t  COLUMN_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME\n\t\t \t\t\t\tFROM\n\t\t\t\t\t\t  INFORMATION_SCHEMA.KEY_COLUMN_USAGE\n\t\t \t\t\t\tWHERE\n\t\t \t\t\t\t  CONSTRAINT_SCHEMA=? AND TABLE_NAME = ?", [$db_name, $table_name]);
     foreach ($outgoing_references as $ref) {
         if ($ref->REFERENCED_TABLE_NAME) {
             $col = $this->col($ref->COLUMN_NAME);
             $col->references_table_name = $ref->REFERENCED_TABLE_NAME;
             $col->references_col_name = $ref->REFERENCED_COLUMN_NAME;
             if ($expand_ref) {
                 $col->references_table = ref($this->db->table($ref->REFERENCED_TABLE_NAME, TRUE));
                 $col->references_col = ref($col->references_table->col($ref->REFERENCED_COLUMN_NAME));
             }
             array_push($this->outgoing_references, ref($col));
         }
     }
     if (0 && $expand_ref) {
         $incoming_references = data_db()->select("SELECT \n\t\t\t \t\t\t\t  COLUMN_NAME,TABLE_NAME,REFERENCED_COLUMN_NAME,COLUMN_NAME\n\t\t\t \t\t\t\tFROM\n\t\t\t\t\t\t\t  INFORMATION_SCHEMA.KEY_COLUMN_USAGE\n\t\t\t \t\t\t\tWHERE\n\t\t\t \t\t\t\t  CONSTRAINT_SCHEMA=? AND REFERENCED_TABLE_NAME = ?", [$db_name, $table_name]);
         foreach ($incoming_references as $ref) {
             $iref = new \stdClass();
             //IncomingReference;
             $iref->src_table_name = $ref->TABLE_NAME;
             $iref->src_col_name = $ref->COLUMN_NAME;
             $iref->src_table = ref($this->db->table($ref->TABLE_NAME, TRUE));
             $iref->src_col = ref($iref->table->col($ref->COLUMN_NAME));
             $iref->target_col_name = $ref->TARGET_COLUMN_NAME;
             $iref->target_col = ref($this->col($ref->TARGET_COLUMN_NAME));
             array_push($this->incoming_references, ref($iref));
         }
     }
     return $this;
 }
 public function read_bc()
 {
     $s = new Stream();
     FileUtil::setContents($s, base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX///+nxBvIAAAACklEQVQImWNgAAAAAgAB9HFkpgAAAABJRU5ErkJggg=='));
     Image::loadFrom(new \img\io\StreamReader(ref($s)));
 }
 public function write_bc()
 {
     $s = new \io\Stream();
     $this->image->saveTo(new JpegStreamWriter(ref($s)));
     $this->assertNotEmpty(\io\FileUtil::getContents($s));
 }
Example #22
0
<?php

if (isset($_POST['action']) && !empty($_POST['action'])) {
    $action = $_POST['action'];
    switch ($action) {
        case 'ref':
            header('Content-Type: application/json');
            echo json_encode(ref());
            break;
    }
}
function ref()
{
    $json = file_get_contents($_POST['url']);
    return $json;
}