/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.08.23.
 * Time: 20:59
 */
function pwd($email, $pwd)
{
    $input = $email . ";" . $pwd;
    $unique_salt = \runner::config("pwd_salt");
    $unique_logarithm = \runner::config("pwd_logarithm");
    $unique_method = \runner::config("pwd_method");
    return \Routerunner\Crypt::crypter($input, null, null, 0, $unique_salt, $unique_logarithm, $unique_method);
}
/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.02.18.
 * Time: 14:55
 */
function logincrypt($email, $pwd, &$error = false)
{
    $isOk = false;
    $unique_salt = \runner::config("pwd_salt");
    $unique_logarithm = \runner::config("pwd_logarithm");
    $unique_method = \runner::config("pwd_method");
    $input = $email . ";" . $pwd;
    //var_dump(\Routerunner\Crypt::crypter($input, null, null, 0, $unique_salt, $unique_logarithm, $unique_method));
    $SQL = "SELECT pwd, confirm_date FROM member WHERE email = :email";
    if ($result = \Routerunner\Db::query($SQL, array(":email" => $email))) {
        $result = $result[0];
        if (is_null($result["confirm_date"])) {
            $error = "User has not been confirmed!";
        }
        $isOk = \Routerunner\Crypt::checker($input, $result["pwd"], $unique_salt, $unique_logarithm, $unique_method);
        if (!$isOk) {
            $error = "Incorrect password!";
        }
    } else {
        $error = "User is not exists!";
    }
    return $isOk;
}
                header("Location: " . $url);
            } elseif ($method == "open") {
                try {
                    $im = @imagecreatetruecolor(1, 1);
                    @imagealphablending($im, true);
                    $transparent = @imagecolorallocatealpha($im, 0, 0, 0, 127);
                    @imagefilledrectangle($im, 0, 0, 1, 1, $transparent);
                    @header('Content-type: image/png');
                    @imagepng($im);
                    @imagedestroy($im);
                } catch (Exception $e) {
                }
            } elseif ($method == "click") {
                $url = stripslashes($click_url);
                if (!preg_match('~^http(s)?:\\/\\/~', $url)) {
                    $url = \runner::config("BASE") . $url;
                }
                header("Location: " . $url);
            }
        } elseif ($click_url) {
            $url = stripslashes($click_url);
            if (!preg_match('~^http(s)?:\\/\\/~', $url)) {
                $url = \runner::config("BASE") . $url;
            }
            header("Location: " . $url);
        } else {
            header("Location: " . \runner::config("BASE"));
        }
    }
}
$debug = 1;
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.07.13.
 * Time: 11:27
 */
$debug = 1;
$form = array('method' => 'post', 'xmethod' => isset($_GET["id"]) && is_numeric($_GET["id"]) && $_GET["id"] > 0 ? 'put' : 'post', 'name' => 'e_campaign', 'error_format' => '<p class="err">%s</p>' . PHP_EOL, 'from' => 'e_campaign', 'condition' => array(array('e_campaign.id = :id', array(':id' => 'id'), 'AND')));
$nonce = uniqid(rand(0, 1000000));
if (!isset($_POST["nonce"])) {
    $_SESSION["nonce"] = \Routerunner\Crypt::crypter($nonce);
}
$value = array("label" => "", "category" => "", "active" => "1", "mail_route" => "", "subject" => "", "mail_html" => "");
if (isset($_GET["id"]) && is_numeric($_GET["id"])) {
    $SQL = "SELECT label, category, active, mail_route, subject, mail_html, mail_text FROM `e_campaign` WHERE id = ?";
    if ($result = \db::query($SQL, array($_GET["id"]))) {
        $value = array_merge($value, $result[0]);
    }
}
if (!$value["mail_html"] && \runner::config("newsletter_mail_html")) {
    $value["mail_html"] = \runner::config("newsletter_mail_html");
}
$input = array('id' => array('type' => 'hidden', 'field' => 'id', 'value' => isset($_GET["id"]) ? $_GET["id"] : ""), 'nonce' => array('type' => 'hidden', 'field' => 'nonce', 'value' => $nonce), 'label' => array('type' => 'text', 'field' => 'label', 'label' => 'Label', 'input-id' => 'frm-name', 'class' => '', 'value' => $value["label"]), 'category' => array('type' => 'select', 'field' => 'category', 'label' => 'Category', 'input-id' => 'frm-category', 'class' => '', 'value' => $value["category"]), 'active' => array('type' => 'boolean', 'field' => 'active', 'label' => 'Active state', 'input-id' => 'frm-active', 'class' => '', 'value' => $value["active"]), 'subject' => array('type' => 'text', 'field' => 'subject', 'label' => 'Subject', 'input-id' => 'frm-subject', 'class' => '', 'value' => $value["subject"]), 'mail_html' => array('type' => 'ckeditor', 'field' => 'mail_html', 'label' => 'Message content', 'input-id' => 'frm-mail_html', 'class' => '', 'value' => $value["mail_html"]), 'mail_text' => array('type' => 'textarea', 'field' => 'mail_text', 'label' => 'Message text content', 'input-id' => 'frm-mail_text', 'class' => '', 'value' => $value["mail_text"]), 'submit' => array('type' => 'submit', 'input-id' => 'frm-submit', 'value' => 'Save'));
$unset = array("submit");
						</table>
				<span class="devider">
				</span>
						<table class="row">
							<tr>
								<td class="wrapper last">
									<!-- BEGIN: Disscount Content -->
									<table class="twelve columns">
										<tr>
											<td>
												<h4>70% Disscount!</h4>
												<p>
													Phasellus dictum sapien a neque luctus cursus. Pellentesque sem dolor, fringilla et pharetra vitae. Pellentesque sem dolor, fringilla et pharetra vitae
												</p>
												<img src="<?php 
echo runner::config("BASE");
?>
metronic/assets/admin/pages/media/email/article.png" class="ie10-responsive" alt=""/>
											</td>
											<td class="expander">
											</td>
										</tr>
									</table>
									<!-- END: Disscount Content -->
								</td>
							</tr>
						</table>
					</td>
				</tr>
			</table>
			<!-- END: Content -->
     }
 }
 if (($resource = json_decode($change["resource"], true)) && isset($resource["route"])) {
     $model_route = $resource["route"];
 } else {
     $model_class = "get_the_proper_model_class";
     $model_route = "/model";
 }
 if ($model_class && substr($model_route, -1 * (strlen($model_class) + 1)) != '/' . $model_class) {
     $model_route .= '/' . $model_class;
 }
 $context = array("direct" => $change["reference"], "session" => \runner::stack("session_id"), "silent" => true);
 $router = false;
 $model = false;
 \runner::stack("model_create", array("class" => $model_class));
 \runner::redirect_route($model_route, \runner::config("scaffold"), true, $context, $router, $model);
 \runner::stack("model_create", false);
 if ($model && is_array($model)) {
     $model = array_shift($model);
 }
 if (is_object($model) && get_parent_class($model) == "Routerunner\\BaseModel" && ($changes = json_decode($change["changes"], true))) {
     switch ($change["state"]) {
         case "property":
             foreach ($changes as $field => $value) {
                 if (property_exists($model, $field) && isset($model->table_from) && isset($model->table_id)) {
                     $model->{$field} = $value;
                     $pk = false;
                     if (isset($router->runner->model_context["primary_key"])) {
                         $pk = $router->runner->model_context["primary_key"];
                     } else {
                         $SQL = <<<SQL
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.04.07.
 * Time: 16:33
 */
$debug = 1;
return array('wrapper_class' => 'rr-content', 'child_selector' => '.rr-content-model', 'fields' => array('label' => array_merge(\runner::config("property.label"), array('selector' => '.rr-content-label')), 'content' => array_merge(\runner::config("property.type.text"), array('selector' => '.rr-content-content')), 'tag' => array_merge(\runner::config("property.tag"), array('selector' => '.rr-content-tag select')), 'author' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-content-author')), 'contentimage' => array_merge(\runner::config("property.contentimage"), array('selector' => '.rr-content-contentimage', 'mediasize' => 'contentimage'))));
<div class="rr-feature-model col-md-3 col-sm-6">
	<div class="panel panel-default text-center">
		<div class="panel-heading">
			<span class="fa-stack fa-5x">
				<?php 
if (\model::property("icon_class") || \runner::config("mode") == "backend") {
    ?>
					<span class="fa <?php 
    echo \model::property("icon_class");
    ?>
"></span>
				<?php 
}
?>
			</span>
		</div>
		<div class="panel-body">
			<h4 class="rr-feature-label"><?php 
echo \model::property("label");
?>
</h4>
			<div class="rr-feature-lead">
				<?php 
echo \model::property("lead");
?>
			</div>
			<?php 
if (trim(\model::property("link"), " #")) {
    ?>
				<a href="<?php 
    echo \model::property("link");
                }
                if (is_dir($path)) {
                    foreach ($file as $key => $current_file) {
                        if (!$found && $path && $current_file && file_exists($path . $dirsep . $checkfiles[$key])) {
                            $response["script"] = str_replace(\runner::config("SITEROOT"), "", $path . $dirsep . $checkfiles[$key]);
                            $route = str_replace(\runner::config("SITEROOT"), "", $path);
                            $response["route"] = explode($dirsep, $route);
                            $response["content"] = file_get_contents($path . $dirsep . $checkfiles[$key]);
                            $found = true;
                        }
                    }
                }
            }
            if (!$found) {
                $path = \runner::config("SITEROOT") . \runner::config("BACKEND_ROOT") . "scaffold" . $dirsep . "backend" . $dirsep . "input" . $dirsep;
                if (is_dir($path)) {
                    foreach ($file as $key => $current_file) {
                        if (!$found && $path && $current_file && file_exists($path . $dirsep . $checkfiles[$key])) {
                            $response["script"] = str_replace(\runner::config("SITEROOT"), "", $path . $dirsep . $checkfiles[$key]);
                            $route = str_replace(\runner::config("SITEROOT"), "", $path);
                            $response["route"] = explode($dirsep, $route);
                            $response["content"] = file_get_contents($path . $dirsep . $checkfiles[$key]);
                            $found = true;
                        }
                    }
                }
            }
        }
    }
    echo json_encode($response);
});
 public function set_cache()
 {
     if (\runner::config('mode') != 'backend' && \Routerunner\Routerunner::$cache && \Routerunner\Routerunner::$cache_type == 'Memcached') {
         \Routerunner\Routerunner::$cache->set($this->cache_route . '|html', $this->runner->html, $this->runner->cache_exp);
         \Routerunner\Routerunner::$cache->set($this->cache_route . '|model', $this->runner->model, $this->runner->cache_exp);
     } elseif (\runner::config('mode') != 'backend' && \Routerunner\Routerunner::$cache && \Routerunner\Routerunner::$cache_type == 'Memcache' && strlen($this->cache_route) < 250) {
         \Routerunner\Routerunner::$cache->set($this->cache_route . '|html', $this->runner->html, MEMCACHE_COMPRESSED, $this->runner->cache_exp);
         \Routerunner\Routerunner::$cache->set($this->cache_route . '|model', $this->runner->model, MEMCACHE_COMPRESSED, $this->runner->cache_exp);
     }
 }
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.04.07.
 * Time: 16:33
 */
$class_options = explode(";", "bg-default;bg-primary;bg-info;bg-success;bg-warning;bg-danger");
sort($class_options);
return array('wrapper_class' => 'rr-freecontent', 'child_selector' => '.rr-freecontent-model', 'fields' => array('label' => array_merge(\runner::config("property.label"), array('selector' => '.rr-freecontent-label')), 'description' => array_merge(\runner::config("property.lead"), array('selector' => '.rr-freecontent-description')), 'link' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-freecontent-link')), 'addon_class' => array_merge(\runner::config("property.type.select"), array('selector' => '.rr-freecontent-addon_class select', 'options' => $class_options, 'help' => array('panel' => ''))), 'image' => array_merge(\runner::config("property.contentimage"), array('selector' => '.rr-freecontent-image', 'default' => 'Routerunner/placeholder/600x600')), 'data_image' => array_merge(\runner::config("property.data_contentimage"), array('selector' => '.rr-freecontent-data_image', 'default' => '{"src": "Routerunner/placeholder/600x600", "x": 0, "y": 0, "width": 600, "height": 600, "rotate": 0, "canvasData": {}}', 'width' => '600px', 'height' => '600px')), 'html_code' => array_merge(\runner::config("property.type.text"), array('selector' => '.rr-freecontent-html_code'))));
 private static function SQL_creator($select, $from, $primary_key, $leftJoin = array(), $where = array(), &$params = array(), $orderBy = false, $groupBy = false, $limit = false, $offset = false)
 {
     $ordering = $orderBy;
     $parents = \runner::stack("parents");
     if (!$parents) {
         $parents = array();
     }
     $prevs = \runner::stack("prevs");
     if (!$prevs) {
         $prevs = array();
     }
     $strict = false;
     $skip_state = false;
     $by_tree = false;
     $by_index = false;
     if ($orderBy === \Routerunner\Routerunner::BY_TREE || $orderBy === \Routerunner\Routerunner::BY_TREE_DESC || $orderBy === \Routerunner\Routerunner::BY_INDEX || $orderBy === \Routerunner\Routerunner::BY_INDEX_DESC || isset($where["direct"]) && $where["direct"] || isset($where["parent"]) && $where["parent"] || isset($where["self"]) && $where["self"] || isset($where["lang"]) && $where["lang"]) {
         $tree = array();
         $params = array();
         if (isset($where["direct"]) && is_numeric($where["direct"])) {
             $SQL = 'SELECT models.reference, NULL AS parent_ref, NULL AS prev, table_from, table_id ' . PHP_EOL;
             $SQL .= 'FROM {PREFIX}models AS models ' . PHP_EOL;
             $SQL .= 'WHERE models.reference = :reference';
             $params = array(":reference" => $where["direct"]);
             $strict = true;
             $skip_state = true;
             $by_tree = true;
         } elseif (isset($where["direct"]) && is_array($where["direct"])) {
             $SQL = 'SELECT models.reference, NULL AS parent_ref, NULL AS prev, table_from, table_id ' . PHP_EOL;
             $SQL .= 'FROM {PREFIX}models AS models ' . PHP_EOL;
             $SQL .= 'WHERE models.model_class = :class AND models.table_id = :id';
             if (is_numeric(current($where["direct"]))) {
                 $params = array(":class" => key($where["direct"]), ":id" => current($where["direct"]));
             } else {
                 $params = array(":class" => current($where["direct"]), ":id" => key($where["direct"]));
             }
             $strict = true;
             $skip_state = true;
             $by_tree = true;
         } else {
             $where_reference = array();
             // get self reference
             if ($self_reference = self::resolve_model_reference('self', $where, true)) {
                 $where_reference['model_traverse.reference IN (' . implode(',', $self_reference) . ')'] = null;
                 $strict = true;
                 $skip_state = true;
                 $by_tree = true;
             }
             // get parent reference
             if ($parent_reference = self::resolve_model_reference('parent', $where, true)) {
                 $where_reference['model_traverse.parent_ref IN (' . implode(',', $parent_reference) . ')'] = null;
                 $strict = true;
                 $skip_state = true;
                 $by_tree = true;
             }
             // get lang condition
             if ($lang = self::resolve_model_reference('lang', $where, true)) {
                 $where_reference['model_traverse.lang IN (' . implode(',', $lang) . ')'] = null;
                 $strict = true;
                 $skip_state = true;
             }
             if (!$where_reference && $where) {
                 $SQL_reference = "SELECT models.reference FROM `" . $from . "` AS model_table " . PHP_EOL . "LEFT JOIN `" . $from . "` ON `" . $from . "`.`" . $primary_key . "` = model_table.`" . $primary_key . "`" . PHP_EOL . "LEFT JOIN `{PREFIX}models` AS models ON models.table_from = '" . $from . "' AND models.table_id = model_table.`" . $primary_key . "`" . PHP_EOL . " WHERE ";
                 $conds_reference = array();
                 $params_reference = array();
                 foreach ($where as $cond_reference => $param_reference) {
                     $conds_reference[] = preg_replace("~(:[a-z0-9\\-_\\.]+)~i", "?", $cond_reference);
                     if (!is_null($param_reference)) {
                         $params_reference[] = $param_reference;
                     }
                 }
                 $SQL_reference .= implode(" AND ", $conds_reference);
                 if ($result_reference = \db::query($SQL_reference, $params_reference)) {
                     $row_reference = array_shift($result_reference);
                     $reference_for_parent = $row_reference["reference"];
                     if (($parent_obj = \Routerunner\Bootstrap::parent($reference_for_parent)) && count($parent_obj)) {
                         $parent_obj = array_pop($parent_obj);
                         $parent_reference = $parent_obj["reference"];
                         $where_reference['model_traverse.parent_ref IN (' . $parent_reference . ')'] = null;
                     }
                     $strict = true;
                     $skip_state = true;
                 }
             }
             if ($orderBy === \Routerunner\Routerunner::BY_TREE || $orderBy === \Routerunner\Routerunner::BY_TREE_DESC) {
                 // get previous sibling
                 $prev_reference = self::resolve_model_reference('prev', $where, true);
                 if ($prev_reference !== false) {
                     $where_reference['model_traverse.prev_ref IN (' . implode(',', $prev_reference) . ')'] = null;
                     $strict = true;
                     $skip_state = true;
                 }
                 // get next sibling
                 // todo: check --- is it ok?
                 $next_reference = self::resolve_model_reference('next', $where, true);
                 if ($next_reference !== false) {
                     $where_reference['model_traverse.prev_ref IN (SELECT reference FROM {PREFIX}model_trees WHERE prev_ref IN (' . implode(',', $next_reference) . '))'] = null;
                     $strict = true;
                     $skip_state = true;
                 }
             }
             if ($orderBy === \Routerunner\Routerunner::BY_INDEX) {
                 // get order_no sibling
                 $order_no_reference = self::resolve_model_reference('order_no', $where, true);
                 if ($order_no_reference !== false) {
                     $where_reference['model_traverse.order_no IN (' . implode(',', $order_no_reference) . ')'] = null;
                     $strict = true;
                     $skip_state = true;
                     $by_index = true;
                 }
             }
             if ($where_reference) {
                 $SQL = 'SELECT models.reference, model_traverse.parent_ref' . PHP_EOL;
                 if ($orderBy === \Routerunner\Routerunner::BY_TREE || $orderBy === \Routerunner\Routerunner::BY_TREE_DESC || $by_tree) {
                     $SQL .= ', prev_ref AS prev' . PHP_EOL;
                 } elseif ($orderBy === \Routerunner\Routerunner::BY_INDEX || $orderBy === \Routerunner\Routerunner::BY_INDEX_DESC || $by_index) {
                     $SQL .= ', order_no AS prev' . PHP_EOL;
                 }
                 $SQL .= 'FROM {PREFIX}models AS models ' . PHP_EOL;
                 if ($orderBy === \Routerunner\Routerunner::BY_TREE || $orderBy === \Routerunner\Routerunner::BY_TREE_DESC || $by_tree) {
                     $SQL .= 'LEFT JOIN {PREFIX}model_trees AS model_traverse ON model_traverse.reference = models.reference ' . PHP_EOL;
                 } elseif ($orderBy === \Routerunner\Routerunner::BY_INDEX || $orderBy === \Routerunner\Routerunner::BY_INDEX_DESC || $by_index) {
                     $SQL .= 'LEFT JOIN {PREFIX}model_orders AS model_traverse ON model_traverse.reference = models.reference ' . PHP_EOL;
                 }
                 $SQL .= 'WHERE ' . implode(' AND ', array_keys($where_reference)) . PHP_EOL;
                 if ($orderBy === \Routerunner\Routerunner::BY_INDEX || $by_index) {
                     $SQL .= 'ORDER BY model_traverse.parent_ref, model_traverse.order_no, models.reference';
                 }
             }
         }
         if ($strict && !empty($SQL) && ($result = \db::query($SQL, $params))) {
             // modify SQL params
             if (!$leftJoin) {
                 $leftJoin = array();
             }
             if (strpos($from, '{PREFIX}models') !== false || $from == 'models') {
                 $from = '`{PREFIX}models` AS models';
                 $model_class = 'models';
                 $primary_key = 'reference';
             } else {
                 array_unshift($leftJoin, '`' . $from . '` ON `' . $from . '`.`' . $primary_key . '` = models.table_id AND models.table_from = \'' . $from . '\'');
                 $model_class = trim($from, '`');
                 $primary_key = trim($primary_key, '`');
                 $from = '{PREFIX}models AS models';
             }
             if ($orderBy === \Routerunner\Routerunner::BY_INDEX || $orderBy === \Routerunner\Routerunner::BY_INDEX_DESC || $by_index) {
                 foreach ($result as $reference_row) {
                     $tree[] = $reference_row['reference'];
                     $parents[$reference_row["reference"]] = $reference_row["parent_ref"];
                     $prevs[$reference_row["reference"]] = $reference_row["prev"];
                 }
                 $orderBy = '`models`.`order_no`';
             } elseif ($orderBy === \Routerunner\Routerunner::BY_TREE || $orderBy === \Routerunner\Routerunner::BY_TREE_DESC || $by_tree) {
                 $orderByTree = $orderBy === \Routerunner\Routerunner::BY_TREE || $orderBy === \Routerunner\Routerunner::BY_TREE_DESC ? true : false;
                 if ($orderByTree) {
                     $orderBy = 'CASE `models`.`reference`';
                 }
                 $reorder_tree = array();
                 foreach ($result as $reference_row) {
                     $reorder_tree[$reference_row['prev']] = $reference_row;
                     $parents[$reference_row["reference"]] = $reference_row["parent_ref"];
                     $prevs[$reference_row["reference"]] = $reference_row["prev"];
                 }
                 if (count($reorder_tree) === 1) {
                     $prev = key($reorder_tree);
                     $index = 0;
                 } else {
                     $prev = 0;
                     $index = 0;
                 }
                 while (isset($reorder_tree[$prev])) {
                     $current = $reorder_tree[$prev]['reference'];
                     $tree[] = $current;
                     $prev = $current;
                     if ($orderByTree) {
                         $orderBy .= ' WHEN ' . $current . ' THEN ' . $index;
                     }
                     $index++;
                 }
                 if ($orderByTree) {
                     $orderBy .= ' END';
                 }
             } elseif (isset($where["direct"])) {
                 foreach ($result as $reference_row) {
                     $tree[] = $reference_row['reference'];
                 }
             }
             if ($ordering === \Routerunner\Routerunner::BY_INDEX_DESC || $ordering === \Routerunner\Routerunner::BY_TREE_DESC) {
                 $orderBy .= ' DESC';
             }
             if (!$where) {
                 $where = array();
             }
             $where['models.reference IN (' . implode(',', $tree) . ')'] = null;
             $where['`' . $model_class . '`.`' . $primary_key . '` IS NOT NULL'] = null;
         } elseif ($strict) {
             $where['1 = 0'] = null;
         }
         if ($config_reference = \runner::config('reference')) {
             $where['models.reference IN (' . $config_reference . ')'] = null;
         }
     } else {
         // join models table and filter to reference
     }
     \runner::stack("parents", $parents);
     \runner::stack("prevs", $prevs);
     $SQL = '';
     unset($where["direct"]);
     $visible_references = array();
     $params = array();
     if (\runner::config("mode") != "backend" && \runner::config("mode") != "sitemap" && !\runner::now("skip_state_check") && !$skip_state) {
         $_from = $from;
         if (strpos($_from, "AS") !== false) {
             $_from = substr($_from, 0, strpos($_from, "AS"));
         }
         $SQL = "SELECT models.reference FROM " . $_from;
         if (strpos($_from, "models") !== false) {
             $SQL .= " AS models";
         }
         $SQL .= PHP_EOL;
         if ($leftJoin) {
             foreach ($leftJoin as $join) {
                 $SQL .= 'LEFT JOIN ' . $join . PHP_EOL;
             }
         }
         if (strpos($_from, "models") === false) {
             $SQL .= "LEFT JOIN {PREFIX}models AS models ON models.table_from = '" . $_from . "' AND models.table_id = " . $_from . "." . $primary_key . PHP_EOL;
         }
         $_where = array();
         if (isset($where) && is_array($where)) {
             $_where = $where;
         }
         $time = time();
         $_where["models.reference NOT IN (SELECT model FROM {PREFIX}model_states AS states WHERE states.active = 0 OR " . $time . " NOT BETWEEN COALESCE(begin, " . $time . ") AND COALESCE(end, " . $time . "))"] = null;
         if (is_array($_where) && count($_where)) {
             $SQL .= 'WHERE ';
             $i = 0;
             foreach ($_where as $filter => $param) {
                 if (!is_numeric($filter)) {
                     $SQL .= $filter;
                 }
                 if (preg_match('/(:[a-z0-9]+)/i', $filter, $match)) {
                     $params[$match[0]] = $param;
                 } elseif (strpos($filter, '?') !== false) {
                     $params[] = $param;
                 }
                 $i++;
                 if (!is_numeric($filter) && $i < count($_where)) {
                     $SQL .= ' AND ';
                 }
                 $SQL .= PHP_EOL;
             }
         } elseif ($_where) {
             $SQL .= 'WHERE ' . $_where . PHP_EOL;
         }
         if ($state_results = \db::query($SQL, $params)) {
             foreach ($state_results as $state_result) {
                 if (!empty($state_result["reference"])) {
                     $visible_references[] = $state_result["reference"];
                 }
             }
         }
         $SQL = '';
         $params = array();
     }
     if ($orderBy !== \Routerunner\Routerunner::BY_INDEX && $orderBy !== \Routerunner\Routerunner::BY_INDEX_DESC && $orderBy !== \Routerunner\Routerunner::BY_TREE && $orderBy !== \Routerunner\Routerunner::BY_TREE_DESC || $where) {
         $SQL = 'SELECT ';
         array_walk($select, function (&$value, $key) {
             if (is_null($value)) {
                 $value = 'NULL AS `' . trim($key, '`') . '`';
             } else {
                 $value = $value . ' AS `' . trim($key, '`') . '`';
             }
         });
         $SQL .= implode(', ', $select);
         $SQL .= PHP_EOL;
         $SQL .= 'FROM ' . $from . PHP_EOL;
         if ($leftJoin) {
             foreach ($leftJoin as $join) {
                 $SQL .= 'LEFT JOIN ' . $join . PHP_EOL;
             }
         }
         if ($visible_references) {
             /*
             $SQL .= "LEFT JOIN {PREFIX}models AS models ON models.table_from = '" . $from .
             	"' AND models.table_id = " . $from . "." . $primary_key . PHP_EOL;
             */
             if (!isset($where) || !is_array($where)) {
                 $where = array();
             }
             $where["`" . $from . "`.`" . $primary_key . "` IN (SELECT models.table_id FROM {PREFIX}models AS models\nWHERE models.reference IN (" . implode(",", $visible_references) . "))"] = null;
         }
         if (is_array($where) && count($where)) {
             $SQL .= 'WHERE ';
             $i = 0;
             foreach ($where as $filter => $param) {
                 if (!is_numeric($filter)) {
                     $SQL .= $filter;
                 }
                 if (preg_match('/(:[a-z0-9]+)/i', $filter, $match)) {
                     $params[$match[0]] = $param;
                 } elseif (strpos($filter, '?') !== false) {
                     $params[] = $param;
                 }
                 $i++;
                 if (!is_numeric($filter) && $i < count($where)) {
                     $SQL .= ' AND ';
                 }
                 $SQL .= PHP_EOL;
             }
         } elseif ($where) {
             $SQL .= 'WHERE ' . $where . PHP_EOL;
         }
         if ($groupBy) {
             $SQL .= 'GROUP BY ' . $groupBy . PHP_EOL;
         }
         if ($orderBy != "BY_TREE" && $orderBy != "BY_TREE_DESC" && $orderBy != "BY_INDEX" && $orderBy != "BY_INDEX_DESC") {
             if ($orderBy) {
                 $SQL .= 'ORDER BY ' . $orderBy . PHP_EOL;
             } elseif ($orderBy !== false) {
                 $SQL .= 'ORDER BY ' . $primary_key . PHP_EOL;
             }
         }
         if ($limit !== false) {
             $SQL .= 'LIMIT ' . $limit . PHP_EOL;
             if ($offset !== false) {
                 $SQL .= 'OFFSET ' . $offset . PHP_EOL;
             }
         } elseif ($limit === false && $offset !== false) {
             $SQL .= 'LIMIT 18446744073709551615' . PHP_EOL;
             $SQL .= 'OFFSET ' . $offset . PHP_EOL;
         }
     }
     return $SQL;
 }
<?php

$debug = 1;
\user::logout();
\runner::stack_js('setTimeout(function() { window.location.href = "' . \runner::config('BASE') . '"; }, 2000);');
?>

<body class="page-md page-header-top-fixed">
<div class="backend-wrapper">
	<!-- BEGIN CONTAINER -->
	<div class="page-container row container-fluid container-margin">
		<h1>You've been successfully logged out!</h1>
	</div>
</div>
</body>
<?php

$size_l = \model::property("size_l");
if (!$size_l) {
    $size_l = \runner::config("mode") == "backend" ? "Routerunner/placeholder/800x550" : false;
}
?>
<li class="gl-item gl-loading media-model" data-category="<?php 
echo \model::property("category");
?>
">
	<div class="rr-post-size_l rr-post-data_l" style="width: 100%;">
		<img src="<?php 
echo $size_l;
?>
" alt="<?php 
echo \model::property("label");
?>
">
	</div>
</li>
         $unique = uniqid();
         $hash = str_replace('/', ',', base64_encode(\Routerunner\Crypt::crypter($unique)));
         if (isset($address["id"])) {
             $params_deliver = array(":cron" => $cron["cron_id"], ":address" => $address["id"], ":date" => time(), ":hash" => $unique);
             $delivered = \db::insert($SQL_deliver, $params_deliver);
         } else {
             $delivered = 0;
         }
         /*
         $address["open"] = "";
         $address["click"] = \runner::config("BASE");
         $address["unsubscribe"] = \runner::config("BASE") . "unsubscribe/";
         */
         $address["open"] = "<img alt='" . \runner::config("SITE") . "' src='" . \runner::config("BASE") . "nl/open/" . dechex($delivered) . "/" . $hash . "/" . "' style='display: none; width: 0; height: 0;'/>";
         $address["click"] = \runner::config("BASE") . "nl/click/" . dechex($delivered) . "/" . $hash . "/";
         $address["unsubscribe"] = \runner::config("BASE") . "nl/unsubscribe/" . dechex($delivered) . "/" . $hash . "/";
         $mail_content = urldecode($mail_raw);
         $mail_content_text = $mail_text;
         foreach ($address as $var => $value) {
             $mail_content = str_replace('[' . $var . ']', $value, $mail_content);
             $mail_content_text = str_replace('[' . $var . ']', $value, $mail_content_text);
         }
         // send mail
         \Routerunner\Mail::sender($address["email"], $header, $mail_content, null, $mail_content_text);
         $sent_email++;
         $sent_addresses[] = $address["email"];
     }
 } elseif (!(isset($address["email"]) && preg_match("~^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\$~i", trim($address["email"])))) {
     $SQL_delete_address = 'UPDATE e_subscriber SET unsubscribe = 1 WHERE id = :id';
     \db::query($SQL_delete_address, array(':id' => $address["id"]));
 }
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.10.22.
 * Time: 22:00
 */
session_start();
require 'config.php';
require $rootpath . 'runner-config.php';
require $rootpath . \runner::config("BACKEND_DIR") . '/Routerunner/Routerunner.php';
use Routerunner\Routerunner as runner;
new runner(array('mode' => 'mail', 'silent' => true, 'method' => 'any', 'resource' => '/', 'bootstrap' => false), function () {
    $mailboxPath = '';
    $username = '';
    $password = '';
    $pattern = '/\\/nl\\/open\\/([a-f0-9]{4,})\\//';
    $SQL_SELECT = "SELECT address_id FROM e_delivered WHERE id = :deliver";
    $SQL_UPDATE = "UPDATE e_subscriber SET unsubscribe = 2, bounced = :time WHERE id = :address_id";
    $imap = imap_open($mailboxPath, $username, $password);
    $numMessages = imap_num_msg($imap);
    $skip = 0;
    $bounced = 0;
    for ($i = $numMessages; $i > 0; $i--) {
        echo "no.{$i}<br>\n";
        $header = imap_header($imap, $i);
        if (isset($header->subject)) {
            $subject = strtolower(imap_utf8($header->subject));
            if ($subject == 'mail delivery failed: returning message to sender' || strpos($subject, 'delivery status') !== false || strpos($subject, 'deliver') !== false && strpos($subject, 'fail') !== false || strpos($subject, 'return') !== false && strpos($subject, 'mail') !== false || strpos($subject, 'undeliver') !== false || strpos($subject, 'non remis') !== false || strpos($subject, 'unknown address') !== false || strpos($subject, 'onbestelbaar') !== false || strpos($subject, 'unzustellbar') !== false || strpos($subject, 'nedoru=e8iteln=e9') !== false || strpos($subject, 'rejected') !== false || strpos($subject, 'failure') !== false && strpos($subject, 'notice') !== false || strpos($subject, 'k=e9zbes=edthetetlen') !== false || strpos($subject, 'kézbesíthetetlen') !== false) {
                $uid = imap_uid($imap, $i);
	<meta name="description" content="<?php 
echo $bootstrap->pageproperties["description"];
?>
" />

	<!-- Open Graph data -->
	<meta property="og:title" content="<?php 
echo $bootstrap->pageproperties["meta"]["og:title"] ? $bootstrap->pageproperties["meta"]["og:title"] : $bootstrap->pageproperties["title"];
?>
" />
	<meta property="og:type" content="<?php 
echo $bootstrap->pageproperties["meta"]["og:type"];
?>
" />
	<meta property="og:url" content="<?php 
echo \runner::config("BASE") . $bootstrap->url;
?>
" />
	<meta property="og:image" content="<?php 
echo $bootstrap->pageproperties["meta"]["og:image"];
?>
" />
	<meta property="og:description" content="<?php 
echo $bootstrap->pageproperties["meta"]["og:description"];
?>
" />

	<meta name="author" content="Retroscope Creative">
	<!-- Routerunner Meta data end -->

	<!-- Bootstrap Core CSS -->
 public static function initialize($settings, $breadcrumb = true)
 {
     if (!$breadcrumb) {
         self::$request = \Routerunner\Routerunner::$slim->request;
         self::$isAjax = self::$request->isAjax();
         self::$host = self::$request->getUrl();
         self::$rootUri = self::$request->getRootUri();
         $get = self::$request->get();
         $post = self::$request->post();
         if (isset($get, $post)) {
             self::$params = $get + $post;
         } elseif (isset($get)) {
             self::$params = $get;
         } elseif (isset($post)) {
             self::$params = $post;
         } else {
             self::$params = array();
         }
         if (self::$isAjax) {
             self::$ajaxResourceUri = self::$request->getResourceUri();
             $root = self::$host . self::$rootUri;
             if (isset(self::$params['url'])) {
                 $root = substr($root, 0, strrpos($root, '/'));
                 $plainUri = str_replace($root, '', self::$params['url']);
                 $plainUri = substr($plainUri, 0, strpos($plainUri, '?'));
                 self::$rootUri = substr(self::$rootUri, 0, strrpos(self::$rootUri, '/'));
                 unset(self::$params['url']);
             } else {
                 if (strpos($root, $settings['BASE']) !== false) {
                     $plainUri = '/' . trim(str_replace($settings['BASE'], '', $root), '/');
                 } else {
                     $plainUri = $root;
                 }
             }
         } else {
             $plainUri = self::$request->getResourceUri();
         }
         if (preg_match('/\\.(jp(e)?g|png|gif|svg|css|js(on)?|woff(2)?|ttf|pdf|xml)$/i', $plainUri)) {
             self::$component = true;
         }
         $baseRoot = self::$host . self::$rootUri;
         if (!preg_match('/^(https?:\\/\\/)+/', $plainUri)) {
             $baseUri = trim($baseRoot, '/') . '/' . trim($plainUri, '/');
         } else {
             $baseUri = $plainUri;
         }
         $fullUri = $baseUri;
         if (self::$params) {
             $fullUri .= strpos($fullUri, '?') !== false ? '&' : '?';
             $fullUri .= http_build_query(self::$params);
         }
         self::$baseUri = $baseUri;
         self::$fullUri = $fullUri;
         self::$relUri = str_replace($baseRoot, '', $fullUri);
         $env = \Routerunner\Routerunner::$slim->environment();
         $SQL = 'CALL `{PREFIX}rewrite_get`(:uri)';
         if ($rewrites = \Routerunner\Db::query($SQL, array(':uri' => trim($plainUri, '/ ')))) {
             foreach ($rewrites as $rewrite) {
                 self::$urls[] = $rewrite['url'];
                 self::$url_data[$rewrite['url']] = $rewrite;
                 if (!self::$canonical_url || filter_var($rewrite['primary'], FILTER_VALIDATE_BOOLEAN)) {
                     self::$canonical_url = $rewrite['url'];
                 }
                 if (!self::$lang && !is_null($rewrite['lang'])) {
                     self::$lang = $rewrite['lang'];
                 }
                 if (!self::$reference && !is_null($rewrite['reference'])) {
                     self::$reference = $rewrite['reference'];
                 }
                 if (!self::$resourceUri && !is_null($rewrite['resource_uri'])) {
                     self::$resourceUri = $rewrite['resource_uri'];
                 }
                 if (preg_match('/^(https?:\\/\\/)+/', self::$resourceUri)) {
                     self::$resourceUri = '/';
                 }
                 $env->offsetSet('PATH_INFO', self::$resourceUri);
                 if (isset($rewrite['params']) && !is_null($rewrite['params'])) {
                     $params = json_decode($rewrite['params'], true);
                     if (is_array($params)) {
                         $env->offsetSet('QUERY_STRING', http_build_query($params, '', '&'));
                     }
                 }
             }
             if (count(self::$urls) > 1 && trim($plainUri, '/ ') != self::$canonical_url) {
                 Header("HTTP/1.1 301 Moved Permanently");
                 Header("Location: " . trim($baseRoot, ' /') . '/' . trim(self::$canonical_url, ' /'));
                 exit;
             }
         } else {
             self::$resourceUri = trim($plainUri, '/ ');
         }
         if (!self::$resourceUri) {
             self::$resourceUri = '/';
         }
         if (!self::$lang && \runner::config('language')) {
             self::$lang = \runner::config('language');
         } elseif (self::$reference) {
             self::$lang = self::lang(self::$reference);
         } elseif ($lang_result = \db::query('SELECT id FROM {PREFIX}lang WHERE code = ?', array(trim($plainUri, '/')))) {
             self::$lang = $lang_result[0]['id'];
         } else {
             self::$lang = 1;
         }
         \runner::config('language', self::$lang);
         if (self::$reference) {
             $SQL = 'CALL `{PREFIX}metas_get`(:reference)';
             if ($metas = \Routerunner\Db::query($SQL, array(':reference' => self::$reference))) {
                 $metas = $metas[0];
                 $meta_other = $metas['meta'];
                 unset($metas['meta']);
                 self::$metas = array_merge(self::$metas, $metas);
                 if (self::$metas['meta'] && ($meta = json_decode($meta_other, true))) {
                     self::$metas['meta'] = array_merge(self::$metas['meta'], $meta);
                 }
             }
             $SQL = 'CALL `{PREFIX}states_get`(:reference)';
             if ($states = \Routerunner\Db::query($SQL, array(':reference' => self::$reference))) {
                 self::$states = $states[0];
                 if (self::$states['params'] && ($state_params = json_decode(self::$states['params'], true))) {
                     self::$states['params'] = $state_params;
                 }
             }
         }
         self::$tree = self::getTree(self::$reference ? self::$reference : 0);
         self::$method = self::$request->getMethod();
         if (isset($settings['resourceDelimiter'])) {
             self::$resourceDelimiter = $settings['resourceDelimiter'];
         }
         self::$resources = explode(self::$resourceDelimiter, trim(self::$resourceUri, self::$resourceDelimiter));
         self::set_method();
     }
     if ($breadcrumb) {
         self::load_breadcrumb();
     }
 }
<!-- BEGIN THIRD PARTY SCRIPTS -->
<!--
<script src="<?php 
echo \runner::config("BACKEND_ROOT");
?>
backend/thirdparty/iviewer/jquery.iviewer.js" type="text/javascript"></script>
<script src="<?php 
echo \runner::config("BACKEND_ROOT");
?>
backend/thirdparty/cropper/dist/cropper.js" type="text/javascript"></script>
-->

<script src="<?php 
echo \runner::config("BACKEND_ROOT");
?>
backend/thirdparty/focuspoint/jquery.focuspoint.js" type="text/javascript"></script>

<script src="<?php 
echo \runner::config("BACKEND_ROOT");
?>
backend/thirdparty/kcfinder/adapters/jquery.js" type="text/javascript"></script>

<script src="<?php 
echo \runner::config("BACKEND_ROOT");
?>
backend/thirdparty/uploadPreview/jquery.uploadPreview.min.js" type="text/javascript"></script>
<!-- END THIRD PARTY SCRIPTS -->

</body>

 private static function set_session_token()
 {
     if (!self::$session) {
         self::$session = \runner::config('User.TokenSession');
     }
     if (self::$token && self::$token_id) {
         $_SESSION[self::$session] = self::$token_id . '-' . self::$token;
     }
 }
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2014.10.20.
 * Time: 10:33
 */
session_start();
require $_SESSION["runner_config"]['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $_SESSION["runner_config"]["SITEROOT"] . $_SESSION["runner_config"]["BACKEND_ROOT"] . 'Routerunner/Routerunner.php';
use Routerunner\Routerunner as runner;
$post = array_merge($_GET, $_POST);
new runner(array('mode' => 'backend', 'scaffold' => 'scaffold', 'params' => $post), function () use($post) {
    $router = false;
    $route = "/backend/panel/pageproperties";
    $override = null;
    $root = \runner::config("BACKEND_DIR") . DIRECTORY_SEPARATOR . 'scaffold';
    echo \runner::route($route, $post, $router, true, $override, $root);
});
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.04.07.
 * Time: 16:33
 */
return array('wrapper_class' => 'rr-tag', 'child_selector' => '.rr-tag-model', 'fields' => array('label' => array_merge(\runner::config("property.label"), array('selector' => '.rr-tag-label')), 'url' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-tag-url')), 'public' => array_merge(\runner::config("property.type.bool"), array('selector' => '.rr-tag-public'))));
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.04.07.
 * Time: 16:33
 */
$debug = 1;
return array('wrapper_class' => 'rr-product', 'child_selector' => '.rr-product-model', 'fields' => array('label' => array_merge(\runner::config("property.label"), array('selector' => '.rr-product-label')), 'date' => array_merge(\runner::config("property.date"), array('selector' => '.rr-product-date', 'default' => time())), 'lead' => array_merge(\runner::config("property.lead"), array('selector' => '.rr-product-lead')), 'content' => array_merge(\runner::config("property.type.text"), array('selector' => '.rr-product-content')), 'category' => array_merge(\runner::config("property.category"), array('selector' => '.rr-product-category select')), 'leadimage' => array_merge(\runner::config("property.leadimage"), array('selector' => '.rr-product-leadimage', 'mediasize' => 'leadimage')), 'contentimage' => array_merge(\runner::config("property.contentimage"), array('selector' => '.rr-product-contentimage', 'mediasize' => 'contentimage')), 'price' => array_merge(\runner::config("property.type.int"), array('selector' => '.rr-product-price'))));
 * User: csibi
 * Date: 2013.11.15.
 * Time: 11:35
 */
/*
// model parameters
$model = "menu";
$from = "cs_menu";
$select = array("label");
$where = array("cs_menu_id > ?" => 1);
$orderBy = 'cs_menu_id DESC';
$limit = 5;
// SQL
$SQL = "SELECT label FROM cs_menu ORDER BY cs_menu_id";
*/
$from = \runner::config('PREFIX') . 'changes AS changes';
$select = array('user_email' => 'user.email', 'user_name' => 'user.name', 'user_group' => 'user.usergroup');
$leftJoin = array('`{PREFIX}sessions` AS sessions ON sessions.session_id = changes.session', '`{PREFIX}user` AS user ON user.user_id = sessions.user');
$orderBy = "change_id DESC";
$where = array();
if (isset($runner->context['reference'])) {
    $where['changes.reference = :reference'] = $runner->context['reference'];
}
if (isset($runner->context['user'])) {
    $where['sessions.user = :user'] = $runner->context['user'];
}
if (isset($runner->context['session'])) {
    $where['changes.session = :session'] = $runner->context['session'];
}
$primary_key = 'change_id';
$force_view = true;
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.04.07.
 * Time: 16:33
 */
$debug = 1;
return array('wrapper_class' => 'rr-message', 'child_selector' => '.rr-message-model', 'fields' => array('name' => array_merge(\runner::config("property.label"), array('selector' => '.rr-message-name')), 'email' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-message-email')), 'date' => array_merge(\runner::config("property.date"), array('selector' => '.rr-message-date', 'default' => time())), 'avatar' => array_merge(\runner::config("property.leadimage"), array('selector' => '.rr-message-avatar')), 'data_avatar' => array_merge(\runner::config("property.data_leadimage"), array('selector' => '.rr-message-data_avatar')), 'subject' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-message-subject')), 'comment' => array_merge(\runner::config("property.type.textarea"), array('selector' => '.rr-message-comment')), 'model_reference' => array_merge(\runner::config("property.type.int"), array('selector' => '.rr-message-model_reference')), 'option' => array_merge(\runner::config("property.type.int"), array('selector' => '.rr-message-option')), 'nonce' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-message-nonce')), 'ip_address' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-message-ip_address')), 'user_agent' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-message-user_agent'))));
 */
$post = $_POST;
$msg = "";
$SQL = "SELECT id, email, confirm_date, licence FROM member WHERE email = :email";
if ($result = \Routerunner\Db::query($SQL, array(":email" => $post["email"]))) {
    $user = $result[0];
    if (is_null($user["confirm_date"])) {
        $msg = "User has not been confirmed!";
    }
    if (!$msg) {
        // confirm generálás
        $secret = uniqid(md5(uniqid('', true)));
        $confirm = 'forgotten/' . implode('/', $user) . '/' . $secret;
        $expire = time() + 2 * 24 * 60 * 60;
        $confirm_hash = \Routerunner\Crypt::crypter($confirm, $expire, $user['id'], 0, $secret);
        $path = runner::config("BASE") . 'admin/forgotten/?' . $user['id'] . '/' . $secret . '/' . $confirm_hash;
        $user["confirm_code"] = $path;
        if ($result = \mail::mailer("/mail/forgotten", $user, null)) {
            $debug = 1;
        } else {
            $msg = "E-mail cannot be sent!";
        }
    }
} else {
    $msg = "User is not exists!";
}
if ($msg) {
    echo '<div class="alert alert-forgotten alert-danger">' . $msg . '</div>';
} else {
    echo '<div class="alert alert-forgotten alert-success">New password confirmation has been sent to your e-mail address!</div>';
}
         if (isset($field_data["crop"])) {
             $crops[$field_name] = $field_data["crop"];
         }
     }
     $field_data = $fields[$field];
 }
 $parents = \Routerunner\Bootstrap::parent($reference);
 if (isset($parents[0]["model_class"]) && $parents[0]["model_class"] == "lang") {
     $lang = array_shift($parents);
 }
 $path_route = '';
 while ($parent = array_shift($parents)) {
     $_model_context = array("direct" => $parent["reference"], "session" => \runner::stack("session_id"));
     $router = false;
     $route = '/model/' . $parent["model_class"];
     \runner::redirect_route($route, \runner::config("scaffold"), true, $_model_context, $router, $parent_model);
     if (is_array($parent_model) && count($parent_model) == 1) {
         $parent_model = array_shift($parent_model);
     }
     if (isset($parent_model) && is_object($parent_model) && get_parent_class($parent_model) == "Routerunner\\BaseModel" && isset($parent_model->label)) {
         $path_route .= \runner::toAscii($parent_model->label) . DIRECTORY_SEPARATOR;
     }
     $debug = 1;
 }
 if (isset($value["src"])) {
     // crop image
     $src = $_SESSION["runner_config"]['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $_SESSION["runner_config"]["SITEROOT"] . $value["src"];
     $filename = substr($value["src"], strrpos($value["src"], DIRECTORY_SEPARATOR) + 1);
     $mimetype = false;
     $layer = ImageWorkshop::initFromPath($src, false, $mimetype);
     if (isset($value["rotate"])) {
<?php

/**
 * Created by PhpStorm.
 * User: csibi
 * Date: 2015.04.07.
 * Time: 16:33
 */
$debug = 1;
$class_options = explode(";", "bg-default;bg-primary;bg-info;bg-success;bg-warning;bg-danger");
sort($class_options);
$currency_options = explode(";", "Ft;€;\$");
sort($currency_options);
return array('wrapper_class' => 'rr-pricing', 'child_selector' => '.rr-pricing-model', 'fields' => array('label' => array_merge(\runner::config("property.label"), array('selector' => '.rr-pricing-label')), 'description' => array_merge(\runner::config("property.lead"), array('selector' => '.rr-pricing-description')), 'addon_class' => array_merge(\runner::config("property.type.select"), array('selector' => '.rr-pricing-addon_class select', 'options' => $class_options, 'help' => array('panel' => ''))), 'content' => array_merge(\runner::config("property.type.text"), array('selector' => '.rr-pricing-content')), 'price' => array_merge(\runner::config("property.type.int"), array('selector' => '.rr-pricing-price')), 'currency' => array_merge(\runner::config("property.type.select"), array('selector' => '.rr-pricing-currency select', 'options' => $currency_options, 'help' => array('panel' => ''))), 'link' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-pricing-link')), 'button' => array_merge(\runner::config("property.type.char"), array('selector' => '.rr-pricing-button'))));
		<div class="caption font-red col-md-6">
			<i class="fa fa-file-text-o font-red"></i>
			<span class="caption-subject bold uppercase"> Properties</span>
		</div>
		<div class="col-md-6">


<?php 
$form_content = '';
if ($allowed) {
    $filters = array("hidden-on-page", "visible-on-page");
    $hiddens = array();
    $fields = isset($router->runner->backend_context["model"]["fields"]) ? $router->runner->backend_context["model"]["fields"] : array();
    $route = isset($runner->context["route"]) ? explode("/", $runner->context["route"]) : false;
    $scaffold = \Routerunner\Helper::$scaffold_root . DIRECTORY_SEPARATOR . "input";
    $backend_scaffold = \Routerunner\Helper::$document_root . DIRECTORY_SEPARATOR . \runner::config("BACKEND_DIR") . DIRECTORY_SEPARATOR . 'scaffold' . DIRECTORY_SEPARATOR . "input";
    foreach ($fields as $field_name => $field_data) {
        $_route = $route;
        $input = false;
        while (!$input && count($_route)) {
            if (file_exists($scaffold . implode(DIRECTORY_SEPARATOR, $_route) . DIRECTORY_SEPARATOR . $field_name . ".php")) {
                $input = $scaffold . implode(DIRECTORY_SEPARATOR, $_route) . DIRECTORY_SEPARATOR . $field_name . ".php";
            } elseif (file_exists($scaffold . implode(DIRECTORY_SEPARATOR, $_route) . DIRECTORY_SEPARATOR . $field_data["type"] . ".php")) {
                $input = $scaffold . implode(DIRECTORY_SEPARATOR, $_route) . DIRECTORY_SEPARATOR . $field_data["type"] . ".php";
            }
            if (!$input && count($_route)) {
                array_pop($_route);
            }
        }
        if (!$input) {
            if (file_exists($backend_scaffold . DIRECTORY_SEPARATOR . $field_name . ".php")) {
        $allowed = false;
    }
    if ($allowed) {
        $context = array("direct" => $runner->context["reference"], "session" => \runner::stack("session_id"), "silent" => true);
        if (!empty($runner->context["model_class"])) {
            $model_route = "/model/" . $runner->context["model_class"];
            \runner::redirect_route($model_route, \runner::config("scaffold"), true, $context, $router, $model);
            if (is_array($model)) {
                $model = array_shift($model);
            }
            $runner->context["model"] = $model;
        }
    }
} elseif (isset($runner->context["route"], $runner->context["reference"])) {
    $context = array("direct" => $runner->context["reference"], "silent" => true);
    $model = \model::load($context, $runner->context["route"], $router, false, \runner::config("scaffold"));
    if (is_array($model)) {
        $models = $model;
        foreach ($models as $item) {
            if ($item->reference == $runner->context["reference"]) {
                $model = $item;
                break;
            }
        }
    }
    if ($model && is_object($model) && $model->permission && !$model->movable()) {
        $allowed = false;
    } elseif ($model && !is_object($model)) {
        $allowed = false;
    }
}