Record [z:sns] < dev.sky.1.001

Version 1.001

   
en
The main skeleton for all applications

N1: CREATE DIRS:
001
admin main var var/hard pub pub/img view
N2: WRITE FILE: pub/favicon.ico
000
010
020
030
040
050
060
070
080
090
0A0
0B0
0C0
0D0
0E0
0F0
100
110
120
130
180
 00 00 01 00 01 00 10 10 | 10 00 00 00 04 00 28 01   ..............(.
 00 00 16 00 00 00 28 00 | 00 00 10 00 00 00 20 00   ......(....... .
 00 00 01 00 04 00 00 00 | 00 00 80 00 00 00 00 00   ................
 00 00 00 00 00 00 10 00 | 00 00 10 00 00 00 00 00   ................
 00 00 00 00 80 00 00 80 | 00 00 00 80 80 00 80 00   ................
 00 00 80 00 80 00 80 80 | 00 00 80 80 80 00 C0 C0   ................
 C0 00 00 00 FF 00 00 FF | 00 00 00 FF FF 00 FF 00   ................
 00 00 FF 00 FF 00 FF FF | 00 00 FF FF FF 00 00 00   ................
 00 00 00 00 00 00 00 00 | 00 00 00 99 90 00 00 00   ................
 00 00 09 00 99 00 00 00 | 00 00 00 00 99 00 00 00   ................
 00 00 00 09 90 00 DD 00 | 00 DD 00 99 00 00 0D D0   ................
 00 DD D0 99 00 90 0D D0 | 00 DD DD 09 99 00 00 DD   ................
 00 DD DD 00 00 00 00 DD | 00 D0 DD 00 00 00 00 0D   ................
 D0 D0 0D D0 00 00 00 0D | DD D0 0D D0 00 00 00 00   ................
 DD D0 00 DD 00 00 00 00 | DD D0 00 DD 00 00 00 00   ................
 0D D0 00 0D D0 00 00 00 | 00 00 00 00 00 00 FF FF   ................
 00 00 FF C7 00 00 FF B3 | 00 00 FF F3 00 00 FF E7   ................
 00 00 3C CF 00 00 9C 4D | 00 00 9C 23 00 00 CC 3F   ..<....M...#...?
 00 00 CD 3F 00 00 E5 9F | 00 00 E1 9F 00 00 F1 CF   ...?............
 00 00 F1 CF 00 00 F9 E7 | 00 00 FF FF 00 00 ... --file cutted--
N3: RUN RECORDS: 8-11,27-32
N4: UPDATE CELL: memory.5.tmemo
001
002
003
htaccess admin main view cache var var/hard
index pub pub/img
php 10
N5: SQL:
001
insert into memory (name, id) values('php_init', 10);
N6: UPDATE CELL: memory.10.tmemo
001
002
003
004
005
006
007
008
$s 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua';
$ary explode(' '$s);
 
for ($i 0$i 100$i++) {
    for ($j 0$title ''$j 7$j++) $title .= $ary[rand(0count($ary) - 1)] . ' ';
    for ($j 0$content '';  $j rand(110); $j++) $content .= "<p>$s</p>";
    sql("insert into article (title, content, uri) values('$title','$content','art$i')");
}
N7: WRITE FILE: .htaccess
001
002
003
004
005
006
007
008
009
010
011
012
013
014
AddDefaultCharset utf-8
RewriteEngine On
 
RewriteCond %{HTTP_HOST}    ^www\.(mvc\.sns)    [NC]
RewriteRule ^(.*)$          http://%1/$1         [L,R=301]
 
RewriteCond %{QUERY_STRING} ^(\w+)$
RewriteRule ^$              http://mvc.sns/%1?  [L,R=301]
 
RewriteRule ^(adm)$         index.php?_=adm      [L,QSA]
 
RewriteCond %{QUERY_STRING} ^([^&=]*)
RewriteRule ^([^\.]+)$         index.php?$1=%1       [L,QSA]
 
N8: WRITE FILE: robots.txt
001
002
User-agent: *
 
N9: WRITE FILE: index.php
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
<?php
 
$val = @current($_GET);
define('START'in_array($key = @key($_GET), array('_''AJAX')) && 'adm' == $val 'admin' 'front');
define('AJAX''AJAX' == $key);
if ('admin' == START || AJAXarray_shift($_GET);
require 'main/conf.php';
eval(SKY_WING::PROC);
require 'main/front.php';
require 'main/mvc.php';
new SKY_VIEW($front = new SKY_FRONT);
eval(SKY_FRONT::PROC);
 
?><!doctype html>
<html>
<head><? $sky->head() ?>
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
</head>
<body>
<div id="wrapper">
    <div id="head"><? require 'view/head.php' ?></div>
    <div id="content">
        <div id="body"><? eval($sky?></div>
        <div id="right"><? require 'view/right.php' ?></div>
    </div>
    <div id="foot"><? require 'view/foot.php' ?></div>
</div>
<? $sky->tail(false?>
</body>
</html>
N10: WRITE FILE: pub/front.js
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015

$(function() {
    var w = $(window).width(), h = $(window).height();
 
    function set_height() {
        var h = $(window).height();
        $('#body, #right').css({minHeight: h - 150});
        if ($('#body').height() > $('#right').height()) $('#right').height($('#body').height());
        if ($('#right').height() > $('#body').height()) $('#body').height($('#right').height());
    }
    $(window).resize(set_height);
    set_height();
    set_height();
});
 
N11: WRITE FILE: pub/front.css
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
@import 'wing.css';
 
body { margin:0; padding:0 10px; background: #B8B8F2; }
table, form { margin:0; padding:0; text-align:left }
div, td { font:normal 12px arial; color:#222; text-align:left; vertical-align:top; color:#2E3052; }
p { margin:8px 0 }
a { color: #00c; }
fieldset { border:none; background:#e7ebf2; }
fieldset legend {font-size:11px;color:#778; border:1px solid white; background:#f2f4f8;padding:0 8px}
small { font-size:90% }
code { font: normal 15px courier; background: lightyellow; }
hr { width: 100%; }
ul { margin:8px 0 0 17px; padding:0; }
li { margin:0 0 8px 0; }
h1 { color: #111; font-size: 25px; color: rgb(72, 70, 144);}
h2 { font-size: 16px; text-transform:uppercase; color: #000; }
h3 { font:bold 16px arial; margin:0; padding:0px }
h4 { color:red; font:normal 20px arial; margin:0 0 12px 0; border-bottom: 3px solid red } /* #3d7098 */
 
#wrapper { width: 1000px; margin: 0 auto; }
#head    { width: 980px; height: 50px; margin-bottom: 5px; background-color: white; padding: 10px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
#body    { width: 780px; float: left; background-color: white; padding: 10px; margin-bottom: 5px; border-radius: 20px; }
#foot    { clear: both; height: 29px; vertical-align: top; background-color: white; margin-top: 5px; padding: 10px; border-top-left-radius: 20px; border-top-right-radius: 20px;}
#left    { width: 195px; float: left; }
#right   { width: 175px; float: right; background-color: white; padding: 10px; border-radius: 20px; }
#right h3 { text-align: center; background: #AFAFCB; color: white; border-top-left-radius: 16px; border-top-right-radius: 16px; height:25px; line-height:25px; margin:-5px; text-transform:uppercase;}
#right ul { list-style-type: none; margin: 0 -5px 25px -5px; padding: 0; margin-top: 5px;}
#right ul li { margin: 0; border-bottom: 1px solid #CECEE7; }
#right ul li a { text-decoration: none; display:block; text-transform:uppercase; padding: 3px 5px; color: rgb(39, 36, 36);}
#right ul li a:hover { background: rgb(229, 236, 255); }
#right div { border: 1px solid #CECEE7 ; margin: 5px -5px 25px -5px; padding: 5px;}
#right ul li a.active { background: #333; color: #fff; }
#err-top h1 { border-top-left-radius: 16px; border-top-right-radius: 16px; }
.message { text-align: center; background: red; color: #fff; padding:20px 30px; }
N12: WRITE FILE: view/head.php
001
002
003
004
005
006
007
008
009
010
011
012
013
014
<?php defined('START') or die; ?>
<div class="fr">
    you are: <b><?=$user->login $user->login 'Anonymous'?></b>
    <br><?$front->pdaxt()?>
</div>
<a href="<?=LINK?>" style="text-decoration:none" title="Main page">
    <svg height="50" width="130">
        <line x1="0" y1="0" x2="130" y2="50" style="stroke:rgb(99,99,99);stroke-width:1" />
        <line x1="0" y1="50" x2="130" y2="0" style="stroke:rgb(99,99,99);stroke-width:1" />
        <text x="23" y="38" fill="#333" style="font-family:Verdana;font-size:35">MVC</text>
        LOGO
    </svg>
</a>
%PHP_SAMPLE%
N13: WRITE FILE: view/foot.php
001
002
003
004
005
006
007
<?php defined('START') or die;
 
echo date('Y'); ?> year.
<div class="fr">
    <b>SKY. null-site MVC</b>, see <a href="http://coresky.net/">The SKY. project</a>
</div>
 
N14: WRITE FILE: view/right.php
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
<?php defined('START') or die ?>
<h3>Menu</h3>
<?=$y_menu?>
<h3>News</h3>
<h3>Info</h3>
<div style="background-color: lightyellow">
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
</div>
<?if($y_show_list):?>
<?cache('art')?>
<h3>Articles</h3>
 
<?cache()?>
<?endif?>
Not shown on DEV:
<?#die?>
N15: WRITE FILE: view/pagination.php
001
002
003
004
005
006
007
<?php defined('START') or die;
 
echo $v_pagination;
 
# echo "$v_pagination $v_cur, $v_pc, $v_prev, $v_next";
# 2do: much flexible for any design
 
N16: WRITE FILE: view/_article.php
001
002
003
004
005
006
007
008
009
010
011
<?php eval($me) or die ?>
 
<h1>Articles</h1>
<?for(;eval($e_art->row);):?>
<h2>
    <a href="?<?=$row->uri?>"><?=$row->title?></a>
</h2>
<?endfor?>
 
<?=$v_pagination?>
 
N17: WRITE FILE: view/_main.php
001
002
003
004
005
006
007
008
009
<?php eval($me) or die ?>
 
<h1>SKY. null-site</h1>
 
<p>
Continue learn SKY. websites from this one.
</p>
Try <a href="javascript:ajax('test')">test error</a> in ajax.<br>
Also try <a href="test">test error</a> in normal flow.
N18: WRITE FILE: view/_login.php
001
002
003
004
005
006
007
008
<?php eval($me) or die ?>
 
<h1>Login</h1>
<form method="post">
    login: <input name="login" /> (initial login = root)<br>
    password: <input name="password" type="password" /> (initial password = xroot)<br>
    <input type="submit" value="do" />
</form>
N19: WRITE FILE: view/_svg.php
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
<h1>SVG</h1>
 
<svg width="100%" height="600px">
<g id="R1" transform="translate(250 250)">
  <ellipse rx="100" ry="0" opacity=".3" fill="#B8B8F2">
  <animateTransform attributeName="transform" type="rotate" dur="7s" from="0" to="360" repeatCount="indefinite"/>
  <animate attributeName="cx" dur="8s" values="-20; 220; -20" repeatCount="indefinite"/>
  <animate attributeName="ry" dur="3s" values="10; 60; 10" repeatCount="indefinite"/>
  </ellipse>
</g>
<use xlink:href="#R1" transform="rotate(72 390 150)"/>
<use xlink:href="#R1" transform="rotate(144 390 150)"/>
<use xlink:href="#R1" transform="rotate(216 390 150)"/>
<use xlink:href="#R1" transform="rotate(288 390 150)"/>
</svg>
This sample taken from: <a href="http://www.w3schools.com/svg/tryit.asp?filename=trysvg_ellipses">http://www.w3schools.com/svg/tryit.asp?filename=trysvg_ellipses</a>
<br>(use Google Chrome)
 
N20: WRITE FILE: view/e_test.html
001
002
003
004
<p>
This content also shown on DEV mode
</p>
 
N21: WRITE FILE: view/e_articles.php
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
<?php defined('START') or die;
 
AJAX or print '<div id="short">';
@$p_i or $p_i 0;
for ($q sql("select * from article limit $p_i, 5"); eval(fetch); ): ?>
<p>
    <a href="article?<?=$r_uri?>"><?=$r_title?></a>
</p>
<?endfor?>
<a href="javascript:ajax('next','i=<?=($p_i 5)?>','short','main')">&gt;&gt;..</a>
<?if(!AJAX):?>
</div>
<?if($GLOBALS['y_show_list']):?>
<div style="margin-top: -10px;">%PHP_SAMPLE%</div>
<?else:?>
%PHP_SAMPLE%
<?endif?>
%HTML_R_ANALYTICS%
<?endif?>
N22: WRITE FILE: view/e_r_analytics.html
001
002
003
004
005
006
007
<!--
put
google analytics javascript
or other click-counters here
 
Without _x_ prefix this content will shown also on DEV instance
-->
N23: END: