diff --git a/VERSION b/VERSION index 9f324965..2926f1ed 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.4.2-stable+timestamp.2013.03.10.08.25.15 +Version 2.4.2-stable+timestamp.2013.03.10.09.09.48 diff --git a/applications/admin/controllers/default.py b/applications/admin/controllers/default.py index 50d96371..3a59d3c4 100644 --- a/applications/admin/controllers/default.py +++ b/applications/admin/controllers/default.py @@ -1663,7 +1663,7 @@ def twitter(): d = dict() for e in data: d[e["id"]] = e - r = reversed(sorted(d)) + r = reversed(sorted(d)) return dict(tweets=[d[k] for k in r]) else: return 'disabled' diff --git a/applications/admin/static/css/bootstrap_essentials.css b/applications/admin/static/css/bootstrap_essentials.css index d8c6d232..6eaf549c 100644 --- a/applications/admin/static/css/bootstrap_essentials.css +++ b/applications/admin/static/css/bootstrap_essentials.css @@ -1,837 +1,349 @@ + /*============================================================= - GENERAL + GENERAL ==============================================================*/ -body -{ -/*remember to account for the hidden area underneath -fixed navbar by adding at least 40px padding to the
. -Be sure to add this after the core Bootstrap CSS + body { /*remember to account for the hidden area underneath +fixed navbar by adding at least 40px padding to the . +Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS. -An alternative solution is to set top-margin to div#main*/ -/*padding-top:60px;*/ /*comment this for alternative solution*/ -height:auto; /*uncomment this for alternative solution */ -} -/*============================================================= - BOOTSTRAP ICONS FOLDER FIX -==============================================================*/ -[class^="icon-"],[class*=" icon-"] -{ -/* right folder for bootstrap black images/icons */ -background-image:url("../images/glyphicons-halflings.png") -} - -.icon-white, -.nav-tabs>.active >a>[class^="icon-"], -.nav-tabs>.active>a>[class*=" icon-"], -.nav-pills>.active>a>[class^="icon-"], -.nav-pills>.active>a>[class*=" icon-"], -.nav-list>.active>a>[class^="icon-"], -.nav-list>.active>a>[class*=" icon-"], -.navbar-inverse .nav>.active>a>[class^="icon-"], -.navbar-inverse .nav>.active>a>[class*=" icon-"], -.dropdown-menu>li>a:hover>[class^="icon-"], -.dropdown-menu>li>a:hover>[class*=" icon-"], -.dropdown-menu>.active>a>[class^="icon-"], -.dropdown-menu>.active>a>[class*=" icon-"] -{ -/* right folder for bootstrap white images/icons */ -background-image:url("../images/glyphicons-halflings-white.png"); -} -/*============================================================= - INPUT BORDER HIGHLIGHT WHEN INPUT IS FOCUSED -==============================================================*/ -textarea:focus, -input[type="text"]:focus, -input[type="password"]:focus, -input[type="datetime"]:focus, -input[type="datetime-local"]:focus, -input[type="date"]:focus, -input[type="month"]:focus, -input[type="time"]:focus, -input[type="week"]:focus, -input[type="number"]:focus, -input[type="email"]:focus, -input[type="url"]:focus, -input[type="search"]:focus, -input[type="tel"]:focus, -input[type="color"]:focus, -input[type="file"]:focus, -select:focus, -.uneditable-input:focus -{ -/* outline color */ -border-color:rgba(232,149,60,0.8); -outline:0; -/*outline:thin dotted \9;*/ --webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(232, 149, 60, 0.6); --moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(232,149,60,0.6); -box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(232, 149, 60, 0.6); -} -.web2py_grid .dropdown-menu li > a:hover, -.web2py_grid .dropdown-menu li > a:focus -{ -filter:progid:DXImageTransform.Microsoft.gradient(enabled=false); /* IE6-9 */ -background-image:none; -background-color:#E8953C; -} +An alternative solution is to set top-margin to div#main padding-top:60px; comment this for alternative solution*/ height:auto; /*uncomment this for alternative solution*/ } /*============================================================= - COLOR OF LINKS + BOOTSTRAP ICONS FOLDER FIX ==============================================================*/ -a, -a:hover -{ -color:#E8953C; -text-decoration:none; -} -a:hover -{ -color:#e2821b; -} + [class^="icon-"], [class*=" icon-"] { /* right folder for bootstrap black images/icons*/ background-image:url("../images/glyphicons-halflings.png") } + +.icon-white, .nav-tabs>.active >a>[class^="icon-"], .nav-tabs>.active>a>[class*=" icon-"], .nav-pills>.active>a>[class^="icon-"], .nav-pills>.active>a>[class*=" icon-"], .nav-list>.active>a>[class^="icon-"], .nav-list>.active>a>[class*=" icon-"], .navbar-inverse .nav>.active>a>[class^="icon-"], .navbar-inverse .nav>.active>a>[class*=" icon-"], .dropdown-menu>li>a:hover>[class^="icon-"], .dropdown-menu>li>a:hover>[class*=" icon-"], .dropdown-menu>.active>a>[class^="icon-"], .dropdown-menu>.active>a>[class*=" icon-"] { /* right folder for bootstrap white images/icons*/ background-image:url("../images/glyphicons-halflings-white.png"); } + /*============================================================= - CONTROLS and CONTAINERS + INPUT BORDER HIGHLIGHT WHEN INPUT IS FOCUSED ==============================================================*/ -.row-buttons .btn -{ -margin-bottom:7px; -} -.sidebar .box -{ -clear:right; -margin-top:2em; -border-top:1px solid #d1d1d1; -padding:0 1em; -} -.pwdchange>.button{margin-bottom:10px;} -input[type="file"] { -margin-bottom:9px; -} -.form-inline input[type="file"] { -margin-bottom:0px; -} -input + .help-block -{ -margin-top:-5px; -margin-bottom:4px; -} -#confirm_form input.btn, -.generatedbyw2p input -{ -margin-right:4px; -} -a[rel='tooltip'] span, -div[rel='tooltip'] span -{ -display:none; -margin-left:-9999px; -} + textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, input[type="file"]:focus, select:focus, .uneditable-input:focus { /* outline color*/ border-color:rgba(232, 149, 60, 0.8); outline:0; /*outline:thin dotted \9;*/ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(232, 149, 60, 0.6); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(232, 149, 60, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(232, 149, 60, 0.6); } + +.web2py_grid .dropdown-menu li > a:hover, .web2py_grid .dropdown-menu li > a:focus { filter:progid:DXImageTransform.Microsoft.gradient(enabled=false); /* IE6-9*/ background-image:none; background-color:#E8953C; } + +/*============================================================= + COLOR OF LINKS +==============================================================*/ + a, a:hover { color:#E8953C; text-decoration:none; } + +a:hover { color:#e2821b; } + +/*============================================================= + CONTROLS and CONTAINERS +==============================================================*/ + .row-buttons .btn { margin-bottom:7px; } + +.sidebar .box { clear:right; margin-top:2em; border-top:1px solid #d1d1d1; padding:0 1em; } + +.pwdchange>.button { margin-bottom:10px; } + +input[type="file"] { margin-bottom:9px; } + +.form-inline input[type="file"] { margin-bottom:0px; } + +input + .help-block { margin-top:-5px; margin-bottom:4px; } + +#confirm_form input.btn, .generatedbyw2p input { margin-right:4px; } + +a[rel='tooltip'] span, div[rel='tooltip'] span { display:none; margin-left:-9999px; } + /*in-page browsing*/ -[rel="pagebookmark"] -{ -position:relative; -} -[rel="pagebookmark"]>.component -{ -cursor:pointer; -} -[rel="pagebookmark"]>.hashstick -{ -position:absolute; -top:-54px; -left:-9999px; -visibility:visible; -} -/* following 2 rules set the style of a small button for going to top of page */ -.tophashlink.btn -{ -padding:2px 3px; -visibility:hidden; -} -.hashstick:target+.tophashlink.btn -{ -visibility:visible; -} -ul.act_edit -{ -margin-top:4px; -margin-left:20px; -} -ul.act_edit .btn -{ -margin-top:4px; -margin-bottom:4px; -} -ul.act_edit .file>a -{ -white-space:pre; -} -.right-full -{ -text-align:right; -} -.searchbox, -.searchbox label, -.searchbox input -{ -display:inline-block; -} -.buttons-row .btn -{ -margin-bottom:9px; -} -.li-controls -{ -display:inline-block; -width:180px; -vertical-align:middle; -} -.celled -{ -display:inline-block; -padding: 0 0 0 4px; -vertical-align:top; -margin-top:4px; -width:700px; -} -.folder -{ -list-style-type:none; -#border-left: 1px dotted #AAA; -} -.folder li -{ -list-style-type:none; -} -.folder>i -{ -display:inline-block; -width:5px; -height:5px; -border:1px solid; -background-color:#FAA732; -margin-left:-4px; -margin-top:-2px; -border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); -border-radius:1px; -} -.folder>i+a -{ -padding-left:0.5em; -} -.folder ul -{ -margin-top:0.5em; -margin-bottom:0.5em; -} -.controls-inline .btn -{ -margin-right:5px; -} -div.web2py_counter.span6 -{ -min-height:24px; -text-align:right; -} -.pagination -{ -margin:0; -} -.table -{ -margin-bottom:10px; -} -.row_buttons .btn -{ -margin-right:4px; -} + [rel="pagebookmark"] { position:relative; } -.editor-bar-column -{ -display:inline-block; -vertical-align:top; -margin-right:4px; -} +[rel="pagebookmark"]>.component { cursor:pointer; } -.editor-bar-column .input-long -{ -width:270px; -} +[rel="pagebookmark"]>.hashstick { position:absolute; top:-54px; left:-9999px; visibility:visible; } -.editor-bar-column .input-normal -{ -width:206px; -} +/* following 2 rules set the style of a small button for going to top of page*/ + .tophashlink.btn { padding:2px 3px; visibility:hidden; } -.keybindings li -{ -margin-bottom:0.5em; -} -.keybindings span -{ -padding:0.3em; -border:1px solid transparent; -vertical-align:middle; -} -.teletype-text -{ -font-family:monospace; -font-weight:bold; -font-style:normal; -border-color:#999; -background:#333; -color:#DDD; --moz-border-radius:0.3em; -border-radius:0.3em; -} +.hashstick:target+.tophashlink.btn { visibility:visible; } -.edit_language .tab_row div -{ -display:inline-block; -vertical-align:top; -margin-right:4px; -} -.edit_language .fake-input -{ -height:18px; -padding:4px; -font-size:13px; -line-height:18px; -overflow:hidden; -white-space:nowrap; -display:inline-block; -margin-bottom:9px; -} +ul.act_edit { margin-top:4px; margin-left:20px; } -.test h3 -{ -padding-left:9px; -margin:0; -font-size:16px; -line-height:1; -border-left:9px solid transparent; -} -.test h3.passed -{ -border-color:#009900; -} -.test h3.failed -{ -border-color:#CC0000; -} -.test h3.nodoctests -{ -border-color:#CCCC99; -} -.test .test_report -{ -width:100%; -overflow:auto; -} -.test_report pre -{ -white-space:pre; -} -.test div[id^="output_"]>h2 -{ -font-size:18px; -line-height:1; -color:grey; -} -div.center -{ -text-align:center; -} -.delete h2 -{ -word-wrap:break-word; -} -/*============================================================= - SHELL -==============================================================*/ -.shell .output-wrapper -{ -width:100%; -height:30em; -border:1px solid #333; -} -.shell .prompt-wrapper -{ -float:left; -width:100%; -overflow:hidden; -height:auto; -border:1px solid #333; -} -.shell .prompt-container -{ -margin-left:2.5em; -} -.shell #caret -{ -width:2.5em; -float:left; -margin-left:-100%; -} -.shell #shellwrapper -{ -background:white; -color:#E8953C; -width:100%; -margin:1em 0; -border:0; -} -.shell #output, -.shell .prompt -{ -color:#E8953C; -background:white; -resize:none; -border:none; -width:100%; -height:100%; -cursor:default; --webkit-box-sizing: border-box; --moz-box-sizing: border-box; -box-sizing: border-box; -} -.shell #output:focus, -.shell .prompt:focus -{ -border-color:transparent; -outline:0; --webkit-box-shadow: none; --moz-box-shadow: none; -box-shadow: none; -} -.shell #output pre -{ -color: #E8953C; -} -.shell #autoscroll -{ -cursor:pointer; -float:right; -} -.shell .prompt, -.shell #output, -.shell #caret -{ -font-size: 11pt; -padding: 6px; -padding-right: 0em; -} -.shell #caret -{ -padding-top:9px; -} -.shell .prompt, -.shell #output, -.shell pre, -.shell #caret -{ -font-family: monospace; -} -.shell a[rel="tooltip"] -{ -margin-left:8px; -} -/*============================================================= - PEEK -==============================================================*/ -.peek .code-wrapper -{ -width:100%; -overflow:auto; -white-space:pre; -} +ul.act_edit .btn { margin-top:4px; margin-bottom:4px; } -.peek table td pre -{ -word-break:normal; -white-space:pre; -} +ul.act_edit .file>a { white-space:pre; } +.right-full { text-align:right; } + +.searchbox, .searchbox label, .searchbox input { display:inline-block; } + +.buttons-row .btn { margin-bottom:9px; } + +.li-controls { display:inline-block; width:180px; vertical-align:middle; } + +.celled { display:inline-block; padding: 0 0 0 4px; vertical-align:top; margin-top:4px; width:700px; } + +.folder { list-style-type:none; #border-left: 1px dotted #AAA; } + +.folder li { list-style-type:none; } + +.folder>i { display:inline-block; width:5px; height:5px; border:1px solid; background-color:#FAA732; margin-left:-4px; margin-top:-2px; border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-radius:1px; } + +.folder>i+a { padding-left:0.5em; } + +.folder ul { margin-top:0.5em; margin-bottom:0.5em; } + +.controls-inline .btn { margin-right:5px; } + +div.web2py_counter.span6 { min-height:24px; text-align:right; } + +.pagination { margin:0; } + +.table { margin-bottom:10px; } + +.row_buttons .btn { margin-right:4px; } + +.editor-bar-column { display:inline-block; vertical-align:top; margin-right:4px; } + +.editor-bar-column .input-long { width:270px; } + +.editor-bar-column .input-normal { width:206px; } + +.keybindings li { margin-bottom:0.5em; } + +.keybindings span { padding:0.3em; border:1px solid transparent; vertical-align:middle; } + +.teletype-text { font-family:monospace; font-weight:bold; font-style:normal; border-color:#999; background:#333; color:#DDD; -moz-border-radius:0.3em; border-radius:0.3em; } + +.edit_language .tab_row div { display:inline-block; vertical-align:top; margin-right:4px; } + +.edit_language .fake-input { height:18px; padding:4px; font-size:13px; line-height:18px; overflow:hidden; white-space:nowrap; display:inline-block; margin-bottom:9px; } + +.test h3 { padding-left:9px; margin:0; font-size:16px; line-height:1; border-left:9px solid transparent; } + +.test h3.passed { border-color:#009900; } + +.test h3.failed { border-color:#CC0000; } + +.test h3.nodoctests { border-color:#CCCC99; } + +.test .test_report { width:100%; overflow:auto; } + +.test_report pre { white-space:pre; } + +.test div[id^="output_"]>h2 { font-size:18px; line-height:1; color:grey; } + +div.center { text-align:center; } + +.delete h2 { word-wrap:break-word; } /*============================================================= - FOOTER + SHELL ==============================================================*/ -#footer -{ -border-top:1px solid; -text-align:center; -padding:1em 0; -} -#footer span, -#footer select -{ -display:inline-block; -margin-bottom:0; -vertical-align:middle; -} -#footer select -{ -width:auto; -} + .shell .output-wrapper { width:100%; height:30em; border:1px solid #333; } + +.shell .prompt-wrapper { float:left; width:100%; overflow:hidden; height:auto; border:1px solid #333; } + +.shell .prompt-container { margin-left:2.5em; } + +.shell #caret { width:2.5em; float:left; margin-left:-100%; } + +.shell #shellwrapper { background:white; color:#E8953C; width:100%; margin:1em 0; border:0; } + +.shell #output, .shell .prompt { color:#E8953C; background:white; resize:none; border:none; width:100%; height:100%; cursor:default; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } + +.shell #output:focus, .shell .prompt:focus { border-color:transparent; outline:0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } + +.shell #output pre { color: #E8953C; } + +.shell #autoscroll { cursor:pointer; float:right; } + +.shell .prompt, .shell #output, .shell #caret { font-size: 11pt; padding: 6px; padding-right: 0em; } + +.shell #caret { padding-top:9px; } + +.shell .prompt, .shell #output, .shell pre, .shell #caret { font-family: monospace; } + +.shell a[rel="tooltip"] { margin-left:8px; } + /*============================================================= - MAIN + PEEK ==============================================================*/ -#main -{ -margin-top:60px; /*uncomment this for alternative solution to hidden area underneath fixed navbar issue*/ -margin-bottom:60px; -} + .peek .code-wrapper { width:100%; overflow:auto; white-space:pre; } + +.peek table td pre { word-break:normal; white-space:pre; } + /*============================================================= - WIZARD + FOOTER ==============================================================*/ -#wizard_nav .box -{ -border-bottom:1px dotted; -} -#wizard_nav li -{ -margin-left:1em; -margin-top:0.5em; -} -.step textarea -{ -width:auto; -} -select[name='layout_theme'] -{ -vertical-align:top; -} -img#preview -{ -margin-bottom:9px; -} -/* multiselect customization */ -.ms-container -{ -margin-bottom:5px; -} -.ms-selectable, -.step .ms-selection -{ -text-align:center; -} -.ms-list -{ -text-align:left; -background:white; -} -.ms-container li.ms-elem-selectable:not(.disabled).ms-hover, -.ms-container .ms-selection li:not(.disabled).ms-hover -{ -background-color:#E8953C; -} -.ms-container .ms-selectable -{ -margin-right:25px; -} -.ms-container .ms-selectable, -.ms-container .ms-selection -{ -background:transparent; -} -.ms-container .ms-list.ms-focus -{ -border-color:rgba(232,149,60,0.8); --webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(232, 149, 60, 0.6); --moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(232,149,60,0.6); -box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(232, 149, 60, 0.6); -} -/* grow_input */ -ul[id$="_grow_input"] -{ -margin-left:0; -} + #footer { border-top:1px solid; text-align:center; padding:1em 0; } + +#footer span, #footer select { display:inline-block; margin-bottom:0; vertical-align:middle; } + +#footer select { width:auto; } + +/*============================================================= + MAIN +==============================================================*/ + #main { margin-top:60px; /*uncomment this for alternative solution to hidden area underneath fixed navbar issue*/ margin-bottom:60px; } + +/*============================================================= + WIZARD +==============================================================*/ + #wizard_nav .box { border-bottom:1px dotted; } + +#wizard_nav li { margin-left:1em; margin-top:0.5em; } + +.step textarea { width:auto; } + +select[name='layout_theme'] { vertical-align:top; } + +img#preview { margin-bottom:9px; } + +/* multiselect customization*/ + .ms-container { margin-bottom:5px; } + +.ms-selectable, .step .ms-selection { text-align:center; } + +.ms-list { text-align:left; background:white; } + +.ms-container li.ms-elem-selectable:not(.disabled).ms-hover, .ms-container .ms-selection li:not(.disabled).ms-hover { background-color:#E8953C; } + +.ms-container .ms-selectable { margin-right:25px; } + +.ms-container .ms-selectable, .ms-container .ms-selection { background:transparent; } + +.ms-container .ms-list.ms-focus { border-color:rgba(232, 149, 60, 0.8); -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(232, 149, 60, 0.6); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(232, 149, 60, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(232, 149, 60, 0.6); } + +/* grow_input*/ + ul[id$="_grow_input"] { margin-left:0; } + /* generate_form*/ -#generate_form .control-group -{ -margin-bottom:0; -} -#generate_form .control-label -{ -text-align:left; -} -#generate_form .controls -{ -padding-left:18px; -margin-left:0; -} -#generate_form .control-label.empty -{ -width:142px; -} -.step [rel="pagebookmark"]>.hashstick -{ -display:none; -} + #generate_form .control-group { margin-bottom:0; } + +#generate_form .control-label { text-align:left; } + +#generate_form .controls { padding-left:18px; margin-left:0; } + +#generate_form .control-label.empty { width:142px; } + +.step [rel="pagebookmark"]>.hashstick { display:none; } + /*generated page*/ -.generated iframe -{ -border:1px inset #e3e3e3; -} -/*============================================================= - ERRORS TABLE / TICKET PAGE -==============================================================*/ -.tablebar -{ -margin:7px 0 7px 0; -} -.tablebar input -{ -margin-right:27px; -} -.tablebar span -{ -vertical-align:bottom; -} -.table th -{ -background: #e9e9e9; -background: -moz-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%); -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FAFAFA), color-stop(100%,#E9E9E9)); -background: -webkit-linear-gradient(top, #FAFAFA 0%,#E9E9E9 100%); -background: -o-linear-gradient(top, #FAFAFA 0%,#E9E9E9 100%); -background: -ms-linear-gradient(top, #FAFAFA 0%,#E9E9E9 100%); -background: linear-gradient(top, #FAFAFA 0%,#E9E9E9 100%); -filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAFAFA', endColorstr='#E9E9E9'); --ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAFAFA', endColorstr='#E9E9E9')"; -/*font-size:10px; -color:#444; -text-transform:uppercase;*/ -} -td.cbcentered, -th.cbcentered -{ -text-align:center; -} -td.cbcentered>input, -th.cbcentered>input -{ -margin-top:-1px; -} -.traceback div -{ -} -.ticket_code>table td:first-child -{ -border-left:0; -} -#trck_errors table td pre -{ -word-break:normal; -white-space:pre; -} -.inspect pre, -.errorsource pre -{ -word-break:normal; -white-space:pre; -} -.ticket_code -{ -background-color:lightyellow; -} -.ticket_code table, -.ticket_code td -{ -border-width:0px; -border-collapse:collapse; -width:100%; -} -.ticket_code tbody tr:hover td -{ -background-color:transparent; -} -/*============================================================= - FLOT GRAPHS -==============================================================*/ -.about #placeholder -{ -width:auto; -max-width:600px; -height:300px; -position:relative; -margin:0 auto; /* for centering */ -} -/*============================================================= - THE GRID -==============================================================*/ -#w2p_query_panel -{ -min-width:20px; -min-height:20px; -padding:10px; -margin-top:1em; -background-color:#f5f5f5; -border: 1px solid #e3e3e3; --webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; --webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} -#w2p_query_panel select, -#w2p_query_panel input -{ -margin-bottom:0; -margin-right:4px; -} -.web2py_grid .hidden -{ -visibility:visible; -} -.qry_pnl_btns -{ -display:inline-block; -} -#w2p_grid_addbtn, -#w2p_search-form -{ -margin-top:9px; -margin-bottom:9px; -} -#w2p_search-form -{ -margin-bottom:0; -} -#w2p_search-form form -{ -margin-bottom:0; -} - - - -/*----- translate page ---*/ - -.languageform input -{ -margin-bottom:0; -} -.languageform input.untranslated -{ -background-color:#FC0; -} - + .generated iframe { border:1px inset #e3e3e3; } /*============================================================= - MEDIA QUERIES + ERRORS TABLE / TICKET PAGE ==============================================================*/ -@media (max-width: 800px) -{ - .step [rel="pagebookmark"]>.hashstick - { - /*top:-54px;*/ - display:block; - } -} -@media (max-width: 767px) -{ - [rel="pagebookmark"]>.hashstick{top:0;} -/*----------------------------------- - main --------------------------------------*/ - #main - { - margin-top:0; - } -/*----------------------------------- - footer --------------------------------------*/ - #footer - { - margin-left: -20px; - margin-right: -20px; - padding-left: 20px; - padding-right: 20px; - } -/*----------------------------------- - errors page --------------------------------------*/ - #trck_errors - { - table-layout:fixed; - } - #trck_errors .column1 - { - width:20px; - } - #trck_errors .column2 - { - width:45px; - } - #trck_errors .column3 - { - width:150px; - } - #trck_errors .columnN - { - width:55px; - } - #trck_errors .columnN1 - { - width:138px; - } - .ticket_code, - .inspect.resp1, - .inspect.controls pre, - .errorsource - { - width:100%; - overflow:auto; - } - .ticket_code>table - { - width:100%; - } - .celled - { - width:320px; - } -} -@media (max-width: 480px) -{ - .qry_pnl_btns - { - display:block; - margin-top:4px; - } -/*----------------------------------- - wizard --------------------------------------*/ - #generate_form .control-label - { - float:left; - width:160px; - padding-top:5px; - } - .inspect>code - { - display:block; - white-space:normal; - } - .li-controls - { - } - .celled - { - width:165px; - } -} + .tablebar { margin:7px 0 7px 0; } -h4.editableapp, -h4.currentapp { - padding: 5px 0 5px 54px; - display: inline; -} +.tablebar input { margin-right:27px; } -h4.editableapp { - background: #fff url(../images/folder.png) no-repeat; -} +.tablebar span { vertical-align:bottom; } -h4.currentapp { - background: #fff url(../images/folder_locked.png) no-repeat; -} \ No newline at end of file +.table th { background: #e9e9e9; background: -moz-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #FAFAFA), color-stop(100%, #E9E9E9)); background: -webkit-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%); background: -o-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%); background: -ms-linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%); background: linear-gradient(top, #FAFAFA 0%, #E9E9E9 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAFAFA', endColorstr='#E9E9E9'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FAFAFA', endColorstr='#E9E9E9')"; /*font-size:10px; color:#444; text-transform:uppercase;*/ } + +td.cbcentered, th.cbcentered { text-align:center; } + +td.cbcentered>input, th.cbcentered>input { margin-top:-1px; } + +.traceback div { } + +.ticket_code>table td:first-child { border-left:0; } + +#trck_errors table td pre { word-break:normal; white-space:pre; } + +.inspect pre, .errorsource pre { word-break:normal; white-space:pre; } + +.ticket_code { background-color:lightyellow; } + +.ticket_code table, .ticket_code td { border-width:0px; border-collapse:collapse; width:100%; } + +.ticket_code tbody tr:hover td { background-color:transparent; } + +/*============================================================= + FLOT GRAPHS +==============================================================*/ + .about #placeholder { width:auto; max-width:600px; height:300px; position:relative; margin:0 auto; /* for centering*/ } + +/*============================================================= + THE GRID +==============================================================*/ + #w2p_query_panel { min-width:20px; min-height:20px; padding:10px; margin-top:1em; background-color:#f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } + +#w2p_query_panel select, #w2p_query_panel input { margin-bottom:0; margin-right:4px; } + +.web2py_grid .hidden { visibility:visible; } + +.qry_pnl_btns { display:inline-block; } + +#w2p_grid_addbtn, #w2p_search-form { margin-top:9px; margin-bottom:9px; } + +#w2p_search-form { margin-bottom:0; } + +#w2p_search-form form { margin-bottom:0; } + +/*----- translate page ---*/ + .languageform input { margin-bottom:0; } + +.languageform input.untranslated { background-color:#FC0; } + +/*============================================================= + MEDIA QUERIES +==============================================================*/ + @media (max-width: 800px) { .step [rel="pagebookmark"]>.hashstick { /*top:-54px;*/ display:block; } + + } + +@media (max-width: 767px) { [rel="pagebookmark"]>.hashstick { top:0; } + +/*----------------------------------- + main +-------------------------------------*/ + #main { margin-top:0; } + +/*----------------------------------- + footer +-------------------------------------*/ + #footer { margin-left: -20px; margin-right: -20px; padding-left: 20px; padding-right: 20px; } + +/*----------------------------------- + errors page +-------------------------------------*/ + #trck_errors { table-layout:fixed; } + +#trck_errors .column1 { width:20px; } + +#trck_errors .column2 { width:45px; } + +#trck_errors .column3 { width:150px; } + +#trck_errors .columnN { width:55px; } + +#trck_errors .columnN1 { width:138px; } + +.ticket_code, .inspect.resp1, .inspect.controls pre, .errorsource { width:100%; overflow:auto; } + +.ticket_code>table { width:100%; } + +.celled { width:320px; } + + } + +@media (max-width: 480px) { .qry_pnl_btns { display:block; margin-top:4px; } + +/*----------------------------------- + wizard +-------------------------------------*/ + #generate_form .control-label { float:left; width:160px; padding-top:5px; } + +.inspect>code { display:block; white-space:normal; } + +.li-controls { } + +.celled { width:165px; } + + } + +h4.editableapp, h4.currentapp { padding: 5px 0 5px 54px; display: inline; } + +h4.editableapp { background: #fff url(../images/folder.png) no-repeat; } + +h4.currentapp { background: #fff url(../images/folder_locked.png) no-repeat; } + +table.twitter{ background-color: transparent; } +table.twitter tr td {vertical-align: top; padding: 5px; } +table.twitter tr { border-bottom: 1px solid #a0a0a0; } \ No newline at end of file diff --git a/applications/admin/views/default/twitter.load b/applications/admin/views/default/twitter.load index 3eb308b3..081ac430 100644 --- a/applications/admin/views/default/twitter.load +++ b/applications/admin/views/default/twitter.load @@ -27,8 +27,17 @@ Tweet attributes """ }} +{{import re}} +{{hashtag = re.compile('([#@])(\w+)')}} +{{link = re.compile('(?!<")https?\:\/\/[\w\./?&]+')}} +| + {{=t["from_user_name"]}}: + {{=XML(hashtag.sub('\\g<1>\\g<2>',link.sub('\\g<0>',t["text"])),sanitize=True)}} + | +