diff --git a/doc/themeforest-4021469-metronic-responsive-admin-dashboard-template.zip b/doc/themeforest-4021469-metronic-responsive-admin-dashboard-template.zip new file mode 100644 index 0000000..2c04eba Binary files /dev/null and b/doc/themeforest-4021469-metronic-responsive-admin-dashboard-template.zip differ diff --git a/www/css/bg.gif b/www/css/bg.gif new file mode 100644 index 0000000..4283989 Binary files /dev/null and b/www/css/bg.gif differ diff --git a/www/css/form.css b/www/css/form.css new file mode 100644 index 0000000..aec436c --- /dev/null +++ b/www/css/form.css @@ -0,0 +1,164 @@ +/** + * CSS styles for forms generated by yiic. + * + * The styles can be applied to the following form structure: + * + *
+ *
+ * + * + *

hint text

+ *
+ *
+ * + * + *

hint text

+ *
+ *
+ * + * + *

hint text

+ *
+ *
+ * + * The above code will render the labels and input fields in separate lines. + * In order to render them in the same line, please use the "wide" form as follows, + * + *
+ * ...... + *
+ * + * @author Qiang Xue + * @link http://www.yiiframework.com/ + * @copyright Copyright © 2008-2010 Yii Software LLC + * @license http://www.yiiframework.com/license/ + */ + +div.form +{ +} + +div.form input, +div.form textarea, +div.form select +{ + margin: 0.2em 0 0.5em 0; +} + +div.form fieldset +{ + border: 1px solid #DDD; + padding: 10px; + margin: 0 0 10px 0; + -moz-border-radius:7px; +} + +div.form label +{ + font-weight: bold; + font-size: 0.9em; + display: block; +} + +div.form .row +{ + margin: 5px 0; +} + +div.form .hint +{ + margin: 0; + padding: 0; + color: #999; +} + +div.form .note +{ + font-style: italic; +} + +div.form span.required +{ + color: red; +} + +div.form div.error label:first-child, +div.form label.error, +div.form span.error +{ + color: #C00; +} + +div.form div.error input, +div.form div.error textarea, +div.form div.error select, +div.form input.error, +div.form textarea.error, +div.form select.error +{ + background: #FEE; + border-color: #C00; +} + +div.form div.success input, +div.form div.success textarea, +div.form div.success select, +div.form input.success, +div.form textarea.success, +div.form select.success +{ + background: #E6EFC2; + border-color: #C6D880; +} + +div.form div.success label +{ + color: inherit; +} + +div.form .errorSummary +{ + border: 2px solid #C00; + padding: 7px 7px 12px 7px; + margin: 0 0 20px 0; + background: #FEE; + font-size: 0.9em; +} + +div.form .errorMessage +{ + color: red; + font-size: 0.9em; +} + +div.form .errorSummary p +{ + margin: 0; + padding: 5px; +} + +div.form .errorSummary ul +{ + margin: 0; + padding: 0 0 0 20px; +} + +div.wide.form label +{ + float: left; + margin-right: 10px; + position: relative; + text-align: right; + width: 100px; +} + +div.wide.form .row +{ + clear: left; +} + +div.wide.form .buttons, div.wide.form .hint, div.wide.form .errorMessage +{ + clear: left; + padding-left: 110px; +} diff --git a/www/css/ie.css b/www/css/ie.css new file mode 100644 index 0000000..f015399 --- /dev/null +++ b/www/css/ie.css @@ -0,0 +1,36 @@ +/* ----------------------------------------------------------------------- + + + Blueprint CSS Framework 1.0.1 + http://blueprintcss.org + + * Copyright (c) 2007-Present. See LICENSE for more info. + * See README for instructions on how to use Blueprint. + * For credits and origins, see AUTHORS. + * This is a compressed file. See the sources in the 'src' directory. + +----------------------------------------------------------------------- */ + +/* ie.css */ +body {text-align:center;} +.container {text-align:left;} +* html .column, * html .span-1, * html .span-2, * html .span-3, * html .span-4, * html .span-5, * html .span-6, * html .span-7, * html .span-8, * html .span-9, * html .span-10, * html .span-11, * html .span-12, * html .span-13, * html .span-14, * html .span-15, * html .span-16, * html .span-17, * html .span-18, * html .span-19, * html .span-20, * html .span-21, * html .span-22, * html .span-23, * html .span-24 {display:inline;overflow-x:hidden;} +* html legend {margin:0px -8px 16px 0;padding:0;} +sup {vertical-align:text-top;} +sub {vertical-align:text-bottom;} +html>body p code {*white-space:normal;} +hr {margin:-8px auto 11px;} +img {-ms-interpolation-mode:bicubic;} +.clearfix, .container {display:inline-block;} +* html .clearfix, * html .container {height:1%;} +fieldset {padding-top:0;} +legend {margin-top:-0.2em;margin-bottom:1em;margin-left:-0.5em;} +textarea {overflow:auto;} +label {vertical-align:middle;position:relative;top:-0.25em;} +input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;} +input.text:focus, input.title:focus {border-color:#666;} +input.text, input.title, textarea, select {margin:0.5em 0;} +input.checkbox, input.radio {position:relative;top:.25em;} +form.inline div, form.inline p {vertical-align:middle;} +form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;} +button, input.button {position:relative;top:0.25em;} \ No newline at end of file diff --git a/www/css/main.css b/www/css/main.css new file mode 100644 index 0000000..13327b8 --- /dev/null +++ b/www/css/main.css @@ -0,0 +1,229 @@ +body +{ + margin: 0; + padding: 0; + color: #555; + font: normal 10pt Arial,Helvetica,sans-serif; + background: #EFEFEF; +} + +#page +{ + margin-top: 5px; + margin-bottom: 5px; + background: white; + border: 1px solid #C9E0ED; +} + +#header +{ + margin: 0; + padding: 0; + border-top: 3px solid #C9E0ED; +} + +#content +{ + padding: 20px; +} + +#sidebar +{ + padding: 20px 20px 20px 0; +} + +#footer +{ + padding: 10px; + margin: 10px 20px; + font-size: 0.8em; + text-align: center; + border-top: 1px solid #C9E0ED; +} + +#logo +{ + padding: 10px 20px; + font-size: 200%; +} + +#mainmenu +{ + background:white url(bg.gif) repeat-x left top; +} + +#mainmenu ul +{ + padding:6px 20px 5px 20px; + margin:0px; +} + +#mainmenu ul li +{ + display: inline; +} + +#mainmenu ul li a +{ + color:#ffffff; + background-color:transparent; + font-size:12px; + font-weight:bold; + text-decoration:none; + padding:5px 8px; +} + +#mainmenu ul li a:hover, #mainmenu ul li.active a +{ + color: #6399cd; + background-color:#EFF4FA; + text-decoration:none; +} + +div.flash-error, div.flash-notice, div.flash-success +{ + padding:.8em; + margin-bottom:1em; + border:2px solid #ddd; +} + +div.flash-error +{ + background:#FBE3E4; + color:#8a1f11; + border-color:#FBC2C4; +} + +div.flash-notice +{ + background:#FFF6BF; + color:#514721; + border-color:#FFD324; +} + +div.flash-success +{ + background:#E6EFC2; + color:#264409; + border-color:#C6D880; +} + +div.flash-error a +{ + color:#8a1f11; +} + +div.flash-notice a +{ + color:#514721; +} + +div.flash-success a +{ + color:#264409; +} + +div.form .rememberMe label +{ + display: inline; +} + +div.view +{ + padding: 10px; + margin: 10px 0; + border: 1px solid #C9E0ED; +} + +div.breadcrumbs +{ + font-size: 0.9em; + padding: 5px 20px; +} + +div.breadcrumbs span +{ + font-weight: bold; +} + +div.search-form +{ + padding: 10px; + margin: 10px 0; + background: #eee; +} + +.portlet +{ + +} + +.portlet-decoration +{ + padding: 3px 8px; + background: #B7D6E7; + border-left: 5px solid #6FACCF; +} + +.portlet-title +{ + font-size: 12px; + font-weight: bold; + padding: 0; + margin: 0; + color: #298dcd; +} + +.portlet-content +{ + font-size:0.9em; + margin: 0 0 15px 0; + padding: 5px 8px; + background:#EFFDFF; +} + +.portlet-content ul +{ + list-style-image:none; + list-style-position:outside; + list-style-type:none; + margin: 0; + padding: 0; +} + +.portlet-content li +{ + padding: 2px 0 4px 0px; +} + +.operations +{ + list-style-type: none; + margin: 0; + padding: 0; +} + +.operations li +{ + padding-bottom: 2px; +} + +.operations li a +{ + font: bold 12px Arial; + color: #0066A4; + display: block; + padding: 2px 0 2px 8px; + line-height: 15px; + text-decoration: none; +} + +.operations li a:visited +{ + color: #0066A4; +} + +.operations li a:hover +{ + background: #80CFFF; +} \ No newline at end of file diff --git a/www/css/print.css b/www/css/print.css new file mode 100644 index 0000000..bd79afd --- /dev/null +++ b/www/css/print.css @@ -0,0 +1,29 @@ +/* ----------------------------------------------------------------------- + + + Blueprint CSS Framework 1.0.1 + http://blueprintcss.org + + * Copyright (c) 2007-Present. See LICENSE for more info. + * See README for instructions on how to use Blueprint. + * For credits and origins, see AUTHORS. + * This is a compressed file. See the sources in the 'src' directory. + +----------------------------------------------------------------------- */ + +/* print.css */ +body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;} +.container {background:none;} +hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;} +hr.space {background:#fff;color:#fff;visibility:hidden;} +h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;} +code {font:.9em "Courier New", Monaco, Courier, monospace;} +a img {border:none;} +p img.top {margin-top:0;} +blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;} +.small {font-size:.9em;} +.large {font-size:1.1em;} +.quiet {color:#999;} +.hide {display:none;} +a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;} +a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;} \ No newline at end of file diff --git a/www/css/screen.css b/www/css/screen.css new file mode 100644 index 0000000..7824d07 --- /dev/null +++ b/www/css/screen.css @@ -0,0 +1,238 @@ +/* ----------------------------------------------------------------------- + + + Blueprint CSS Framework 1.0.1 + http://blueprintcss.org + + * Copyright (c) 2007-Present. See LICENSE for more info. + * See README for instructions on how to use Blueprint. + * For credits and origins, see AUTHORS. + * This is a compressed file. See the sources in the 'src' directory. + +----------------------------------------------------------------------- */ + +/* reset.css */ +html {margin:0;padding:0;border:0;} +body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;} +article, aside, details, figcaption, figure, dialog, footer, header, hgroup, menu, nav, section {display:block;} +body {line-height:1.5;background:white;} +table {border-collapse:separate;border-spacing:0;} +caption, th, td {text-align:left;font-weight:normal;float:none !important;} +table, th, td {vertical-align:middle;} +blockquote:before, blockquote:after, q:before, q:after {content:'';} +blockquote, q {quotes:"" "";} +a img {border:none;} +:focus {outline:0;} + +/* typography.css */ +html {font-size:100.01%;} +body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;} +h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;} +h1 {font-size:2em;line-height:1;margin-bottom:0.5em;} +h2 {font-size:1.6em;margin-bottom:0.75em;} +h3 {font-size:1.4em;line-height:1;margin-bottom:1em;} +h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;} +h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;} +h6 {font-size:1em;font-weight:bold;} +h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;} +p {margin:0 0 1.5em;} +.left {float:left !important;} +p .left {margin:1.5em 1.5em 1.5em 0;padding:0;} +.right {float:right !important;} +p .right {margin:1.5em 0 1.5em 1.5em;padding:0;} +a:focus, a:hover {color:#09f;} +a {color:#06c;text-decoration:underline;} +blockquote {margin:1.5em;color:#666;font-style:italic;} +strong, dfn {font-weight:bold;} +em, dfn {font-style:italic;} +sup, sub {line-height:0;} +abbr, acronym {border-bottom:1px dotted #666;} +address {margin:0 0 1.5em;font-style:italic;} +del {color:#666;} +pre {margin:1.5em 0;white-space:pre;} +pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;} +li ul, li ol {margin:0;} +ul, ol {margin:0 1.5em 1.5em 0;padding-left:1.5em;} +ul {list-style-type:disc;} +ol {list-style-type:decimal;} +dl {margin:0 0 1.5em 0;} +dl dt {font-weight:bold;} +dd {margin-left:1.5em;} +table {margin-bottom:1.4em;width:100%;} +th {font-weight:bold;} +thead th {background:#c3d9ff;} +th, td, caption {padding:4px 10px 4px 5px;} +tfoot {font-style:italic;} +caption {background:#eee;} +.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;} +.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;} +.hide {display:none;} +.quiet {color:#666;} +.loud {color:#000;} +.highlight {background:#ff0;} +.added {background:#060;color:#fff;} +.removed {background:#900;color:#fff;} +.first {margin-left:0;padding-left:0;} +.last {margin-right:0;padding-right:0;} +.top {margin-top:0;padding-top:0;} +.bottom {margin-bottom:0;padding-bottom:0;} + +/* grid.css */ +.container {width:950px;margin:0 auto;} +.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;} +.last {margin-right:0;} +.span-1 {width:30px;} +.span-2 {width:70px;} +.span-3 {width:110px;} +.span-4 {width:150px;} +.span-5 {width:190px;} +.span-6 {width:230px;} +.span-7 {width:270px;} +.span-8 {width:310px;} +.span-9 {width:350px;} +.span-10 {width:390px;} +.span-11 {width:430px;} +.span-12 {width:470px;} +.span-13 {width:510px;} +.span-14 {width:550px;} +.span-15 {width:590px;} +.span-16 {width:630px;} +.span-17 {width:670px;} +.span-18 {width:710px;} +.span-19 {width:750px;} +.span-20 {width:790px;} +.span-21 {width:830px;} +.span-22 {width:870px;} +.span-23 {width:910px;} +.span-24 {width:950px;margin-right:0;} +input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px;border-right-width:1px;padding-left:5px;padding-right:5px;} +input.span-1, textarea.span-1 {width:18px;} +input.span-2, textarea.span-2 {width:58px;} +input.span-3, textarea.span-3 {width:98px;} +input.span-4, textarea.span-4 {width:138px;} +input.span-5, textarea.span-5 {width:178px;} +input.span-6, textarea.span-6 {width:218px;} +input.span-7, textarea.span-7 {width:258px;} +input.span-8, textarea.span-8 {width:298px;} +input.span-9, textarea.span-9 {width:338px;} +input.span-10, textarea.span-10 {width:378px;} +input.span-11, textarea.span-11 {width:418px;} +input.span-12, textarea.span-12 {width:458px;} +input.span-13, textarea.span-13 {width:498px;} +input.span-14, textarea.span-14 {width:538px;} +input.span-15, textarea.span-15 {width:578px;} +input.span-16, textarea.span-16 {width:618px;} +input.span-17, textarea.span-17 {width:658px;} +input.span-18, textarea.span-18 {width:698px;} +input.span-19, textarea.span-19 {width:738px;} +input.span-20, textarea.span-20 {width:778px;} +input.span-21, textarea.span-21 {width:818px;} +input.span-22, textarea.span-22 {width:858px;} +input.span-23, textarea.span-23 {width:898px;} +input.span-24, textarea.span-24 {width:938px;} +.append-1 {padding-right:40px;} +.append-2 {padding-right:80px;} +.append-3 {padding-right:120px;} +.append-4 {padding-right:160px;} +.append-5 {padding-right:200px;} +.append-6 {padding-right:240px;} +.append-7 {padding-right:280px;} +.append-8 {padding-right:320px;} +.append-9 {padding-right:360px;} +.append-10 {padding-right:400px;} +.append-11 {padding-right:440px;} +.append-12 {padding-right:480px;} +.append-13 {padding-right:520px;} +.append-14 {padding-right:560px;} +.append-15 {padding-right:600px;} +.append-16 {padding-right:640px;} +.append-17 {padding-right:680px;} +.append-18 {padding-right:720px;} +.append-19 {padding-right:760px;} +.append-20 {padding-right:800px;} +.append-21 {padding-right:840px;} +.append-22 {padding-right:880px;} +.append-23 {padding-right:920px;} +.prepend-1 {padding-left:40px;} +.prepend-2 {padding-left:80px;} +.prepend-3 {padding-left:120px;} +.prepend-4 {padding-left:160px;} +.prepend-5 {padding-left:200px;} +.prepend-6 {padding-left:240px;} +.prepend-7 {padding-left:280px;} +.prepend-8 {padding-left:320px;} +.prepend-9 {padding-left:360px;} +.prepend-10 {padding-left:400px;} +.prepend-11 {padding-left:440px;} +.prepend-12 {padding-left:480px;} +.prepend-13 {padding-left:520px;} +.prepend-14 {padding-left:560px;} +.prepend-15 {padding-left:600px;} +.prepend-16 {padding-left:640px;} +.prepend-17 {padding-left:680px;} +.prepend-18 {padding-left:720px;} +.prepend-19 {padding-left:760px;} +.prepend-20 {padding-left:800px;} +.prepend-21 {padding-left:840px;} +.prepend-22 {padding-left:880px;} +.prepend-23 {padding-left:920px;} +.border {padding-right:4px;margin-right:5px;border-right:1px solid #ddd;} +.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #ddd;} +.pull-1 {margin-left:-40px;} +.pull-2 {margin-left:-80px;} +.pull-3 {margin-left:-120px;} +.pull-4 {margin-left:-160px;} +.pull-5 {margin-left:-200px;} +.pull-6 {margin-left:-240px;} +.pull-7 {margin-left:-280px;} +.pull-8 {margin-left:-320px;} +.pull-9 {margin-left:-360px;} +.pull-10 {margin-left:-400px;} +.pull-11 {margin-left:-440px;} +.pull-12 {margin-left:-480px;} +.pull-13 {margin-left:-520px;} +.pull-14 {margin-left:-560px;} +.pull-15 {margin-left:-600px;} +.pull-16 {margin-left:-640px;} +.pull-17 {margin-left:-680px;} +.pull-18 {margin-left:-720px;} +.pull-19 {margin-left:-760px;} +.pull-20 {margin-left:-800px;} +.pull-21 {margin-left:-840px;} +.pull-22 {margin-left:-880px;} +.pull-23 {margin-left:-920px;} +.pull-24 {margin-left:-960px;} +.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;} +.push-1 {margin:0 -40px 1.5em 40px;} +.push-2 {margin:0 -80px 1.5em 80px;} +.push-3 {margin:0 -120px 1.5em 120px;} +.push-4 {margin:0 -160px 1.5em 160px;} +.push-5 {margin:0 -200px 1.5em 200px;} +.push-6 {margin:0 -240px 1.5em 240px;} +.push-7 {margin:0 -280px 1.5em 280px;} +.push-8 {margin:0 -320px 1.5em 320px;} +.push-9 {margin:0 -360px 1.5em 360px;} +.push-10 {margin:0 -400px 1.5em 400px;} +.push-11 {margin:0 -440px 1.5em 440px;} +.push-12 {margin:0 -480px 1.5em 480px;} +.push-13 {margin:0 -520px 1.5em 520px;} +.push-14 {margin:0 -560px 1.5em 560px;} +.push-15 {margin:0 -600px 1.5em 600px;} +.push-16 {margin:0 -640px 1.5em 640px;} +.push-17 {margin:0 -680px 1.5em 680px;} +.push-18 {margin:0 -720px 1.5em 720px;} +.push-19 {margin:0 -760px 1.5em 760px;} +.push-20 {margin:0 -800px 1.5em 800px;} +.push-21 {margin:0 -840px 1.5em 840px;} +.push-22 {margin:0 -880px 1.5em 880px;} +.push-23 {margin:0 -920px 1.5em 920px;} +.push-24 {margin:0 -960px 1.5em 960px;} +.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:left;position:relative;} +div.prepend-top, .prepend-top {margin-top:1.5em;} +div.append-bottom, .append-bottom {margin-bottom:1.5em;} +.box {padding:1.5em;margin-bottom:1.5em;background:#e5eCf9;} +hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:0 0 17px;border:none;} +hr.space {background:#fff;color:#fff;visibility:hidden;} +.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;} +.clearfix, .container {display:block;} +.clear {clear:both;} diff --git a/www/index-test.php b/www/index-test.php new file mode 100644 index 0000000..8947767 --- /dev/null +++ b/www/index-test.php @@ -0,0 +1,15 @@ +run(); diff --git a/www/index.php b/www/index.php new file mode 100644 index 0000000..fdcf65d --- /dev/null +++ b/www/index.php @@ -0,0 +1,13 @@ +run(); diff --git a/www/protected/.htaccess b/www/protected/.htaccess new file mode 100644 index 0000000..e019832 --- /dev/null +++ b/www/protected/.htaccess @@ -0,0 +1 @@ +deny from all diff --git a/www/protected/components/Controller.php b/www/protected/components/Controller.php new file mode 100644 index 0000000..4d27862 --- /dev/null +++ b/www/protected/components/Controller.php @@ -0,0 +1,23 @@ + password + 'demo'=>'demo', + 'admin'=>'admin', + ); + if(!isset($users[$this->username])) + $this->errorCode=self::ERROR_USERNAME_INVALID; + elseif($users[$this->username]!==$this->password) + $this->errorCode=self::ERROR_PASSWORD_INVALID; + else + $this->errorCode=self::ERROR_NONE; + return !$this->errorCode; + } +} \ No newline at end of file diff --git a/www/protected/config/console.php b/www/protected/config/console.php new file mode 100644 index 0000000..39a58f7 --- /dev/null +++ b/www/protected/config/console.php @@ -0,0 +1,36 @@ + dirname(__FILE__) . DIRECTORY_SEPARATOR . '..', + 'name' => 'FactuGES', + + // preloading 'log' component + 'preload' => array('log'), + + 'modules' => array( + 'usuario' => array( + ), + ), + + // application components + 'components' => array( + 'db' => array( + 'connectionString' => 'mysql:host=localhost;dbname=factuges_dev', + 'emulatePrepare' => true, + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', + ), + 'log' => array( + 'class' => 'CLogRouter', + 'routes' => array( + array( + 'class' => 'CFileLogRoute', + 'levels' => 'error, warning', + ), + ), + ), + ), +); \ No newline at end of file diff --git a/www/protected/config/main.php b/www/protected/config/main.php new file mode 100644 index 0000000..0ac50f5 --- /dev/null +++ b/www/protected/config/main.php @@ -0,0 +1,129 @@ + dirname(__FILE__) . DIRECTORY_SEPARATOR . '..', + 'name' => 'FactuGES', + 'theme' => 'factuges', + 'language' => 'es', + // preloading 'log' component + 'preload' => array('log'), + // autoloading model and component classes + 'import' => array( + // models + 'application.models.*', + 'application.models.formularios.*', + 'application.modules.usuario.models.*', + 'application.modules.usuario.models.formularios.*', + // Componentes y extensiones + 'application.components.*', + 'application.extensions.yii-mail.YiiMailMessage', + 'application.modules.usuario.components.*', + ), + 'modules' => array( + 'usuario' => array( + 'nombreRemitenteEMail' => 'factuges@factuges.com', + 'urlLogin' => "/usuario/logout", + 'urlPerfil' => "/usuario/perfil", + 'urlRegistro' => "/usuario/registro", + 'urlRecuperar' => "/usuario/registro/recuperar", + 'urlActivar' => "/usuario/registro/activar", + ), + 'gii' => array( + 'class' => 'system.gii.GiiModule', + 'password' => '1234', + // If removed, Gii defaults to localhost only. Edit carefully to taste. + 'ipFilters' => array('127.0.0.1', '::1'), + 'generatorPaths' => array('bootstrap.gii'), + ), + ), + // application components + 'components' => array( + 'user' => array( + 'class' => 'WebUser', + // enable cookie-based authentication + 'allowAutoLogin' => true, + ), + 'bootstrap' => array( + 'class' => 'bootstrap.components.Bootstrap', + ), + // uncomment the following to enable URLs in path-format + /* + 'urlManager'=>array( + 'urlFormat'=>'path', + 'rules'=>array( + '/'=>'/view', + '//'=>'/', + '/'=>'/', + ), + ), + */ + 'db' => array( + 'connectionString' => 'mysql:host=localhost;dbname=factuges_dev', + 'emulatePrepare' => true, + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', + ), + 'errorHandler' => array( + // use 'site/error' action to display errors + 'errorAction' => 'site/error', + ), + 'cache' => array( + 'class' => 'system.caching.CDummyCache' + ), + 'mail' => array( + 'class' => 'application.extensions.yii-mail.YiiMail', + 'viewPath' => 'application.views.mail', + 'transportType' => 'smtp', + 'transportOptions' => array( + 'host' => 'mail.rodax-software.com', + 'encryption' => '', + 'username' => 'mantenimiento+rodax-software.com', + 'password' => '34y96w6d', + 'port' => 25, + ), + 'viewPath' => 'application.views.mails', + 'logging' => true, + 'dryRun' => false + ), + // Application Log + 'log' => array( + 'class' => 'CLogRouter', + 'routes' => array( + array( + 'class' => 'CFileLogRoute', + 'levels' => 'trace, info, error, warning', + 'categories' => 'system.db.*', + 'logFile' => 'sql.log', + ), + // Save log messages on file + array( + 'class' => 'CFileLogRoute', + 'levels' => 'trace', + 'categories' => 'application.*', + ), + // Show log messages on web pages + array( + 'class' => 'CWebLogRoute', + 'levels' => 'error, warning', + 'categories' => 'application.*', + 'showInFireBug' => true, + ), + ), + ), + ), + // application-level parameters that can be accessed + // using Yii::app()->params['paramName'] + 'params' => array( + // this is used in contact page + 'adminEmail' => 'factuges@factuges.com', + ), +); \ No newline at end of file diff --git a/www/protected/config/test.php b/www/protected/config/test.php new file mode 100644 index 0000000..0797137 --- /dev/null +++ b/www/protected/config/test.php @@ -0,0 +1,35 @@ + array( + 'fixture' => array( + 'class' => 'system.test.CDbFixtureManager', + ), + 'db' => array( + 'connectionString' => 'mysql:host=localhost;dbname=factuges_test', + 'emulatePrepare' => true, + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', + ), + // Application Log + 'log' => array( + 'class' => 'CLogRouter', + 'routes' => array( + array( + 'class' => 'CFileLogRoute', + 'levels' => 'trace, info, error, warning', + 'categories' => 'system.db.*', + 'logFile' => 'test.sql.log', + ), + // Save log messages on file + array( + 'class' => 'CFileLogRoute', + 'levels' => 'trace', + 'categories' => 'application.*', + 'logFile' => 'test.application.log', + ), + ), + ), + ), + )); diff --git a/www/protected/controllers/SiteController.php b/www/protected/controllers/SiteController.php new file mode 100644 index 0000000..c5aa079 --- /dev/null +++ b/www/protected/controllers/SiteController.php @@ -0,0 +1,87 @@ + array('error'), + 'users' => array('*') + ), + array('allow', + 'actions' => array('index'), + 'users' => array('@') + ), + array('deny'), + ); + } + + /** + * Declares class-based actions. + */ + public function actions() { + return array( + // captcha action renders the CAPTCHA image displayed on the contact page + 'captcha' => array( + 'class' => 'CCaptchaAction', + 'backColor' => 0xFFFFFF, + ), + // page action renders "static" pages stored under 'protected/views/site/pages' + // They can be accessed via: index.php?r=site/page&view=FileName + 'page' => array( + 'class' => 'CViewAction', + ), + ); + } + + /** + * This is the default 'index' action that is invoked + * when an action is not explicitly requested by users. + */ + public function actionIndex() { + // renders the view file 'protected/views/site/index.php' + // using the default layout 'protected/views/layouts/main.php' + $this->render('index'); + } + + /** + * This is the action to handle external exceptions. + */ + public function actionError() { + $this->layout = 'error'; + if ($error = Yii::app()->errorHandler->error) { + if (Yii::app()->request->isAjaxRequest) + echo $error['message']; + else + $this->render('error', $error); + } + } + + /** + * Displays the contact page + */ + public function actionContact() { + $model = new ContactForm; + if (isset($_POST['ContactForm'])) { + $model->attributes = $_POST['ContactForm']; + if ($model->validate()) { + $name = '=?UTF-8?B?' . base64_encode($model->name) . '?='; + $subject = '=?UTF-8?B?' . base64_encode($model->subject) . '?='; + $headers = "From: $name <{$model->email}>\r\n" . + "Reply-To: {$model->email}\r\n" . + "MIME-Version: 1.0\r\n" . + "Content-type: text/plain; charset=UTF-8"; + + mail(Yii::app()->params['adminEmail'], $subject, $model->body, $headers); + Yii::app()->user->setFlash('contact', 'Thank you for contacting us. We will respond to you as soon as possible.'); + $this->refresh(); + } + } + $this->render('contact', array('model' => $model)); + } + +} \ No newline at end of file diff --git a/www/protected/data/schema.mysql.sql b/www/protected/data/schema.mysql.sql new file mode 100644 index 0000000..32788bd --- /dev/null +++ b/www/protected/data/schema.mysql.sql @@ -0,0 +1,28 @@ +CREATE TABLE tbl_user ( + id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, + username VARCHAR(128) NOT NULL, + password VARCHAR(128) NOT NULL, + email VARCHAR(128) NOT NULL +); + +INSERT INTO tbl_user (username, password, email) VALUES ('test1', 'pass1', 'test1@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test2', 'pass2', 'test2@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test3', 'pass3', 'test3@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test4', 'pass4', 'test4@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test5', 'pass5', 'test5@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test6', 'pass6', 'test6@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test7', 'pass7', 'test7@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test8', 'pass8', 'test8@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test9', 'pass9', 'test9@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test10', 'pass10', 'test10@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test11', 'pass11', 'test11@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test12', 'pass12', 'test12@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test13', 'pass13', 'test13@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test14', 'pass14', 'test14@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test15', 'pass15', 'test15@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test16', 'pass16', 'test16@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test17', 'pass17', 'test17@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test18', 'pass18', 'test18@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test19', 'pass19', 'test19@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test20', 'pass20', 'test20@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test21', 'pass21', 'test21@example.com'); diff --git a/www/protected/data/schema.sqlite.sql b/www/protected/data/schema.sqlite.sql new file mode 100644 index 0000000..e5e0830 --- /dev/null +++ b/www/protected/data/schema.sqlite.sql @@ -0,0 +1,28 @@ +CREATE TABLE tbl_user ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + username VARCHAR(128) NOT NULL, + password VARCHAR(128) NOT NULL, + email VARCHAR(128) NOT NULL +); + +INSERT INTO tbl_user (username, password, email) VALUES ('test1', 'pass1', 'test1@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test2', 'pass2', 'test2@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test3', 'pass3', 'test3@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test4', 'pass4', 'test4@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test5', 'pass5', 'test5@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test6', 'pass6', 'test6@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test7', 'pass7', 'test7@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test8', 'pass8', 'test8@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test9', 'pass9', 'test9@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test10', 'pass10', 'test10@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test11', 'pass11', 'test11@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test12', 'pass12', 'test12@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test13', 'pass13', 'test13@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test14', 'pass14', 'test14@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test15', 'pass15', 'test15@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test16', 'pass16', 'test16@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test17', 'pass17', 'test17@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test18', 'pass18', 'test18@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test19', 'pass19', 'test19@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test20', 'pass20', 'test20@example.com'); +INSERT INTO tbl_user (username, password, email) VALUES ('test21', 'pass21', 'test21@example.com'); diff --git a/www/protected/data/testdrive.db b/www/protected/data/testdrive.db new file mode 100644 index 0000000..a020178 Binary files /dev/null and b/www/protected/data/testdrive.db differ diff --git a/www/protected/extensions/bootstrap/LICENSE.txt b/www/protected/extensions/bootstrap/LICENSE.txt new file mode 100644 index 0000000..8892daf --- /dev/null +++ b/www/protected/extensions/bootstrap/LICENSE.txt @@ -0,0 +1,24 @@ +Copyright (c) 2010, Christoffer Niska +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Christoffer Niska nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/www/protected/extensions/bootstrap/assets/css/bootstrap-responsive.css b/www/protected/extensions/bootstrap/assets/css/bootstrap-responsive.css new file mode 100644 index 0000000..fcd72f7 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/css/bootstrap-responsive.css @@ -0,0 +1,1109 @@ +/*! + * Bootstrap Responsive v2.3.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +@-ms-viewport { + width: device-width; +} + +.hidden { + display: none; + visibility: hidden; +} + +.visible-phone { + display: none !important; +} + +.visible-tablet { + display: none !important; +} + +.hidden-desktop { + display: none !important; +} + +.visible-desktop { + display: inherit !important; +} + +@media (min-width: 768px) and (max-width: 979px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } +} + +@media (max-width: 767px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } +} + +.visible-print { + display: none !important; +} + +@media print { + .visible-print { + display: inherit !important; + } + .hidden-print { + display: none !important; + } +} + +@media (min-width: 1200px) { + .row { + margin-left: -30px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 30px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 1170px; + } + .span12 { + width: 1170px; + } + .span11 { + width: 1070px; + } + .span10 { + width: 970px; + } + .span9 { + width: 870px; + } + .span8 { + width: 770px; + } + .span7 { + width: 670px; + } + .span6 { + width: 570px; + } + .span5 { + width: 470px; + } + .span4 { + width: 370px; + } + .span3 { + width: 270px; + } + .span2 { + width: 170px; + } + .span1 { + width: 70px; + } + .offset12 { + margin-left: 1230px; + } + .offset11 { + margin-left: 1130px; + } + .offset10 { + margin-left: 1030px; + } + .offset9 { + margin-left: 930px; + } + .offset8 { + margin-left: 830px; + } + .offset7 { + margin-left: 730px; + } + .offset6 { + margin-left: 630px; + } + .offset5 { + margin-left: 530px; + } + .offset4 { + margin-left: 430px; + } + .offset3 { + margin-left: 330px; + } + .offset2 { + margin-left: 230px; + } + .offset1 { + margin-left: 130px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.564102564102564%; + *margin-left: 2.5109110747408616%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.564102564102564%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.45299145299145%; + *width: 91.39979996362975%; + } + .row-fluid .span10 { + width: 82.90598290598291%; + *width: 82.8527914166212%; + } + .row-fluid .span9 { + width: 74.35897435897436%; + *width: 74.30578286961266%; + } + .row-fluid .span8 { + width: 65.81196581196582%; + *width: 65.75877432260411%; + } + .row-fluid .span7 { + width: 57.26495726495726%; + *width: 57.21176577559556%; + } + .row-fluid .span6 { + width: 48.717948717948715%; + *width: 48.664757228587014%; + } + .row-fluid .span5 { + width: 40.17094017094017%; + *width: 40.11774868157847%; + } + .row-fluid .span4 { + width: 31.623931623931625%; + *width: 31.570740134569924%; + } + .row-fluid .span3 { + width: 23.076923076923077%; + *width: 23.023731587561375%; + } + .row-fluid .span2 { + width: 14.52991452991453%; + *width: 14.476723040552828%; + } + .row-fluid .span1 { + width: 5.982905982905983%; + *width: 5.929714493544281%; + } + .row-fluid .offset12 { + margin-left: 105.12820512820512%; + *margin-left: 105.02182214948171%; + } + .row-fluid .offset12:first-child { + margin-left: 102.56410256410257%; + *margin-left: 102.45771958537915%; + } + .row-fluid .offset11 { + margin-left: 96.58119658119658%; + *margin-left: 96.47481360247316%; + } + .row-fluid .offset11:first-child { + margin-left: 94.01709401709402%; + *margin-left: 93.91071103837061%; + } + .row-fluid .offset10 { + margin-left: 88.03418803418803%; + *margin-left: 87.92780505546462%; + } + .row-fluid .offset10:first-child { + margin-left: 85.47008547008548%; + *margin-left: 85.36370249136206%; + } + .row-fluid .offset9 { + margin-left: 79.48717948717949%; + *margin-left: 79.38079650845607%; + } + .row-fluid .offset9:first-child { + margin-left: 76.92307692307693%; + *margin-left: 76.81669394435352%; + } + .row-fluid .offset8 { + margin-left: 70.94017094017094%; + *margin-left: 70.83378796144753%; + } + .row-fluid .offset8:first-child { + margin-left: 68.37606837606839%; + *margin-left: 68.26968539734497%; + } + .row-fluid .offset7 { + margin-left: 62.393162393162385%; + *margin-left: 62.28677941443899%; + } + .row-fluid .offset7:first-child { + margin-left: 59.82905982905982%; + *margin-left: 59.72267685033642%; + } + .row-fluid .offset6 { + margin-left: 53.84615384615384%; + *margin-left: 53.739770867430444%; + } + .row-fluid .offset6:first-child { + margin-left: 51.28205128205128%; + *margin-left: 51.175668303327875%; + } + .row-fluid .offset5 { + margin-left: 45.299145299145295%; + *margin-left: 45.1927623204219%; + } + .row-fluid .offset5:first-child { + margin-left: 42.73504273504273%; + *margin-left: 42.62865975631933%; + } + .row-fluid .offset4 { + margin-left: 36.75213675213675%; + *margin-left: 36.645753773413354%; + } + .row-fluid .offset4:first-child { + margin-left: 34.18803418803419%; + *margin-left: 34.081651209310785%; + } + .row-fluid .offset3 { + margin-left: 28.205128205128204%; + *margin-left: 28.0987452264048%; + } + .row-fluid .offset3:first-child { + margin-left: 25.641025641025642%; + *margin-left: 25.53464266230224%; + } + .row-fluid .offset2 { + margin-left: 19.65811965811966%; + *margin-left: 19.551736679396257%; + } + .row-fluid .offset2:first-child { + margin-left: 17.094017094017094%; + *margin-left: 16.98763411529369%; + } + .row-fluid .offset1 { + margin-left: 11.11111111111111%; + *margin-left: 11.004728132387708%; + } + .row-fluid .offset1:first-child { + margin-left: 8.547008547008547%; + *margin-left: 8.440625568285142%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 30px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 1156px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 1056px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 956px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 856px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 756px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 656px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 556px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 456px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 356px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 256px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 156px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 56px; + } + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } +} + +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; + } + .span12 { + width: 724px; + } + .span11 { + width: 662px; + } + .span10 { + width: 600px; + } + .span9 { + width: 538px; + } + .span8 { + width: 476px; + } + .span7 { + width: 414px; + } + .span6 { + width: 352px; + } + .span5 { + width: 290px; + } + .span4 { + width: 228px; + } + .span3 { + width: 166px; + } + .span2 { + width: 104px; + } + .span1 { + width: 42px; + } + .offset12 { + margin-left: 764px; + } + .offset11 { + margin-left: 702px; + } + .offset10 { + margin-left: 640px; + } + .offset9 { + margin-left: 578px; + } + .offset8 { + margin-left: 516px; + } + .offset7 { + margin-left: 454px; + } + .offset6 { + margin-left: 392px; + } + .offset5 { + margin-left: 330px; + } + .offset4 { + margin-left: 268px; + } + .offset3 { + margin-left: 206px; + } + .offset2 { + margin-left: 144px; + } + .offset1 { + margin-left: 82px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.7624309392265194%; + *margin-left: 2.709239449864817%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.7624309392265194%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.43646408839778%; + *width: 91.38327259903608%; + } + .row-fluid .span10 { + width: 82.87292817679558%; + *width: 82.81973668743387%; + } + .row-fluid .span9 { + width: 74.30939226519337%; + *width: 74.25620077583166%; + } + .row-fluid .span8 { + width: 65.74585635359117%; + *width: 65.69266486422946%; + } + .row-fluid .span7 { + width: 57.18232044198895%; + *width: 57.12912895262725%; + } + .row-fluid .span6 { + width: 48.61878453038674%; + *width: 48.56559304102504%; + } + .row-fluid .span5 { + width: 40.05524861878453%; + *width: 40.00205712942283%; + } + .row-fluid .span4 { + width: 31.491712707182323%; + *width: 31.43852121782062%; + } + .row-fluid .span3 { + width: 22.92817679558011%; + *width: 22.87498530621841%; + } + .row-fluid .span2 { + width: 14.3646408839779%; + *width: 14.311449394616199%; + } + .row-fluid .span1 { + width: 5.801104972375691%; + *width: 5.747913483013988%; + } + .row-fluid .offset12 { + margin-left: 105.52486187845304%; + *margin-left: 105.41847889972962%; + } + .row-fluid .offset12:first-child { + margin-left: 102.76243093922652%; + *margin-left: 102.6560479605031%; + } + .row-fluid .offset11 { + margin-left: 96.96132596685082%; + *margin-left: 96.8549429881274%; + } + .row-fluid .offset11:first-child { + margin-left: 94.1988950276243%; + *margin-left: 94.09251204890089%; + } + .row-fluid .offset10 { + margin-left: 88.39779005524862%; + *margin-left: 88.2914070765252%; + } + .row-fluid .offset10:first-child { + margin-left: 85.6353591160221%; + *margin-left: 85.52897613729868%; + } + .row-fluid .offset9 { + margin-left: 79.8342541436464%; + *margin-left: 79.72787116492299%; + } + .row-fluid .offset9:first-child { + margin-left: 77.07182320441989%; + *margin-left: 76.96544022569647%; + } + .row-fluid .offset8 { + margin-left: 71.2707182320442%; + *margin-left: 71.16433525332079%; + } + .row-fluid .offset8:first-child { + margin-left: 68.50828729281768%; + *margin-left: 68.40190431409427%; + } + .row-fluid .offset7 { + margin-left: 62.70718232044199%; + *margin-left: 62.600799341718584%; + } + .row-fluid .offset7:first-child { + margin-left: 59.94475138121547%; + *margin-left: 59.838368402492065%; + } + .row-fluid .offset6 { + margin-left: 54.14364640883978%; + *margin-left: 54.037263430116376%; + } + .row-fluid .offset6:first-child { + margin-left: 51.38121546961326%; + *margin-left: 51.27483249088986%; + } + .row-fluid .offset5 { + margin-left: 45.58011049723757%; + *margin-left: 45.47372751851417%; + } + .row-fluid .offset5:first-child { + margin-left: 42.81767955801105%; + *margin-left: 42.71129657928765%; + } + .row-fluid .offset4 { + margin-left: 37.01657458563536%; + *margin-left: 36.91019160691196%; + } + .row-fluid .offset4:first-child { + margin-left: 34.25414364640884%; + *margin-left: 34.14776066768544%; + } + .row-fluid .offset3 { + margin-left: 28.45303867403315%; + *margin-left: 28.346655695309746%; + } + .row-fluid .offset3:first-child { + margin-left: 25.69060773480663%; + *margin-left: 25.584224756083227%; + } + .row-fluid .offset2 { + margin-left: 19.88950276243094%; + *margin-left: 19.783119783707537%; + } + .row-fluid .offset2:first-child { + margin-left: 17.12707182320442%; + *margin-left: 17.02068884448102%; + } + .row-fluid .offset1 { + margin-left: 11.32596685082873%; + *margin-left: 11.219583872105325%; + } + .row-fluid .offset1:first-child { + margin-left: 8.56353591160221%; + *margin-left: 8.457152932878806%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 710px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 648px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 586px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 524px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 462px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 400px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 338px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 276px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 214px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 152px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 90px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 28px; + } +} + +@media (max-width: 767px) { + body { + padding-right: 20px; + padding-left: 20px; + } + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-right: -20px; + margin-left: -20px; + } + .container-fluid { + padding: 0; + } + .dl-horizontal dt { + float: none; + width: auto; + clear: none; + text-align: left; + } + .dl-horizontal dd { + margin-left: 0; + } + .container { + width: auto; + } + .row-fluid { + width: 100%; + } + .row, + .thumbnails { + margin-left: 0; + } + .thumbnails > li { + float: none; + margin-left: 0; + } + [class*="span"], + .uneditable-input[class*="span"], + .row-fluid [class*="span"] { + display: block; + float: none; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .span12, + .row-fluid .span12 { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="offset"]:first-child { + margin-left: 0; + } + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } + .modal { + position: fixed; + top: 20px; + right: 20px; + left: 20px; + width: auto; + margin: 0; + } + .modal.fade { + top: -100px; + } + .modal.fade.in { + top: 20px; + } +} + +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + .page-header h1 small { + display: block; + line-height: 20px; + } + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + .form-horizontal .controls { + margin-left: 0; + } + .form-horizontal .control-list { + padding-top: 0; + } + .form-horizontal .form-actions { + padding-right: 10px; + padding-left: 10px; + } + .media .pull-left, + .media .pull-right { + display: block; + float: none; + margin-bottom: 10px; + } + .media-object { + margin-right: 0; + margin-left: 0; + } + .modal { + top: 10px; + right: 10px; + left: 10px; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + .carousel-caption { + position: static; + } +} + +@media (max-width: 979px) { + body { + padding-top: 0; + } + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + .navbar-fixed-top { + margin-bottom: 20px; + } + .navbar-fixed-bottom { + margin-top: 20px; + } + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-right: 10px; + padding-left: 10px; + margin: 0 0 0 -5px; + } + .nav-collapse { + clear: both; + } + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .nav > li > a:focus, + .nav-collapse .dropdown-menu a:hover, + .nav-collapse .dropdown-menu a:focus { + background-color: #f2f2f2; + } + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999999; + } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .nav > li > a:focus, + .navbar-inverse .nav-collapse .dropdown-menu a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:focus { + background-color: #111111; + } + .nav-collapse.in .btn-group { + padding: 0; + margin-top: 5px; + } + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + display: none; + float: none; + max-width: none; + padding: 0; + margin: 0 15px; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .nav-collapse .open > .dropdown-menu { + display: block; + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + .nav-collapse, + .nav-collapse.collapse { + height: 0; + overflow: hidden; + } + .navbar .btn-navbar { + display: block; + } + .navbar-static .navbar-inner { + padding-right: 10px; + padding-left: 10px; + } +} + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} diff --git a/www/protected/extensions/bootstrap/assets/css/bootstrap-responsive.min.css b/www/protected/extensions/bootstrap/assets/css/bootstrap-responsive.min.css new file mode 100644 index 0000000..d1b7f4b --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/css/bootstrap-responsive.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap Responsive v2.3.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} diff --git a/www/protected/extensions/bootstrap/assets/css/bootstrap.css b/www/protected/extensions/bootstrap/assets/css/bootstrap.css new file mode 100644 index 0000000..2f56af3 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/css/bootstrap.css @@ -0,0 +1,6158 @@ +/*! + * Bootstrap v2.3.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +audio:not([controls]) { + display: none; +} + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +a:hover, +a:active { + outline: 0; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + width: auto\9; + height: auto; + max-width: 100%; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +#map_canvas img, +.google-maps img { + max-width: none; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +button, +input { + *overflow: visible; + line-height: normal; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} + +body { + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 20px; + color: #333333; + background-color: #ffffff; +} + +a { + color: #0088cc; + text-decoration: none; +} + +a:hover, +a:focus { + color: #005580; + text-decoration: underline; +} + +.img-rounded { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.img-polaroid { + padding: 4px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.img-circle { + -webkit-border-radius: 500px; + -moz-border-radius: 500px; + border-radius: 500px; +} + +.row { + margin-left: -20px; + *zoom: 1; +} + +.row:before, +.row:after { + display: table; + line-height: 0; + content: ""; +} + +.row:after { + clear: both; +} + +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} + +.container, +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.span12 { + width: 940px; +} + +.span11 { + width: 860px; +} + +.span10 { + width: 780px; +} + +.span9 { + width: 700px; +} + +.span8 { + width: 620px; +} + +.span7 { + width: 540px; +} + +.span6 { + width: 460px; +} + +.span5 { + width: 380px; +} + +.span4 { + width: 300px; +} + +.span3 { + width: 220px; +} + +.span2 { + width: 140px; +} + +.span1 { + width: 60px; +} + +.offset12 { + margin-left: 980px; +} + +.offset11 { + margin-left: 900px; +} + +.offset10 { + margin-left: 820px; +} + +.offset9 { + margin-left: 740px; +} + +.offset8 { + margin-left: 660px; +} + +.offset7 { + margin-left: 580px; +} + +.offset6 { + margin-left: 500px; +} + +.offset5 { + margin-left: 420px; +} + +.offset4 { + margin-left: 340px; +} + +.offset3 { + margin-left: 260px; +} + +.offset2 { + margin-left: 180px; +} + +.offset1 { + margin-left: 100px; +} + +.row-fluid { + width: 100%; + *zoom: 1; +} + +.row-fluid:before, +.row-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.row-fluid:after { + clear: both; +} + +.row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.127659574468085%; + *margin-left: 2.074468085106383%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} + +.row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.127659574468085%; +} + +.row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; +} + +.row-fluid .span11 { + width: 91.48936170212765%; + *width: 91.43617021276594%; +} + +.row-fluid .span10 { + width: 82.97872340425532%; + *width: 82.92553191489361%; +} + +.row-fluid .span9 { + width: 74.46808510638297%; + *width: 74.41489361702126%; +} + +.row-fluid .span8 { + width: 65.95744680851064%; + *width: 65.90425531914893%; +} + +.row-fluid .span7 { + width: 57.44680851063829%; + *width: 57.39361702127659%; +} + +.row-fluid .span6 { + width: 48.93617021276595%; + *width: 48.88297872340425%; +} + +.row-fluid .span5 { + width: 40.42553191489362%; + *width: 40.37234042553192%; +} + +.row-fluid .span4 { + width: 31.914893617021278%; + *width: 31.861702127659576%; +} + +.row-fluid .span3 { + width: 23.404255319148934%; + *width: 23.351063829787233%; +} + +.row-fluid .span2 { + width: 14.893617021276595%; + *width: 14.840425531914894%; +} + +.row-fluid .span1 { + width: 6.382978723404255%; + *width: 6.329787234042553%; +} + +.row-fluid .offset12 { + margin-left: 104.25531914893617%; + *margin-left: 104.14893617021275%; +} + +.row-fluid .offset12:first-child { + margin-left: 102.12765957446808%; + *margin-left: 102.02127659574467%; +} + +.row-fluid .offset11 { + margin-left: 95.74468085106382%; + *margin-left: 95.6382978723404%; +} + +.row-fluid .offset11:first-child { + margin-left: 93.61702127659574%; + *margin-left: 93.51063829787232%; +} + +.row-fluid .offset10 { + margin-left: 87.23404255319149%; + *margin-left: 87.12765957446807%; +} + +.row-fluid .offset10:first-child { + margin-left: 85.1063829787234%; + *margin-left: 84.99999999999999%; +} + +.row-fluid .offset9 { + margin-left: 78.72340425531914%; + *margin-left: 78.61702127659572%; +} + +.row-fluid .offset9:first-child { + margin-left: 76.59574468085106%; + *margin-left: 76.48936170212764%; +} + +.row-fluid .offset8 { + margin-left: 70.2127659574468%; + *margin-left: 70.10638297872339%; +} + +.row-fluid .offset8:first-child { + margin-left: 68.08510638297872%; + *margin-left: 67.9787234042553%; +} + +.row-fluid .offset7 { + margin-left: 61.70212765957446%; + *margin-left: 61.59574468085106%; +} + +.row-fluid .offset7:first-child { + margin-left: 59.574468085106375%; + *margin-left: 59.46808510638297%; +} + +.row-fluid .offset6 { + margin-left: 53.191489361702125%; + *margin-left: 53.085106382978715%; +} + +.row-fluid .offset6:first-child { + margin-left: 51.063829787234035%; + *margin-left: 50.95744680851063%; +} + +.row-fluid .offset5 { + margin-left: 44.68085106382979%; + *margin-left: 44.57446808510638%; +} + +.row-fluid .offset5:first-child { + margin-left: 42.5531914893617%; + *margin-left: 42.4468085106383%; +} + +.row-fluid .offset4 { + margin-left: 36.170212765957444%; + *margin-left: 36.06382978723405%; +} + +.row-fluid .offset4:first-child { + margin-left: 34.04255319148936%; + *margin-left: 33.93617021276596%; +} + +.row-fluid .offset3 { + margin-left: 27.659574468085104%; + *margin-left: 27.5531914893617%; +} + +.row-fluid .offset3:first-child { + margin-left: 25.53191489361702%; + *margin-left: 25.425531914893618%; +} + +.row-fluid .offset2 { + margin-left: 19.148936170212764%; + *margin-left: 19.04255319148936%; +} + +.row-fluid .offset2:first-child { + margin-left: 17.02127659574468%; + *margin-left: 16.914893617021278%; +} + +.row-fluid .offset1 { + margin-left: 10.638297872340425%; + *margin-left: 10.53191489361702%; +} + +.row-fluid .offset1:first-child { + margin-left: 8.51063829787234%; + *margin-left: 8.404255319148938%; +} + +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} + +.container { + margin-right: auto; + margin-left: auto; + *zoom: 1; +} + +.container:before, +.container:after { + display: table; + line-height: 0; + content: ""; +} + +.container:after { + clear: both; +} + +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} + +.container-fluid:before, +.container-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.container-fluid:after { + clear: both; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 21px; + font-weight: 200; + line-height: 30px; +} + +small { + font-size: 85%; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +cite { + font-style: normal; +} + +.muted { + color: #999999; +} + +a.muted:hover, +a.muted:focus { + color: #808080; +} + +.text-warning { + color: #c09853; +} + +a.text-warning:hover, +a.text-warning:focus { + color: #a47e3c; +} + +.text-error { + color: #b94a48; +} + +a.text-error:hover, +a.text-error:focus { + color: #953b39; +} + +.text-info { + color: #3a87ad; +} + +a.text-info:hover, +a.text-info:focus { + color: #2d6987; +} + +.text-success { + color: #468847; +} + +a.text-success:hover, +a.text-success:focus { + color: #356635; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 10px 0; + font-family: inherit; + font-weight: bold; + line-height: 20px; + color: inherit; + text-rendering: optimizelegibility; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, +h2, +h3 { + line-height: 40px; +} + +h1 { + font-size: 38.5px; +} + +h2 { + font-size: 31.5px; +} + +h3 { + font-size: 24.5px; +} + +h4 { + font-size: 17.5px; +} + +h5 { + font-size: 14px; +} + +h6 { + font-size: 11.9px; +} + +h1 small { + font-size: 24.5px; +} + +h2 small { + font-size: 17.5px; +} + +h3 small { + font-size: 14px; +} + +h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 20px 0 30px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + padding: 0; + margin: 0 0 10px 25px; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} + +li { + line-height: 20px; +} + +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +ul.inline, +ol.inline { + margin-left: 0; + list-style: none; +} + +ul.inline > li, +ol.inline > li { + display: inline-block; + *display: inline; + padding-right: 5px; + padding-left: 5px; + *zoom: 1; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 20px; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 10px; +} + +.dl-horizontal { + *zoom: 1; +} + +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + line-height: 0; + content: ""; +} + +.dl-horizontal:after { + clear: both; +} + +.dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dl-horizontal dd { + margin-left: 180px; +} + +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid #ffffff; +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 0 0 0 15px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + margin-bottom: 0; + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} + +blockquote small { + display: block; + line-height: 20px; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 20px; +} + +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +code { + padding: 2px 4px; + color: #d14; + white-space: nowrap; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + color: inherit; + white-space: pre; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +form { + margin: 0 0 20px; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: 40px; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +legend small { + font-size: 15px; + color: #999999; +} + +label, +input, +button, +select, +textarea { + font-size: 14px; + font-weight: normal; + line-height: 20px; +} + +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +label { + display: block; + margin-bottom: 5px; +} + +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + display: inline-block; + height: 20px; + padding: 4px 6px; + margin-bottom: 10px; + font-size: 14px; + line-height: 20px; + color: #555555; + vertical-align: middle; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +input, +textarea, +.uneditable-input { + width: 206px; +} + +textarea { + height: auto; +} + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +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, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + *margin-top: 0; + line-height: normal; +} + +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} + +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + + line-height: 30px; +} + +select { + width: 220px; + background-color: #ffffff; + border: 1px solid #cccccc; +} + +select[multiple], +select[size] { + height: auto; +} + +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.uneditable-input, +.uneditable-textarea { + color: #999999; + cursor: not-allowed; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +} + +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} + +.uneditable-textarea { + width: auto; + height: auto; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} + +.radio, +.checkbox { + min-height: 20px; + padding-left: 20px; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; +} + +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} + +.input-mini { + width: 60px; +} + +.input-small { + width: 90px; +} + +.input-medium { + width: 150px; +} + +.input-large { + width: 210px; +} + +.input-xlarge { + width: 270px; +} + +.input-xxlarge { + width: 530px; +} + +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} + +input, +textarea, +.uneditable-input { + margin-left: 0; +} + +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} + +input.span12, +textarea.span12, +.uneditable-input.span12 { + width: 926px; +} + +input.span11, +textarea.span11, +.uneditable-input.span11 { + width: 846px; +} + +input.span10, +textarea.span10, +.uneditable-input.span10 { + width: 766px; +} + +input.span9, +textarea.span9, +.uneditable-input.span9 { + width: 686px; +} + +input.span8, +textarea.span8, +.uneditable-input.span8 { + width: 606px; +} + +input.span7, +textarea.span7, +.uneditable-input.span7 { + width: 526px; +} + +input.span6, +textarea.span6, +.uneditable-input.span6 { + width: 446px; +} + +input.span5, +textarea.span5, +.uneditable-input.span5 { + width: 366px; +} + +input.span4, +textarea.span4, +.uneditable-input.span4 { + width: 286px; +} + +input.span3, +textarea.span3, +.uneditable-input.span3 { + width: 206px; +} + +input.span2, +textarea.span2, +.uneditable-input.span2 { + width: 126px; +} + +input.span1, +textarea.span1, +.uneditable-input.span1 { + width: 46px; +} + +.controls-row { + *zoom: 1; +} + +.controls-row:before, +.controls-row:after { + display: table; + line-height: 0; + content: ""; +} + +.controls-row:after { + clear: both; +} + +.controls-row [class*="span"], +.row-fluid .controls-row [class*="span"] { + float: left; +} + +.controls-row .checkbox[class*="span"], +.controls-row .radio[class*="span"] { + padding-top: 5px; +} + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + +.control-group.warning .control-label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} + +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} + +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.control-group.error .control-label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} + +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} + +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.control-group.success .control-label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} + +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} + +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.control-group.info .control-label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} + +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} + +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} + +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { + color: #b94a48; + border-color: #ee5f5b; +} + +input:focus:invalid:focus, +textarea:focus:invalid:focus, +select:focus:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} + +.form-actions:before, +.form-actions:after { + display: table; + line-height: 0; + content: ""; +} + +.form-actions:after { + clear: both; +} + +.help-block, +.help-inline { + color: #595959; +} + +.help-block { + display: block; + margin-bottom: 10px; +} + +.help-inline { + display: inline-block; + *display: inline; + padding-left: 5px; + vertical-align: middle; + *zoom: 1; +} + +.input-append, +.input-prepend { + display: inline-block; + margin-bottom: 10px; + font-size: 0; + white-space: nowrap; + vertical-align: middle; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input, +.input-append .dropdown-menu, +.input-prepend .dropdown-menu, +.input-append .popover, +.input-prepend .popover { + font-size: 14px; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + vertical-align: top; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append input:focus, +.input-prepend input:focus, +.input-append select:focus, +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} + +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #eeeeee; + border: 1px solid #ccc; +} + +.input-append .add-on, +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn, +.input-append .btn-group > .dropdown-toggle, +.input-prepend .btn-group > .dropdown-toggle { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} + +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} + +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input + .btn-group .btn:last-child, +.input-append select + .btn-group .btn:last-child, +.input-append .uneditable-input + .btn-group .btn:last-child { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append .add-on, +.input-append .btn, +.input-append .btn-group { + margin-left: -1px; +} + +.input-append .add-on:last-child, +.input-append .btn:last-child, +.input-append .btn-group:last-child > .dropdown-toggle { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-prepend.input-append input + .btn-group .btn, +.input-prepend.input-append select + .btn-group .btn, +.input-prepend.input-append .uneditable-input + .btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .btn-group:first-child { + margin-left: 0; +} + +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* Allow for input prepend/append in search forms */ + +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + margin-bottom: 0; + vertical-align: middle; + *zoom: 1; +} + +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} + +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} + +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + +.control-group { + margin-bottom: 10px; +} + +legend + .control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} + +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} + +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { + display: table; + line-height: 0; + content: ""; +} + +.form-horizontal .control-group:after { + clear: both; +} + +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} + +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} + +.form-horizontal .controls:first-child { + *padding-left: 180px; +} + +.form-horizontal .help-block { + margin-bottom: 0; +} + +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block, +.form-horizontal .uneditable-input + .help-block, +.form-horizontal .input-prepend + .help-block, +.form-horizontal .input-append + .help-block { + margin-top: 10px; +} + +.form-horizontal .form-actions { + padding-left: 180px; +} + +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table th { + font-weight: bold; +} + +.table thead th { + vertical-align: bottom; +} + +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} + +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} + +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} + +.table-bordered thead:first-child tr:first-child > th:first-child, +.table-bordered tbody:first-child tr:first-child > td:first-child, +.table-bordered tbody:first-child tr:first-child > th:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered thead:first-child tr:first-child > th:last-child, +.table-bordered tbody:first-child tr:first-child > td:last-child, +.table-bordered tbody:first-child tr:first-child > th:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-bordered thead:last-child tr:last-child > th:first-child, +.table-bordered tbody:last-child tr:last-child > td:first-child, +.table-bordered tbody:last-child tr:last-child > th:first-child, +.table-bordered tfoot:last-child tr:last-child > td:first-child, +.table-bordered tfoot:last-child tr:last-child > th:first-child { + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.table-bordered thead:last-child tr:last-child > th:last-child, +.table-bordered tbody:last-child tr:last-child > td:last-child, +.table-bordered tbody:last-child tr:last-child > th:last-child, +.table-bordered tfoot:last-child tr:last-child > td:last-child, +.table-bordered tfoot:last-child tr:last-child > th:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; +} + +.table-bordered tfoot + tbody:last-child tr:last-child td:first-child { + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomleft: 0; +} + +.table-bordered tfoot + tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomright: 0; +} + +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-striped tbody > tr:nth-child(odd) > td, +.table-striped tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +.table-hover tbody tr:hover > td, +.table-hover tbody tr:hover > th { + background-color: #f5f5f5; +} + +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { + display: table-cell; + float: none; + margin-left: 0; +} + +.table td.span1, +.table th.span1 { + float: none; + width: 44px; + margin-left: 0; +} + +.table td.span2, +.table th.span2 { + float: none; + width: 124px; + margin-left: 0; +} + +.table td.span3, +.table th.span3 { + float: none; + width: 204px; + margin-left: 0; +} + +.table td.span4, +.table th.span4 { + float: none; + width: 284px; + margin-left: 0; +} + +.table td.span5, +.table th.span5 { + float: none; + width: 364px; + margin-left: 0; +} + +.table td.span6, +.table th.span6 { + float: none; + width: 444px; + margin-left: 0; +} + +.table td.span7, +.table th.span7 { + float: none; + width: 524px; + margin-left: 0; +} + +.table td.span8, +.table th.span8 { + float: none; + width: 604px; + margin-left: 0; +} + +.table td.span9, +.table th.span9 { + float: none; + width: 684px; + margin-left: 0; +} + +.table td.span10, +.table th.span10 { + float: none; + width: 764px; + margin-left: 0; +} + +.table td.span11, +.table th.span11 { + float: none; + width: 844px; + margin-left: 0; +} + +.table td.span12, +.table th.span12 { + float: none; + width: 924px; + margin-left: 0; +} + +.table tbody tr.success > td { + background-color: #dff0d8; +} + +.table tbody tr.error > td { + background-color: #f2dede; +} + +.table tbody tr.warning > td { + background-color: #fcf8e3; +} + +.table tbody tr.info > td { + background-color: #d9edf7; +} + +.table-hover tbody tr.success:hover > td { + background-color: #d0e9c6; +} + +.table-hover tbody tr.error:hover > td { + background-color: #ebcccc; +} + +.table-hover tbody tr.warning:hover > td { + background-color: #faf2cc; +} + +.table-hover tbody tr.info:hover > td { + background-color: #c4e3f3; +} + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + margin-top: 1px; + *margin-right: .3em; + line-height: 14px; + vertical-align: text-top; + background-image: url("../img/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; +} + +/* White icons with optional class, or on hover/focus/active states of certain elements */ + +.icon-white, +.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:focus > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > li > a:focus > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:focus > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"], +.dropdown-submenu:focus > a > [class*=" icon-"] { + background-image: url("../img/glyphicons-halflings-white.png"); +} + +.icon-glass { + background-position: 0 0; +} + +.icon-music { + background-position: -24px 0; +} + +.icon-search { + background-position: -48px 0; +} + +.icon-envelope { + background-position: -72px 0; +} + +.icon-heart { + background-position: -96px 0; +} + +.icon-star { + background-position: -120px 0; +} + +.icon-star-empty { + background-position: -144px 0; +} + +.icon-user { + background-position: -168px 0; +} + +.icon-film { + background-position: -192px 0; +} + +.icon-th-large { + background-position: -216px 0; +} + +.icon-th { + background-position: -240px 0; +} + +.icon-th-list { + background-position: -264px 0; +} + +.icon-ok { + background-position: -288px 0; +} + +.icon-remove { + background-position: -312px 0; +} + +.icon-zoom-in { + background-position: -336px 0; +} + +.icon-zoom-out { + background-position: -360px 0; +} + +.icon-off { + background-position: -384px 0; +} + +.icon-signal { + background-position: -408px 0; +} + +.icon-cog { + background-position: -432px 0; +} + +.icon-trash { + background-position: -456px 0; +} + +.icon-home { + background-position: 0 -24px; +} + +.icon-file { + background-position: -24px -24px; +} + +.icon-time { + background-position: -48px -24px; +} + +.icon-road { + background-position: -72px -24px; +} + +.icon-download-alt { + background-position: -96px -24px; +} + +.icon-download { + background-position: -120px -24px; +} + +.icon-upload { + background-position: -144px -24px; +} + +.icon-inbox { + background-position: -168px -24px; +} + +.icon-play-circle { + background-position: -192px -24px; +} + +.icon-repeat { + background-position: -216px -24px; +} + +.icon-refresh { + background-position: -240px -24px; +} + +.icon-list-alt { + background-position: -264px -24px; +} + +.icon-lock { + background-position: -287px -24px; +} + +.icon-flag { + background-position: -312px -24px; +} + +.icon-headphones { + background-position: -336px -24px; +} + +.icon-volume-off { + background-position: -360px -24px; +} + +.icon-volume-down { + background-position: -384px -24px; +} + +.icon-volume-up { + background-position: -408px -24px; +} + +.icon-qrcode { + background-position: -432px -24px; +} + +.icon-barcode { + background-position: -456px -24px; +} + +.icon-tag { + background-position: 0 -48px; +} + +.icon-tags { + background-position: -25px -48px; +} + +.icon-book { + background-position: -48px -48px; +} + +.icon-bookmark { + background-position: -72px -48px; +} + +.icon-print { + background-position: -96px -48px; +} + +.icon-camera { + background-position: -120px -48px; +} + +.icon-font { + background-position: -144px -48px; +} + +.icon-bold { + background-position: -167px -48px; +} + +.icon-italic { + background-position: -192px -48px; +} + +.icon-text-height { + background-position: -216px -48px; +} + +.icon-text-width { + background-position: -240px -48px; +} + +.icon-align-left { + background-position: -264px -48px; +} + +.icon-align-center { + background-position: -288px -48px; +} + +.icon-align-right { + background-position: -312px -48px; +} + +.icon-align-justify { + background-position: -336px -48px; +} + +.icon-list { + background-position: -360px -48px; +} + +.icon-indent-left { + background-position: -384px -48px; +} + +.icon-indent-right { + background-position: -408px -48px; +} + +.icon-facetime-video { + background-position: -432px -48px; +} + +.icon-picture { + background-position: -456px -48px; +} + +.icon-pencil { + background-position: 0 -72px; +} + +.icon-map-marker { + background-position: -24px -72px; +} + +.icon-adjust { + background-position: -48px -72px; +} + +.icon-tint { + background-position: -72px -72px; +} + +.icon-edit { + background-position: -96px -72px; +} + +.icon-share { + background-position: -120px -72px; +} + +.icon-check { + background-position: -144px -72px; +} + +.icon-move { + background-position: -168px -72px; +} + +.icon-step-backward { + background-position: -192px -72px; +} + +.icon-fast-backward { + background-position: -216px -72px; +} + +.icon-backward { + background-position: -240px -72px; +} + +.icon-play { + background-position: -264px -72px; +} + +.icon-pause { + background-position: -288px -72px; +} + +.icon-stop { + background-position: -312px -72px; +} + +.icon-forward { + background-position: -336px -72px; +} + +.icon-fast-forward { + background-position: -360px -72px; +} + +.icon-step-forward { + background-position: -384px -72px; +} + +.icon-eject { + background-position: -408px -72px; +} + +.icon-chevron-left { + background-position: -432px -72px; +} + +.icon-chevron-right { + background-position: -456px -72px; +} + +.icon-plus-sign { + background-position: 0 -96px; +} + +.icon-minus-sign { + background-position: -24px -96px; +} + +.icon-remove-sign { + background-position: -48px -96px; +} + +.icon-ok-sign { + background-position: -72px -96px; +} + +.icon-question-sign { + background-position: -96px -96px; +} + +.icon-info-sign { + background-position: -120px -96px; +} + +.icon-screenshot { + background-position: -144px -96px; +} + +.icon-remove-circle { + background-position: -168px -96px; +} + +.icon-ok-circle { + background-position: -192px -96px; +} + +.icon-ban-circle { + background-position: -216px -96px; +} + +.icon-arrow-left { + background-position: -240px -96px; +} + +.icon-arrow-right { + background-position: -264px -96px; +} + +.icon-arrow-up { + background-position: -289px -96px; +} + +.icon-arrow-down { + background-position: -312px -96px; +} + +.icon-share-alt { + background-position: -336px -96px; +} + +.icon-resize-full { + background-position: -360px -96px; +} + +.icon-resize-small { + background-position: -384px -96px; +} + +.icon-plus { + background-position: -408px -96px; +} + +.icon-minus { + background-position: -433px -96px; +} + +.icon-asterisk { + background-position: -456px -96px; +} + +.icon-exclamation-sign { + background-position: 0 -120px; +} + +.icon-gift { + background-position: -24px -120px; +} + +.icon-leaf { + background-position: -48px -120px; +} + +.icon-fire { + background-position: -72px -120px; +} + +.icon-eye-open { + background-position: -96px -120px; +} + +.icon-eye-close { + background-position: -120px -120px; +} + +.icon-warning-sign { + background-position: -144px -120px; +} + +.icon-plane { + background-position: -168px -120px; +} + +.icon-calendar { + background-position: -192px -120px; +} + +.icon-random { + width: 16px; + background-position: -216px -120px; +} + +.icon-comment { + background-position: -240px -120px; +} + +.icon-magnet { + background-position: -264px -120px; +} + +.icon-chevron-up { + background-position: -288px -120px; +} + +.icon-chevron-down { + background-position: -313px -119px; +} + +.icon-retweet { + background-position: -336px -120px; +} + +.icon-shopping-cart { + background-position: -360px -120px; +} + +.icon-folder-close { + width: 16px; + background-position: -384px -120px; +} + +.icon-folder-open { + width: 16px; + background-position: -408px -120px; +} + +.icon-resize-vertical { + background-position: -432px -119px; +} + +.icon-resize-horizontal { + background-position: -456px -118px; +} + +.icon-hdd { + background-position: 0 -144px; +} + +.icon-bullhorn { + background-position: -24px -144px; +} + +.icon-bell { + background-position: -48px -144px; +} + +.icon-certificate { + background-position: -72px -144px; +} + +.icon-thumbs-up { + background-position: -96px -144px; +} + +.icon-thumbs-down { + background-position: -120px -144px; +} + +.icon-hand-right { + background-position: -144px -144px; +} + +.icon-hand-left { + background-position: -168px -144px; +} + +.icon-hand-up { + background-position: -192px -144px; +} + +.icon-hand-down { + background-position: -216px -144px; +} + +.icon-circle-arrow-right { + background-position: -240px -144px; +} + +.icon-circle-arrow-left { + background-position: -264px -144px; +} + +.icon-circle-arrow-up { + background-position: -288px -144px; +} + +.icon-circle-arrow-down { + background-position: -312px -144px; +} + +.icon-globe { + background-position: -336px -144px; +} + +.icon-wrench { + background-position: -360px -144px; +} + +.icon-tasks { + background-position: -384px -144px; +} + +.icon-filter { + background-position: -408px -144px; +} + +.icon-briefcase { + background-position: -432px -144px; +} + +.icon-fullscreen { + background-position: -456px -144px; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + *margin-bottom: -3px; +} + +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus, +.dropdown-submenu:hover > a, +.dropdown-submenu:focus > a { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + outline: 0; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999999; +} + +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: default; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open { + *z-index: 1000; +} + +.open > .dropdown-menu { + display: block; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} + +.dropup .dropdown-submenu > .dropdown-menu { + top: auto; + bottom: 0; + margin-top: 0; + margin-bottom: -2px; + -webkit-border-radius: 5px 5px 5px 0; + -moz-border-radius: 5px 5px 5px 0; + border-radius: 5px 5px 5px 0; +} + +.dropdown-submenu > a:after { + display: block; + float: right; + width: 0; + height: 0; + margin-top: 5px; + margin-right: -10px; + border-color: transparent; + border-left-color: #cccccc; + border-style: solid; + border-width: 5px 0 5px 5px; + content: " "; +} + +.dropdown-submenu:hover > a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.dropdown .dropdown-menu .nav-header { + padding-right: 20px; + padding-left: 20px; +} + +.typeahead { + z-index: 1051; + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -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); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +.collapse.in { + height: auto; +} + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.btn { + display: inline-block; + *display: inline; + padding: 4px 12px; + margin-bottom: 0; + *margin-left: .3em; + font-size: 14px; + line-height: 20px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; + cursor: pointer; + background-color: #f5f5f5; + *background-color: #e6e6e6; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border: 1px solid #cccccc; + *border: 0; + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + border-bottom-color: #b3b3b3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn:hover, +.btn:focus, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} + +.btn:active, +.btn.active { + background-color: #cccccc \9; +} + +.btn:first-child { + *margin-left: 0; +} + +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn.active, +.btn:active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn.disabled, +.btn[disabled] { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-large { + padding: 11px 19px; + font-size: 17.5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.btn-large [class^="icon-"], +.btn-large [class*=" icon-"] { + margin-top: 4px; +} + +.btn-small { + padding: 2px 10px; + font-size: 11.9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-small [class^="icon-"], +.btn-small [class*=" icon-"] { + margin-top: 0; +} + +.btn-mini [class^="icon-"], +.btn-mini [class*=" icon-"] { + margin-top: -1px; +} + +.btn-mini { + padding: 0 6px; + font-size: 10.5px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} + +.btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + *background-color: #0044cc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + color: #ffffff; + background-color: #0044cc; + *background-color: #003bb3; +} + +.btn-primary:active, +.btn-primary.active { + background-color: #003399 \9; +} + +.btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #faa732; + *background-color: #f89406; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + color: #ffffff; + background-color: #f89406; + *background-color: #df8505; +} + +.btn-warning:active, +.btn-warning.active { + background-color: #c67605 \9; +} + +.btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + *background-color: #bd362f; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-repeat: repeat-x; + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; +} + +.btn-danger:active, +.btn-danger.active { + background-color: #942a25 \9; +} + +.btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb75b; + *background-color: #51a351; + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-repeat: repeat-x; + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + color: #ffffff; + background-color: #51a351; + *background-color: #499249; +} + +.btn-success:active, +.btn-success.active { + background-color: #408140 \9; +} + +.btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + *background-color: #2f96b4; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-repeat: repeat-x; + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + color: #ffffff; + background-color: #2f96b4; + *background-color: #2a85a0; +} + +.btn-info:active, +.btn-info.active { + background-color: #24748c \9; +} + +.btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + *background-color: #222222; + background-image: -moz-linear-gradient(top, #444444, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); + background-image: -webkit-linear-gradient(top, #444444, #222222); + background-image: -o-linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); + background-repeat: repeat-x; + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-inverse:hover, +.btn-inverse:focus, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + color: #ffffff; + background-color: #222222; + *background-color: #151515; +} + +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; +} + +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} + +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} + +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-link { + color: #0088cc; + cursor: pointer; + border-color: transparent; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-link:hover, +.btn-link:focus { + color: #005580; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover, +.btn-link[disabled]:focus { + color: #333333; + text-decoration: none; +} + +.btn-group { + position: relative; + display: inline-block; + *display: inline; + *margin-left: .3em; + font-size: 0; + white-space: nowrap; + vertical-align: middle; + *zoom: 1; +} + +.btn-group:first-child { + *margin-left: 0; +} + +.btn-group + .btn-group { + margin-left: 5px; +} + +.btn-toolbar { + margin-top: 10px; + margin-bottom: 10px; + font-size: 0; +} + +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group > .btn + .btn { + margin-left: -1px; +} + +.btn-group > .btn, +.btn-group > .dropdown-menu, +.btn-group > .popover { + font-size: 14px; +} + +.btn-group > .btn-mini { + font-size: 10.5px; +} + +.btn-group > .btn-small { + font-size: 11.9px; +} + +.btn-group > .btn-large { + font-size: 17.5px; +} + +.btn-group > .btn:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group > .btn + .dropdown-toggle { + *padding-top: 5px; + padding-right: 8px; + *padding-bottom: 5px; + padding-left: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group > .btn-mini + .dropdown-toggle { + *padding-top: 2px; + padding-right: 5px; + *padding-bottom: 2px; + padding-left: 5px; +} + +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +.btn-group > .btn-large + .dropdown-toggle { + *padding-top: 7px; + padding-right: 12px; + *padding-bottom: 7px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} + +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} + +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} + +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} + +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} + +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} + +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} + +.btn .caret { + margin-top: 8px; + margin-left: 0; +} + +.btn-large .caret { + margin-top: 6px; +} + +.btn-large .caret { + border-top-width: 5px; + border-right-width: 5px; + border-left-width: 5px; +} + +.btn-mini .caret, +.btn-small .caret { + margin-top: 8px; +} + +.dropup .btn-large .caret { + border-bottom-width: 5px; +} + +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} + +.btn-group-vertical > .btn { + display: block; + float: none; + max-width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group-vertical > .btn + .btn { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.btn-group-vertical > .btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.btn-group-vertical > .btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} + +.btn-group-vertical > .btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.alert, +.alert h4 { + color: #c09853; +} + +.alert h4 { + margin: 0; +} + +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 20px; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success h4 { + color: #468847; +} + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info h4 { + color: #3a87ad; +} + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} + +.alert-block p + p { + margin-top: 5px; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav > li > a { + display: block; +} + +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > li > a > img { + max-width: none; +} + +.nav > .pull-right { + float: right; +} + +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} + +.nav li + .nav-header { + margin-top: 9px; +} + +.nav-list { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 0; +} + +.nav-list > li > a, +.nav-list .nav-header { + margin-right: -15px; + margin-left: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.nav-list > li > a { + padding: 3px 15px; +} + +.nav-list > .active > a, +.nav-list > .active > a:hover, +.nav-list > .active > a:focus { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} + +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { + margin-right: 2px; +} + +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.nav-tabs, +.nav-pills { + *zoom: 1; +} + +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + line-height: 0; + content: ""; +} + +.nav-tabs:after, +.nav-pills:after { + clear: both; +} + +.nav-tabs > li, +.nav-pills > li { + float: left; +} + +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} + +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +.nav-tabs > li { + margin-bottom: -1px; +} + +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover, +.nav-tabs > li > a:focus { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover, +.nav-tabs > .active > a:focus { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} + +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.nav-pills > .active > a, +.nav-pills > .active > a:hover, +.nav-pills > .active > a:focus { + color: #ffffff; + background-color: #0088cc; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li > a { + margin-right: 0; +} + +.nav-tabs.nav-stacked { + border-bottom: 0; +} + +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; +} + +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.nav-tabs.nav-stacked > li > a:hover, +.nav-tabs.nav-stacked > li > a:focus { + z-index: 2; + border-color: #ddd; +} + +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} + +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} + +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.nav .dropdown-toggle .caret { + margin-top: 6px; + border-top-color: #0088cc; + border-bottom-color: #0088cc; +} + +.nav .dropdown-toggle:hover .caret, +.nav .dropdown-toggle:focus .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} + +/* move down carets for tabs */ + +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} + +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} + +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.nav > .dropdown.active > a:hover, +.nav > .dropdown.active > a:focus { + cursor: pointer; +} + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover, +.nav > li.dropdown.open.active > a:focus { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} + +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret, +.nav li.dropdown.open a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} + +.tabs-stacked .open > a:hover, +.tabs-stacked .open > a:focus { + border-color: #999999; +} + +.tabbable { + *zoom: 1; +} + +.tabbable:before, +.tabbable:after { + display: table; + line-height: 0; + content: ""; +} + +.tabbable:after { + clear: both; +} + +.tab-content { + overflow: auto; +} + +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} + +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} + +.tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.tabs-below > .nav-tabs > li > a:hover, +.tabs-below > .nav-tabs > li > a:focus { + border-top-color: #ddd; + border-bottom-color: transparent; +} + +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover, +.tabs-below > .nav-tabs > .active > a:focus { + border-color: transparent #ddd #ddd #ddd; +} + +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} + +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} + +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.tabs-left > .nav-tabs > li > a:hover, +.tabs-left > .nav-tabs > li > a:focus { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover, +.tabs-left > .nav-tabs .active > a:focus { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: #ffffff; +} + +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} + +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.tabs-right > .nav-tabs > li > a:hover, +.tabs-right > .nav-tabs > li > a:focus { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover, +.tabs-right > .nav-tabs .active > a:focus { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: #ffffff; +} + +.nav > .disabled > a { + color: #999999; +} + +.nav > .disabled > a:hover, +.nav > .disabled > a:focus { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.navbar { + *position: relative; + *z-index: 2; + margin-bottom: 20px; + overflow: visible; +} + +.navbar-inner { + min-height: 40px; + padding-right: 20px; + padding-left: 20px; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); +} + +.navbar-inner:before, +.navbar-inner:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-inner:after { + clear: both; +} + +.navbar .container { + width: auto; +} + +.nav-collapse.collapse { + height: auto; + overflow: visible; +} + +.navbar .brand { + display: block; + float: left; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .brand:hover, +.navbar .brand:focus { + text-decoration: none; +} + +.navbar-text { + margin-bottom: 0; + line-height: 40px; + color: #777777; +} + +.navbar-link { + color: #777777; +} + +.navbar-link:hover, +.navbar-link:focus { + color: #333333; +} + +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-right: 1px solid #ffffff; + border-left: 1px solid #f2f2f2; +} + +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} + +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn, +.navbar .input-prepend .btn-group, +.navbar .input-append .btn-group { + margin-top: 0; +} + +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} + +.navbar-form:before, +.navbar-form:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-form:after { + clear: both; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} + +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} + +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 5px; + white-space: nowrap; +} + +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} + +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} + +.navbar-search .search-query { + padding: 4px 14px; + margin-bottom: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.navbar-static-top { + position: static; + margin-bottom: 0; +} + +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} + +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-right: 0; + padding-left: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} + +.navbar .nav > li { + float: left; +} + +.navbar .nav > li > a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} + +.navbar .nav > li > a:focus, +.navbar .nav > li > a:hover { + color: #333333; + text-decoration: none; + background-color: transparent; +} + +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { + color: #555555; + text-decoration: none; + background-color: #e5e5e5; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} + +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-right: 5px; + margin-left: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + *background-color: #e5e5e5; + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); + background-repeat: repeat-x; + border-color: #e5e5e5 #e5e5e5 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} + +.navbar .btn-navbar:hover, +.navbar .btn-navbar:focus, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { + color: #ffffff; + background-color: #e5e5e5; + *background-color: #d9d9d9; +} + +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { + background-color: #cccccc \9; +} + +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + +.navbar .nav > li > .dropdown-menu:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.navbar .nav > li > .dropdown-menu:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-left: 6px solid transparent; + content: ''; +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:before { + top: auto; + bottom: -7px; + border-top: 7px solid #ccc; + border-bottom: 0; + border-top-color: rgba(0, 0, 0, 0.2); +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:after { + top: auto; + bottom: -6px; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.navbar .nav li.dropdown > a:hover .caret, +.navbar .nav li.dropdown > a:focus .caret { + border-top-color: #333333; + border-bottom-color: #333333; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + color: #555555; + background-color: #e5e5e5; +} + +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu.pull-right:before { + right: 12px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:after, +.navbar .nav > li > .dropdown-menu.pull-right:after { + right: 13px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { + right: 100%; + left: auto; + margin-right: -1px; + margin-left: 0; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + border-color: #252525; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); +} + +.navbar-inverse .brand, +.navbar-inverse .nav > li > a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.navbar-inverse .brand:hover, +.navbar-inverse .nav > li > a:hover, +.navbar-inverse .brand:focus, +.navbar-inverse .nav > li > a:focus { + color: #ffffff; +} + +.navbar-inverse .brand { + color: #999999; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .nav > li > a:focus, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .nav .active > a, +.navbar-inverse .nav .active > a:hover, +.navbar-inverse .nav .active > a:focus { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover, +.navbar-inverse .navbar-link:focus { + color: #ffffff; +} + +.navbar-inverse .divider-vertical { + border-right-color: #222222; + border-left-color: #111111; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .nav li.dropdown > a:hover .caret, +.navbar-inverse .nav li.dropdown > a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-search .search-query { + color: #ffffff; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} + +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:focus, +.navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + outline: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + +.navbar-inverse .btn-navbar { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + *background-color: #040404; + background-image: -moz-linear-gradient(top, #151515, #040404); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-repeat: repeat-x; + border-color: #040404 #040404 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.navbar-inverse .btn-navbar:hover, +.navbar-inverse .btn-navbar:focus, +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active, +.navbar-inverse .btn-navbar.disabled, +.navbar-inverse .btn-navbar[disabled] { + color: #ffffff; + background-color: #040404; + *background-color: #000000; +} + +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active { + background-color: #000000 \9; +} + +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.breadcrumb > li { + display: inline-block; + *display: inline; + text-shadow: 0 1px 0 #ffffff; + *zoom: 1; +} + +.breadcrumb > li > .divider { + padding: 0 5px; + color: #ccc; +} + +.breadcrumb > .active { + color: #999999; +} + +.pagination { + margin: 20px 0; +} + +.pagination ul { + display: inline-block; + *display: inline; + margin-bottom: 0; + margin-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *zoom: 1; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.pagination ul > li { + display: inline; +} + +.pagination ul > li > a, +.pagination ul > li > span { + float: left; + padding: 4px 12px; + line-height: 20px; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + border-left-width: 0; +} + +.pagination ul > li > a:hover, +.pagination ul > li > a:focus, +.pagination ul > .active > a, +.pagination ul > .active > span { + background-color: #f5f5f5; +} + +.pagination ul > .active > a, +.pagination ul > .active > span { + color: #999999; + cursor: default; +} + +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover, +.pagination ul > .disabled > a:focus { + color: #999999; + cursor: default; + background-color: transparent; +} + +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { + border-left-width: 1px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.pagination-centered { + text-align: center; +} + +.pagination-right { + text-align: right; +} + +.pagination-large ul > li > a, +.pagination-large ul > li > span { + padding: 11px 19px; + font-size: 17.5px; +} + +.pagination-large ul > li:first-child > a, +.pagination-large ul > li:first-child > span { + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.pagination-large ul > li:last-child > a, +.pagination-large ul > li:last-child > span { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.pagination-mini ul > li:first-child > a, +.pagination-small ul > li:first-child > a, +.pagination-mini ul > li:first-child > span, +.pagination-small ul > li:first-child > span { + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; +} + +.pagination-mini ul > li:last-child > a, +.pagination-small ul > li:last-child > a, +.pagination-mini ul > li:last-child > span, +.pagination-small ul > li:last-child > span { + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; +} + +.pagination-small ul > li > a, +.pagination-small ul > li > span { + padding: 2px 10px; + font-size: 11.9px; +} + +.pagination-mini ul > li > a, +.pagination-mini ul > li > span { + padding: 0 6px; + font-size: 10.5px; +} + +.pager { + margin: 20px 0; + text-align: center; + list-style: none; + *zoom: 1; +} + +.pager:before, +.pager:after { + display: table; + line-height: 0; + content: ""; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + cursor: default; + background-color: #fff; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.modal { + position: fixed; + top: 10%; + left: 50%; + z-index: 1050; + width: 560px; + margin-left: -280px; + background-color: #ffffff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} + +.modal.fade { + top: -25%; + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; + -moz-transition: opacity 0.3s linear, top 0.3s ease-out; + -o-transition: opacity 0.3s linear, top 0.3s ease-out; + transition: opacity 0.3s linear, top 0.3s ease-out; +} + +.modal.fade.in { + top: 10%; +} + +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} + +.modal-header .close { + margin-top: 2px; +} + +.modal-header h3 { + margin: 0; + line-height: 30px; +} + +.modal-body { + position: relative; + max-height: 400px; + padding: 15px; + overflow-y: auto; +} + +.modal-form { + margin-bottom: 0; +} + +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + line-height: 0; + content: ""; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 11px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.popover-title:empty { + display: none; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; +} + +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} + +.thumbnails:before, +.thumbnails:after { + display: table; + line-height: 0; + content: ""; +} + +.thumbnails:after { + clear: both; +} + +.row-fluid .thumbnails { + margin-left: 0; +} + +.thumbnails > li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} + +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +.thumbnail > img { + display: block; + max-width: 100%; + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #555555; +} + +.media, +.media-body { + overflow: hidden; + *overflow: visible; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media > .pull-left { + margin-right: 10px; +} + +.media > .pull-right { + margin-left: 10px; +} + +.media-list { + margin-left: 0; + list-style: none; +} + +.label, +.badge { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; +} + +.label { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.badge { + padding-right: 9px; + padding-left: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} + +.label:empty, +.badge:empty { + display: none; +} + +a.label:hover, +a.label:focus, +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label-important, +.badge-important { + background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} + +.label-warning, +.badge-warning { + background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} + +.label-success, +.badge-success { + background-color: #468847; +} + +.label-success[href], +.badge-success[href] { + background-color: #356635; +} + +.label-info, +.badge-info { + background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { + background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} + +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +.btn-mini .label, +.btn-mini .badge { + top: 0; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress .bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress .bar + .bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); +} + +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} + +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-danger .bar, +.progress .bar-danger { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); +} + +.progress-danger.progress-striped .bar, +.progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-success .bar, +.progress .bar-success { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); +} + +.progress-success.progress-striped .bar, +.progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-info .bar, +.progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); +} + +.progress-info.progress-striped .bar, +.progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-warning .bar, +.progress .bar-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); +} + +.progress-warning.progress-striped .bar, +.progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.accordion { + margin-bottom: 20px; +} + +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.accordion-heading { + border-bottom: 0; +} + +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +.accordion-toggle { + cursor: pointer; +} + +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} + +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + line-height: 1; +} + +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} + +.carousel-inner > .active { + left: 0; +} + +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner > .next { + left: 100%; +} + +.carousel-inner > .prev { + left: -100%; +} + +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} + +.carousel-inner > .active.left { + left: -100%; +} + +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.right { + right: 15px; + left: auto; +} + +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-indicators { + position: absolute; + top: 15px; + right: 15px; + z-index: 5; + margin: 0; + list-style: none; +} + +.carousel-indicators li { + display: block; + float: left; + width: 10px; + height: 10px; + margin-left: 5px; + text-indent: -999px; + background-color: #ccc; + background-color: rgba(255, 255, 255, 0.25); + border-radius: 5px; +} + +.carousel-indicators .active { + background-color: #fff; +} + +.carousel-caption { + position: absolute; + right: 0; + bottom: 0; + left: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} + +.carousel-caption h4, +.carousel-caption p { + line-height: 20px; + color: #ffffff; +} + +.carousel-caption h4 { + margin: 0 0 5px; +} + +.carousel-caption p { + margin-bottom: 0; +} + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + color: inherit; +} + +.hero-unit li { + line-height: 30px; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.hide { + display: none; +} + +.show { + display: block; +} + +.invisible { + visibility: hidden; +} + +.affix { + position: fixed; +} diff --git a/www/protected/extensions/bootstrap/assets/css/bootstrap.min.css b/www/protected/extensions/bootstrap/assets/css/bootstrap.min.css new file mode 100644 index 0000000..c10c7f4 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/css/bootstrap.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.3.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}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,.uneditable-input:focus{border-color:rgba(82,168,236,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(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.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:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} diff --git a/www/protected/extensions/bootstrap/assets/css/yii.css b/www/protected/extensions/bootstrap/assets/css/yii.css new file mode 100644 index 0000000..d6174b6 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/css/yii.css @@ -0,0 +1,79 @@ +.grid-view { padding-top:20px; } +.grid-view table.items th a { + display:block; + position:relative; +} +.grid-view table.items th a .caret { + display:none; + position:absolute; + right:5px; + top:7px; +} +.grid-view table.items th a.asc .caret { display:block; } +.grid-view table.items th a.desc .caret { + border-bottom:4px solid #000000; + border-top:none; + display:block; +} +.grid-view table.items tr.selected td { background:#eeeeee; } +.grid-view .filters .filter-container { padding:0 15px 0 0; } +.grid-view .filters input, .grid-view .filters select { + margin-bottom:0; + width:100%; +} +.grid-view .button-column { + text-align:center; + width:50px; +} +.grid-view .checkbox-column { width:15px; } +.grid-view .summary { + margin-bottom:5px; + text-align:right; +} +.grid-view .pager { margin-top:5px; } +.grid-view .empty { font-style:italic; } +.grid-view-loading { background:url(../img/loading.gif) no-repeat; } +.list-view { padding-top:20px; } +.list-view .summary { + margin-bottom:5px; + text-align:right; +} +.list-view .pager { margin-top:5px; } +.list-view .sorter { + margin:0 0 5px 0; + text-align:right; +} +.list-view .sorter ul { + display:inline; + list-style:none outside none; + margin:0; + padding:0; +} +.list-view .sorter li { + display:inline; + margin:0 0 0 5px; + padding:0; +} +.list-view .sorter a .caret { + position:absolute; + right:5px; + top:7px; +} +.list-view .sorter a .caret.desc .caret { + border-bottom:4px solid #000000; + border-top:none; +} +.list-view-loading { background:url(../img/loading.gif) no-repeat; } +.detail-view .null { color:#ffc0cb; } +.detail-view th { + text-align:right; + width:160px; +} +span.required { color:#ff0000; } +.form-inline label.error, .form-horizontal label.error, .form-vertical label.error { color:#b94a48; } +.form-inline select.error, .form-inline input.error, .form-inline textarea.error, .form-horizontal select.error, .form-horizontal input.error, .form-horizontal textarea.error, .form-vertical select.error, .form-vertical input.error, .form-vertical textarea.error { + border-color:#b94a48; + color:#b94a48; +} +.form-inline select.error:focus, .form-inline input.error:focus, .form-inline textarea.error:focus, .form-horizontal select.error:focus, .form-horizontal input.error:focus, .form-horizontal textarea.error:focus, .form-vertical select.error:focus, .form-vertical input.error:focus, .form-vertical textarea.error:focus { border-color:#953b39; } +.form-inline .help-block.error, .form-inline .help-inline.error, .form-horizontal .help-block.error, .form-horizontal .help-inline.error, .form-vertical .help-block.error, .form-vertical .help-inline.error { color:#b94a48; } diff --git a/www/protected/extensions/bootstrap/assets/img/glyphicons-halflings-white.png b/www/protected/extensions/bootstrap/assets/img/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/www/protected/extensions/bootstrap/assets/img/glyphicons-halflings-white.png differ diff --git a/www/protected/extensions/bootstrap/assets/img/glyphicons-halflings.png b/www/protected/extensions/bootstrap/assets/img/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/www/protected/extensions/bootstrap/assets/img/glyphicons-halflings.png differ diff --git a/www/protected/extensions/bootstrap/assets/img/loading.gif b/www/protected/extensions/bootstrap/assets/img/loading.gif new file mode 100644 index 0000000..b78de2a Binary files /dev/null and b/www/protected/extensions/bootstrap/assets/img/loading.gif differ diff --git a/www/protected/extensions/bootstrap/assets/js/bootstrap-affix.js b/www/protected/extensions/bootstrap/assets/js/bootstrap-affix.js new file mode 100644 index 0000000..827ff45 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/js/bootstrap-affix.js @@ -0,0 +1,117 @@ +/* ========================================================== + * bootstrap-affix.js v2.3.1 + * http://twitter.github.com/bootstrap/javascript.html#affix + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* AFFIX CLASS DEFINITION + * ====================== */ + + var Affix = function (element, options) { + this.options = $.extend({}, $.fn.affix.defaults, options) + this.$window = $(window) + .on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this)) + this.$element = $(element) + this.checkPosition() + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var scrollHeight = $(document).height() + , scrollTop = this.$window.scrollTop() + , position = this.$element.offset() + , offset = this.options.offset + , offsetBottom = offset.bottom + , offsetTop = offset.top + , reset = 'affix affix-top affix-bottom' + , affix + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top() + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + + affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? + false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? + 'bottom' : offsetTop != null && scrollTop <= offsetTop ? + 'top' : false + + if (this.affixed === affix) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? position.top - scrollTop : null + + this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) + } + + + /* AFFIX PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.affix + + $.fn.affix = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('affix') + , options = typeof option == 'object' && option + if (!data) $this.data('affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.affix.Constructor = Affix + + $.fn.affix.defaults = { + offset: 0 + } + + + /* AFFIX NO CONFLICT + * ================= */ + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + + /* AFFIX DATA-API + * ============== */ + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + , data = $spy.data() + + data.offset = data.offset || {} + + data.offsetBottom && (data.offset.bottom = data.offsetBottom) + data.offsetTop && (data.offset.top = data.offsetTop) + + $spy.affix(data) + }) + }) + + +}(window.jQuery); \ No newline at end of file diff --git a/www/protected/extensions/bootstrap/assets/js/bootstrap-alert.js b/www/protected/extensions/bootstrap/assets/js/bootstrap-alert.js new file mode 100644 index 0000000..8917f94 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/js/bootstrap-alert.js @@ -0,0 +1,99 @@ +/* ========================================================== + * bootstrap-alert.js v2.3.1 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT NO CONFLICT + * ================= */ + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + /* ALERT DATA-API + * ============== */ + + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery); \ No newline at end of file diff --git a/www/protected/extensions/bootstrap/assets/js/bootstrap-button.js b/www/protected/extensions/bootstrap/assets/js/bootstrap-button.js new file mode 100644 index 0000000..66df0a2 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/js/bootstrap-button.js @@ -0,0 +1,105 @@ +/* ============================================================ + * bootstrap-button.js v2.3.1 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON NO CONFLICT + * ================== */ + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + /* BUTTON DATA-API + * =============== */ + + $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + +}(window.jQuery); \ No newline at end of file diff --git a/www/protected/extensions/bootstrap/assets/js/bootstrap-carousel.js b/www/protected/extensions/bootstrap/assets/js/bootstrap-carousel.js new file mode 100644 index 0000000..b40edd7 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/js/bootstrap-carousel.js @@ -0,0 +1,207 @@ +/* ========================================================== + * bootstrap-carousel.js v2.3.1 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + if (this.interval) clearInterval(this.interval); + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , getActiveIndex: function () { + this.$active = this.$element.find('.item.active') + this.$items = this.$active.parent().children() + return this.$items.index(this.$active) + } + + , to: function (pos) { + var activeIndex = this.getActiveIndex() + , that = this + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activeIndex == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + e = $.Event('slide', { + relatedTarget: $next[0] + , direction: direction + }) + + if ($next.hasClass('active')) return + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + this.$element.one('slid', function () { + var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) + $nextIndicator && $nextIndicator.addClass('active') + }) + } + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.carousel + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL NO CONFLICT + * ==================== */ + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + /* CAROUSEL DATA-API + * ================= */ + + $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = $.extend({}, $target.data(), $this.data()) + , slideIndex + + $target.carousel(options) + + if (slideIndex = $this.attr('data-slide-to')) { + $target.data('carousel').pause().to(slideIndex).cycle() + } + + e.preventDefault() + }) + +}(window.jQuery); \ No newline at end of file diff --git a/www/protected/extensions/bootstrap/assets/js/bootstrap-collapse.js b/www/protected/extensions/bootstrap/assets/js/bootstrap-collapse.js new file mode 100644 index 0000000..2bede4a --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/js/bootstrap-collapse.js @@ -0,0 +1,167 @@ +/* ============================================================= + * bootstrap-collapse.js v2.3.1 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning || this.$element.hasClass('in')) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning || !this.$element.hasClass('in')) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSE PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option) + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSE NO CONFLICT + * ==================== */ + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + /* COLLAPSE DATA-API + * ================= */ + + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/www/protected/extensions/bootstrap/assets/js/bootstrap-dropdown.js b/www/protected/extensions/bootstrap/assets/js/bootstrap-dropdown.js new file mode 100644 index 0000000..a1d5151 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/js/bootstrap-dropdown.js @@ -0,0 +1,165 @@ +/* ============================================================ + * bootstrap-dropdown.js v2.3.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + } + + $this.focus() + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) { + if (e.which == 27) $parent.find(toggle).focus() + return $this.click() + } + + $items = $('[role=menu] li:not(.divider):visible a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + $(toggle).each(function () { + getParent($(this)).removeClass('open') + }) + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = selector && $(selector) + + if (!$parent || !$parent.length) $parent = $this.parent() + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.dropdown + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* DROPDOWN NO CONFLICT + * ==================== */ + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(document) + .on('click.dropdown.data-api', clearMenus) + .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown-menu', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + +}(window.jQuery); diff --git a/www/protected/extensions/bootstrap/assets/js/bootstrap-modal.js b/www/protected/extensions/bootstrap/assets/js/bootstrap-modal.js new file mode 100644 index 0000000..12abe06 --- /dev/null +++ b/www/protected/extensions/bootstrap/assets/js/bootstrap-modal.js @@ -0,0 +1,247 @@ +/* ========================================================= + * bootstrap-modal.js v2.3.1 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* MODAL CLASS DEFINITION + * ====================== */ + + var Modal = function (element, options) { + this.options = options + this.$element = $(element) + .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) + this.options.remote && this.$element.find('.modal-body').load(this.options.remote) + } + + Modal.prototype = { + + constructor: Modal + + , toggle: function () { + return this[!this.isShown ? 'show' : 'hide']() + } + + , show: function () { + var that = this + , e = $.Event('show') + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + this.isShown = true + + this.escape() + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(document.body) //don't move modals dom position + } + + that.$element.show() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element + .addClass('in') + .attr('aria-hidden', false) + + that.enforceFocus() + + transition ? + that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) : + that.$element.focus().trigger('shown') + + }) + } + + , hide: function (e) { + e && e.preventDefault() + + var that = this + + e = $.Event('hide') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + this.escape() + + $(document).off('focusin.modal') + + this.$element + .removeClass('in') + .attr('aria-hidden', true) + + $.support.transition && this.$element.hasClass('fade') ? + this.hideWithTransition() : + this.hideModal() + } + + , enforceFocus: function () { + var that = this + $(document).on('focusin.modal', function (e) { + if (that.$element[0] !== e.target && !that.$element.has(e.target).length) { + that.$element.focus() + } + }) + } + + , escape: function () { + var that = this + if (this.isShown && this.options.keyboard) { + this.$element.on('keyup.dismiss.modal', function ( e ) { + e.which == 27 && that.hide() + }) + } else if (!this.isShown) { + this.$element.off('keyup.dismiss.modal') + } + } + + , hideWithTransition: function () { + var that = this + , timeout = setTimeout(function () { + that.$element.off($.support.transition.end) + that.hideModal() + }, 500) + + this.$element.one($.support.transition.end, function () { + clearTimeout(timeout) + that.hideModal() + }) + } + + , hideModal: function () { + var that = this + this.$element.hide() + this.backdrop(function () { + that.removeBackdrop() + that.$element.trigger('hidden') + }) + } + + , removeBackdrop: function () { + this.$backdrop && this.$backdrop.remove() + this.$backdrop = null + } + + , backdrop: function (callback) { + var that = this + , animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $(''; + + $selector = "#{$id} .alert"; + + /** @var CClientScript $cs */ + $cs = Yii::app()->getClientScript(); + $cs->registerScript(__CLASS__.'#'.$id, "jQuery('{$selector}').alert();"); + + foreach ($this->events as $name => $handler) + { + $handler = CJavaScript::encode($handler); + $cs->registerScript(__CLASS__.'#'.$id.'_'.$name, "jQuery('{$selector}').on('{$name}', {$handler});"); + } + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbBadge.php b/www/protected/extensions/bootstrap/widgets/TbBadge.php new file mode 100644 index 0000000..6dd15f6 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbBadge.php @@ -0,0 +1,73 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +/** + * Bootstrap badge widget. + * @see http://twitter.github.com/bootstrap/components.html#badges + */ +class TbBadge extends CWidget +{ + // Badge types. + const TYPE_SUCCESS = 'success'; + const TYPE_WARNING = 'warning'; + const TYPE_IMPORTANT = 'important'; + const TYPE_INFO = 'info'; + const TYPE_INVERSE = 'inverse'; + + /** + * @var string the badge type. + * Valid types are 'success', 'warning', 'important', 'info' and 'inverse'. + */ + public $type; + /** + * @var string the badge text. + */ + public $label; + /** + * @var boolean whether to encode the label. + */ + public $encodeLabel = true; + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + $classes = array('badge'); + + $validTypes = array(self::TYPE_SUCCESS, self::TYPE_WARNING, self::TYPE_IMPORTANT, self::TYPE_INFO, self::TYPE_INVERSE); + + if (isset($this->type) && in_array($this->type, $validTypes)) + $classes[] = 'badge-'.$this->type; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + + if ($this->encodeLabel === true) + $this->label = CHtml::encode($this->label); + } + + /** + * Runs the widget. + */ + public function run() + { + echo CHtml::tag('span', $this->htmlOptions, $this->label); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbBaseMenu.php b/www/protected/extensions/bootstrap/widgets/TbBaseMenu.php new file mode 100644 index 0000000..a22afdc --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbBaseMenu.php @@ -0,0 +1,195 @@ + + * @copyright Copyright © Christoffer Niska 2012- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('zii.widgets.CMenu'); + +abstract class TbBaseMenu extends CMenu +{ + /** + * Returns the divider css class. + * @return string the class name + */ + abstract public function getDividerCssClass(); + + /** + * Returns the dropdown css class. + * @return string the class name + */ + abstract public function getDropdownCssClass(); + + /** + * Returns whether this is a vertical menu. + * @return boolean the result + */ + abstract public function isVertical(); + + /** + * Renders the menu items. + * @param array $items menu items. Each menu item will be an array with at least two elements: 'label' and 'active'. + * It may have three other optional elements: 'items', 'linkOptions' and 'itemOptions'. + */ + protected function renderMenu($items) + { + $n = count($items); + + if($n > 0) + { + echo CHtml::openTag('ul', $this->htmlOptions); + + $count = 0; + foreach ($items as $item) + { + $count++; + + if (isset($item['divider'])) + echo '
  • '; + else + { + $options = isset($item['itemOptions']) ? $item['itemOptions'] : array(); + $classes = array(); + + if ($item['active'] && $this->activeCssClass != '') + $classes[] = $this->activeCssClass; + + if ($count === 1 && $this->firstItemCssClass !== null) + $classes[] = $this->firstItemCssClass; + + if ($count === $n && $this->lastItemCssClass !== null) + $classes[] = $this->lastItemCssClass; + + if ($this->itemCssClass !== null) + $classes[] = $this->itemCssClass; + + if (isset($item['items'])) + $classes[] = $this->getDropdownCssClass(); + + if (isset($item['disabled'])) + $classes[] = 'disabled'; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (!empty($options['class'])) + $options['class'] .= ' '.$classes; + else + $options['class'] = $classes; + } + + echo CHtml::openTag('li', $options); + + $menu = $this->renderMenuItem($item); + + if (isset($this->itemTemplate) || isset($item['template'])) + { + $template = isset($item['template']) ? $item['template'] : $this->itemTemplate; + echo strtr($template, array('{menu}' => $menu)); + } + else + echo $menu; + + if (isset($item['items']) && !empty($item['items'])) + { + $this->controller->widget('bootstrap.widgets.TbDropdown', array( + 'encodeLabel'=>$this->encodeLabel, + 'htmlOptions'=>isset($item['submenuOptions']) ? $item['submenuOptions'] : $this->submenuHtmlOptions, + 'items'=>$item['items'], + )); + } + + echo ''; + } + } + + echo ''; + } + } + + /** + * Renders the content of a menu item. + * Note that the container and the sub-menus are not rendered here. + * @param array $item the menu item to be rendered. Please see {@link items} on what data might be in the item. + * @return string the rendered item + */ + protected function renderMenuItem($item) + { + if (isset($item['icon'])) + { + if (strpos($item['icon'], 'icon') === false) + { + $pieces = explode(' ', $item['icon']); + $item['icon'] = 'icon-'.implode(' icon-', $pieces); + } + + $item['label'] = ' '.$item['label']; + } + + if (!isset($item['linkOptions'])) + $item['linkOptions'] = array(); + + if (isset($item['items']) && !empty($item['items'])) + { + $item['url'] = '#'; + + if (isset($item['linkOptions']['class'])) + $item['linkOptions']['class'] .= ' dropdown-toggle'; + else + $item['linkOptions']['class'] = 'dropdown-toggle'; + + $item['linkOptions']['data-toggle'] = 'dropdown'; + $item['label'] .= ' '; + } + + if (isset($item['url'])) + return CHtml::link($item['label'], $item['url'], $item['linkOptions']); + else + return $item['label']; + } + + /** + * Normalizes the {@link items} property so that the 'active' state is properly identified for every menu item. + * @param array $items the items to be normalized. + * @param string $route the route of the current request. + * @param boolean $active whether there is an active child menu item. + * @return array the normalized menu items + */ + protected function normalizeItems($items, $route, &$active) + { + foreach ($items as $i => $item) + { + if (!is_array($item)) + $item = array('divider'=>true); + else + { + if (!isset($item['itemOptions'])) + $item['itemOptions'] = array(); + + $classes = array(); + + if (!isset($item['url']) && !isset($item['items']) && $this->isVertical()) + { + $item['header'] = true; + $classes[] = 'nav-header'; + } + + if (!empty($classes)) + { + $classes = implode($classes, ' '); + if (isset($item['itemOptions']['class'])) + $item['itemOptions']['class'] .= ' '.$classes; + else + $item['itemOptions']['class'] = $classes; + } + } + + $items[$i] = $item; + } + + return parent::normalizeItems($items, $route, $active); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbBreadcrumbs.php b/www/protected/extensions/bootstrap/widgets/TbBreadcrumbs.php new file mode 100644 index 0000000..f7739c2 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbBreadcrumbs.php @@ -0,0 +1,84 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('zii.widgets.CBreadcrumbs'); + +/** + * Bootstrap breadcrumb widget. + * @see http://twitter.github.com/bootstrap/components.html#breadcrumbs + */ +class TbBreadcrumbs extends CBreadcrumbs +{ + /** + * @var string the separator between links in the breadcrumbs. Defaults to '/'. + */ + public $separator = '/'; + + /** + * Initializes the widget. + */ + public function init() + { + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' breadcrumb'; + else + $this->htmlOptions['class'] = 'breadcrumb'; + } + + /** + * Renders the content of the widget. + * @throws CException + */ + public function run() + { + // Hide empty breadcrumbs. + if (empty($this->links)) + return; + + $links = array(); + + if (!isset($this->homeLink)) + { + $content = CHtml::link(Yii::t('zii', 'Home'), Yii::app()->homeUrl); + $links[] = $this->renderItem($content); + } + else if ($this->homeLink !== false) + $links[] = $this->renderItem($this->homeLink); + + foreach ($this->links as $label => $url) + { + if (is_string($label) || is_array($url)) + { + $content = CHtml::link($this->encodeLabel ? CHtml::encode($label) : $label, $url); + $links[] = $this->renderItem($content); + } + else + $links[] = $this->renderItem($this->encodeLabel ? CHtml::encode($url) : $url, true); + } + + echo CHtml::tag('ul', $this->htmlOptions, implode('', $links)); + } + + /** + * Renders a single breadcrumb item. + * @param string $content the content. + * @param boolean $active whether the item is active. + * @return string the markup. + */ + protected function renderItem($content, $active = false) + { + $separator = !$active ? ''.$this->separator.'' : ''; + + ob_start(); + echo CHtml::openTag('li', $active ? array('class'=>'active') : array()); + echo $content.$separator; + echo ''; + return ob_get_clean(); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbButton.php b/www/protected/extensions/bootstrap/widgets/TbButton.php new file mode 100644 index 0000000..0638aaa --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbButton.php @@ -0,0 +1,272 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.10 + */ + +/** + * Bootstrap button widget. + * @see http://twitter.github.com/bootstrap/base-css.html#buttons + */ +class TbButton extends CWidget +{ + // Button callback types. + const BUTTON_LINK = 'link'; + const BUTTON_BUTTON = 'button'; + const BUTTON_SUBMIT = 'submit'; + const BUTTON_SUBMITLINK = 'submitLink'; + const BUTTON_RESET = 'reset'; + const BUTTON_AJAXLINK = 'ajaxLink'; + const BUTTON_AJAXBUTTON = 'ajaxButton'; + const BUTTON_AJAXSUBMIT = 'ajaxSubmit'; + const BUTTON_INPUTBUTTON = 'inputButton'; + const BUTTON_INPUTSUBMIT = 'inputSubmit'; + + // Button types. + const TYPE_PRIMARY = 'primary'; + const TYPE_INFO = 'info'; + const TYPE_SUCCESS = 'success'; + const TYPE_WARNING = 'warning'; + const TYPE_DANGER = 'danger'; + const TYPE_INVERSE = 'inverse'; + const TYPE_LINK = 'link'; + + // Button sizes. + const SIZE_MINI = 'mini'; + const SIZE_SMALL = 'small'; + const SIZE_LARGE = 'large'; + + /** + * @var string the button callback types. + * Valid values are 'link', 'button', 'submit', 'submitLink', 'reset', 'ajaxLink', 'ajaxButton' and 'ajaxSubmit'. + */ + public $buttonType = self::BUTTON_LINK; + /** + * @var string the button type. + * Valid values are 'primary', 'info', 'success', 'warning', 'danger' and 'inverse'. + */ + public $type; + /** + * @var string the button size. + * Valid values are 'large', 'small' and 'mini'. + */ + public $size; + /** + * @var string the button icon, e.g. 'ok' or 'remove white'. + */ + public $icon; + /** + * @var string the button label. + */ + public $label; + /** + * @var string the button URL. + */ + public $url; + /** + * @var boolean indicates whether the button should span the full width of the a parent. + */ + public $block = false; + /** + * @var boolean indicates whether the button is active. + */ + public $active = false; + /** + * @var boolean indicates whether the button is disabled. + */ + public $disabled = false; + /** + * @var boolean indicates whether to encode the label. + */ + public $encodeLabel = true; + /** + * @var boolean indicates whether to enable toggle. + */ + public $toggle; + /** + * @var string the loading text. + */ + public $loadingText; + /** + * @var string the complete text. + */ + public $completeText; + /** + * @var array the dropdown button items. + */ + public $items; + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + /** + * @var array the button ajax options (used by 'ajaxLink' and 'ajaxButton'). + */ + public $ajaxOptions = array(); + /** + * @var array the HTML attributes for the dropdown menu. + * @since 0.9.11 + */ + public $dropdownOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + $classes = array('btn'); + + $validTypes = array(self::TYPE_LINK, self::TYPE_PRIMARY, self::TYPE_INFO, self::TYPE_SUCCESS, + self::TYPE_WARNING, self::TYPE_DANGER, self::TYPE_INVERSE); + + if (isset($this->type) && in_array($this->type, $validTypes)) + $classes[] = 'btn-'.$this->type; + + $validSizes = array(self::SIZE_LARGE, self::SIZE_SMALL, self::SIZE_MINI); + + if (isset($this->size) && in_array($this->size, $validSizes)) + $classes[] = 'btn-'.$this->size; + + if ($this->block) + $classes[] = 'btn-block'; + + if ($this->active) + $classes[] = 'active'; + + if ($this->disabled) + { + $disableTypes = array(self::BUTTON_BUTTON, self::BUTTON_SUBMIT, self::BUTTON_RESET, + self::BUTTON_AJAXBUTTON, self::BUTTON_AJAXSUBMIT, self::BUTTON_INPUTBUTTON, self::BUTTON_INPUTSUBMIT); + + if (in_array($this->buttonType, $disableTypes)) + $this->htmlOptions['disabled'] = 'disabled'; + + $classes[] = 'disabled'; + } + + if (!isset($this->url) && isset($this->htmlOptions['href'])) + { + $this->url = $this->htmlOptions['href']; + unset($this->htmlOptions['href']); + } + + if ($this->encodeLabel) + $this->label = CHtml::encode($this->label); + + if ($this->hasDropdown()) + { + if (!isset($this->url)) + $this->url = '#'; + + $classes[] = 'dropdown-toggle'; + $this->label .= ' '; + $this->htmlOptions['data-toggle'] = 'dropdown'; + } + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + + if (isset($this->icon)) + { + if (strpos($this->icon, 'icon') === false) + $this->icon = 'icon-'.implode(' icon-', explode(' ', $this->icon)); + + $this->label = ' '.$this->label; + } + + if (isset($this->toggle)) + $this->htmlOptions['data-toggle'] = 'button'; + + if (isset($this->loadingText)) + $this->htmlOptions['data-loading-text'] = $this->loadingText; + + if (isset($this->completeText)) + $this->htmlOptions['data-complete-text'] = $this->completeText; + } + + /** + * Runs the widget. + */ + public function run() + { + echo $this->createButton(); + + if ($this->hasDropdown()) + { + $this->controller->widget('bootstrap.widgets.TbDropdown', array( + 'encodeLabel'=>$this->encodeLabel, + 'items'=>$this->items, + 'htmlOptions'=>$this->dropdownOptions, + )); + } + } + + /** + * Creates the button element. + * @return string the created button. + */ + protected function createButton() + { + switch ($this->buttonType) + { + case self::BUTTON_BUTTON: + return CHtml::htmlButton($this->label, $this->htmlOptions); + + case self::BUTTON_SUBMIT: + $this->htmlOptions['type'] = 'submit'; + return CHtml::htmlButton($this->label, $this->htmlOptions); + + case self::BUTTON_RESET: + $this->htmlOptions['type'] = 'reset'; + return CHtml::htmlButton($this->label, $this->htmlOptions); + + case self::BUTTON_SUBMITLINK: + return CHtml::linkButton($this->label, $this->htmlOptions); + + case self::BUTTON_AJAXLINK: + return CHtml::ajaxLink($this->label, $this->url, $this->ajaxOptions, $this->htmlOptions); + + case self::BUTTON_AJAXBUTTON: + $this->ajaxOptions['url'] = $this->url; + $this->htmlOptions['ajax'] = $this->ajaxOptions; + return CHtml::htmlButton($this->label, $this->htmlOptions); + + case self::BUTTON_AJAXSUBMIT: + $this->ajaxOptions['type'] = isset($this->ajaxOptions['type']) ? $this->ajaxOptions['type'] : 'POST'; + $this->ajaxOptions['url'] = $this->url; + $this->htmlOptions['type'] = 'submit'; + $this->htmlOptions['ajax'] = $this->ajaxOptions; + return CHtml::htmlButton($this->label, $this->htmlOptions); + + case self::BUTTON_INPUTBUTTON: + return CHtml::button($this->label, $this->htmlOptions); + + case self::BUTTON_INPUTSUBMIT: + $this->htmlOptions['type'] = 'submit'; + return CHtml::button($this->label, $this->htmlOptions); + + default: + case self::BUTTON_LINK: + return CHtml::link($this->label, $this->url, $this->htmlOptions); + } + } + + /** + * Returns whether the button has a dropdown. + * @return bool the result. + */ + protected function hasDropdown() + { + return isset($this->items) && !empty($this->items); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbButtonColumn.php b/www/protected/extensions/bootstrap/widgets/TbButtonColumn.php new file mode 100644 index 0000000..bf66ed9 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbButtonColumn.php @@ -0,0 +1,81 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.8 + */ + +Yii::import('zii.widgets.grid.CButtonColumn'); + +/** + * Bootstrap button column widget. + * Used to set buttons to use Glyphicons instead of the defaults images. + */ +class TbButtonColumn extends CButtonColumn +{ + /** + * @var string the view button icon (defaults to 'eye-open'). + */ + public $viewButtonIcon = 'eye-open'; + /** + * @var string the update button icon (defaults to 'pencil'). + */ + public $updateButtonIcon = 'pencil'; + /** + * @var string the delete button icon (defaults to 'trash'). + */ + public $deleteButtonIcon = 'trash'; + + /** + * Initializes the default buttons (view, update and delete). + */ + protected function initDefaultButtons() + { + parent::initDefaultButtons(); + + if ($this->viewButtonIcon !== false && !isset($this->buttons['view']['icon'])) + $this->buttons['view']['icon'] = $this->viewButtonIcon; + if ($this->updateButtonIcon !== false && !isset($this->buttons['update']['icon'])) + $this->buttons['update']['icon'] = $this->updateButtonIcon; + if ($this->deleteButtonIcon !== false && !isset($this->buttons['delete']['icon'])) + $this->buttons['delete']['icon'] = $this->deleteButtonIcon; + } + + /** + * Renders a link button. + * @param string $id the ID of the button + * @param array $button the button configuration which may contain 'label', 'url', 'imageUrl' and 'options' elements. + * @param integer $row the row number (zero-based) + * @param mixed $data the data object associated with the row + */ + protected function renderButton($id, $button, $row, $data) + { + if (isset($button['visible']) && !$this->evaluateExpression($button['visible'], array('row'=>$row, 'data'=>$data))) + return; + + $label = isset($button['label']) ? $button['label'] : $id; + $url = isset($button['url']) ? $this->evaluateExpression($button['url'], array('data'=>$data, 'row'=>$row)) : '#'; + $options = isset($button['options']) ? $button['options'] : array(); + + if (!isset($options['title'])) + $options['title'] = $label; + + if (!isset($options['rel'])) + $options['rel'] = 'tooltip'; + + if (isset($button['icon'])) + { + if (strpos($button['icon'], 'icon') === false) + $button['icon'] = 'icon-'.implode(' icon-', explode(' ', $button['icon'])); + + echo CHtml::link('', $url, $options); + } + else if (isset($button['imageUrl']) && is_string($button['imageUrl'])) + echo CHtml::link(CHtml::image($button['imageUrl'], $label), $url, $options); + else + echo CHtml::link($label, $url, $options); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbButtonGroup.php b/www/protected/extensions/bootstrap/widgets/TbButtonGroup.php new file mode 100644 index 0000000..e922ff7 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbButtonGroup.php @@ -0,0 +1,120 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.10 + */ + +Yii::import('bootstrap.widgets.TbButton'); + +/** + * Bootstrap button group widget. + * @see http://twitter.github.com/bootstrap/components.html#buttonGroups + */ +class TbButtonGroup extends CWidget +{ + // Toggle options. + const TOGGLE_CHECKBOX = 'checkbox'; + const TOGGLE_RADIO = 'radio'; + + /** + * @var string the button callback type. + * @see BootButton::buttonType + */ + public $buttonType = TbButton::BUTTON_LINK; + /** + * @var string the button type. + * @see BootButton::type + */ + public $type; + /** + * @var string the button size. + * @see BootButton::size + */ + public $size; + /** + * @var boolean indicates whether to encode the button labels. + */ + public $encodeLabel = true; + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + /** + * @var array the button configuration. + */ + public $buttons = array(); + /** + * @var boolean indicates whether to enable button toggling. + */ + public $toggle; + /** + * @var boolean indicates whether the button group appears vertically stacked. Defaults to 'false'. + */ + public $stacked = false; + /** + * @var boolean indicates whether dropdowns should be dropups instead. Defaults to 'false'. + */ + public $dropup = false; + + /** + * Initializes the widget. + */ + public function init() + { + $classes = array('btn-group'); + + if ($this->stacked === true) + $classes[] = 'btn-group-vertical'; + + if ($this->dropup === true) + $classes[] = 'dropup'; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + + $validToggles = array(self::TOGGLE_CHECKBOX, self::TOGGLE_RADIO); + + if (isset($this->toggle) && in_array($this->toggle, $validToggles)) + $this->htmlOptions['data-toggle'] = 'buttons-'.$this->toggle; + } + + /** + * Runs the widget. + */ + public function run() + { + echo CHtml::openTag('div', $this->htmlOptions); + + foreach ($this->buttons as $button) + { + if (isset($button['visible']) && $button['visible'] === false) + continue; + + $this->controller->widget('bootstrap.widgets.TbButton', array( + 'buttonType'=>isset($button['buttonType']) ? $button['buttonType'] : $this->buttonType, + 'type'=>isset($button['type']) ? $button['type'] : $this->type, + 'size'=>$this->size, // all buttons in a group cannot vary in size + 'icon'=>isset($button['icon']) ? $button['icon'] : null, + 'label'=>isset($button['label']) ? $button['label'] : null, + 'url'=>isset($button['url']) ? $button['url'] : null, + 'active'=>isset($button['active']) ? $button['active'] : false, + 'items'=>isset($button['items']) ? $button['items'] : array(), + 'ajaxOptions'=>isset($button['ajaxOptions']) ? $button['ajaxOptions'] : array(), + 'htmlOptions'=>isset($button['htmlOptions']) ? $button['htmlOptions'] : array(), + 'encodeLabel'=>isset($button['encodeLabel']) ? $button['encodeLabel'] : $this->encodeLabel, + )); + } + + echo ''; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbCarousel.php b/www/protected/extensions/bootstrap/widgets/TbCarousel.php new file mode 100644 index 0000000..3d2bcc4 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbCarousel.php @@ -0,0 +1,173 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.10 + */ + +/** + * Bootstrap carousel widget. + * @see http://twitter.github.com/bootstrap/javascript.html#carousel + */ +class TbCarousel extends CWidget +{ + /** + * @var string the previous button label. Defaults to '‹'. + */ + public $prevLabel = '‹'; + /** + * @var string the next button label. Defaults to '›'. + */ + public $nextLabel = '›'; + /** + * @var boolean indicates whether the carousel should slide items. + */ + public $slide = true; + /** + * @var boolean indicates whether to display the previous and next links. + */ + public $displayPrevAndNext = true; + /** + * @var array the carousel items configuration. + */ + public $items = array(); + /** + * @var array the options for the Bootstrap Javascript plugin. + */ + public $options = array(); + /** + * @var string[] the Javascript event handlers. + */ + public $events = array(); + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + if (!isset($this->htmlOptions['id'])) + $this->htmlOptions['id'] = $this->getId(); + + $classes = array('carousel'); + + if ($this->slide === true) + $classes[] = 'slide'; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + } + + /** + * Runs the widget. + */ + public function run() + { + $id = $this->htmlOptions['id']; + + echo CHtml::openTag('div', $this->htmlOptions); + echo ''; + + if ($this->displayPrevAndNext) + { + echo ''.$this->prevLabel.''; + echo ''.$this->nextLabel.''; + } + + echo ''; + + /** @var CClientScript $cs */ + $cs = Yii::app()->getClientScript(); + $options = !empty($this->options) ? CJavaScript::encode($this->options) : ''; + $cs->registerScript(__CLASS__.'#'.$id, "jQuery('#{$id}').carousel({$options});"); + + foreach ($this->events as $name => $handler) + { + $handler = CJavaScript::encode($handler); + $cs->registerScript(__CLASS__.'#'.$id.'_'.$name, "jQuery('#{$id}').on('{$name}', {$handler});"); + } + } + + /** + * Renders the carousel items. + * @param array $items the item configuration. + */ + protected function renderItems($items) + { + foreach ($items as $i => $item) + { + if (!is_array($item)) + continue; + + if (isset($item['visible']) && $item['visible'] === false) + continue; + + if (!isset($item['itemOptions'])) + $item['itemOptions'] = array(); + + $classes = array('item'); + + if ($i === 0) + $classes[] = 'active'; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($item['itemOptions']['class'])) + $item['itemOptions']['class'] .= ' '.$classes; + else + $item['itemOptions']['class'] = $classes; + } + + echo CHtml::openTag('div', $item['itemOptions']); + + if (isset($item['image'])) + { + if (!isset($item['alt'])) + $item['alt'] = ''; + + if (!isset($item['imageOptions'])) + $item['imageOptions'] = array(); + + echo CHtml::image($item['image'], $item['alt'], $item['imageOptions']); + } + + if (!empty($item['caption']) && (isset($item['label']) || isset($item['caption']))) + { + if (!isset($item['captionOptions'])) + $item['captionOptions'] = array(); + + if (isset($item['captionOptions']['class'])) + $item['captionOptions']['class'] .= ' carousel-caption'; + else + $item['captionOptions']['class'] = 'carousel-caption'; + + echo CHtml::openTag('div', $item['captionOptions']); + + if (isset($item['label'])) + echo '

    '.$item['label'].'

    '; + + if (isset($item['caption'])) + echo '

    '.$item['caption'].'

    '; + + echo ''; + } + + echo ''; + } + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbCollapse.php b/www/protected/extensions/bootstrap/widgets/TbCollapse.php new file mode 100644 index 0000000..6aa154a --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbCollapse.php @@ -0,0 +1,94 @@ + + * @copyright Copyright © Christoffer Niska 2012- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 1.0.0 + */ + +/** + * Bootstrap collapse widget. + * @see http://twitter.github.com/bootstrap/javascript.html#collapse + */ +class TbCollapse extends CWidget +{ + const CONTAINER_PREFIX = 'yii_bootstrap_collapse_'; + + /** + * @var string the name of the collapse element. Defaults to 'div'. + */ + public $tagName = 'div'; + /** + * @var boolean the CSS selector for element to collapse. Defaults to 'false'. + */ + public $parent = false; + /** + * @var boolean indicates whether to toggle the collapsible element on invocation. + */ + public $toggle = true; + /** + * @var array the options for the Bootstrap Javascript plugin. + */ + public $options = array(); + /** + * @var string[] the Javascript event handlers. + */ + public $events = array(); + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + private static $_containerId = 0; + + /** + * Initializes the widget. + */ + public function init() + { + if (!isset($this->htmlOptions['id'])) + $this->htmlOptions['id'] = $this->getId(); + + if (isset($this->parent) && !isset($this->options['parent'])) + $this->options['parent'] = $this->parent; + + if (isset($this->toggle) && !isset($this->options['toggle'])) + $this->options['toggle'] = $this->toggle; + + echo CHtml::openTag($this->tagName, $this->htmlOptions); + } + + /** + * Runs the widget. + */ + public function run() + { + $id = $this->htmlOptions['id']; + + echo CHtml::closeTag($this->tagName); + + /** @var CClientScript $cs */ + $cs = Yii::app()->getClientScript(); + $options = !empty($this->options) ? CJavaScript::encode($this->options) : ''; + $cs->registerScript(__CLASS__.'#'.$id, "jQuery('#{$id}').collapse({$options});"); + + foreach ($this->events as $name => $handler) + { + $handler = CJavaScript::encode($handler); + $cs->registerScript(__CLASS__.'#'.$id.'_'.$name, "jQuery('#{$id}').on('{$name}', {$handler});"); + } + } + + /** + * Returns the next collapse container ID. + * @return string the id + * @static + */ + public static function getNextContainerId() + { + return self::CONTAINER_PREFIX.self::$_containerId++; + } +} + diff --git a/www/protected/extensions/bootstrap/widgets/TbDataColumn.php b/www/protected/extensions/bootstrap/widgets/TbDataColumn.php new file mode 100644 index 0000000..af732b2 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbDataColumn.php @@ -0,0 +1,56 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('zii.widgets.grid.CDataColumn'); + +/** + * Bootstrap grid data column. + */ +class TbDataColumn extends CDataColumn +{ + /** + * Renders the header cell content. + * This method will render a link that can trigger the sorting if the column is sortable. + */ + protected function renderHeaderCellContent() + { + if ($this->grid->enableSorting && $this->sortable && $this->name !== null) + { + $sort = $this->grid->dataProvider->getSort(); + $label = isset($this->header) ? $this->header : $sort->resolveLabel($this->name); + + if ($sort->resolveAttribute($this->name) !== false) + $label .= ''; + + echo $sort->link($this->name, $label, array('class'=>'sort-link')); + } + else + { + if ($this->name !== null && $this->header === null) + { + if ($this->grid->dataProvider instanceof CActiveDataProvider) + echo CHtml::encode($this->grid->dataProvider->model->getAttributeLabel($this->name)); + else + echo CHtml::encode($this->name); + } + else + parent::renderHeaderCellContent(); + } + } + + /** + * Renders the filter cell. + */ + public function renderFilterCell() + { + echo '
    '; + $this->renderFilterCellContent(); + echo '
    '; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbDetailView.php b/www/protected/extensions/bootstrap/widgets/TbDetailView.php new file mode 100644 index 0000000..d0bbd0d --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbDetailView.php @@ -0,0 +1,68 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('zii.widgets.CDetailView'); + +/** + * Bootstrap Zii detail view. + */ +class TbDetailView extends CDetailView +{ + // Table types. + const TYPE_STRIPED = 'striped'; + const TYPE_BORDERED = 'bordered'; + const TYPE_CONDENSED = 'condensed'; + + /** + * @var string|array the table type. + * Valid values are 'striped', 'bordered' and/or 'condensed'. + */ + public $type = array(self::TYPE_STRIPED, self::TYPE_CONDENSED); + /** + * @var string the URL of the CSS file used by this detail view. + * Defaults to false, meaning that no CSS will be included. + */ + public $cssFile = false; + + /** + * Initializes the widget. + */ + public function init() + { + parent::init(); + + $classes = array('table'); + + if (isset($this->type)) + { + if (is_string($this->type)) + $this->type = explode(' ', $this->type); + + $validTypes = array(self::TYPE_STRIPED, self::TYPE_BORDERED, self::TYPE_CONDENSED); + + if (!empty($this->type)) + { + foreach ($this->type as $type) + { + if (in_array($type, $validTypes)) + $classes[] = 'table-'.$type; + } + } + } + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbDropdown.php b/www/protected/extensions/bootstrap/widgets/TbDropdown.php new file mode 100644 index 0000000..ce3ea8e --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbDropdown.php @@ -0,0 +1,90 @@ + + * @copyright Copyright © Christoffer Niska 2012- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('bootstrap.widgets.TbBaseMenu'); + +/** + * Bootstrap dropdown menu. + * @see http://twitter.github.com/bootstrap/javascript.html#dropdowns + */ +class TbDropdown extends TbBaseMenu +{ + /** + * Initializes the widget. + */ + public function init() + { + parent::init(); + + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' dropdown-menu'; + else + $this->htmlOptions['class'] = 'dropdown-menu'; + } + + /** + * Renders the content of a menu item. + * Note that the container and the sub-menus are not rendered here. + * @param array $item the menu item to be rendered. Please see {@link items} on what data might be in the item. + * @return string the rendered item + */ + protected function renderMenuItem($item) + { + if (isset($item['icon'])) + { + if (strpos($item['icon'], 'icon') === false) + { + $pieces = explode(' ', $item['icon']); + $item['icon'] = 'icon-'.implode(' icon-', $pieces); + } + + $item['label'] = ' '.$item['label']; + } + + if (!isset($item['linkOptions'])) + $item['linkOptions'] = array(); + + if (isset($item['items']) && !empty($item['items'])) + $item['url'] = '#'; + + $item['linkOptions']['tabindex'] = -1; + + if (isset($item['url'])) + return CHtml::link($item['label'], $item['url'], $item['linkOptions']); + else + return $item['label']; + } + + /** + * Returns the divider CSS class. + * @return string the class name + */ + public function getDividerCssClass() + { + return 'divider'; + } + + /** + * Returns the dropdown css class. + * @return string the class name + */ + public function getDropdownCssClass() + { + return 'dropdown-submenu'; + } + + /** + * Returns whether this is a vertical menu. + * @return boolean the result + */ + public function isVertical() + { + return true; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbGridView.php b/www/protected/extensions/bootstrap/widgets/TbGridView.php new file mode 100644 index 0000000..77701c1 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbGridView.php @@ -0,0 +1,116 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('zii.widgets.grid.CGridView'); +Yii::import('bootstrap.widgets.TbDataColumn'); + +/** + * Bootstrap Zii grid view. + */ +class TbGridView extends CGridView +{ + // Table types. + const TYPE_STRIPED = 'striped'; + const TYPE_BORDERED = 'bordered'; + const TYPE_CONDENSED = 'condensed'; + const TYPE_HOVER = 'hover'; + + /** + * @var string|array the table type. + * Valid values are 'striped', 'bordered' and/or 'condensed'. + */ + public $type; + /** + * @var string the CSS class name for the pager container. Defaults to 'pagination'. + */ + public $pagerCssClass = 'pagination'; + /** + * @var array the configuration for the pager. + * Defaults to array('class'=>'ext.bootstrap.widgets.TbPager'). + */ + public $pager = array('class'=>'bootstrap.widgets.TbPager'); + /** + * @var string the URL of the CSS file used by this grid view. + * Defaults to false, meaning that no CSS will be included. + */ + public $cssFile = false; + + /** + * Initializes the widget. + */ + public function init() + { + parent::init(); + + $classes = array('table'); + + if (isset($this->type)) + { + if (is_string($this->type)) + $this->type = explode(' ', $this->type); + + if (!empty($this->type)) + { + $validTypes = array(self::TYPE_STRIPED, self::TYPE_BORDERED, self::TYPE_CONDENSED, self::TYPE_HOVER); + + foreach ($this->type as $type) + { + if (in_array($type, $validTypes)) + $classes[] = 'table-'.$type; + } + } + } + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->itemsCssClass)) + $this->itemsCssClass .= ' '.$classes; + else + $this->itemsCssClass = $classes; + } + } + + /** + * Creates column objects and initializes them. + */ + protected function initColumns() + { + foreach ($this->columns as $i => $column) + { + if (is_array($column) && !isset($column['class'])) + $this->columns[$i]['class'] = 'bootstrap.widgets.TbDataColumn'; + } + + parent::initColumns(); + } + + /** + * Creates a column based on a shortcut column specification string. + * @param mixed $text the column specification string + * @return \TbDataColumn|\CDataColumn the column instance + * @throws CException if the column format is incorrect + */ + protected function createDataColumn($text) + { + if (!preg_match('/^([\w\.]+)(:(\w*))?(:(.*))?$/', $text, $matches)) + throw new CException(Yii::t('zii', 'The column must be specified in the format of "Name:Type:Label", where "Type" and "Label" are optional.')); + + $column = new TbDataColumn($this); + $column->name = $matches[1]; + + if (isset($matches[3]) && $matches[3] !== '') + $column->type = $matches[3]; + + if (isset($matches[5])) + $column->header = $matches[5]; + + return $column; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbHeroUnit.php b/www/protected/extensions/bootstrap/widgets/TbHeroUnit.php new file mode 100644 index 0000000..0ca2d2e --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbHeroUnit.php @@ -0,0 +1,62 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.10 + */ + +/** + * Modest bootstrap hero unit widget. + * Thanks to Christphe Boulain for suggesting content capturing. + * @see http://twitter.github.com/bootstrap/components.html#typography + */ +class TbHeroUnit extends CWidget +{ + /** + * @var string the heading text. + */ + public $heading; + /** + * @var boolean indicates whether to encode the heading. + */ + public $encodeHeading = true; + /** + * @var array the HTML attributes for the heading element. + * @since 1.0.0 + */ + public $headingOptions = array(); + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' hero-unit'; + else + $this->htmlOptions['class'] = 'hero-unit'; + + if ($this->encodeHeading) + $this->heading = CHtml::encode($this->heading); + + echo CHtml::openTag('div', $this->htmlOptions); + + if (isset($this->heading)) + echo CHtml::tag('h1', $this->headingOptions, $this->heading); + } + + /** + * Runs the widget. + */ + public function run() + { + echo ''; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbLabel.php b/www/protected/extensions/bootstrap/widgets/TbLabel.php new file mode 100644 index 0000000..55b15c6 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbLabel.php @@ -0,0 +1,73 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +/** + * Bootstrap label widget. + * @see http://twitter.github.com/bootstrap/components.html#labels + */ +class TbLabel extends CWidget +{ + // Label types. + const TYPE_SUCCESS = 'success'; + const TYPE_WARNING = 'warning'; + const TYPE_IMPORTANT = 'important'; + const TYPE_INFO = 'info'; + const TYPE_INVERSE = 'inverse'; + + /** + * @var string the label type. + * Valid types are 'success', 'warning', 'important', 'info' and 'inverse'. + */ + public $type; + /** + * @var string the label text. + */ + public $label; + /** + * @var boolean whether to encode the label. + */ + public $encodeLabel = true; + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + $classes = array('label'); + + $validTypes = array(self::TYPE_SUCCESS, self::TYPE_WARNING, self::TYPE_IMPORTANT, self::TYPE_INFO, self::TYPE_INVERSE); + + if (isset($this->type) && in_array($this->type, $validTypes)) + $classes[] = 'label-'.$this->type; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + + if ($this->encodeLabel === true) + $this->label = CHtml::encode($this->label); + } + + /** + * Runs the widget. + */ + public function run() + { + echo CHtml::tag('span', $this->htmlOptions, $this->label); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbListView.php b/www/protected/extensions/bootstrap/widgets/TbListView.php new file mode 100644 index 0000000..4c5d8cb --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbListView.php @@ -0,0 +1,31 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('zii.widgets.CListView'); + +/** + * Bootstrap Zii list view. + */ +class TbListView extends CListView +{ + /** + * @var string the CSS class name for the pager container. Defaults to 'pagination'. + */ + public $pagerCssClass = 'pagination'; + /** + * @var array the configuration for the pager. + * Defaults to array('class'=>'ext.bootstrap.widgets.TbPager'). + */ + public $pager = array('class'=>'bootstrap.widgets.TbPager'); + /** + * @var string the URL of the CSS file used by this detail view. + * Defaults to false, meaning that no CSS will be included. + */ + public $cssFile = false; +} diff --git a/www/protected/extensions/bootstrap/widgets/TbMenu.php b/www/protected/extensions/bootstrap/widgets/TbMenu.php new file mode 100644 index 0000000..0d471f2 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbMenu.php @@ -0,0 +1,103 @@ + + * @copyright Copyright © Christoffer Niska 2012- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('bootstrap.widgets.TbBaseMenu'); + +/** + * Bootstrap menu. + * @see http://twitter.github.com/bootstrap/components.html#navs + */ +class TbMenu extends TbBaseMenu +{ + // Menu types. + const TYPE_TABS = 'tabs'; + const TYPE_PILLS = 'pills'; + const TYPE_LIST = 'list'; + + /** + * @var string the menu type. + * Valid values are 'tabs' and 'pills'. + */ + public $type; + /** + * @var string|array the scrollspy target or configuration. + */ + public $scrollspy; + /** + * @var boolean indicates whether the menu should appear vertically stacked. + */ + public $stacked = false; + /** + * @var boolean indicates whether dropdowns should be dropups instead. + */ + public $dropup = false; + + /** + * Initializes the widget. + */ + public function init() + { + parent::init(); + + $classes = array('nav'); + + $validTypes = array(self::TYPE_TABS, self::TYPE_PILLS, self::TYPE_LIST); + + if (isset($this->type) && in_array($this->type, $validTypes)) + $classes[] = 'nav-'.$this->type; + + if ($this->stacked && $this->type !== self::TYPE_LIST) + $classes[] = 'nav-stacked'; + + if ($this->dropup === true) + $classes[] = 'dropup'; + + if (isset($this->scrollspy)) + { + $scrollspy = is_string($this->scrollspy) ? array('target'=>$this->scrollspy) : $this->scrollspy; + $this->widget('bootstrap.widgets.TbScrollSpy', $scrollspy); + } + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + } + + /** + * Returns the divider css class. + * @return string the class name + */ + public function getDividerCssClass() + { + return (isset($this->type) && $this->type === self::TYPE_LIST) ? 'divider' : 'divider-vertical'; + } + + /** + * Returns the dropdown css class. + * @return string the class name + */ + public function getDropdownCssClass() + { + return 'dropdown'; + } + + /** + * Returns whether this is a vertical menu. + * @return boolean the result + */ + public function isVertical() + { + return isset($this->type) && $this->type === self::TYPE_LIST; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbModal.php b/www/protected/extensions/bootstrap/widgets/TbModal.php new file mode 100644 index 0000000..d42941c --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbModal.php @@ -0,0 +1,87 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.3 + */ + +/** + * Bootstrap modal widget. + * @see http://twitter.github.com/bootstrap/javascript.html#modals + */ +class TbModal extends CWidget +{ + /** + * @var boolean indicates whether to automatically open the modal. Defaults to 'false'. + */ + public $autoOpen = false; + /** + * @var boolean indicates whether the modal should use transitions. Defaults to 'true'. + */ + public $fade = true; + /** + * @var array the options for the Bootstrap Javascript plugin. + */ + public $options = array(); + /** + * @var string[] the Javascript event handlers. + */ + public $events = array(); + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + if (!isset($this->htmlOptions['id'])) + $this->htmlOptions['id'] = $this->getId(); + + if ($this->autoOpen === false && !isset($this->options['show'])) + $this->options['show'] = false; + + $classes = array('modal hide'); + + if ($this->fade === true) + $classes[] = 'fade'; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + + echo CHtml::openTag('div', $this->htmlOptions); + } + + /** + * Runs the widget. + */ + public function run() + { + $id = $this->htmlOptions['id']; + + echo ''; + + /** @var CClientScript $cs */ + $cs = Yii::app()->getClientScript(); + + $options = !empty($this->options) ? CJavaScript::encode($this->options) : ''; + $cs->registerScript(__CLASS__.'#'.$id, "jQuery('#{$id}').modal({$options});"); + + foreach ($this->events as $name => $handler) + { + $handler = CJavaScript::encode($handler); + $cs->registerScript(__CLASS__.'#'.$id.'_'.$name, "jQuery('#{$id}').on('{$name}', {$handler});"); + } + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbNavbar.php b/www/protected/extensions/bootstrap/widgets/TbNavbar.php new file mode 100644 index 0000000..2e72d2e --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbNavbar.php @@ -0,0 +1,174 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.7 + */ + +Yii::import('bootstrap.widgets.TbCollapse'); + +/** + * Bootstrap navigation bar widget. + */ +class TbNavbar extends CWidget +{ + // Navbar types. + const TYPE_INVERSE = 'inverse'; + + // Navbar fix locations. + const FIXED_TOP = 'top'; + const FIXED_BOTTOM = 'bottom'; + + /** + * @var string the navbar type. Valid values are 'inverse'. + * @since 1.0.0 + */ + public $type; + /** + * @var string the text for the brand. + */ + public $brand; + /** + * @var string the URL for the brand link. + */ + public $brandUrl; + /** + * @var array the HTML attributes for the brand link. + */ + public $brandOptions = array(); + /** + * @var mixed fix location of the navbar if applicable. + * Valid values are 'top' and 'bottom'. Defaults to 'top'. + * Setting the value to false will make the navbar static. + * @since 0.9.8 + */ + public $fixed = self::FIXED_TOP; + /** + * @var boolean whether the nav span over the full width. Defaults to false. + * @since 0.9.8 + */ + public $fluid = false; + /** + * @var boolean whether to enable collapsing on narrow screens. Default to false. + */ + public $collapse = false; + /** + * @var array navigation items. + * @since 0.9.8 + */ + public $items = array(); + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + if ($this->brand !== false) + { + if (!isset($this->brand)) + $this->brand = CHtml::encode(Yii::app()->name); + + if (!isset($this->brandUrl)) + $this->brandUrl = Yii::app()->homeUrl; + + $this->brandOptions['href'] = CHtml::normalizeUrl($this->brandUrl); + + if (isset($this->brandOptions['class'])) + $this->brandOptions['class'] .= ' brand'; + else + $this->brandOptions['class'] = 'brand'; + } + + $classes = array('navbar'); + + if (isset($this->type) && in_array($this->type, array(self::TYPE_INVERSE))) + $classes[] = 'navbar-'.$this->type; + + if ($this->fixed !== false && in_array($this->fixed, array(self::FIXED_TOP, self::FIXED_BOTTOM))) + $classes[] = 'navbar-fixed-'.$this->fixed; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + } + + /** + * Runs the widget. + */ + public function run() + { + echo CHtml::openTag('div', $this->htmlOptions); + echo ''; + } + + /** + * Returns the navbar container CSS class. + * @return string the class + */ + protected function getContainerCssClass() + { + return $this->fluid ? 'container-fluid' : 'container'; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbPager.php b/www/protected/extensions/bootstrap/widgets/TbPager.php new file mode 100644 index 0000000..358aa4c --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbPager.php @@ -0,0 +1,128 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +/** + * Bootstrap pager. + * @see http://twitter.github.com/bootstrap/components.html#pagination + */ +class TbPager extends CLinkPager +{ + // Pager alignments. + const ALIGNMENT_CENTER = 'centered'; + const ALIGNMENT_RIGHT = 'right'; + + /** + * @var string the pager alignment. Valid values are 'centered' and 'right'. + */ + public $alignment; + /** + * @var string the text shown before page buttons. + * Defaults to an empty string, meaning that no header will be displayed. + */ + public $header = ''; + /** + * @var string the URL of the CSS file used by this pager. + * Defaults to false, meaning that no CSS will be included. + */ + public $cssFile = false; + /** + * @var boolean whether to display the first and last items. + */ + public $displayFirstAndLast = false; + + /** + * Initializes the pager by setting some default property values. + */ + public function init() + { + if ($this->nextPageLabel === null) + $this->nextPageLabel = '→'; + + if ($this->prevPageLabel === null) + $this->prevPageLabel = '←'; + + $classes = array(); + + $validAlignments = array(self::ALIGNMENT_CENTER, self::ALIGNMENT_RIGHT); + + if (in_array($this->alignment, $validAlignments)) + $classes[] = 'pagination-'.$this->alignment; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] = ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + + parent::init(); + } + + /** + * Creates the page buttons. + * @return array a list of page buttons (in HTML code). + */ + protected function createPageButtons() + { + if (($pageCount = $this->getPageCount()) <= 1) + return array(); + + list ($beginPage, $endPage) = $this->getPageRange(); + + $currentPage = $this->getCurrentPage(false); // currentPage is calculated in getPageRange() + + $buttons = array(); + + // first page + if ($this->displayFirstAndLast) + $buttons[] = $this->createPageButton($this->firstPageLabel, 0, 'first', $currentPage <= 0, false); + + // prev page + if (($page = $currentPage - 1) < 0) + $page = 0; + + $buttons[] = $this->createPageButton($this->prevPageLabel, $page, 'previous', $currentPage <= 0, false); + + // internal pages + for ($i = $beginPage; $i <= $endPage; ++$i) + $buttons[] = $this->createPageButton($i + 1, $i, '', false, $i == $currentPage); + + // next page + if (($page = $currentPage+1) >= $pageCount-1) + $page = $pageCount-1; + + $buttons[] = $this->createPageButton($this->nextPageLabel, $page, 'next', $currentPage >= ($pageCount - 1), false); + + // last page + if ($this->displayFirstAndLast) + $buttons[] = $this->createPageButton($this->lastPageLabel, $pageCount - 1, 'last', $currentPage >= ($pageCount - 1), false); + + return $buttons; + } + + /** + * Creates a page button. + * You may override this method to customize the page buttons. + * @param string $label the text label for the button + * @param integer $page the page number + * @param string $class the CSS class for the page button. This could be 'page', 'first', 'last', 'next' or 'previous'. + * @param boolean $hidden whether this page button is visible + * @param boolean $selected whether this page button is selected + * @return string the generated button + */ + protected function createPageButton($label, $page, $class, $hidden, $selected) + { + if ($hidden || $selected) + $class .= ' '.($hidden ? 'disabled' : 'active'); + + return CHtml::tag('li', array('class'=>$class), CHtml::link($label, $this->createPageUrl($page))); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbProgress.php b/www/protected/extensions/bootstrap/widgets/TbProgress.php new file mode 100644 index 0000000..46f7daf --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbProgress.php @@ -0,0 +1,86 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.10 + */ + +/** + * Bootstrap progress bar widget. + * @see http://twitter.github.com/bootstrap/components.html#progress + */ +class TbProgress extends CWidget +{ + // Progress bar types. + const TYPE_INFO = 'info'; + const TYPE_SUCCESS = 'success'; + const TYPE_WARNING = 'warning'; + const TYPE_DANGER = 'danger'; + + /** + * @var string the bar type. Valid values are 'info', 'success', and 'danger'. + */ + public $type; + /** + * @var boolean indicates whether the bar is striped. + */ + public $striped = false; + /** + * @var boolean indicates whether the bar is animated. + */ + public $animated = false; + /** + * @var integer the amount of progress in percent. + */ + public $percent = 0; + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + $classes = array('progress'); + + $validTypes = array(self::TYPE_INFO, self::TYPE_SUCCESS, self::TYPE_WARNING, self::TYPE_DANGER); + + if (isset($this->type) && in_array($this->type, $validTypes)) + $classes[] = 'progress-'.$this->type; + + if ($this->striped) + $classes[] = 'progress-striped'; + + if ($this->animated) + $classes[] = 'active'; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + + if ($this->percent < 0) + $this->percent = 0; + else if ($this->percent > 100) + $this->percent = 100; + } + + /** + * Runs the widget. + */ + public function run() + { + echo CHtml::openTag('div', $this->htmlOptions); + echo '
    '; + echo ''; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbScrollSpy.php b/www/protected/extensions/bootstrap/widgets/TbScrollSpy.php new file mode 100644 index 0000000..254c2f8 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbScrollSpy.php @@ -0,0 +1,58 @@ + + * @copyright Copyright © Christoffer Niska 2012- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 1.0.0 + */ + +/** + * Bootstrap scrollspy widget. + * @see http://twitter.github.com/bootstrap/javascript.html#scrollspy + */ +class TbScrollSpy extends CWidget +{ + /** + * @var string the CSS selector for the scrollspy element. Defaults to 'body'. + */ + public $selector = 'body'; + /** + * @var string the CSS selector for the spying element. + */ + public $target; + /** + * @var integer the scroll offset (in pixels). + */ + public $offset; + /** + * @var array string[] the Javascript event handlers. + */ + public $events = array(); + + /** + * Runs the widget. + */ + public function run() + { + $script = "jQuery('{$this->selector}').attr('data-spy', 'scroll');"; + + if (isset($this->target)) + $script .= "jQuery('{$this->selector}').attr('data-target', '{$this->target}');"; + + if (isset($this->offset)) + $script .= "jQuery('{$this->selector}').attr('data-offset', '{$this->offset}');"; + + /** @var CClientScript $cs */ + $cs = Yii::app()->getClientScript(); + $cs->registerScript(__CLASS__.'#'.$this->selector, $script, CClientScript::POS_BEGIN); + + foreach ($this->events as $name => $handler) + { + $handler = CJavaScript::encode($handler); + $cs->registerScript(__CLASS__.'#'.$this->selector.'_'.$name, "jQuery('{$this->selector}').on('{$name}', {$handler});"); + } + } +} + diff --git a/www/protected/extensions/bootstrap/widgets/TbTabs.php b/www/protected/extensions/bootstrap/widgets/TbTabs.php new file mode 100644 index 0000000..125a66d --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbTabs.php @@ -0,0 +1,183 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('bootstrap.widgets.TbMenu'); + +/** + * Bootstrap JavaScript tabs widget. + * @see http://twitter.github.com/bootstrap/javascript.html#tabs + */ +class TbTabs extends CWidget +{ + // Tab placements. + const PLACEMENT_ABOVE = 'above'; + const PLACEMENT_BELOW = 'below'; + const PLACEMENT_LEFT = 'left'; + const PLACEMENT_RIGHT = 'right'; + + /** + * @var string the type of tabs to display. Defaults to 'tabs'. Valid values are 'tabs' and 'pills'. + * Please not that Javascript pills are not fully supported in Bootstrap yet! + * @see TbMenu::$type + */ + public $type = TbMenu::TYPE_TABS; + /** + * @var string the placement of the tabs. + * Valid values are 'above', 'below', 'left' and 'right'. + */ + public $placement; + /** + * @var array the tab configuration. + */ + public $tabs = array(); + /** + * @var boolean whether to encode item labels. + */ + public $encodeLabel = true; + /** + * @var string[] the Javascript event handlers. + */ + public $events = array(); + /** + * @var array the HTML attributes for the widget container. + */ + public $htmlOptions = array(); + + /** + * Initializes the widget. + */ + public function init() + { + if (!isset($this->htmlOptions['id'])) + $this->htmlOptions['id'] = $this->getId(); + + $classes = array(); + + $validPlacements = array(self::PLACEMENT_ABOVE, self::PLACEMENT_BELOW, self::PLACEMENT_LEFT, self::PLACEMENT_RIGHT); + + if (isset($this->placement) && in_array($this->placement, $validPlacements)) + $classes[] = 'tabs-'.$this->placement; + + if (!empty($classes)) + { + $classes = implode(' ', $classes); + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' '.$classes; + else + $this->htmlOptions['class'] = $classes; + } + } + + /** + * Run this widget. + */ + public function run() + { + $id = $this->id; + $content = array(); + $items = $this->normalizeTabs($this->tabs, $content); + + ob_start(); + $this->controller->widget('bootstrap.widgets.TbMenu', array( + 'type'=>$this->type, + 'encodeLabel'=>$this->encodeLabel, + 'items'=>$items, + )); + $tabs = ob_get_clean(); + + ob_start(); + echo '
    '; + echo implode('', $content); + echo '
    '; + $content = ob_get_clean(); + + echo CHtml::openTag('div', $this->htmlOptions); + echo $this->placement === self::PLACEMENT_BELOW ? $content.$tabs : $tabs.$content; + echo ''; + + /** @var CClientScript $cs */ + $cs = Yii::app()->getClientScript(); + $cs->registerScript(__CLASS__.'#'.$id, "jQuery('#{$id}').tab('show');"); + + foreach ($this->events as $name => $handler) + { + $handler = CJavaScript::encode($handler); + $cs->registerScript(__CLASS__.'#'.$id.'_'.$name, "jQuery('#{$id}').on('{$name}', {$handler});"); + } + } + + /** + * Normalizes the tab configuration. + * @param array $tabs the tab configuration + * @param array $panes a reference to the panes array + * @param integer $i the current index + * @return array the items + */ + protected function normalizeTabs($tabs, &$panes, &$i = 0) + { + $id = $this->getId(); + $items = array(); + + foreach ($tabs as $tab) + { + $item = $tab; + + if (isset($item['visible']) && $item['visible'] === false) + continue; + + if (!isset($item['itemOptions'])) + $item['itemOptions'] = array(); + + $item['linkOptions']['data-toggle'] = 'tab'; + + if (isset($tab['items'])) + $item['items'] = $this->normalizeTabs($item['items'], $panes, $i); + else + { + if (!isset($item['id'])) + $item['id'] = $id.'_tab_'.($i + 1); + + $item['url'] = '#'.$item['id']; + + if (!isset($item['content'])) + $item['content'] = ''; + + $content = $item['content']; + unset($item['content']); + + if (!isset($item['paneOptions'])) + $item['paneOptions'] = array(); + + $paneOptions = $item['paneOptions']; + unset($item['paneOptions']); + + $paneOptions['id'] = $item['id']; + + $classes = array('tab-pane fade'); + + if (isset($item['active']) && $item['active']) + $classes[] = 'active in'; + + $classes = implode(' ', $classes); + if (isset($paneOptions['class'])) + $paneOptions['class'] .= ' '.$classes; + else + $paneOptions['class'] = $classes; + + $panes[] = CHtml::tag('div', $paneOptions, $content); + + $i++; // increment the tab-index + } + + $items[] = $item; + } + + return $items; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbThumbnails.php b/www/protected/extensions/bootstrap/widgets/TbThumbnails.php new file mode 100644 index 0000000..86e1375 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbThumbnails.php @@ -0,0 +1,50 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + */ + +Yii::import('bootstrap.widgets.TbListView'); + +/** + * Bootstrap thumbnails widget. + * @see http://twitter.github.com/bootstrap/components.html#thumbnails + */ +class TbThumbnails extends TbListView +{ + /** + * Renders the data items for the view. + * Each item is corresponding to a single data model instance. + * Child classes should override this method to provide the actual item rendering logic. + */ + public function renderItems() + { + echo CHtml::openTag($this->itemsTagName,array('class'=>$this->itemsCssClass))."\n"; + + $data = $this->dataProvider->getData(); + + if (!empty($data)) + { + echo CHtml::openTag('ul', array('class'=>'thumbnails')); + $owner = $this->getOwner(); + $render = $owner instanceof CController ? 'renderPartial' : 'render'; + foreach($data as $i=>$item) + { + $data = $this->viewData; + $data['index'] = $i; + $data['data'] = $item; + $data['widget'] = $this; + $owner->$render($this->itemView,$data); + } + + echo ''; + } + else + $this->renderEmptyText(); + + echo CHtml::closeTag($this->itemsTagName); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/TbTypeahead.php b/www/protected/extensions/bootstrap/widgets/TbTypeahead.php new file mode 100644 index 0000000..bf927dc --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/TbTypeahead.php @@ -0,0 +1,54 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets + * @since 0.9.10 + */ + +/** + * Bootstrap typeahead widget. + * @see http://twitter.github.com/bootstrap/javascript.html#typeahead + */ +class TbTypeahead extends CInputWidget +{ + /** + * @var array the options for the Bootstrap Javascript plugin. + */ + public $options = array(); + + /** + * Initializes the widget. + */ + public function init() + { + $this->htmlOptions['type'] = 'text'; + $this->htmlOptions['data-provide'] = 'typeahead'; + } + + /** + * Runs the widget. + */ + public function run() + { + list($name, $id) = $this->resolveNameID(); + + if (isset($this->htmlOptions['id'])) + $id = $this->htmlOptions['id']; + else + $this->htmlOptions['id'] = $id; + + if (isset($this->htmlOptions['name'])) + $name = $this->htmlOptions['name']; + + if ($this->hasModel()) + echo CHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions); + else + echo CHtml::textField($name, $this->value, $this->htmlOptions); + + $options = !empty($this->options) ? CJavaScript::encode($this->options) : ''; + Yii::app()->clientScript->registerScript(__CLASS__.'#'.$id, "jQuery('#{$id}').typeahead({$options});"); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/input/TbInput.php b/www/protected/extensions/bootstrap/widgets/input/TbInput.php new file mode 100644 index 0000000..26333e4 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/input/TbInput.php @@ -0,0 +1,478 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets.input + */ + +/** + * Bootstrap input widget. + * Used for rendering inputs according to Bootstrap standards. + */ +abstract class TbInput extends CInputWidget +{ + // The different input types. + const TYPE_CHECKBOX = 'checkbox'; + const TYPE_CHECKBOXLIST = 'checkboxlist'; + const TYPE_CHECKBOXLIST_INLINE = 'checkboxlist_inline'; + const TYPE_DROPDOWN = 'dropdownlist'; + const TYPE_FILE = 'filefield'; + const TYPE_PASSWORD = 'password'; + const TYPE_RADIO = 'radiobutton'; + const TYPE_RADIOLIST = 'radiobuttonlist'; + const TYPE_RADIOLIST_INLINE = 'radiobuttonlist_inline'; + const TYPE_TEXTAREA = 'textarea'; + const TYPE_TEXT = 'text'; + const TYPE_CAPTCHA = 'captcha'; + const TYPE_UNEDITABLE = 'uneditable'; + + /** + * @var TbActiveForm the associated form widget. + */ + public $form; + /** + * @var string the input label text. + */ + public $label; + /** + * @var string the input type. + * Following types are supported: checkbox, checkboxlist, dropdownlist, filefield, password, + * radiobutton, radiobuttonlist, textarea, textfield, captcha and uneditable. + */ + public $type; + /** + * @var array the data for list inputs. + */ + public $data = array(); + /** + * @var string text to prepend. + */ + public $prependText; + /** + * @var string text to append. + */ + public $appendText; + /** + * @var string the hint text. + */ + public $hintText; + /** + * @var array label html attributes. + */ + public $labelOptions = array(); + /** + * @var array prepend html attributes. + */ + public $prependOptions = array(); + /** + * @var array append html attributes. + */ + public $appendOptions = array(); + /** + * @var array hint html attributes. + */ + public $hintOptions = array(); + /** + * @var array error html attributes. + */ + public $errorOptions = array(); + /** + * @var array captcha html attributes. + */ + public $captchaOptions = array(); + + /** + * Initializes the widget. + * @throws CException if the widget could not be initialized. + */ + public function init() + { + if (!isset($this->form)) + throw new CException(__CLASS__.': Failed to initialize widget! Form is not set.'); + + if (!isset($this->model)) + throw new CException(__CLASS__.': Failed to initialize widget! Model is not set.'); + + if (!isset($this->type)) + throw new CException(__CLASS__.': Failed to initialize widget! Input type is not set.'); + + // todo: move this logic elsewhere, it doesn't belong here ... + if ($this->type === self::TYPE_UNEDITABLE) + { + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' uneditable-input'; + else + $this->htmlOptions['class'] = 'uneditable-input'; + } + + $this->processHtmlOptions(); + } + + /** + * Processes the html options. + */ + protected function processHtmlOptions() + { + if (isset($this->htmlOptions['label'])) + { + $this->label = $this->htmlOptions['label']; + unset($this->htmlOptions['label']); + } + + if (isset($this->htmlOptions['prepend'])) + { + $this->prependText = $this->htmlOptions['prepend']; + unset($this->htmlOptions['prepend']); + } + + if (isset($this->htmlOptions['append'])) + { + $this->appendText = $this->htmlOptions['append']; + unset($this->htmlOptions['append']); + } + + if (isset($this->htmlOptions['hint'])) + { + $this->hintText = $this->htmlOptions['hint']; + unset($this->htmlOptions['hint']); + } + + if (isset($this->htmlOptions['labelOptions'])) + { + $this->labelOptions = $this->htmlOptions['labelOptions']; + unset($this->htmlOptions['labelOptions']); + } + + if (isset($this->htmlOptions['prependOptions'])) + { + $this->prependOptions = $this->htmlOptions['prependOptions']; + unset($this->htmlOptions['prependOptions']); + } + + if (isset($this->htmlOptions['appendOptions'])) + { + $this->appendOptions = $this->htmlOptions['appendOptions']; + unset($this->htmlOptions['appendOptions']); + } + + if (isset($this->htmlOptions['hintOptions'])) + { + $this->hintOptions = $this->htmlOptions['hintOptions']; + unset($this->htmlOptions['hintOptions']); + + } + + if (isset($this->htmlOptions['errorOptions'])) + { + $this->errorOptions = $this->htmlOptions['errorOptions']; + unset($this->htmlOptions['errorOptions']); + } + + if (isset($this->htmlOptions['captchaOptions'])) + { + $this->captchaOptions = $this->htmlOptions['captchaOptions']; + unset($this->htmlOptions['captchaOptions']); + } + } + + /** + * Runs the widget. + * @throws CException if the widget type is invalid. + */ + public function run() + { + switch ($this->type) + { + case self::TYPE_CHECKBOX: + $this->checkBox(); + break; + + case self::TYPE_CHECKBOXLIST: + $this->checkBoxList(); + break; + + case self::TYPE_CHECKBOXLIST_INLINE: + $this->checkBoxListInline(); + break; + + case self::TYPE_DROPDOWN: + $this->dropDownList(); + break; + + case self::TYPE_FILE: + $this->fileField(); + break; + + case self::TYPE_PASSWORD: + $this->passwordField(); + break; + + case self::TYPE_RADIO: + $this->radioButton(); + break; + + case self::TYPE_RADIOLIST: + $this->radioButtonList(); + break; + + case self::TYPE_RADIOLIST_INLINE: + $this->radioButtonListInline(); + break; + + case self::TYPE_TEXTAREA: + $this->textArea(); + break; + + case 'textfield': // backwards compatibility + case self::TYPE_TEXT: + $this->textField(); + break; + + case self::TYPE_CAPTCHA: + $this->captcha(); + break; + + case self::TYPE_UNEDITABLE: + $this->uneditableField(); + break; + + default: + throw new CException(__CLASS__.': Failed to run widget! Type is invalid.'); + } + } + + /** + * Returns the label for the input. + * @return string the label + */ + protected function getLabel() + { + if ($this->label !== false && !in_array($this->type, array('checkbox', 'radio')) && $this->hasModel()) + return $this->form->labelEx($this->model, $this->attribute, $this->labelOptions); + else if ($this->label !== null) + return $this->label; + else + return ''; + } + + /** + * Returns the prepend element for the input. + * @return string the element + */ + protected function getPrepend() + { + if ($this->hasAddOn()) + { + $htmlOptions = $this->prependOptions; + + if (isset($htmlOptions['class'])) + $htmlOptions['class'] .= ' add-on'; + else + $htmlOptions['class'] = 'add-on'; + + ob_start(); + echo '
    '; + if (isset($this->prependText)) + echo CHtml::tag('span', $htmlOptions, $this->prependText); + + return ob_get_clean(); + } + else + return ''; + } + + /** + * Returns the append element for the input. + * @return string the element + */ + protected function getAppend() + { + if ($this->hasAddOn()) + { + $htmlOptions = $this->appendOptions; + + if (isset($htmlOptions['class'])) + $htmlOptions['class'] .= ' add-on'; + else + $htmlOptions['class'] = 'add-on'; + + ob_start(); + if (isset($this->appendText)) + echo CHtml::tag('span', $htmlOptions, $this->appendText); + + echo '
    '; + return ob_get_clean(); + } + else + return ''; + } + + /** + * Returns the id that should be used for the specified attribute + * @param string $attribute the attribute + * @return string the id + */ + protected function getAttributeId($attribute) + { + return isset($this->htmlOptions['id']) + ? $this->htmlOptions['id'] + : CHtml::getIdByName(CHtml::resolveName($this->model, $attribute)); + } + + /** + * Returns the error text for the input. + * @return string the error text + */ + protected function getError() + { + return $this->form->error($this->model, $this->attribute, $this->errorOptions); + } + + /** + * Returns the hint text for the input. + * @return string the hint text + */ + protected function getHint() + { + if (isset($this->hintText)) + { + $htmlOptions = $this->hintOptions; + + if (isset($htmlOptions['class'])) + $htmlOptions['class'] .= ' help-block'; + else + $htmlOptions['class'] = 'help-block'; + + return CHtml::tag('p', $htmlOptions, $this->hintText); + } + else + return ''; + } + + /** + * Returns the container CSS class for the input. + * @return string the CSS class + */ + protected function getContainerCssClass() + { + $attribute = $this->attribute; + return $this->model->hasErrors(CHtml::resolveName($this->model, $attribute)) ? CHtml::$errorCss : ''; + } + + /** + * Returns the input container CSS classes. + * @return string the CSS class + */ + protected function getAddonCssClass() + { + $classes = array(); + if (isset($this->prependText)) + $classes[] = 'input-prepend'; + if (isset($this->appendText)) + $classes[] = 'input-append'; + + return implode(' ', $classes); + } + + /** + * Returns whether the input has an add-on (prepend and/or append). + * @return boolean the result + */ + protected function hasAddOn() + { + return isset($this->prependText) || isset($this->appendText); + } + + /** + * Renders a checkbox. + * @return string the rendered content + * @abstract + */ + abstract protected function checkBox(); + + /** + * Renders a list of checkboxes. + * @return string the rendered content + * @abstract + */ + abstract protected function checkBoxList(); + + /** + * Renders a list of inline checkboxes. + * @return string the rendered content + * @abstract + */ + abstract protected function checkBoxListInline(); + + /** + * Renders a drop down list (select). + * @return string the rendered content + * @abstract + */ + abstract protected function dropDownList(); + + /** + * Renders a file field. + * @return string the rendered content + * @abstract + */ + abstract protected function fileField(); + + /** + * Renders a password field. + * @return string the rendered content + * @abstract + */ + abstract protected function passwordField(); + + /** + * Renders a radio button. + * @return string the rendered content + * @abstract + */ + abstract protected function radioButton(); + + /** + * Renders a list of radio buttons. + * @return string the rendered content + * @abstract + */ + abstract protected function radioButtonList(); + + /** + * Renders a list of inline radio buttons. + * @return string the rendered content + * @abstract + */ + abstract protected function radioButtonListInline(); + + /** + * Renders a textarea. + * @return string the rendered content + * @abstract + */ + abstract protected function textArea(); + + /** + * Renders a text field. + * @return string the rendered content + * @abstract + */ + abstract protected function textField(); + + /** + * Renders a CAPTCHA. + * @return string the rendered content + * @abstract + */ + abstract protected function captcha(); + + /** + * Renders an uneditable field. + * @return string the rendered content + * @abstract + */ + abstract protected function uneditableField(); +} diff --git a/www/protected/extensions/bootstrap/widgets/input/TbInputHorizontal.php b/www/protected/extensions/bootstrap/widgets/input/TbInputHorizontal.php new file mode 100644 index 0000000..b30ad45 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/input/TbInputHorizontal.php @@ -0,0 +1,213 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets.input + */ + +Yii::import('bootstrap.widgets.input.BootInput'); + +/** + * Bootstrap horizontal form input widget. + * @since 0.9.8 + */ +class TbInputHorizontal extends TbInput +{ + /** + * Runs the widget. + */ + public function run() + { + echo CHtml::openTag('div', array('class'=>'control-group '.$this->getContainerCssClass())); + parent::run(); + echo ''; + } + + /** + * Returns the label for this block. + * @return string the label + */ + protected function getLabel() + { + if (isset($this->labelOptions['class'])) + $this->labelOptions['class'] .= ' control-label'; + else + $this->labelOptions['class'] = 'control-label'; + + return parent::getLabel(); + } + + /** + * Renders a checkbox. + * @return string the rendered content + */ + protected function checkBox() + { + $attribute = $this->attribute; + echo '
    '; + echo '
    '; + } + + /** + * Renders a list of checkboxes. + * @return string the rendered content + */ + protected function checkBoxList() + { + echo $this->getLabel(); + echo '
    '; + echo $this->form->checkBoxList($this->model, $this->attribute, $this->data, $this->htmlOptions); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders a list of inline checkboxes. + * @return string the rendered content + */ + protected function checkBoxListInline() + { + $this->htmlOptions['inline'] = true; + $this->checkBoxList(); + } + + /** + * Renders a drop down list (select). + * @return string the rendered content + */ + protected function dropDownList() + { + echo $this->getLabel(); + echo '
    '; + echo $this->form->dropDownList($this->model, $this->attribute, $this->data, $this->htmlOptions); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders a file field. + * @return string the rendered content + */ + protected function fileField() + { + echo $this->getLabel(); + echo '
    '; + echo $this->form->fileField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders a password field. + * @return string the rendered content + */ + protected function passwordField() + { + echo $this->getLabel(); + echo '
    '; + echo $this->getPrepend(); + echo $this->form->passwordField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getAppend(); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders a radio button. + * @return string the rendered content + */ + protected function radioButton() + { + $attribute = $this->attribute; + echo '
    '; + echo '
    '; + } + + /** + * Renders a list of radio buttons. + * @return string the rendered content + */ + protected function radioButtonList() + { + echo $this->getLabel(); + echo '
    '; + echo $this->form->radioButtonList($this->model, $this->attribute, $this->data, $this->htmlOptions); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders a list of inline radio buttons. + * @return string the rendered content + */ + protected function radioButtonListInline() + { + $this->htmlOptions['inline'] = true; + $this->radioButtonList(); + } + + /** + * Renders a textarea. + * @return string the rendered content + */ + protected function textArea() + { + echo $this->getLabel(); + echo '
    '; + echo $this->form->textArea($this->model, $this->attribute, $this->htmlOptions); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders a text field. + * @return string the rendered content + */ + protected function textField() + { + echo $this->getLabel(); + echo '
    '; + echo $this->getPrepend(); + echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getAppend(); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders a CAPTCHA. + * @return string the rendered content + */ + protected function captcha() + { + echo $this->getLabel(); + echo '
    '; + echo '
    '.$this->widget('CCaptcha', $this->captchaOptions, true).'
    '; + echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders an uneditable field. + * @return string the rendered content + */ + protected function uneditableField() + { + echo $this->getLabel(); + echo '
    '; + echo CHtml::tag('span', $this->htmlOptions, $this->model->{$this->attribute}); + echo $this->getError().$this->getHint(); + echo '
    '; + } +} diff --git a/www/protected/extensions/bootstrap/widgets/input/TbInputInline.php b/www/protected/extensions/bootstrap/widgets/input/TbInputInline.php new file mode 100644 index 0000000..bacb3e8 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/input/TbInputInline.php @@ -0,0 +1,61 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets.input + */ + +Yii::import('bootstrap.widgets.input.TbInputVertical'); + +/** + * Bootstrap vertical form input widget. + * @since 0.9.8 + */ +class TbInputInline extends TbInputVertical +{ + /** + * Renders a drop down list (select). + * @return string the rendered content + */ + protected function dropDownList() + { + echo $this->getLabel(); + echo $this->form->dropDownList($this->model, $this->attribute, $this->data, $this->htmlOptions); + } + + /** + * Renders a password field. + * @return string the rendered content + */ + protected function passwordField() + { + $this->htmlOptions['placeholder'] = $this->model->getAttributeLabel($this->attribute); + echo $this->getPrepend(); + echo $this->form->passwordField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getAppend(); + } + + /** + * Renders a textarea. + * @return string the rendered content + */ + protected function textArea() + { + $this->htmlOptions['placeholder'] = $this->model->getAttributeLabel($this->attribute); + echo $this->form->textArea($this->model, $this->attribute, $this->htmlOptions); + } + + /** + * Renders a text field. + * @return string the rendered content + */ + protected function textField() + { + $this->htmlOptions['placeholder'] = $this->model->getAttributeLabel($this->attribute); + echo $this->getPrepend(); + echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getAppend(); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/input/TbInputSearch.php b/www/protected/extensions/bootstrap/widgets/input/TbInputSearch.php new file mode 100644 index 0000000..d152892 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/input/TbInputSearch.php @@ -0,0 +1,35 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets.input + */ + +Yii::import('bootstrap.widgets.input.TbInputInline'); + +/** + * Bootstrap vertical form input widget. + * @since 0.9.8 + */ +class TbInputSearch extends TbInputInline +{ + /** + * Renders a text field. + * @return string the rendered content + */ + protected function searchField() + { + if (isset($this->htmlOptions['class'])) + $this->htmlOptions['class'] .= ' search-query'; + else + $this->htmlOptions['class'] = 'search-query'; + + $this->htmlOptions['placeholder'] = $this->model->getAttributeLabel($this->attribute); + echo $this->getPrepend(); + echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getAppend(); + echo $this->getError().$this->getHint(); + } +} diff --git a/www/protected/extensions/bootstrap/widgets/input/TbInputVertical.php b/www/protected/extensions/bootstrap/widgets/input/TbInputVertical.php new file mode 100644 index 0000000..bf26963 --- /dev/null +++ b/www/protected/extensions/bootstrap/widgets/input/TbInputVertical.php @@ -0,0 +1,170 @@ + + * @copyright Copyright © Christoffer Niska 2011- + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @package bootstrap.widgets.input + */ + +Yii::import('bootstrap.widgets.input.BootInput'); + +/** + * Bootstrap vertical form input widget. + * @since 0.9.8 + */ +class TbInputVertical extends TbInput +{ + /** + * Renders a checkbox. + * @return string the rendered content + */ + protected function checkBox() + { + $attribute = $this->attribute; + echo ''; + } + + /** + * Renders a list of checkboxes. + * @return string the rendered content + */ + protected function checkBoxList() + { + echo $this->getLabel(); + echo $this->form->checkBoxList($this->model, $this->attribute, $this->data, $this->htmlOptions); + echo $this->getError().$this->getHint(); + } + + /** + * Renders a list of inline checkboxes. + * @return string the rendered content + */ + protected function checkBoxListInline() + { + $this->htmlOptions['inline'] = true; + $this->checkBoxList(); + } + + /** + * Renders a drop down list (select). + * @return string the rendered content + */ + protected function dropDownList() + { + echo $this->getLabel(); + echo $this->form->dropDownList($this->model, $this->attribute, $this->data, $this->htmlOptions); + echo $this->getError().$this->getHint(); + } + + /** + * Renders a file field. + * @return string the rendered content + */ + protected function fileField() + { + echo $this->getLabel(); + echo $this->form->fileField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getError().$this->getHint(); + } + + /** + * Renders a password field. + * @return string the rendered content + */ + protected function passwordField() + { + echo $this->getLabel(); + echo $this->getPrepend(); + echo $this->form->passwordField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getAppend(); + echo $this->getError().$this->getHint(); + } + + /** + * Renders a radio button. + * @return string the rendered content + */ + protected function radioButton() + { + $attribute = $this->attribute; + echo ''; + } + + /** + * Renders a list of radio buttons. + * @return string the rendered content + */ + protected function radioButtonList() + { + echo $this->getLabel(); + echo $this->form->radioButtonList($this->model, $this->attribute, $this->data, $this->htmlOptions); + echo $this->getError().$this->getHint(); + } + + /** + * Renders a list of inline radio buttons. + * @return string the rendered content + */ + protected function radioButtonListInline() + { + $this->htmlOptions['inline'] = true; + $this->radioButtonList(); + } + + /** + * Renders a textarea. + * @return string the rendered content + */ + protected function textArea() + { + echo $this->getLabel(); + echo $this->form->textArea($this->model, $this->attribute, $this->htmlOptions); + echo $this->getError().$this->getHint(); + } + + /** + * Renders a text field. + * @return string the rendered content + */ + protected function textField() + { + echo $this->getLabel(); + echo $this->getPrepend(); + echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getAppend(); + echo $this->getError().$this->getHint(); + } + + /** + * Renders a CAPTCHA. + * @return string the rendered content + */ + protected function captcha() + { + echo $this->getLabel().'
    '; + echo '
    '.$this->widget('CCaptcha', $this->captchaOptions, true).'
    '; + echo $this->form->textField($this->model, $this->attribute, $this->htmlOptions); + echo $this->getError().$this->getHint(); + echo '
    '; + } + + /** + * Renders an uneditable field. + * @return string the rendered content + */ + protected function uneditableField() + { + echo $this->getLabel(); + echo CHtml::tag('span', $this->htmlOptions, $this->model->{$this->attribute}); + echo $this->getError().$this->getHint(); + } +} diff --git a/www/protected/extensions/yii-mail/YiiMail.php b/www/protected/extensions/yii-mail/YiiMail.php new file mode 100644 index 0000000..0978b58 --- /dev/null +++ b/www/protected/extensions/yii-mail/YiiMail.php @@ -0,0 +1,253 @@ + +* @link https://code.google.com/p/yii-mail/ +* @package Yii-Mail +*/ + +/** +* YiiMail is an application component used for sending email. +* +* You may configure it as below. Check the public attributes and setter +* methods of this class for more options. +*
    +* return array(
    +* 	...
    +* 	'import => array(
    +* 		...
    +* 		'ext.mail.YiiMailMessage',
    +* 	),
    +* 	'components' => array(
    +* 		'mail' => array(
    +* 			'class' => 'ext.yii-mail.YiiMail',
    +* 			'transportType' => 'php',
    +* 			'viewPath' => 'application.views.mail',
    +* 			'logging' => true,
    +* 			'dryRun' => false
    +* 		),
    +* 		...
    +* 	)
    +* );
    +* 
    +* +* Example usage: +*
    +* $message = new YiiMailMessage;
    +* $message->setBody('Message content here with HTML', 'text/html');
    +* $message->subject = 'My Subject';
    +* $message->addTo('johnDoe@domain.com');
    +* $message->from = Yii::app()->params['adminEmail'];
    +* Yii::app()->mail->send($message);
    +* 
    +*/ +class YiiMail extends CApplicationComponent +{ + /** + * @var bool whether to log messages using Yii::log(). + * Defaults to true. + */ + public $logging = true; + + /** + * @var bool whether to disable actually sending mail. + * Defaults to false. + */ + public $dryRun = false; + + /** + * @var string the delivery type. Can be either 'php' or 'smtp'. When + * using 'php', PHP's {@link mail()} function will be used. + * Defaults to 'php'. + */ + public $transportType = 'php'; + + /** + * @var string the path to the location where mail views are stored. + * Defaults to 'application.views.mail'. + */ + public $viewPath = 'application.views.mail'; + + /** + * @var string options specific to the transport type being used. + * To set options for STMP, set this attribute to an array where the keys + * are the option names and the values are their values. + * Possible options for SMTP are: + *
      + *
    • host
    • + *
    • username
    • + *
    • password
    • + *
    • port
    • + *
    • encryption
    • + *
    • timeout
    • + *
    • extensionHandlers
    • + *
    + * See the SwiftMailer documentaion for the option meanings. + */ + public $transportOptions; + + /** + * @var mixed Holds the SwiftMailer transport + */ + protected $transport; + + /** + * @var mixed Holds the SwiftMailer mailer + */ + protected $mailer; + + + protected $logger; + + private static $registeredScripts = false; + + /** + * Calls the {@link registerScripts()} method. + */ + public function init() { + $this->registerScripts(); + parent::init(); + } + + /** + * Send a {@link YiiMailMessage} as it would be sent in a mail client. + * + * All recipients (with the exception of Bcc) will be able to see the other + * recipients this message was sent to. + * + * If you need to send to each recipient without disclosing details about the + * other recipients see {@link batchSend()}. + * + * Recipient/sender data will be retreived from the {@link YiiMailMessage} + * object. + * + * The return value is the number of recipients who were accepted for + * delivery. + * + * @param YiiMailMessage $message + * @param array &$failedRecipients, optional + * @return int + * @see batchSend() + */ + public function send(YiiMailMessage $message, &$failedRecipients = null) { + $counter = 0; + if ($this->logging===true) self::log($message); + if ($this->dryRun===true) $counter = count($message->to); + else $counter = $this->getMailer()->send($message->message, $failedRecipients); + if ($this->logging===true) Yii::log(CVarDumper::dumpAsString($this->logger->dump()), CLogger::LEVEL_INFO, 'ext.yii-mail.YiiMail'); + return $counter; + } + + /** + * Send the given {@link YiiMailMessage} to all recipients individually. + * + * This differs from {@link send()} in the way headers are presented to the + * recipient. The only recipient in the "To:" field will be the individual + * recipient it was sent to. + * + * If an iterator is provided, recipients will be read from the iterator + * one-by-one, otherwise recipient data will be retreived from the + * {@link YiiMailMessage} object. + * + * Sender information is always read from the {@link YiiMailMessage} object. + * + * The return value is the number of recipients who were accepted for + * delivery. + * + * @param YiiMailMessage $message + * @param array &$failedRecipients, optional + * @param Swift_Mailer_RecipientIterator $it, optional + * @return int + * @see send() + */ + public function batchSend(YiiMailMessage $message, &$failedRecipients = null, Swift_Mailer_RecipientIterator $it = null) { + if ($this->logging===true) self::log($message); + if ($this->dryRun===true) return count($message->to); + else return $this->getMailer()->batchSend($message->message, $failedRecipients, $it); + } + + /** + * Sends a message in an extremly simple but less extensive way. + * + * @param mixed from address, string or array of the form $address => $name + * @param mixed to address, string or array of the form $address => $name + * @param string subject + * @param string body + */ + public function sendSimple($from, $to, $subject, $body) { + $message = new YiiMailMessage; + $message->setSubject($subject) + ->setFrom($from) + ->setTo($to) + ->setBody($body, 'text/html'); + + if ($this->logging===true) self::log($message); + if ($this->dryRun===true) return count($message->to); + else return $this->getMailer()->send($message); + } + + /** + * Logs a YiiMailMessage in a (hopefully) readable way using Yii::log. + * @return string log message + */ + public static function log(YiiMailMessage $message) { + $msg = 'Sending email to '.implode(', ', array_keys($message->to))."\n". + implode('', $message->headers->getAll())."\n". + $message->body + ; + Yii::log($msg, CLogger::LEVEL_INFO, 'ext.yii-mail.YiiMail'); // TODO: attempt to determine alias/category at runtime + return $msg; + } + + /** + * Gets the SwiftMailer transport class instance, initializing it if it has + * not been created yet + * @return mixed {@link Swift_MailTransport} or {@link Swift_SmtpTransport} + */ + public function getTransport() { + if ($this->transport===null) { + switch ($this->transportType) { + case 'php': + $this->transport = Swift_MailTransport::newInstance(); + if ($this->transportOptions !== null) + $this->transport->setExtraParams($this->transportOptions); + break; + case 'smtp': + $this->transport = Swift_SmtpTransport::newInstance(); + foreach ($this->transportOptions as $option => $value) + $this->transport->{'set'.ucfirst($option)}($value); // sets option with the setter method + break; + } + } + + return $this->transport; + } + + /** + * Gets the SwiftMailer {@link Swift_Mailer} class instance + * @return Swift_Mailer + */ + public function getMailer() { + if ($this->mailer===null) + $this->mailer = Swift_Mailer::newInstance($this->getTransport()); + + if ($this->logging===true) { + $this->logger = new Swift_Plugins_Loggers_ArrayLogger(); + $this->mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($this->logger)); + } + + return $this->mailer; + } + + /** + * Registers swiftMailer autoloader and includes the required files + */ + public function registerScripts() { + if (self::$registeredScripts) return; + self::$registeredScripts = true; + require dirname(__FILE__).'/vendors/swiftMailer/classes/Swift.php'; + Yii::registerAutoloader(array('Swift','autoload')); + require dirname(__FILE__).'/vendors/swiftMailer/swift_init.php'; + } +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/YiiMailMessage.php b/www/protected/extensions/yii-mail/YiiMailMessage.php new file mode 100644 index 0000000..0c16828 --- /dev/null +++ b/www/protected/extensions/yii-mail/YiiMailMessage.php @@ -0,0 +1,147 @@ + +* @link https://code.google.com/p/yii-mail/ +* @package Yii-Mail +*/ + +/** +* Any requests to set or get attributes or call methods on this class that are +* not found in that class are redirected to the {@link Swift_Mime_Message} +* object. +* +* This means you need to look at the Swift Mailer documentation to see what +* methods are availiable for this class. There are a lot of methods, +* more than I wish to document. Any methods availiable in +* {@link Swift_Mime_Message} are availiable here. +* +* Documentation for the most important methods can be found at +* {@link http://swiftmailer.org/docs/messages} +* +* The YiiMailMessage component also allows using a shorthand for methods in +* {@link Swift_Mime_Message} that start with set* or get* +* For instance, instead of calling $message->setFrom('...') you can use +* $message->from = '...'. +* +* Here are a few methods to get you started: +*
      +*
    • setSubject('Your subject')
    • +*
    • setFrom(array('john@doe.com' => 'John Doe'))
    • +*
    • setTo(array('receiver@domain.org', 'other@domain.org' => 'Name'))
    • +*
    • attach(Swift_Attachment::fromPath('my-document.pdf'))
    • +*
    +*/ +class YiiMailMessage extends CComponent { + + /** + * @var string the view to use for rendering the body, null if no view is + * used. An extra variable $mail will be passed to the view .which you may + * use to set e.g. the email subject from within the view + */ + public $view; + + /** + * @var Swift_Mime_Message + */ + public $message; + + /** + * Any requests to set or get attributes or call methods on this class that + * are not found are redirected to the {@link Swift_Mime_Message} object. + * @param string the attribute name + */ + public function __get($name) { + try { + return parent::__get($name); + } catch (CException $e) { + $getter = 'get'.$name; + if(method_exists($this->message, $getter)) + return $this->message->$getter(); + else + throw $e; + } + } + + /** + * Any requests to set or get attributes or call methods on this class that + * are not found are redirected to the {@link Swift_Mime_Message} object. + * @param string the attribute name + */ + public function __set($name, $value) { + try { + return parent::__set($name, $value); + } catch (CException $e) { + $setter = 'set'.$name; + if(method_exists($this->message, $setter)) + $this->message->$setter($value); + else + throw $e; + } + } + + /** + * Any requests to set or get attributes or call methods on this class that + * are not found are redirected to the {@link Swift_Mime_Message} object. + * @param string the method name + */ + public function __call($name, $parameters) { + try { + return parent::__call($name, $parameters); + } catch (CException $e) { + if(method_exists($this->message, $name)) + return call_user_func_array(array($this->message, $name), $parameters); + else + throw $e; + } + } + + /** + * You may optionally set some message info using the paramaters of this + * constructor. + * Use {@link view} and {@link setBody()} for more control. + * + * @param string $subject + * @param string $body + * @param string $contentType + * @param string $charset + * @return Swift_Mime_Message + */ + public function __construct($subject = null, $body = null, $contentType = null, $charset = null) { + Yii::app()->mail->registerScripts(); + $this->message = Swift_Message::newInstance($subject, $body, $contentType, $charset); + } + + /** + * Set the body of this entity, either as a string, or array of view + * variables if a view is set, or as an instance of + * {@link Swift_OutputByteStream}. + * + * @param mixed the body of the message. If a $this->view is set and this + * is a string, this is passed to the view as $body. If $this->view is set + * and this is an array, the array values are passed to the view like in the + * controller render() method + * @param string content type optional. For html, set to 'html/text' + * @param string charset optional + */ + public function setBody($body = '', $contentType = null, $charset = null) { + if ($this->view !== null) { + if (!is_array($body)) $body = array('body'=>$body); + + // if Yii::app()->controller doesn't exist create a dummy + // controller to render the view (needed in the console app) + if(isset(Yii::app()->controller)) + $controller = Yii::app()->controller; + else + $controller = new CController('YiiMail'); + + // renderPartial won't work with CConsoleApplication, so use + // renderInternal - this requires that we use an actual path to the + // view rather than the usual alias + $viewPath = Yii::getPathOfAlias(Yii::app()->mail->viewPath.'.'.$this->view).'.php'; + $body = $controller->renderInternal($viewPath, array_merge($body, array('mail'=>$this)), true); + } + return $this->message->setBody($body, $contentType, $charset); + } +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_AbstractFilterableInputStream.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_AbstractFilterableInputStream.html new file mode 100644 index 0000000..3e1b060 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_AbstractFilterableInputStream.html @@ -0,0 +1,462 @@ + + + + + Docs For Class Swift_ByteStream_AbstractFilterableInputStream + + + + + + + + +

    + Class Swift_ByteStream_AbstractFilterableInputStream +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php
    +

    + +
    Provides the base functionality for an InputStream supporting filters.
    +
      +
    • author: - Chris Corbyn
    • +
    • abstract: -
    • +
    +

    +Classes extended from Swift_ByteStream_AbstractFilterableInputStream: +
    +
    Swift_ByteStream_FileByteStream
    +
    Allows reading and writing of bytes to and from a file.
    +
    +
    +
    Swift_Transport_StreamBuffer
    +
    A generic IoBuffer implementation supporting remote sockets and local processes.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + addFilter + (Swift_StreamFilter $filter, string $key) +
    +
    + void + bind + (Swift_InputByteStream $is) +
    +
    + void + commit + () +
    +
    + void + flushBuffers + () +
    +
    + void + removeFilter + (string $key) +
    +
    + void + unbind + (Swift_InputByteStream $is) +
    +
    + void + write + (string $bytes) +
    +
    + void + _commit + (string $bytes) +
    +
    + void + _flush + () +
    +
    +
    + + + + +

    + Method addFilter (line 55) +

    +

    void addFilter( +Swift_StreamFilter +$filter, string +$key)

    + +
    +
    Implementation of:
    +
    +
    Swift_Filterable::addFilter()
    +
    Add a new StreamFilter, referenced by $key.
    +
    + +
    Add a StreamFilter to this InputByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method bind (line 106) +

    +

    void bind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::bind()
    +
    Attach $is to this stream.
    +
    + +
    Attach $is to this stream.
    +

    The stream acts as an observer, receiving all data that is written. All write() and flushBuffers() operations will be mirrored.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method commit (line 94) +

    +

    void commit( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::commit()
    +
    For any bytes that are currently buffered inside the stream, force them off the buffer.
    +
    + +
    For any bytes that are currently buffered inside the stream, force them off the buffer.
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method flushBuffers (line 139) +

    +

    void flushBuffers( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::flushBuffers()
    +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    +
    + +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method removeFilter (line 64) +

    +

    void removeFilter( +string +$key)

    + +
    +
    Implementation of:
    +
    +
    Swift_Filterable::removeFilter()
    +
    Remove an existing filter using $key.
    +
    + +
    Remove an already present StreamFilter based on its $key.
    +

    Parameters

    +
      +
    • string $key:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method unbind (line 119) +

    +

    void unbind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::unbind()
    +
    Remove an already bound stream.
    +
    + +
    Remove an already bound stream.
    +

    If $is is not bound, no errors will be raised. If the stream currently has any buffered data it will be written to $is before unbinding occurs.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method write (line 74) +

    +

    void write( +string +$bytes)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::write()
    +
    Writes $bytes to the end of the stream.
    +
    + +
    Writes $bytes to the end of the stream.
    +

    Parameters

    +
      +
    • string $bytes:
    • +
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method _commit (line 42) +

    +

    void _commit( +string +$bytes)

    +

    Overridden in child classes as:
    +

    +
    Swift_ByteStream_FileByteStream::_commit()
    +
    Just write the bytes to the file
    +
    +
    +
    Swift_Transport_StreamBuffer::_commit()
    +
    Write this bytes to the stream
    +
    +

    + + +
    Commit the given bytes to the storage medium immediately.
    +

    Parameters

    +
      +
    • string $bytes:
    • +
    + +

    Info

    +
      +
    • abstract -
    • +
    • access - protected
    • +
    +
    + +

    + Method _flush (line 48) +

    +

    void _flush( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_ByteStream_FileByteStream::_flush()
    +
    Not used
    +
    +
    +
    Swift_Transport_StreamBuffer::_flush()
    +
    Flush the stream contents
    +
    +

    + + +
    Flush any buffers/content with immediate effect.
    + +

    Info

    +
      +
    • abstract -
    • +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:09 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_ArrayByteStream.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_ArrayByteStream.html new file mode 100644 index 0000000..d066c26 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_ArrayByteStream.html @@ -0,0 +1,405 @@ + + + + + Docs For Class Swift_ByteStream_ArrayByteStream + + + + + + + + +

    + Class Swift_ByteStream_ArrayByteStream +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/ByteStream/ArrayByteStream.php
    +

    + +
    Allows reading and writing of bytes to and from an array.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_ByteStream_ArrayByteStream + __construct + ([mixed $stack = null]) +
    +
    + void + bind + (Swift_InputByteStream $is) +
    +
    + void + commit + () +
    +
    + void + flushBuffers + () +
    +
    + string + read + (int $length) +
    +
    + boolean + setReadPointer + (int $byteOffset) +
    +
    + void + unbind + (Swift_InputByteStream $is) +
    +
    + void + write + (string $bytes) +
    +
    +
    + + + + +

    + Constructor __construct (line 53) +

    +

    Swift_ByteStream_ArrayByteStream __construct( +[mixed +$stack = null])

    + + +
    Create a new ArrayByteStream.
    +

    If $stack is given the stream will be populated with the bytes it contains.

    +

    Parameters

    +
      +
    • mixed $stack: of bytes in string or array form, optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method bind (line 131) +

    +

    void bind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::bind()
    +
    Attach $is to this stream.
    +
    + +
    Attach $is to this stream.
    +

    The stream acts as an observer, receiving all data that is written. All write() and flushBuffers() operations will be mirrored.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method commit (line 120) +

    +

    void commit( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::commit()
    +
    For any bytes that are currently buffered inside the stream, force them off the buffer.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method flushBuffers (line 178) +

    +

    void flushBuffers( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::flushBuffers()
    +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    +
    + +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method read (line 78) +

    +

    string read( +int +$length)

    + +
    +
    Implementation of:
    +
    +
    Swift_OutputByteStream::read()
    +
    Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
    +
    + +
    Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setReadPointer (line 160) +

    +

    boolean setReadPointer( +int +$byteOffset)

    + +
    +
    Implementation of:
    +
    +
    Swift_OutputByteStream::setReadPointer()
    +
    Move the internal read pointer to $byteOffset in the stream.
    +
    + +
    Move the internal read pointer to $byteOffset in the stream.
    +

    Parameters

    +
      +
    • int $byteOffset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method unbind (line 144) +

    +

    void unbind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::unbind()
    +
    Remove an already bound stream.
    +
    + +
    Remove an already bound stream.
    +

    If $is is not bound, no errors will be raised. If the stream currently has any buffered data it will be written to $is before unbinding occurs.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method write (line 102) +

    +

    void write( +string +$bytes)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::write()
    +
    Writes $bytes to the end of the stream.
    +
    + +
    Writes $bytes to the end of the stream.
    +

    Parameters

    +
      +
    • string $bytes:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:11 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_FileByteStream.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_FileByteStream.html new file mode 100644 index 0000000..58f2094 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_ByteStream_FileByteStream.html @@ -0,0 +1,374 @@ + + + + + Docs For Class Swift_ByteStream_FileByteStream + + + + + + + + +

    + Class Swift_ByteStream_FileByteStream +

    (line 22) +
    + + +
    +

    Description

    +
    +Swift_ByteStream_AbstractFilterableInputStream
    +   |
    +   --Swift_ByteStream_FileByteStream
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/ByteStream/FileByteStream.php
    +

    + +
    Allows reading and writing of bytes to and from a file.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_ByteStream_FileByteStream + __construct + (string $path, [string $writable = false]) +
    +
    + string + getPath + () +
    +
    + string + read + (int $length) +
    +
    + boolean + setReadPointer + (int $byteOffset) +
    +
    + void + _commit + ( $bytes) +
    +
    + void + _flush + () +
    +
    +
    + + + + +

    + Constructor __construct (line 50) +

    +

    Swift_ByteStream_FileByteStream __construct( +string +$path, [string +$writable = false])

    + + +
    Create a new FileByteStream for $path.
    +

    Parameters

    +
      +
    • string $path:
    • +
    • string $writable: if true
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getPath (line 61) +

    +

    string getPath( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_FileStream::getPath()
    +
    Get the complete path to the file.
    +
    + +
    Get the complete path to the file.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method read (line 75) +

    +

    string read( +int +$length)

    + +
    +
    Implementation of:
    +
    +
    Swift_OutputByteStream::read()
    +
    Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
    +
    + +
    Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method setReadPointer (line 103) +

    +

    boolean setReadPointer( +int +$byteOffset)

    + +
    +
    Implementation of:
    +
    +
    Swift_OutputByteStream::setReadPointer()
    +
    Move the internal read pointer to $byteOffset in the stream.
    +
    + +
    Move the internal read pointer to $byteOffset in the stream.
    +

    Parameters

    +
      +
    • int $byteOffset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _commit (line 115) +

    +

    void _commit( + +$bytes)

    + +

    Overrides : Swift_ByteStream_AbstractFilterableInputStream::_commit() Commit the given bytes to the storage medium immediately.

    + +
    Just write the bytes to the file
    +

    Parameters

    +
      +
    • $bytes:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _flush (line 122) +

    +

    void _flush( +)

    + +

    Overrides : Swift_ByteStream_AbstractFilterableInputStream::_flush() Flush any buffers/content with immediate effect.

    + +
    Not used
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_ByteStream_AbstractFilterableInputStream

    +

    + Swift_ByteStream_AbstractFilterableInputStream::addFilter() - Add a StreamFilter to this InputByteStream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::bind() - Attach $is to this stream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::commit() - For any bytes that are currently buffered inside the stream, force them off the buffer. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::flushBuffers() - Flush the contents of the stream (empty it) and set the internal pointer to the beginning. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::removeFilter() - Remove an already present StreamFilter based on its $key. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::unbind() - Remove an already bound stream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::write() - Writes $bytes to the end of the stream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::_commit() - Commit the given bytes to the storage medium immediately. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::_flush() - Flush any buffers/content with immediate effect. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_FileStream.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_FileStream.html new file mode 100644 index 0000000..b971301 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_FileStream.html @@ -0,0 +1,203 @@ + + + + + Docs For Class Swift_FileStream + + + + + + + + +

    + Interface Swift_FileStream +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_OutputByteStream
    +   |
    +   --Swift_FileStream
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/FileStream.php
    +

    + +
    An OutputByteStream which specifically reads from a file.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + getPath + () +
    +
    +
    + + + + +

    + Method getPath (line 26) +

    +

    string getPath( +)

    + + +
    Get the complete path to the file.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_OutputByteStream

    +

    + Swift_OutputByteStream::read() - Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned. +

    + +

    + Swift_OutputByteStream::setReadPointer() - Move the internal read pointer to $byteOffset in the stream. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_InputByteStream.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_InputByteStream.html new file mode 100644 index 0000000..85601cb --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_InputByteStream.html @@ -0,0 +1,302 @@ + + + + + Docs For Class Swift_InputByteStream + + + + + + + + +

    + Interface Swift_InputByteStream +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/InputByteStream.php
    +

    + +
    An abstract means of writing data.
    +

    Classes implementing this interface may use a subsystem which requires less memory than working with large strings of data.

    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_InputByteStream: +
    +
    Swift_KeyCache_KeyCacheInputStream
    +
    Writes data to a KeyCache using a stream.
    +
    +
    +
    Swift_Transport_IoBuffer
    +
    Buffers input and output to a resource.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + bind + (Swift_InputByteStream $is) +
    +
    + void + commit + () +
    +
    + void + flushBuffers + () +
    +
    + void + unbind + (Swift_InputByteStream $is) +
    +
    + int + write + (string $bytes) +
    +
    +
    + + + + +

    + Method bind (line 53) +

    +

    void bind( +Swift_InputByteStream +$is)

    + + +
    Attach $is to this stream.
    +

    The stream acts as an observer, receiving all data that is written. All write() and flushBuffers() operations will be mirrored.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method commit (line 44) +

    +

    void commit( +)

    + + +
    For any bytes that are currently buffered inside the stream, force them off the buffer.
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method flushBuffers (line 70) +

    +

    void flushBuffers( +)

    + + +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method unbind (line 63) +

    +

    void unbind( +Swift_InputByteStream +$is)

    + + +
    Remove an already bound stream.
    +

    If $is is not bound, no errors will be raised. If the stream currently has any buffered data it will be written to $is before unbinding occurs.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method write (line 36) +

    +

    int write( +string +$bytes)

    + + +
    Writes $bytes to the end of the stream.
    +

    Writing may not happen immediately if the stream chooses to buffer. If you want to write these bytes with immediate effect, call commit() after calling write().

    This method returns the sequence ID of the write (i.e. 1 for first, 2 for second, etc etc).

    +

    Parameters

    +
      +
    • string $bytes:
    • +
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_OutputByteStream.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_OutputByteStream.html new file mode 100644 index 0000000..c21c8c2 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/Swift_OutputByteStream.html @@ -0,0 +1,229 @@ + + + + + Docs For Class Swift_OutputByteStream + + + + + + + + +

    + Interface Swift_OutputByteStream +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/OutputByteStream.php
    +

    + +
    An abstract means of reading data.
    +

    Classes implementing this interface may use a subsystem which requires less memory than working with large strings of data.

    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_OutputByteStream: +
    +
    Swift_FileStream
    +
    An OutputByteStream which specifically reads from a file.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + read + (int $length) +
    +
    + boolean + setReadPointer + (int $byteOffset) +
    +
    +
    + + + + +

    + Method read (line 31) +

    +

    string read( +int +$length)

    + + +
    Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method setReadPointer (line 39) +

    +

    boolean setReadPointer( +int +$byteOffset)

    + + +
    Move the internal read pointer to $byteOffset in the stream.
    +

    Parameters

    +
      +
    • int $byteOffset:
    • +
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---AbstractFilterableInputStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---AbstractFilterableInputStream.php.html new file mode 100644 index 0000000..bdce26a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---AbstractFilterableInputStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page AbstractFilterableInputStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_ByteStream_AbstractFilterableInputStreamProvides the base functionality for an InputStream supporting filters.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:09 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---ArrayByteStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---ArrayByteStream.php.html new file mode 100644 index 0000000..f4d1082 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---ArrayByteStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ArrayByteStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/ByteStream/ArrayByteStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_ByteStream_ArrayByteStreamAllows reading and writing of bytes to and from an array.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:11 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---FileByteStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---FileByteStream.php.html new file mode 100644 index 0000000..d6fd1be --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---ByteStream---FileByteStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page FileByteStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/ByteStream/FileByteStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_ByteStream_FileByteStreamAllows reading and writing of bytes to and from a file.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---FileStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---FileStream.php.html new file mode 100644 index 0000000..8246991 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---FileStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page FileStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/FileStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_FileStreamAn OutputByteStream which specifically reads from a file.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---InputByteStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---InputByteStream.php.html new file mode 100644 index 0000000..622364d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---InputByteStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page InputByteStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/InputByteStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_InputByteStreamAn abstract means of writing data.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---OutputByteStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---OutputByteStream.php.html new file mode 100644 index 0000000..5c19fbc --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/ByteStream/_vendors---swiftMailer---classes---Swift---OutputByteStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page OutputByteStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/OutputByteStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_OutputByteStreamAn abstract means of reading data.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream.html b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream.html new file mode 100644 index 0000000..49e99ac --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream.html @@ -0,0 +1,391 @@ + + + + + Docs For Class Swift_CharacterStream + + + + + + + + +

    + Interface Swift_CharacterStream +

    (line 24) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterStream.php
    +

    + +
    An abstract means of reading and writing data in terms of characters as opposed to bytes.
    +

    Classes implementing this interface may use a subsystem which requires less memory than working with large strings of data.

    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + flushContents + () +
    + +
    + void + importString + (string $string) +
    +
    + string + read + (int $length) +
    +
    + int[] + readBytes + (int $length) +
    + +
    + void + setCharacterSet + (string $charset) +
    +
    + void + setPointer + (int $charOffset) +
    +
    + void + write + (string $chars) +
    +
    +
    + + + + +

    + Method flushContents (line 84) +

    +

    void flushContents( +)

    + + +
    Empty the stream and reset the internal pointer.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importByteStream (line 44) +

    +

    void importByteStream( +Swift_OutputByteStream +$os)

    + + +
    Overwrite this character stream using the byte sequence in the byte stream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importString (line 51) +

    +

    void importString( +string +$string)

    + + +
    Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
    +

    Parameters

    +
      +
    • string $string:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method read (line 59) +

    +

    string read( +int +$length)

    + + +
    Read $length characters from the stream and move the internal pointer $length further into the stream.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method readBytes (line 67) +

    +

    int[] readBytes( +int +$length)

    + + +
    Read $length characters from the stream and return a 1-dimensional array containing there octet values.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharacterReaderFactory (line 37) +

    +

    void setCharacterReaderFactory( +Swift_CharacterReaderFactory +$factory)

    + + +
    Set the CharacterReaderFactory for multi charset support.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharacterSet (line 31) +

    +

    void setCharacterSet( +string +$charset)

    + + +
    Set the character set used in this CharacterStream.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setPointer (line 79) +

    +

    void setPointer( +int +$charOffset)

    + + +
    Move the internal pointer to $charOffset in the stream.
    +

    Parameters

    +
      +
    • int $charOffset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method write (line 73) +

    +

    void write( +string +$chars)

    + + +
    Write $chars to the end of the stream.
    +

    Parameters

    +
      +
    • string $chars:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream_ArrayCharacterStream.html b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream_ArrayCharacterStream.html new file mode 100644 index 0000000..c52e17a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream_ArrayCharacterStream.html @@ -0,0 +1,471 @@ + + + + + Docs For Class Swift_CharacterStream_ArrayCharacterStream + + + + + + + + +

    + Class Swift_CharacterStream_ArrayCharacterStream +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterStream/ArrayCharacterStream.php
    +

    + +
    A CharacterStream implementation which stores characters in an internal array.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_CharacterStream_ArrayCharacterStream + __construct + (Swift_CharacterReaderFactory $factory, string $charset) +
    +
    + void + flushContents + () +
    + +
    + void + importString + (string $string) +
    +
    + string + read + (int $length) +
    +
    + int[] + readBytes + (int $length) +
    + +
    + void + setCharacterSet + (string $charset) +
    +
    + void + setPointer + (int $charOffset) +
    +
    + void + write + (string $chars) +
    +
    +
    + + + + +

    + Constructor __construct (line 54) +

    +

    Swift_CharacterStream_ArrayCharacterStream __construct( +Swift_CharacterReaderFactory +$factory, string +$charset)

    + + +
    Create a new CharacterStream with the given $chars, if set.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method flushContents (line 286) +

    +

    void flushContents( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::flushContents()
    +
    Empty the stream and reset the internal pointer.
    +
    + +
    Empty the stream and reset the internal pointer.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importByteStream (line 86) +

    +

    void importByteStream( +Swift_OutputByteStream +$os)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::importByteStream()
    +
    Overwrite this character stream using the byte sequence in the byte stream.
    +
    + +
    Overwrite this character stream using the byte sequence in the byte stream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importString (line 123) +

    +

    void importString( +string +$string)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::importString()
    +
    Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
    +
    + +
    Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
    +

    Parameters

    +
      +
    • string $string:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method read (line 135) +

    +

    string read( +int +$length)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::read()
    +
    Read $length characters from the stream and move the internal pointer $length further into the stream.
    +
    + +
    Read $length characters from the stream and move the internal pointer $length further into the stream.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method readBytes (line 168) +

    +

    int[] readBytes( +int +$length)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::readBytes()
    +
    Read $length characters from the stream and return a 1-dimensional array containing there octet values.
    +
    + +
    Read $length characters from the stream and return a 1-dimensional array containing there octet values.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharacterReaderFactory (line 76) +

    +

    void setCharacterReaderFactory( +Swift_CharacterReaderFactory +$factory)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::setCharacterReaderFactory()
    +
    Set the CharacterReaderFactory for multi charset support.
    +
    + +
    Set the CharacterReaderFactory for multi charset support.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharacterSet (line 66) +

    +

    void setCharacterSet( +string +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::setCharacterSet()
    +
    Set the character set used in this CharacterStream.
    +
    + +
    Set the character set used in this CharacterStream.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setPointer (line 270) +

    +

    void setPointer( +int +$charOffset)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::setPointer()
    +
    Move the internal pointer to $charOffset in the stream.
    +
    + +
    Move the internal pointer to $charOffset in the stream.
    +

    Parameters

    +
      +
    • int $charOffset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method write (line 192) +

    +

    void write( +string +$chars)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::write()
    +
    Write $chars to the end of the stream.
    +
    + +
    Write $chars to the end of the stream.
    +

    Parameters

    +
      +
    • string $chars:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:12 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream_NgCharacterStream.html b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream_NgCharacterStream.html new file mode 100644 index 0000000..e5caf6d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/Swift_CharacterStream_NgCharacterStream.html @@ -0,0 +1,471 @@ + + + + + Docs For Class Swift_CharacterStream_NgCharacterStream + + + + + + + + +

    + Class Swift_CharacterStream_NgCharacterStream +

    (line 32) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterStream/NgCharacterStream.php
    +

    + +
    A CharacterStream implementation which stores characters in an internal array.
    + +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_CharacterStream_NgCharacterStream + __construct + (Swift_CharacterReaderFactory $factory, unknown_type $charset) +
    +
    + void + flushContents + () +
    + +
    + void + importString + (string $string) +
    +
    + string + read + (int $length) +
    +
    + int[] + readBytes + (int $length) +
    + +
    + void + setCharacterSet + (string $charset) +
    +
    + void + setPointer + (int $charOffset) +
    +
    + void + write + (string $chars) +
    +
    +
    + + + + +

    + Constructor __construct (line 105) +

    +

    Swift_CharacterStream_NgCharacterStream __construct( +Swift_CharacterReaderFactory +$factory, unknown_type +$charset)

    + + +
    The constructor
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method flushContents (line 139) +

    +

    void flushContents( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::flushContents()
    +
    Empty the stream and reset the internal pointer.
    +
    + + +

    Info

    + +
    + +

    + Method importByteStream (line 153) +

    +

    void importByteStream( +Swift_OutputByteStream +$os)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::importByteStream()
    +
    Overwrite this character stream using the byte sequence in the byte stream.
    +
    + +

    Parameters

    + + +

    Info

    + +
    + +

    + Method importString (line 167) +

    +

    void importString( +string +$string)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::importString()
    +
    Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
    +
    + +

    Parameters

    +
      +
    • string $string:
    • +
    + +

    Info

    + +
    + +

    + Method read (line 179) +

    +

    string read( +int +$length)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::read()
    +
    Read $length characters from the stream and move the internal pointer $length further into the stream.
    +
    + +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    + +
    + +

    + Method readBytes (line 251) +

    +

    int[] readBytes( +int +$length)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::readBytes()
    +
    Read $length characters from the stream and return a 1-dimensional array containing there octet values.
    +
    + +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    + +
    + +

    + Method setCharacterReaderFactory (line 129) +

    +

    void setCharacterReaderFactory( +Swift_CharacterReaderFactory +$factory)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::setCharacterReaderFactory()
    +
    Set the CharacterReaderFactory for multi charset support.
    +
    + +
    Set the CharacterReaderFactory for multi charset support.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharacterSet (line 118) +

    +

    void setCharacterSet( +string +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::setCharacterSet()
    +
    Set the character set used in this CharacterStream.
    +
    + +
    Set the character set used in this CharacterStream.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setPointer (line 267) +

    +

    void setPointer( +int +$charOffset)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::setPointer()
    +
    Move the internal pointer to $charOffset in the stream.
    +
    + +

    Parameters

    +
      +
    • int $charOffset:
    • +
    + +

    Info

    + +
    + +

    + Method write (line 280) +

    +

    void write( +string +$chars)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterStream::write()
    +
    Write $chars to the end of the stream.
    +
    + +

    Parameters

    +
      +
    • string $chars:
    • +
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream---ArrayCharacterStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream---ArrayCharacterStream.php.html new file mode 100644 index 0000000..71f8383 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream---ArrayCharacterStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ArrayCharacterStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterStream/ArrayCharacterStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterStream_ArrayCharacterStreamA CharacterStream implementation which stores characters in an internal array.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:12 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream---NgCharacterStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream---NgCharacterStream.php.html new file mode 100644 index 0000000..8ebd9f4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream---NgCharacterStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page NgCharacterStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterStream/NgCharacterStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterStream_NgCharacterStreamA CharacterStream implementation which stores characters in an internal array.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream.php.html new file mode 100644 index 0000000..cdea557 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/CharacterStream/_vendors---swiftMailer---classes---Swift---CharacterStream.php.html @@ -0,0 +1,184 @@ + + + + + Docs for page CharacterStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterStreamAn abstract means of reading and writing data in terms of characters as opposed to bytes.
    +
    + +
    + + +

    Include/Require Statements

    + + + + +
    +

    + dirname(__FILE__).'/OutputByteStream.php' (line 11) +

    +

    require_once : dirname(__FILE__).'/OutputByteStream.php'

    + +
      +
    +
    + +
    +

    + dirname(__FILE__).'/CharacterReaderFactory.php' (line 12) +

    +

    require_once : dirname(__FILE__).'/CharacterReaderFactory.php'

    + +
      +
    +
    +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader.html new file mode 100644 index 0000000..72d8431 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader.html @@ -0,0 +1,311 @@ + + + + + Docs For Class Swift_CharacterReader + + + + + + + + +

    + Interface Swift_CharacterReader +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterReader.php
    +

    + +
    Analyzes characters for a specific character set.
    + +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + + +
    + +
    +

    + MAP_TYPE_FIXED_LEN = 0x02 (line 21) +

    + +
      +
    +
    + +
    +

    + MAP_TYPE_INVALID = 0x01 (line 20) +

    + +
      +
    +
    + +
    +

    + MAP_TYPE_POSITIONS = 0x03 (line 22) +

    + +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + int + getCharPositions + (string $string, int $startOffset,  &$currentMap,  &$ignoredChars, array $currentMap, mixed $ignoredChars) +
    +
    + int + getInitialByteSize + () +
    +
    + void + getMapType + () +
    +
    + int + validateByteSequence + (int[] $bytes,  $size) +
    +
    +
    + + + + +

    + Method getCharPositions (line 33) +

    +

    int getCharPositions( +string +$string, int +$startOffset, +&$currentMap, +&$ignoredChars, array +$currentMap, mixed +$ignoredChars)

    + + +
    Returns the complete charactermap
    +

    Parameters

    +
      +
    • string $string:
    • +
    • int $startOffset:
    • +
    • array $currentMap:
    • +
    • mixed $ignoredChars:
    • +
    • &$currentMap:
    • +
    • &$ignoredChars:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInitialByteSize (line 58) +

    +

    int getInitialByteSize( +)

    + + +
    Returns the number of bytes which should be read to start each character.
    +

    For fixed width character sets this should be the number of octets-per-character. For multibyte character sets this will probably be 1.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMapType (line 39) +

    +

    void getMapType( +)

    + + +
    Returns mapType
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method validateByteSequence (line 50) +

    +

    int validateByteSequence( +int[] +$bytes, +$size)

    + + +
    Returns an integer which specifies how many more bytes to read.
    +

    A positive integer indicates the number of more bytes to fetch before invoking this method again. A value of zero means this is already a valid character. A value of -1 means this cannot possibly be a valid character.

    +

    Parameters

    +
      +
    • int[] $bytes:
    • +
    • $size:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReaderFactory.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReaderFactory.html new file mode 100644 index 0000000..7759afc --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReaderFactory.html @@ -0,0 +1,195 @@ + + + + + Docs For Class Swift_CharacterReaderFactory + + + + + + + + +

    + Interface Swift_CharacterReaderFactory +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterReaderFactory.php
    +

    + +
    A factory for creating CharacterReaders.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_CharacterReader + getReaderFor + (string $charset) +
    +
    +
    + + + + +

    + Method getReaderFor (line 27) +

    +

    Swift_CharacterReader getReaderFor( +string +$charset)

    + + +
    Returns a CharacterReader suitable for the charset applied.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReaderFactory_SimpleCharacterReaderFactory.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReaderFactory_SimpleCharacterReaderFactory.html new file mode 100644 index 0000000..220ca73 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReaderFactory_SimpleCharacterReaderFactory.html @@ -0,0 +1,221 @@ + + + + + Docs For Class Swift_CharacterReaderFactory_SimpleCharacterReaderFactory + + + + + + + + +

    + Class Swift_CharacterReaderFactory_SimpleCharacterReaderFactory +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php
    +

    + +
    Standard factory for creating CharacterReaders.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_CharacterReaderFactory_SimpleCharacterReaderFactory + __construct + () +
    +
    + Swift_CharacterReader + getReaderFor + (string $charset) +
    +
    +
    + + + + +

    + Constructor __construct (line 40) +

    +

    Swift_CharacterReaderFactory_SimpleCharacterReaderFactory __construct( +)

    + + +
    Creates a new CharacterReaderFactory.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getReaderFor (line 93) +

    +

    Swift_CharacterReader getReaderFor( +string +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReaderFactory::getReaderFor()
    +
    Returns a CharacterReader suitable for the charset applied.
    +
    + +
    Returns a CharacterReader suitable for the charset applied.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_GenericFixedWidthReader.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_GenericFixedWidthReader.html new file mode 100644 index 0000000..7a87cc0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_GenericFixedWidthReader.html @@ -0,0 +1,323 @@ + + + + + Docs For Class Swift_CharacterReader_GenericFixedWidthReader + + + + + + + + +

    + Class Swift_CharacterReader_GenericFixedWidthReader +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php
    +

    + +
    Provides fixed-width byte sizes for reading fixed-width character sets.
    + +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_CharacterReader_GenericFixedWidthReader + __construct + (int $width) +
    +
    + $int + getCharPositions + (string $string, int $startOffset,  &$currentMap,  &$ignoredChars, array $currentMap, mixed $ignoredChars) +
    +
    + int + getInitialByteSize + () +
    +
    + void + getMapType + () +
    +
    + int + validateByteSequence + (string $bytes,  $size) +
    +
    +
    + + + + +

    + Constructor __construct (line 35) +

    +

    Swift_CharacterReader_GenericFixedWidthReader __construct( +int +$width)

    + + +
    Creates a new GenericFixedWidthReader using $width bytes per character.
    +

    Parameters

    +
      +
    • int $width:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getCharPositions (line 49) +

    +

    $int getCharPositions( +string +$string, int +$startOffset, +&$currentMap, +&$ignoredChars, array +$currentMap, mixed +$ignoredChars)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getCharPositions()
    +
    Returns the complete charactermap
    +
    + +
    Returns the complete charactermap
    +

    Parameters

    +
      +
    • string $string:
    • +
    • int $startOffset:
    • +
    • array $currentMap:
    • +
    • mixed $ignoredChars:
    • +
    • &$currentMap:
    • +
    • &$ignoredChars:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInitialByteSize (line 91) +

    +

    int getInitialByteSize( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getInitialByteSize()
    +
    Returns the number of bytes which should be read to start each character.
    +
    + +
    Returns the number of bytes which should be read to start each character.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMapType (line 64) +

    +

    void getMapType( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getMapType()
    +
    Returns mapType
    +
    + +
    Returns mapType
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method validateByteSequence (line 78) +

    +

    int validateByteSequence( +string +$bytes, +$size)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::validateByteSequence()
    +
    Returns an integer which specifies how many more bytes to read.
    +
    + +
    Returns an integer which specifies how many more bytes to read.
    +

    A positive integer indicates the number of more bytes to fetch before invoking this method again. A value of zero means this is already a valid character. A value of -1 means this cannot possibly be a valid character.

    +

    Parameters

    +
      +
    • string $bytes:
    • +
    • $size:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_UsAsciiReader.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_UsAsciiReader.html new file mode 100644 index 0000000..3da929e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_UsAsciiReader.html @@ -0,0 +1,295 @@ + + + + + Docs For Class Swift_CharacterReader_UsAsciiReader + + + + + + + + +

    + Class Swift_CharacterReader_UsAsciiReader +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterReader/UsAsciiReader.php
    +

    + +
    Analyzes US-ASCII characters.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + getCharPositions + (string $string, int $startOffset,  &$currentMap,  &$ignoredChars, string $ignoredChars) +
    +
    + int + getInitialByteSize + () +
    +
    + void + getMapType + () +
    +
    + int + validateByteSequence + (string $bytes,  $size) +
    +
    +
    + + + + +

    + Method getCharPositions (line 29) +

    +

    void getCharPositions( +string +$string, int +$startOffset, +&$currentMap, +&$ignoredChars, string +$ignoredChars)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getCharPositions()
    +
    Returns the complete charactermap
    +
    + +
    Returns the complete charactermap
    +

    Parameters

    +
      +
    • string $string:
    • +
    • int $startOffset:
    • +
    • string $ignoredChars:
    • +
    • &$currentMap:
    • +
    • &$ignoredChars:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInitialByteSize (line 78) +

    +

    int getInitialByteSize( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getInitialByteSize()
    +
    Returns the number of bytes which should be read to start each character.
    +
    + +
    Returns the number of bytes which should be read to start each character.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMapType (line 47) +

    +

    void getMapType( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getMapType()
    +
    Returns mapType
    +
    + +
    Returns mapType
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method validateByteSequence (line 61) +

    +

    int validateByteSequence( +string +$bytes, +$size)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::validateByteSequence()
    +
    Returns an integer which specifies how many more bytes to read.
    +
    + +
    Returns an integer which specifies how many more bytes to read.
    +

    A positive integer indicates the number of more bytes to fetch before invoking this method again. A value of zero means this is already a valid character. A value of -1 means this cannot possibly be a valid character.

    +

    Parameters

    +
      +
    • string $bytes:
    • +
    • $size:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_Utf8Reader.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_Utf8Reader.html new file mode 100644 index 0000000..a0bea14 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_CharacterReader_Utf8Reader.html @@ -0,0 +1,298 @@ + + + + + Docs For Class Swift_CharacterReader_Utf8Reader + + + + + + + + +

    + Class Swift_CharacterReader_Utf8Reader +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/CharacterReader/Utf8Reader.php
    +

    + +
    Analyzes UTF-8 characters.
    + +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + getCharPositions + (string $string, int $startOffset,  &$currentMap,  &$ignoredChars, array $currentMap, mixed $ignoredChars) +
    +
    + int + getInitialByteSize + () +
    +
    + void + getMapType + () +
    +
    + int + validateByteSequence + (string $bytes,  $size) +
    +
    +
    + + + + +

    + Method getCharPositions (line 87) +

    +

    void getCharPositions( +string +$string, int +$startOffset, +&$currentMap, +&$ignoredChars, array +$currentMap, mixed +$ignoredChars)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getCharPositions()
    +
    Returns the complete charactermap
    +
    + +
    Returns the complete charactermap
    +

    Parameters

    +
      +
    • string $string:
    • +
    • int $startOffset:
    • +
    • array $currentMap:
    • +
    • mixed $ignoredChars:
    • +
    • &$currentMap:
    • +
    • &$ignoredChars:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInitialByteSize (line 178) +

    +

    int getInitialByteSize( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getInitialByteSize()
    +
    Returns the number of bytes which should be read to start each character.
    +
    + +
    Returns the number of bytes which should be read to start each character.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMapType (line 148) +

    +

    void getMapType( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::getMapType()
    +
    Returns mapType
    +
    + +
    Returns mapType
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method validateByteSequence (line 162) +

    +

    int validateByteSequence( +string +$bytes, +$size)

    + +
    +
    Implementation of:
    +
    +
    Swift_CharacterReader::validateByteSequence()
    +
    Returns an integer which specifies how many more bytes to read.
    +
    + +
    Returns an integer which specifies how many more bytes to read.
    +

    A positive integer indicates the number of more bytes to fetch before invoking this method again. A value of zero means this is already a valid character. A value of -1 means this cannot possibly be a valid character.

    +

    Parameters

    +
      +
    • string $bytes:
    • +
    • $size:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:32 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder.html new file mode 100644 index 0000000..74cfba4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder.html @@ -0,0 +1,218 @@ + + + + + Docs For Class Swift_Encoder + + + + + + + + +

    + Interface Swift_Encoder +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_Mime_CharsetObserver
    +   |
    +   --Swift_Encoder
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Encoder.php
    +

    + +
    Interface for all Encoder schemes.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Encoder: +
    +
    Swift_Mime_ContentEncoder
    +
    Interface for all Transfer Encoding schemes.
    +
    +
    +
    Swift_Mime_HeaderEncoder
    +
    Interface for all Header Encoding schemes.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + encodeString + (string $string, [int $firstLineOffset = 0], [int $maxLineLength = 0]) +
    +
    +
    + + + + +

    + Method encodeString (line 29) +

    +

    string encodeString( +string +$string, [int +$firstLineOffset = 0], [int +$maxLineLength = 0])

    + + +
    Encode a given string to produce an encoded string.
    +

    Parameters

    +
      +
    • string $string:
    • +
    • int $firstLineOffset: if first line needs to be shorter
    • +
    • int $maxLineLength: - 0 indicates the default length for this encoding
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_CharsetObserver

    +

    + Swift_Mime_CharsetObserver::charsetChanged() - Notify this observer that the entity's charset has changed. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_Base64Encoder.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_Base64Encoder.html new file mode 100644 index 0000000..d22b00b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_Base64Encoder.html @@ -0,0 +1,249 @@ + + + + + Docs For Class Swift_Encoder_Base64Encoder + + + + + + + + +

    + Class Swift_Encoder_Base64Encoder +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Encoder/Base64Encoder.php
    +

    + +
    Handles Base 64 Encoding in Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Encoder_Base64Encoder: +
    +
    Swift_Mime_ContentEncoder_Base64ContentEncoder
    +
    Handles Base 64 Transfer Encoding in Swift Mailer.
    +
    +
    +
    Swift_Mime_HeaderEncoder_Base64HeaderEncoder
    +
    Handles Base64 (B) Header Encoding in Swift Mailer.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + charsetChanged + ( $charset) +
    +
    + string + encodeString + (string $string, [int $firstLineOffset = 0], [ $maxLineLength = 0], int $maxLineLength,) +
    +
    +
    + + + + +

    + Method charsetChanged (line 59) +

    +

    void charsetChanged( + +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_CharsetObserver::charsetChanged()
    +
    Notify this observer that the entity's charset has changed.
    +
    + +
    Does nothing.
    +

    Parameters

    +
      +
    • $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encodeString (line 32) +

    +

    string encodeString( +string +$string, [int +$firstLineOffset = 0], [ +$maxLineLength = 0], int +$maxLineLength,)

    + +
    +
    Implementation of:
    +
    +
    Swift_Encoder::encodeString()
    +
    Encode a given string to produce an encoded string.
    +
    + +
    Takes an unencoded string and produces a Base64 encoded string from it.
    +

    Base64 encoded strings have a maximum line length of 76 characters. If the first line needs to be shorter, indicate the difference with $firstLineOffset.

    +

    Parameters

    +
      +
    • string $string: to encode
    • +
    • int $firstLineOffset:
    • +
    • int $maxLineLength,: optional, 0 indicates the default of 76 bytes
    • +
    • $maxLineLength:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:16 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_QpEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_QpEncoder.html new file mode 100644 index 0000000..e4ffbab --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_QpEncoder.html @@ -0,0 +1,442 @@ + + + + + Docs For Class Swift_Encoder_QpEncoder + + + + + + + + +

    + Class Swift_Encoder_QpEncoder +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Encoder/QpEncoder.php
    +

    + +
    Handles Quoted Printable (QP) Encoding in Swift Mailer.
    +

    Possibly the most accurate RFC 2045 QP implementation found in PHP.

    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Encoder_QpEncoder: +
    +
    Swift_Mime_ContentEncoder_QpContentEncoder
    +
    Handles Quoted Printable (QP) Transfer Encoding in Swift Mailer.
    +
    +
    +
    Swift_Mime_HeaderEncoder_QpHeaderEncoder
    +
    Handles Quoted Printable (Q) Header Encoding in Swift Mailer.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + static string[] + $_qpMap +
    +
    + static string[] + $_safeMap +
    + + +
    + +
    +

    + static $_qpMap = array(
    0 => '=00', 1 => '=01', 2 => '=02', 3 => '=03', 4 => '=04',
    5 => '=05', 6 => '=06', 7 => '=07', 8 => '=08', 9 => '=09',
    10 => '=0A', 11 => '=0B', 12 => '=0C', 13 => '=0D', 14 => '=0E',
    15 => '=0F', 16 => '=10', 17 => '=11', 18 => '=12', 19 => '=13',
    20 => '=14', 21 => '=15', 22 => '=16', 23 => '=17', 24 => '=18',
    25 => '=19', 26 => '=1A', 27 => '=1B', 28 => '=1C', 29 => '=1D',
    30 => '=1E', 31 => '=1F', 32 => '=20', 33 => '=21', 34 => '=22',
    35 => '=23', 36 => '=24', 37 => '=25', 38 => '=26', 39 => '=27',
    40 => '=28', 41 => '=29', 42 => '=2A', 43 => '=2B', 44 => '=2C',
    45 => '=2D', 46 => '=2E', 47 => '=2F', 48 => '=30', 49 => '=31',
    50 => '=32', 51 => '=33', 52 => '=34', 53 => '=35', 54 => '=36',
    55 => '=37', 56 => '=38', 57 => '=39', 58 => '=3A', 59 => '=3B',
    60 => '=3C', 61 => '=3D', 62 => '=3E', 63 => '=3F', 64 => '=40',
    65 => '=41', 66 => '=42', 67 => '=43', 68 => '=44', 69 => '=45',
    70 => '=46', 71 => '=47', 72 => '=48', 73 => '=49', 74 => '=4A',
    75 => '=4B', 76 => '=4C', 77 => '=4D', 78 => '=4E', 79 => '=4F',
    80 => '=50', 81 => '=51', 82 => '=52', 83 => '=53', 84 => '=54',
    85 => '=55', 86 => '=56', 87 => '=57', 88 => '=58', 89 => '=59',
    90 => '=5A', 91 => '=5B', 92 => '=5C', 93 => '=5D', 94 => '=5E',
    95 => '=5F', 96 => '=60', 97 => '=61', 98 => '=62', 99 => '=63',
    100 => '=64', 101 => '=65', 102 => '=66', 103 => '=67', 104 => '=68',
    105 => '=69', 106 => '=6A', 107 => '=6B', 108 => '=6C', 109 => '=6D',
    110 => '=6E', 111 => '=6F', 112 => '=70', 113 => '=71', 114 => '=72',
    115 => '=73', 116 => '=74', 117 => '=75', 118 => '=76', 119 => '=77',
    120 => '=78', 121 => '=79', 122 => '=7A', 123 => '=7B', 124 => '=7C',
    125 => '=7D', 126 => '=7E', 127 => '=7F', 128 => '=80', 129 => '=81',
    130 => '=82', 131 => '=83', 132 => '=84', 133 => '=85', 134 => '=86',
    135 => '=87', 136 => '=88', 137 => '=89', 138 => '=8A', 139 => '=8B',
    140 => '=8C', 141 => '=8D', 142 => '=8E', 143 => '=8F', 144 => '=90',
    145 => '=91', 146 => '=92', 147 => '=93', 148 => '=94', 149 => '=95',
    150 => '=96', 151 => '=97', 152 => '=98', 153 => '=99', 154 => '=9A',
    155 => '=9B', 156 => '=9C', 157 => '=9D', 158 => '=9E', 159 => '=9F',
    160 => '=A0', 161 => '=A1', 162 => '=A2', 163 => '=A3', 164 => '=A4',
    165 => '=A5', 166 => '=A6', 167 => '=A7', 168 => '=A8', 169 => '=A9',
    170 => '=AA', 171 => '=AB', 172 => '=AC', 173 => '=AD', 174 => '=AE',
    175 => '=AF', 176 => '=B0', 177 => '=B1', 178 => '=B2', 179 => '=B3',
    180 => '=B4', 181 => '=B5', 182 => '=B6', 183 => '=B7', 184 => '=B8',
    185 => '=B9', 186 => '=BA', 187 => '=BB', 188 => '=BC', 189 => '=BD',
    190 => '=BE', 191 => '=BF', 192 => '=C0', 193 => '=C1', 194 => '=C2',
    195 => '=C3', 196 => '=C4', 197 => '=C5', 198 => '=C6', 199 => '=C7',
    200 => '=C8', 201 => '=C9', 202 => '=CA', 203 => '=CB', 204 => '=CC',
    205 => '=CD', 206 => '=CE', 207 => '=CF', 208 => '=D0', 209 => '=D1',
    210 => '=D2', 211 => '=D3', 212 => '=D4', 213 => '=D5', 214 => '=D6',
    215 => '=D7', 216 => '=D8', 217 => '=D9', 218 => '=DA', 219 => '=DB',
    220 => '=DC', 221 => '=DD', 222 => '=DE', 223 => '=DF', 224 => '=E0',
    225 => '=E1', 226 => '=E2', 227 => '=E3', 228 => '=E4', 229 => '=E5',
    230 => '=E6', 231 => '=E7', 232 => '=E8', 233 => '=E9', 234 => '=EA',
    235 => '=EB', 236 => '=EC', 237 => '=ED', 238 => '=EE', 239 => '=EF',
    240 => '=F0', 241 => '=F1', 242 => '=F2', 243 => '=F3', 244 => '=F4',
    245 => '=F5', 246 => '=F6', 247 => '=F7', 248 => '=F8', 249 => '=F9',
    250 => '=FA', 251 => '=FB', 252 => '=FC', 253 => '=FD', 254 => '=FE',
    255 => '=FF'
    )
    (line 43) +

    +

    Data type : string[]

    + +
    Pre-computed QP for HUGE optmization.
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + static $_safeMap = array() (line 103) +

    +

    Data type : string[]

    + +
    A map of non-encoded ascii characters.
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + $_charStream (line 29) +

    +

    Data type : Swift_CharacterStream

    + +
    The CharacterStream used for reading characters (as opposed to bytes).
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + $_filter (line 36) +

    +

    Data type : Swift_StreamFilter

    + +
    A filter used if input should be canonicalized.
    +
      +
    • access: - protected
    • +
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Encoder_QpEncoder + __construct + (Swift_CharacterStream $charStream, [Swift_StreamFilter $filter = null]) +
    +
    + void + charsetChanged + (string $charset) +
    +
    + string + encodeString + (string $string, [ $firstLineOffset = 0], [ $maxLineLength = 0], int $firstLineOffset,, int $maxLineLength,) +
    +
    + string + _encodeByteSequence + ( $bytes,  &$size) +
    +
    + int[] + _nextSequence + ([int $size = 4]) +
    +
    + string + _standardize + (string $string) +
    +
    +
    + + + + +

    + Constructor __construct (line 110) +

    +

    Swift_Encoder_QpEncoder __construct( +Swift_CharacterStream +$charStream, [Swift_StreamFilter +$filter = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_ContentEncoder_QpContentEncoder::__construct()
    +
    Creates a new QpContentEncoder for the given CharacterStream.
    +
    +
    +
    Swift_Mime_HeaderEncoder_QpHeaderEncoder::__construct()
    +
    Creates a new QpHeaderEncoder for the given CharacterStream.
    +
    +

    + + +
    Creates a new QpEncoder for the given CharacterStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method charsetChanged (line 199) +

    +

    void charsetChanged( +string +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_CharsetObserver::charsetChanged()
    +
    Notify this observer that the entity's charset has changed.
    +
    + +
    Updates the charset used.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encodeString (line 135) +

    +

    string encodeString( +string +$string, [ +$firstLineOffset = 0], [ +$maxLineLength = 0], int +$firstLineOffset,, int +$maxLineLength,)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_HeaderEncoder_QpHeaderEncoder::encodeString()
    +
    Takes an unencoded string and produces a Q encoded string from it.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Encoder::encodeString()
    +
    Encode a given string to produce an encoded string.
    +
    + +
    Takes an unencoded string and produces a QP encoded string from it.
    +

    QP encoded strings have a maximum line length of 76 characters. If the first line needs to be shorter, indicate the difference with $firstLineOffset.

    +

    Parameters

    +
      +
    • string $string: to encode
    • +
    • int $firstLineOffset,: optional
    • +
    • int $maxLineLength,: optional, 0 indicates the default of 76 chars
    • +
    • $firstLineOffset:
    • +
    • $maxLineLength:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _encodeByteSequence (line 212) +

    +

    string _encodeByteSequence( + +$bytes, +&$size)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_HeaderEncoder_QpHeaderEncoder::_encodeByteSequence()
    +
    Encode the given byte array into a verbatim QP form.
    +
    +

    + + +
    Encode the given byte array into a verbatim QP form.
    +

    Parameters

    +
      +
    • int[] $bytes:
    • +
    • &$size:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _nextSequence (line 238) +

    +

    int[] _nextSequence( +[int +$size = 4])

    + + +
    Get the next sequence of bytes to read from the char stream.
    +

    Parameters

    +
      +
    • int $size: number of bytes to read
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _standardize (line 249) +

    +

    string _standardize( +string +$string)

    + + +
    Make sure CRLF is correct and HT/SPACE are in valid places.
    +

    Parameters

    +
      +
    • string $string:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_Rfc2231Encoder.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_Rfc2231Encoder.html new file mode 100644 index 0000000..4af0b72 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoder_Rfc2231Encoder.html @@ -0,0 +1,263 @@ + + + + + Docs For Class Swift_Encoder_Rfc2231Encoder + + + + + + + + +

    + Class Swift_Encoder_Rfc2231Encoder +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Encoder/Rfc2231Encoder.php
    +

    + +
    Handles RFC 2231 specified Encoding in Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Encoder_Rfc2231Encoder + __construct + (Swift_CharacterStream $charStream) +
    +
    + void + charsetChanged + (string $charset) +
    +
    + string + encodeString + (string $string, [int $firstLineOffset = 0], [ $maxLineLength = 0], int $maxLineLength,) +
    +
    +
    + + + + +

    + Constructor __construct (line 34) +

    +

    Swift_Encoder_Rfc2231Encoder __construct( +Swift_CharacterStream +$charStream)

    + + +
    Creates a new Rfc2231Encoder using the given character stream instance.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method charsetChanged (line 84) +

    +

    void charsetChanged( +string +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_CharsetObserver::charsetChanged()
    +
    Notify this observer that the entity's charset has changed.
    +
    + +
    Updates the charset used.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encodeString (line 47) +

    +

    string encodeString( +string +$string, [int +$firstLineOffset = 0], [ +$maxLineLength = 0], int +$maxLineLength,)

    + +
    +
    Implementation of:
    +
    +
    Swift_Encoder::encodeString()
    +
    Encode a given string to produce an encoded string.
    +
    + +
    Takes an unencoded string and produces a string encoded according to RFC 2231 from it.
    +

    Parameters

    +
      +
    • string $string: to encode
    • +
    • int $firstLineOffset:
    • +
    • int $maxLineLength,: optional, 0 indicates the default of 75 bytes
    • +
    • $maxLineLength:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoding.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoding.html new file mode 100644 index 0000000..3f3a2f6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/Swift_Encoding.html @@ -0,0 +1,250 @@ + + + + + Docs For Class Swift_Encoding + + + + + + + + +

    + Class Swift_Encoding +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Encoding.php
    +

    + +
    Provides quick access to each encoding type.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    + +
    + + + + +

    + Static Method get7BitEncoding (line 28) +

    +

    Swift_Mime_ContentEncoder get7BitEncoding( +)

    + + +
    Get the Encoder that provides 7-bit encoding.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Static Method get8BitEncoding (line 38) +

    +

    Swift_Mime_ContentEncoder get8BitEncoding( +)

    + + +
    Get the Encoder that provides 8-bit encoding.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Static Method getBase64Encoding (line 58) +

    +

    Swift_Mime_ContentEncoder getBase64Encoding( +)

    + + +
    Get the Encoder that provides Base64 encoding.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Static Method getQpEncoding (line 48) +

    +

    Swift_Mime_ContentEncoder getQpEncoding( +)

    + + +
    Get the Encoder that provides Quoted-Printable (QP) encoding.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---GenericFixedWidthReader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---GenericFixedWidthReader.php.html new file mode 100644 index 0000000..4a4db73 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---GenericFixedWidthReader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page GenericFixedWidthReader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterReader_GenericFixedWidthReaderProvides fixed-width byte sizes for reading fixed-width character sets.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---UsAsciiReader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---UsAsciiReader.php.html new file mode 100644 index 0000000..96d58f4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---UsAsciiReader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page UsAsciiReader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterReader/UsAsciiReader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterReader_UsAsciiReaderAnalyzes US-ASCII characters.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---Utf8Reader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---Utf8Reader.php.html new file mode 100644 index 0000000..8b8a4be --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader---Utf8Reader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Utf8Reader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterReader/Utf8Reader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterReader_Utf8ReaderAnalyzes UTF-8 characters.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:32 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader.php.html new file mode 100644 index 0000000..77f10d1 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page CharacterReader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterReader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterReaderAnalyzes characters for a specific character set.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReaderFactory---SimpleCharacterReaderFactory.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReaderFactory---SimpleCharacterReaderFactory.php.html new file mode 100644 index 0000000..44e1e63 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReaderFactory---SimpleCharacterReaderFactory.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleCharacterReaderFactory.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterReaderFactory_SimpleCharacterReaderFactoryStandard factory for creating CharacterReaders.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReaderFactory.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReaderFactory.php.html new file mode 100644 index 0000000..6585d31 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---CharacterReaderFactory.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page CharacterReaderFactory.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/CharacterReaderFactory.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_CharacterReaderFactoryA factory for creating CharacterReaders.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---Base64Encoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---Base64Encoder.php.html new file mode 100644 index 0000000..db65e51 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---Base64Encoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Base64Encoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Encoder/Base64Encoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Encoder_Base64EncoderHandles Base 64 Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:16 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---QpEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---QpEncoder.php.html new file mode 100644 index 0000000..90e7691 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---QpEncoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page QpEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Encoder/QpEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Encoder_QpEncoderHandles Quoted Printable (QP) Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---Rfc2231Encoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---Rfc2231Encoder.php.html new file mode 100644 index 0000000..c631bc8 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder---Rfc2231Encoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Rfc2231Encoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Encoder/Rfc2231Encoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Encoder_Rfc2231EncoderHandles RFC 2231 specified Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder.php.html new file mode 100644 index 0000000..fa2ddb0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Encoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Encoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_EncoderInterface for all Encoder schemes.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoding.php.html b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoding.php.html new file mode 100644 index 0000000..9e4305a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Encoder/_vendors---swiftMailer---classes---Swift---Encoding.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Encoding.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Encoding.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_EncodingProvides quick access to each encoding type.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_CommandEvent.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_CommandEvent.html new file mode 100644 index 0000000..607ec28 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_CommandEvent.html @@ -0,0 +1,261 @@ + + + + + Docs For Class Swift_Events_CommandEvent + + + + + + + + +

    + Class Swift_Events_CommandEvent +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Events_EventObject
    +   |
    +   --Swift_Events_CommandEvent
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/CommandEvent.php
    +

    + +
    Generated when a command is sent over an SMTP connection.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Events_CommandEvent + __construct + (Swift_Transport $source, string $command, [array $successCodes = array()]) +
    +
    + string + getCommand + () +
    +
    + int[] + getSuccessCodes + () +
    +
    +
    + + + + +

    + Constructor __construct (line 41) +

    +

    Swift_Events_CommandEvent __construct( +Swift_Transport +$source, string +$command, [array +$successCodes = array()])

    + +

    Overrides : Swift_Events_EventObject::__construct() Create a new EventObject originating at $source.

    + +
    Create a new CommandEvent for $source with $command.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getCommand (line 53) +

    +

    string getCommand( +)

    + + +
    Get the command which was sent to the server.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSuccessCodes (line 62) +

    +

    int[] getSuccessCodes( +)

    + + +
    Get the numeric response codes which indicate success for this command.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Events_EventObject

    +

    + Swift_Events_EventObject::__construct() - Create a new EventObject originating at $source. +

    + +

    + Swift_Events_EventObject::bubbleCancelled() - Returns true if this Event will not bubble any further up the stack. +

    + +

    + Swift_Events_EventObject::cancelBubble() - Prevent this Event from bubbling any further up the stack. +

    + +

    + Swift_Events_EventObject::getSource() - Get the source object of this event. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_CommandListener.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_CommandListener.html new file mode 100644 index 0000000..42675e5 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_CommandListener.html @@ -0,0 +1,197 @@ + + + + + Docs For Class Swift_Events_CommandListener + + + + + + + + +

    + Interface Swift_Events_CommandListener +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Events_EventListener
    +   |
    +   --Swift_Events_CommandListener
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/CommandListener.php
    +

    + +
    Listens for Transports to send commands to the server.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + commandSent + (Swift_Events_CommandEvent $evt) +
    +
    +
    + + + + +

    + Method commandSent (line 27) +

    +

    void commandSent( +Swift_Events_CommandEvent +$evt)

    + + +
    Invoked immediately following a command being sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_Event.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_Event.html new file mode 100644 index 0000000..dc08738 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_Event.html @@ -0,0 +1,237 @@ + + + + + Docs For Class Swift_Events_Event + + + + + + + + +

    + Interface Swift_Events_Event +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/Event.php
    +

    + +
    The minimum interface for an Event.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + bubbleCancelled + () +
    +
    + void + cancelBubble + ([ $cancel = true], boolean $cancel,) +
    +
    + object + getSource + () +
    +
    +
    + + + + +

    + Method bubbleCancelled (line 37) +

    +

    boolean bubbleCancelled( +)

    + + +
    Returns true if this Event will not bubble any further up the stack.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method cancelBubble (line 31) +

    +

    void cancelBubble( +[ +$cancel = true], boolean +$cancel,)

    + + +
    Prevent this Event from bubbling any further up the stack.
    +

    Parameters

    +
      +
    • boolean $cancel,: optional
    • +
    • $cancel:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSource (line 25) +

    +

    object getSource( +)

    + + +
    Get the source object of this event.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventDispatcher.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventDispatcher.html new file mode 100644 index 0000000..9f42b44 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventDispatcher.html @@ -0,0 +1,359 @@ + + + + + Docs For Class Swift_Events_EventDispatcher + + + + + + + + +

    + Interface Swift_Events_EventDispatcher +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/EventDispatcher.php
    +

    + +
    Interface for the EventDispatcher which handles the event dispatching layer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + bindEventListener + (Swift_Events_EventListener $listener) +
    +
    + Swift_Events_CommandEvent + createCommandEvent + (Swift_Transport $source, string $command, [array $successCodes = array()]) +
    +
    + Swift_Events_ResponseEvent + createResponseEvent + (Swift_Transport $source, string $response, boolean $valid) +
    + + + +
    + void + dispatchEvent + (Swift_Events_EventObject $evt, string $target) +
    +
    +
    + + + + +

    + Method bindEventListener (line 72) +

    +

    void bindEventListener( +Swift_Events_EventListener +$listener)

    + + +
    Bind an event listener to this dispatcher.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createCommandEvent (line 39) +

    +

    Swift_Events_CommandEvent createCommandEvent( +Swift_Transport +$source, string +$command, [array +$successCodes = array()])

    + + +
    Create a new CommandEvent for $source and $command.
    +

    Parameters

    +
      +
    • Swift_Transport $source:
    • +
    • string $command: That will be executed
    • +
    • array $successCodes: That are needed
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createResponseEvent (line 49) +

    +

    Swift_Events_ResponseEvent createResponseEvent( +Swift_Transport +$source, string +$response, boolean +$valid)

    + + +
    Create a new ResponseEvent for $source and $response.
    +

    Parameters

    +
      +
    • Swift_Transport $source:
    • +
    • string $response:
    • +
    • boolean $valid: If the response is valid
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createSendEvent (line 29) +

    +

    Swift_Events_SendEvent createSendEvent( +Swift_Transport +$source, Swift_Mime_Message +$message)

    + + +
    Create a new SendEvent for $source and $message.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createTransportChangeEvent (line 57) +

    +

    Swift_Events_TransportChangeEvent createTransportChangeEvent( +Swift_Transport +$source)

    + + +
    Create a new TransportChangeEvent for $source.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createTransportExceptionEvent (line 65) +

    +

    Swift_Events_TransportExceptionEvent createTransportExceptionEvent( +Swift_Transport +$source, Swift_TransportException +$ex)

    + + +
    Create a new TransportExceptionEvent for $source.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method dispatchEvent (line 79) +

    +

    void dispatchEvent( +Swift_Events_EventObject +$evt, string +$target)

    + + +
    Dispatch the given Event to all suitable listeners.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventListener.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventListener.html new file mode 100644 index 0000000..7fe7e59 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventListener.html @@ -0,0 +1,192 @@ + + + + + Docs For Class Swift_Events_EventListener + + + + + + + + +

    + Interface Swift_Events_EventListener +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/EventListener.php
    +

    + +
    An identity interface which all EventListeners must extend.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Events_EventListener: +
    +
    Swift_Events_CommandListener
    +
    Listens for Transports to send commands to the server.
    +
    +
    +
    Swift_Events_ResponseListener
    +
    Listens for responses from a remote SMTP server.
    +
    +
    +
    Swift_Events_SendListener
    +
    Listens for Messages being sent from within the Transport system.
    +
    +
    +
    Swift_Events_TransportChangeListener
    +
    Listens for changes within the Transport system.
    +
    +
    +
    Swift_Events_TransportExceptionListener
    +
    Listens for Exceptions thrown from within the Transport system.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    +
    + + + +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventObject.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventObject.html new file mode 100644 index 0000000..5a053fb --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_EventObject.html @@ -0,0 +1,320 @@ + + + + + Docs For Class Swift_Events_EventObject + + + + + + + + +

    + Class Swift_Events_EventObject +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/EventObject.php
    +

    + +
    A base Event which all Event classes inherit from.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Events_EventObject: +
    +
    Swift_Events_CommandEvent
    +
    Generated when a command is sent over an SMTP connection.
    +
    +
    +
    Swift_Events_ResponseEvent
    +
    Generated when a response is received on a SMTP connection.
    +
    +
    +
    Swift_Events_SendEvent
    +
    Generated when a message is being sent.
    +
    +
    +
    Swift_Events_TransportChangeEvent
    +
    Generated when the state of a Transport is changed (i.e. stopped/started).
    +
    +
    +
    Swift_Events_TransportExceptionEvent
    +
    Generated when a TransportException is thrown from the Transport system.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Events_EventObject + __construct + (object $source) +
    +
    + boolean + bubbleCancelled + () +
    +
    + void + cancelBubble + ([ $cancel = true], boolean $cancel,) +
    +
    + object + getSource + () +
    +
    +
    + + + + +

    + Constructor __construct (line 33) +

    +

    Swift_Events_EventObject __construct( +object +$source)

    +

    Overridden in child classes as:
    +

    +
    Swift_Events_CommandEvent::__construct()
    +
    Create a new CommandEvent for $source with $command.
    +
    +
    +
    Swift_Events_ResponseEvent::__construct()
    +
    Create a new ResponseEvent for $source and $response.
    +
    +
    +
    Swift_Events_SendEvent::__construct()
    +
    Create a new SendEvent for $source and $message.
    +
    +
    +
    Swift_Events_TransportExceptionEvent::__construct()
    +
    Create a new TransportExceptionEvent for $transport.
    +
    +

    + + +
    Create a new EventObject originating at $source.
    +

    Parameters

    +
      +
    • object $source:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method bubbleCancelled (line 60) +

    +

    boolean bubbleCancelled( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_Event::bubbleCancelled()
    +
    Returns true if this Event will not bubble any further up the stack.
    +
    + +
    Returns true if this Event will not bubble any further up the stack.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method cancelBubble (line 51) +

    +

    void cancelBubble( +[ +$cancel = true], boolean +$cancel,)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_Event::cancelBubble()
    +
    Prevent this Event from bubbling any further up the stack.
    +
    + +
    Prevent this Event from bubbling any further up the stack.
    +

    Parameters

    +
      +
    • boolean $cancel,: optional
    • +
    • $cancel:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSource (line 42) +

    +

    object getSource( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_Event::getSource()
    +
    Get the source object of this event.
    +
    + +
    Get the source object of this event.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_ResponseEvent.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_ResponseEvent.html new file mode 100644 index 0000000..edb1ef9 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_ResponseEvent.html @@ -0,0 +1,261 @@ + + + + + Docs For Class Swift_Events_ResponseEvent + + + + + + + + +

    + Class Swift_Events_ResponseEvent +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_Events_EventObject
    +   |
    +   --Swift_Events_ResponseEvent
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/ResponseEvent.php
    +

    + +
    Generated when a response is received on a SMTP connection.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Events_ResponseEvent + __construct + (Swift_Transport $source, string $response, [boolean $valid = false]) +
    +
    + string + getResponse + () +
    +
    + boolean + isValid + () +
    +
    +
    + + + + +

    + Constructor __construct (line 40) +

    +

    Swift_Events_ResponseEvent __construct( +Swift_Transport +$source, string +$response, [boolean +$valid = false])

    + +

    Overrides : Swift_Events_EventObject::__construct() Create a new EventObject originating at $source.

    + +
    Create a new ResponseEvent for $source and $response.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getResponse (line 51) +

    +

    string getResponse( +)

    + + +
    Get the response which was received from the server.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method isValid (line 60) +

    +

    boolean isValid( +)

    + + +
    Get the success status of this Event.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Events_EventObject

    +

    + Swift_Events_EventObject::__construct() - Create a new EventObject originating at $source. +

    + +

    + Swift_Events_EventObject::bubbleCancelled() - Returns true if this Event will not bubble any further up the stack. +

    + +

    + Swift_Events_EventObject::cancelBubble() - Prevent this Event from bubbling any further up the stack. +

    + +

    + Swift_Events_EventObject::getSource() - Get the source object of this event. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_ResponseListener.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_ResponseListener.html new file mode 100644 index 0000000..2d16e6f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_ResponseListener.html @@ -0,0 +1,197 @@ + + + + + Docs For Class Swift_Events_ResponseListener + + + + + + + + +

    + Interface Swift_Events_ResponseListener +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Events_EventListener
    +   |
    +   --Swift_Events_ResponseListener
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/ResponseListener.php
    +

    + +
    Listens for responses from a remote SMTP server.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    + +
    + + + + +

    + Method responseReceived (line 27) +

    +

    void responseReceived( +Swift_Events_ResponseEvent +$evt)

    + + +
    Invoked immediately following a response coming back.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SendEvent.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SendEvent.html new file mode 100644 index 0000000..f2ea1bf --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SendEvent.html @@ -0,0 +1,402 @@ + + + + + Docs For Class Swift_Events_SendEvent + + + + + + + + +

    + Class Swift_Events_SendEvent +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_Events_EventObject
    +   |
    +   --Swift_Events_SendEvent
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/SendEvent.php
    +

    + +
    Generated when a message is being sent.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + + + +
    + +
    +

    + RESULT_FAILED = 0x1000 (line 32) +

    + +
    Sending failed
    +
      +
    +
    + +
    +

    + RESULT_PENDING = 0x0001 (line 23) +

    + +
    Sending has yet to occur
    +
      +
    +
    + +
    +

    + RESULT_SUCCESS = 0x0010 (line 26) +

    + +
    Sending was successful
    +
      +
    +
    + +
    +

    + RESULT_TENTATIVE = 0x0100 (line 29) +

    + +
    Sending worked, but there were some failures
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Events_SendEvent + __construct + (Swift_Transport $source, Swift_Mime_Message $message) +
    +
    + string[] + getFailedRecipients + () +
    + +
    + int + getResult + () +
    + +
    + void + setFailedRecipients + (array $recipients) +
    +
    + int + setResult + ( $result) +
    +
    +
    + + + + +

    + Constructor __construct (line 63) +

    +

    Swift_Events_SendEvent __construct( +Swift_Transport +$source, Swift_Mime_Message +$message)

    + +

    Overrides : Swift_Events_EventObject::__construct() Create a new EventObject originating at $source.

    + +
    Create a new SendEvent for $source and $message.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFailedRecipients (line 102) +

    +

    string[] getFailedRecipients( +)

    + + +
    Get an recipient addresses which were not accepted for delivery.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMessage (line 84) +

    +

    Swift_Mime_Message getMessage( +)

    + + +
    Get the Message being sent.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getResult (line 122) +

    +

    int getResult( +)

    + + +
    Get the result of this Event.
    +

    The return value is a bitmask from RESULT_PENDING, RESULT_SUCCESS, RESULT_TENTATIVE, RESULT_FAILED

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTransport (line 75) +

    +

    Swift_Transport getTransport( +)

    + + +
    Get the Transport used to send the Message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFailedRecipients (line 93) +

    +

    void setFailedRecipients( +array +$recipients)

    + + +
    Set the array of addresses that failed in sending.
    +

    Parameters

    +
      +
    • array $recipients:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setResult (line 111) +

    +

    int setResult( + +$result)

    + + +
    Set the result of sending.
    +

    Parameters

    +
      +
    • $result:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Events_EventObject

    +

    + Swift_Events_EventObject::__construct() - Create a new EventObject originating at $source. +

    + +

    + Swift_Events_EventObject::bubbleCancelled() - Returns true if this Event will not bubble any further up the stack. +

    + +

    + Swift_Events_EventObject::cancelBubble() - Prevent this Event from bubbling any further up the stack. +

    + +

    + Swift_Events_EventObject::getSource() - Get the source object of this event. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SendListener.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SendListener.html new file mode 100644 index 0000000..9f82d6a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SendListener.html @@ -0,0 +1,222 @@ + + + + + Docs For Class Swift_Events_SendListener + + + + + + + + +

    + Interface Swift_Events_SendListener +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Events_EventListener
    +   |
    +   --Swift_Events_SendListener
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/SendListener.php
    +

    + +
    Listens for Messages being sent from within the Transport system.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    + +
    + void + sendPerformed + (Swift_Events_SendEvent $evt) +
    +
    +
    + + + + +

    + Method beforeSendPerformed (line 27) +

    +

    void beforeSendPerformed( +Swift_Events_SendEvent +$evt)

    + + +
    Invoked immediately before the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sendPerformed (line 33) +

    +

    void sendPerformed( +Swift_Events_SendEvent +$evt)

    + + +
    Invoked immediately after the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SimpleEventDispatcher.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SimpleEventDispatcher.html new file mode 100644 index 0000000..f02a7ab --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_SimpleEventDispatcher.html @@ -0,0 +1,421 @@ + + + + + Docs For Class Swift_Events_SimpleEventDispatcher + + + + + + + + +

    + Class Swift_Events_SimpleEventDispatcher +

    (line 27) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/SimpleEventDispatcher.php
    +

    + +
    The EventDispatcher which handles the event dispatching layer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Events_SimpleEventDispatcher + __construct + () +
    +
    + void + bindEventListener + (Swift_Events_EventListener $listener) +
    +
    + Swift_Events_CommandEvent + createCommandEvent + (Swift_Transport $source, string $command, [array $successCodes = array()]) +
    +
    + Swift_Events_ResponseEvent + createResponseEvent + (Swift_Transport $source, string $response, boolean $valid) +
    + + + +
    + void + dispatchEvent + (Swift_Events_EventObject $evt, string $target) +
    +
    +
    + + + + +

    + Constructor __construct (line 42) +

    +

    Swift_Events_SimpleEventDispatcher __construct( +)

    + + +
    Create a new EventDispatcher.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method bindEventListener (line 123) +

    +

    void bindEventListener( +Swift_Events_EventListener +$listener)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_EventDispatcher::bindEventListener()
    +
    Bind an event listener to this dispatcher.
    +
    + +
    Bind an event listener to this dispatcher.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createCommandEvent (line 74) +

    +

    Swift_Events_CommandEvent createCommandEvent( +Swift_Transport +$source, string +$command, [array +$successCodes = array()])

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_EventDispatcher::createCommandEvent()
    +
    Create a new CommandEvent for $source and $command.
    +
    + +
    Create a new CommandEvent for $source and $command.
    +

    Parameters

    +
      +
    • Swift_Transport $source:
    • +
    • string $command: That will be executed
    • +
    • array $successCodes: That are needed
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createResponseEvent (line 88) +

    +

    Swift_Events_ResponseEvent createResponseEvent( +Swift_Transport +$source, string +$response, boolean +$valid)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_EventDispatcher::createResponseEvent()
    +
    Create a new ResponseEvent for $source and $response.
    +
    + +
    Create a new ResponseEvent for $source and $response.
    +

    Parameters

    +
      +
    • Swift_Transport $source:
    • +
    • string $response:
    • +
    • boolean $valid: If the response is valid
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createSendEvent (line 60) +

    +

    Swift_Events_SendEvent createSendEvent( +Swift_Transport +$source, Swift_Mime_Message +$message)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_EventDispatcher::createSendEvent()
    +
    Create a new SendEvent for $source and $message.
    +
    + +
    Create a new SendEvent for $source and $message.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createTransportChangeEvent (line 100) +

    +

    Swift_Events_TransportChangeEvent createTransportChangeEvent( +Swift_Transport +$source)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_EventDispatcher::createTransportChangeEvent()
    +
    Create a new TransportChangeEvent for $source.
    +
    + +
    Create a new TransportChangeEvent for $source.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createTransportExceptionEvent (line 112) +

    +

    Swift_Events_TransportExceptionEvent createTransportExceptionEvent( +Swift_Transport +$source, Swift_TransportException +$ex)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_EventDispatcher::createTransportExceptionEvent()
    +
    Create a new TransportExceptionEvent for $source.
    +
    + +
    Create a new TransportExceptionEvent for $source.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method dispatchEvent (line 142) +

    +

    void dispatchEvent( +Swift_Events_EventObject +$evt, string +$target)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_EventDispatcher::dispatchEvent()
    +
    Dispatch the given Event to all suitable listeners.
    +
    + +
    Dispatch the given Event to all suitable listeners.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportChangeEvent.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportChangeEvent.html new file mode 100644 index 0000000..a7ad5aa --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportChangeEvent.html @@ -0,0 +1,211 @@ + + + + + Docs For Class Swift_Events_TransportChangeEvent + + + + + + + + +

    + Class Swift_Events_TransportChangeEvent +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_Events_EventObject
    +   |
    +   --Swift_Events_TransportChangeEvent
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/TransportChangeEvent.php
    +

    + +
    Generated when the state of a Transport is changed (i.e. stopped/started).
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    + +
    + + + + +

    + Method getTransport (line 26) +

    +

    Swift_Transport getTransport( +)

    + + +
    Get the Transport.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Events_EventObject

    +

    + Swift_Events_EventObject::__construct() - Create a new EventObject originating at $source. +

    + +

    + Swift_Events_EventObject::bubbleCancelled() - Returns true if this Event will not bubble any further up the stack. +

    + +

    + Swift_Events_EventObject::cancelBubble() - Prevent this Event from bubbling any further up the stack. +

    + +

    + Swift_Events_EventObject::getSource() - Get the source object of this event. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportChangeListener.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportChangeListener.html new file mode 100644 index 0000000..5b2be03 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportChangeListener.html @@ -0,0 +1,272 @@ + + + + + Docs For Class Swift_Events_TransportChangeListener + + + + + + + + +

    + Interface Swift_Events_TransportChangeListener +

    (line 22) +
    + + +
    +

    Description

    +
    +Swift_Events_EventListener
    +   |
    +   --Swift_Events_TransportChangeListener
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/TransportChangeListener.php
    +

    + +
    Listens for changes within the Transport system.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    + +
    + + + + +

    + Method beforeTransportStarted (line 30) +

    +

    void beforeTransportStarted( +Swift_Events_TransportChangeEvent +$evt)

    + + +
    Invoked just before a Transport is started.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeTransportStopped (line 44) +

    +

    void beforeTransportStopped( +Swift_Events_TransportChangeEvent +$evt)

    + + +
    Invoked just before a Transport is stopped.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method transportStarted (line 37) +

    +

    void transportStarted( +Swift_Events_TransportChangeEvent +$evt)

    + + +
    Invoked immediately after the Transport is started.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method transportStopped (line 51) +

    +

    void transportStopped( +Swift_Events_TransportChangeEvent +$evt)

    + + +
    Invoked immediately after the Transport is stopped.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportExceptionEvent.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportExceptionEvent.html new file mode 100644 index 0000000..7e07a95 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportExceptionEvent.html @@ -0,0 +1,239 @@ + + + + + Docs For Class Swift_Events_TransportExceptionEvent + + + + + + + + +

    + Class Swift_Events_TransportExceptionEvent +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Events_EventObject
    +   |
    +   --Swift_Events_TransportExceptionEvent
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/TransportExceptionEvent.php
    +

    + +
    Generated when a TransportException is thrown from the Transport system.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Events_TransportExceptionEvent + __construct + (Swift_Transport $transport, Swift_TransportException $ex) +
    + +
    +
    + + + + +

    + Constructor __construct (line 34) +

    +

    Swift_Events_TransportExceptionEvent __construct( +Swift_Transport +$transport, Swift_TransportException +$ex)

    + +

    Overrides : Swift_Events_EventObject::__construct() Create a new EventObject originating at $source.

    + +
    Create a new TransportExceptionEvent for $transport.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getException (line 45) +

    +

    Swift_TransportException getException( +)

    + + +
    Get the TransportException thrown.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Events_EventObject

    +

    + Swift_Events_EventObject::__construct() - Create a new EventObject originating at $source. +

    + +

    + Swift_Events_EventObject::bubbleCancelled() - Returns true if this Event will not bubble any further up the stack. +

    + +

    + Swift_Events_EventObject::cancelBubble() - Prevent this Event from bubbling any further up the stack. +

    + +

    + Swift_Events_EventObject::getSource() - Get the source object of this event. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportExceptionListener.html b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportExceptionListener.html new file mode 100644 index 0000000..0eae067 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/Swift_Events_TransportExceptionListener.html @@ -0,0 +1,197 @@ + + + + + Docs For Class Swift_Events_TransportExceptionListener + + + + + + + + +

    + Interface Swift_Events_TransportExceptionListener +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Events_EventListener
    +   |
    +   --Swift_Events_TransportExceptionListener
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Events/TransportExceptionListener.php
    +

    + +
    Listens for Exceptions thrown from within the Transport system.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    + +
    + + + + +

    + Method exceptionThrown (line 28) +

    +

    void exceptionThrown( +Swift_Events_TransportExceptionEvent +$evt)

    + + +
    Invoked as a TransportException is thrown in the Transport system.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---CommandEvent.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---CommandEvent.php.html new file mode 100644 index 0000000..6cb6022 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---CommandEvent.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page CommandEvent.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/CommandEvent.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_CommandEventGenerated when a command is sent over an SMTP connection.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---CommandListener.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---CommandListener.php.html new file mode 100644 index 0000000..9ee87f8 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---CommandListener.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page CommandListener.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/CommandListener.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_CommandListenerListens for Transports to send commands to the server.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---Event.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---Event.php.html new file mode 100644 index 0000000..96a93a7 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---Event.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Event.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/Event.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_EventThe minimum interface for an Event.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventDispatcher.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventDispatcher.php.html new file mode 100644 index 0000000..b0716fa --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventDispatcher.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EventDispatcher.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/EventDispatcher.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_EventDispatcherInterface for the EventDispatcher which handles the event dispatching layer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventListener.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventListener.php.html new file mode 100644 index 0000000..5632ffb --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventListener.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EventListener.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/EventListener.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_EventListenerAn identity interface which all EventListeners must extend.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventObject.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventObject.php.html new file mode 100644 index 0000000..5e38b1a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---EventObject.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EventObject.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/EventObject.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_EventObjectA base Event which all Event classes inherit from.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---ResponseEvent.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---ResponseEvent.php.html new file mode 100644 index 0000000..7f3b942 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---ResponseEvent.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ResponseEvent.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/ResponseEvent.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_ResponseEventGenerated when a response is received on a SMTP connection.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---ResponseListener.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---ResponseListener.php.html new file mode 100644 index 0000000..d9d9c28 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---ResponseListener.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ResponseListener.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/ResponseListener.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_ResponseListenerListens for responses from a remote SMTP server.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SendEvent.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SendEvent.php.html new file mode 100644 index 0000000..a47e3ea --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SendEvent.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SendEvent.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/SendEvent.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_SendEventGenerated when a message is being sent.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SendListener.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SendListener.php.html new file mode 100644 index 0000000..81e32b4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SendListener.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SendListener.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/SendListener.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_SendListenerListens for Messages being sent from within the Transport system.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SimpleEventDispatcher.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SimpleEventDispatcher.php.html new file mode 100644 index 0000000..e36a9c5 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---SimpleEventDispatcher.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleEventDispatcher.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/SimpleEventDispatcher.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_SimpleEventDispatcherThe EventDispatcher which handles the event dispatching layer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportChangeEvent.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportChangeEvent.php.html new file mode 100644 index 0000000..e6fbd4c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportChangeEvent.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page TransportChangeEvent.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/TransportChangeEvent.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_TransportChangeEventGenerated when the state of a Transport is changed (i.e. stopped/started).
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportChangeListener.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportChangeListener.php.html new file mode 100644 index 0000000..deb22d0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportChangeListener.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page TransportChangeListener.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/TransportChangeListener.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_TransportChangeListenerListens for changes within the Transport system.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportExceptionEvent.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportExceptionEvent.php.html new file mode 100644 index 0000000..b1b9dbd --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportExceptionEvent.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page TransportExceptionEvent.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/TransportExceptionEvent.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_TransportExceptionEventGenerated when a TransportException is thrown from the Transport system.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportExceptionListener.php.html b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportExceptionListener.php.html new file mode 100644 index 0000000..b6dc340 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Events/_vendors---swiftMailer---classes---Swift---Events---TransportExceptionListener.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page TransportExceptionListener.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Events/TransportExceptionListener.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Events_TransportExceptionListenerListens for Exceptions thrown from within the Transport system.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache.html new file mode 100644 index 0000000..0e06f81 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache.html @@ -0,0 +1,427 @@ + + + + + Docs For Class Swift_KeyCache + + + + + + + + +

    + Interface Swift_KeyCache +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/KeyCache.php
    +

    + +
    Provides a mechanism for storing data using two keys.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + +
    + +
    +

    + MODE_APPEND = 2 (line 27) +

    + +
    Mode for appending data to the end of existing cached data
    +
      +
    +
    + +
    +

    + MODE_WRITE = 1 (line 24) +

    + +
    Mode for replacing existing cached data
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + clearAll + (string $nsKey) +
    +
    + void + clearKey + (string $nsKey, string $itemKey) +
    +
    + void + exportToByteStream + (string $nsKey, string $itemKey, Swift_InputByteStream $is) +
    +
    + Swift_InputByteStream + getInputByteStream + (string $nsKey, string $itemKey, [Swift_InputByteStream $is = null], Swift_InputByteStream $is,) +
    +
    + string + getString + (string $nsKey, string $itemKey) +
    +
    + boolean + hasKey + (string $nsKey, string $itemKey) +
    +
    + void + importFromByteStream + (string $nsKey, string $itemKey, Swift_OutputByteStream $os, int $mode) +
    +
    + void + setString + (string $nsKey, string $itemKey, string $string, int $mode) +
    +
    +
    + + + + +

    + Method clearAll (line 97) +

    +

    void clearAll( +string +$nsKey)

    + + +
    Clear all data in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clearKey (line 91) +

    +

    void clearKey( +string +$nsKey, string +$itemKey)

    + + +
    Clear data for $itemKey in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method exportToByteStream (line 76) +

    +

    void exportToByteStream( +string +$nsKey, string +$itemKey, Swift_InputByteStream +$is)

    + + +
    Get data back out of the cache as a ByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInputByteStream (line 59) +

    +

    Swift_InputByteStream getInputByteStream( +string +$nsKey, string +$itemKey, [Swift_InputByteStream +$is = null], Swift_InputByteStream +$is,)

    + + +
    Provides a ByteStream which when written to, writes data to $itemKey.
    +

    NOTE: The stream will always write in append mode. If the optional third parameter is passed all writes will go through $is.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getString (line 68) +

    +

    string getString( +string +$nsKey, string +$itemKey)

    + + +
    Get data back out of the cache as a string.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method hasKey (line 84) +

    +

    boolean hasKey( +string +$nsKey, string +$itemKey)

    + + +
    Check if the given $itemKey exists in the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importFromByteStream (line 47) +

    +

    void importFromByteStream( +string +$nsKey, string +$itemKey, Swift_OutputByteStream +$os, int +$mode)

    + + +
    Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    + + +

    Info

    + +
    + +

    + Method setString (line 37) +

    +

    void setString( +string +$nsKey, string +$itemKey, string +$string, int +$mode)

    + + +
    Set a string into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    • string $string:
    • +
    • int $mode:
    • +
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_ArrayKeyCache.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_ArrayKeyCache.html new file mode 100644 index 0000000..8f562c3 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_ArrayKeyCache.html @@ -0,0 +1,472 @@ + + + + + Docs For Class Swift_KeyCache_ArrayKeyCache + + + + + + + + +

    + Class Swift_KeyCache_ArrayKeyCache +

    (line 23) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/KeyCache/ArrayKeyCache.php
    +

    + +
    A basic KeyCache backed by an array.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_KeyCache_ArrayKeyCache + __construct + (Swift_KeyCache_KeyCacheInputStream $stream) +
    +
    + void + clearAll + (string $nsKey) +
    +
    + void + clearKey + (string $nsKey, string $itemKey) +
    +
    + void + exportToByteStream + (string $nsKey, string $itemKey, Swift_InputByteStream $is) +
    +
    + Swift_InputByteStream + getInputByteStream + (string $nsKey, string $itemKey, [Swift_InputByteStream $writeThrough = null]) +
    +
    + string + getString + (string $nsKey, string $itemKey) +
    +
    + boolean + hasKey + (string $nsKey, string $itemKey) +
    +
    + void + importFromByteStream + (string $nsKey, string $itemKey, Swift_OutputByteStream $os, int $mode) +
    +
    + void + setString + (string $nsKey, string $itemKey, string $string, int $mode) +
    +
    +
    + + + + +

    + Constructor __construct (line 45) +

    +

    Swift_KeyCache_ArrayKeyCache __construct( +Swift_KeyCache_KeyCacheInputStream +$stream)

    + + +
    Create a new ArrayKeyCache with the given $stream for cloning to make InputByteStreams.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clearAll (line 189) +

    +

    void clearAll( +string +$nsKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::clearAll()
    +
    Clear all data in the namespace $nsKey if it exists.
    +
    + +
    Clear all data in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clearKey (line 180) +

    +

    void clearKey( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::clearKey()
    +
    Clear data for $itemKey in the namespace $nsKey if it exists.
    +
    + +
    Clear data for $itemKey in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method exportToByteStream (line 157) +

    +

    void exportToByteStream( +string +$nsKey, string +$itemKey, Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::exportToByteStream()
    +
    Get data back out of the cache as a ByteStream.
    +
    + +
    Get data back out of the cache as a ByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInputByteStream (line 122) +

    +

    Swift_InputByteStream getInputByteStream( +string +$nsKey, string +$itemKey, [Swift_InputByteStream +$writeThrough = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::getInputByteStream()
    +
    Provides a ByteStream which when written to, writes data to $itemKey.
    +
    + +
    Provides a ByteStream which when written to, writes data to $itemKey.
    +

    NOTE: The stream will always write in append mode.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getString (line 142) +

    +

    string getString( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::getString()
    +
    Get data back out of the cache as a string.
    +
    + +
    Get data back out of the cache as a string.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method hasKey (line 169) +

    +

    boolean hasKey( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::hasKey()
    +
    Check if the given $itemKey exists in the namespace $nsKey.
    +
    + +
    Check if the given $itemKey exists in the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importFromByteStream (line 89) +

    +

    void importFromByteStream( +string +$nsKey, string +$itemKey, Swift_OutputByteStream +$os, int +$mode)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::importFromByteStream()
    +
    Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
    +
    + +
    Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    + + +

    Info

    +
      +
    • see - MODE_WRITE, MODE_APPEND
    • +
    • access - public
    • +
    +
    + +

    + Method setString (line 58) +

    +

    void setString( +string +$nsKey, string +$itemKey, string +$string, int +$mode)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::setString()
    +
    Set a string into the cache under $itemKey for the namespace $nsKey.
    +
    + +
    Set a string into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    • string $string:
    • +
    • int $mode:
    • +
    + +

    Info

    +
      +
    • see - MODE_WRITE, MODE_APPEND
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:12 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_DiskKeyCache.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_DiskKeyCache.html new file mode 100644 index 0000000..9897e16 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_DiskKeyCache.html @@ -0,0 +1,523 @@ + + + + + Docs For Class Swift_KeyCache_DiskKeyCache + + + + + + + + +

    + Class Swift_KeyCache_DiskKeyCache +

    (line 24) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/KeyCache/DiskKeyCache.php
    +

    + +
    A KeyCache which streams to and from disk.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + +
    + +
    +

    + POSITION_END = 1 (line 31) +

    + +
    Signal to place pointer at end of file
    +
      +
    +
    + +
    +

    + POSITION_START = 0 (line 28) +

    + +
    Signal to place pointer at start of file
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_KeyCache_DiskKeyCache + __construct + (Swift_KeyCache_KeyCacheInputStream $stream, string $path) +
    +
    + void + __destruct + () +
    +
    + void + clearAll + (string $nsKey) +
    +
    + void + clearKey + (string $nsKey, string $itemKey) +
    +
    + void + exportToByteStream + (string $nsKey, string $itemKey, Swift_InputByteStream $is) +
    +
    + Swift_InputByteStream + getInputByteStream + (string $nsKey, string $itemKey, [Swift_InputByteStream $writeThrough = null]) +
    +
    + string + getString + (string $nsKey, string $itemKey) +
    +
    + boolean + hasKey + (string $nsKey, string $itemKey) +
    +
    + void + importFromByteStream + (string $nsKey, string $itemKey, Swift_OutputByteStream $os, int $mode) +
    +
    + void + setString + (string $nsKey, string $itemKey, string $string, int $mode) +
    +
    +
    + + + + +

    + Constructor __construct (line 67) +

    +

    Swift_KeyCache_DiskKeyCache __construct( +Swift_KeyCache_KeyCacheInputStream +$stream, string +$path)

    + + +
    Create a new DiskKeyCache with the given $stream for cloning to make InputByteStreams, and the given $path to save to.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Destructor __destruct (line 308) +

    +

    void __destruct( +)

    + + +
    Destructor.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clearAll (line 246) +

    +

    void clearAll( +string +$nsKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::clearAll()
    +
    Clear all data in the namespace $nsKey if it exists.
    +
    + +
    Clear all data in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clearKey (line 231) +

    +

    void clearKey( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::clearKey()
    +
    Clear data for $itemKey in the namespace $nsKey if it exists.
    +
    + +
    Clear data for $itemKey in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method exportToByteStream (line 195) +

    +

    void exportToByteStream( +string +$nsKey, string +$itemKey, Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::exportToByteStream()
    +
    Get data back out of the cache as a ByteStream.
    +
    + +
    Get data back out of the cache as a ByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInputByteStream (line 145) +

    +

    Swift_InputByteStream getInputByteStream( +string +$nsKey, string +$itemKey, [Swift_InputByteStream +$writeThrough = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::getInputByteStream()
    +
    Provides a ByteStream which when written to, writes data to $itemKey.
    +
    + +
    Provides a ByteStream which when written to, writes data to $itemKey.
    +

    NOTE: The stream will always write in append mode.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getString (line 166) +

    +

    string getString( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::getString()
    +
    Get data back out of the cache as a string.
    +
    + +
    Get data back out of the cache as a string.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method hasKey (line 221) +

    +

    boolean hasKey( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::hasKey()
    +
    Check if the given $itemKey exists in the namespace $nsKey.
    +
    + +
    Check if the given $itemKey exists in the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importFromByteStream (line 113) +

    +

    void importFromByteStream( +string +$nsKey, string +$itemKey, Swift_OutputByteStream +$os, int +$mode)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::importFromByteStream()
    +
    Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
    +
    + +
    Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    + + +

    Info

    +
      +
    • see - MODE_WRITE, MODE_APPEND
    • +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    + +

    + Method setString (line 83) +

    +

    void setString( +string +$nsKey, string +$itemKey, string +$string, int +$mode)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::setString()
    +
    Set a string into the cache under $itemKey for the namespace $nsKey.
    +
    + +
    Set a string into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    • string $string:
    • +
    • int $mode:
    • +
    + +

    Info

    +
      +
    • see - MODE_WRITE, MODE_APPEND
    • +
    • throws - Swift_IoException
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_KeyCacheInputStream.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_KeyCacheInputStream.html new file mode 100644 index 0000000..3f81507 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_KeyCacheInputStream.html @@ -0,0 +1,315 @@ + + + + + Docs For Class Swift_KeyCache_KeyCacheInputStream + + + + + + + + +

    + Interface Swift_KeyCache_KeyCacheInputStream +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_InputByteStream
    +   |
    +   --Swift_KeyCache_KeyCacheInputStream
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/KeyCache/KeyCacheInputStream.php
    +

    + +
    Writes data to a KeyCache using a stream.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + setItemKey + (string $itemKey) +
    +
    + void + setKeyCache + (Swift_KeyCache $keyCache) +
    +
    + void + setNsKey + (string $nsKey) +
    + +
    + void + __clone + () +
    +
    +
    + + + + +

    + Method setItemKey (line 39) +

    +

    void setItemKey( +string +$itemKey)

    + + +
    Set the itemKey which will be written to.
    +

    Parameters

    +
      +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setKeyCache (line 27) +

    +

    void setKeyCache( +Swift_KeyCache +$keyCache)

    + + +
    Set the KeyCache to wrap.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setNsKey (line 33) +

    +

    void setNsKey( +string +$nsKey)

    + + +
    Set the nsKey which will be written to.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setWriteThroughStream (line 45) +

    +

    void setWriteThroughStream( +Swift_InputByteStream +$is)

    + + +
    Specify a stream to write through for each write().
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method __clone (line 51) +

    +

    void __clone( +)

    + + +
    Any implementation should be cloneable, allowing the clone to access a separate $nsKey and $itemKey.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_InputByteStream

    +

    + Swift_InputByteStream::bind() - Attach $is to this stream. +

    + +

    + Swift_InputByteStream::commit() - For any bytes that are currently buffered inside the stream, force them off the buffer. +

    + +

    + Swift_InputByteStream::flushBuffers() - Flush the contents of the stream (empty it) and set the internal pointer to the beginning. +

    + +

    + Swift_InputByteStream::unbind() - Remove an already bound stream. +

    + +

    + Swift_InputByteStream::write() - Writes $bytes to the end of the stream. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_NullKeyCache.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_NullKeyCache.html new file mode 100644 index 0000000..b617c50 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_NullKeyCache.html @@ -0,0 +1,447 @@ + + + + + Docs For Class Swift_KeyCache_NullKeyCache + + + + + + + + +

    + Class Swift_KeyCache_NullKeyCache +

    (line 22) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/KeyCache/NullKeyCache.php
    +

    + +
    A null KeyCache that does not cache at all.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + clearAll + (string $nsKey) +
    +
    + void + clearKey + (string $nsKey, string $itemKey) +
    +
    + void + exportToByteStream + (string $nsKey, string $itemKey, Swift_InputByteStream $is) +
    +
    + Swift_InputByteStream + getInputByteStream + (string $nsKey, string $itemKey, [Swift_InputByteStream $writeThrough = null]) +
    +
    + string + getString + (string $nsKey, string $itemKey) +
    +
    + boolean + hasKey + (string $nsKey, string $itemKey) +
    +
    + void + importFromByteStream + (string $nsKey, string $itemKey, Swift_OutputByteStream $os, int $mode) +
    +
    + void + setString + (string $nsKey, string $itemKey, string $string, int $mode) +
    +
    +
    + + + + +

    + Method clearAll (line 106) +

    +

    void clearAll( +string +$nsKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::clearAll()
    +
    Clear all data in the namespace $nsKey if it exists.
    +
    + +
    Clear all data in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clearKey (line 98) +

    +

    void clearKey( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::clearKey()
    +
    Clear data for $itemKey in the namespace $nsKey if it exists.
    +
    + +
    Clear data for $itemKey in the namespace $nsKey if it exists.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method exportToByteStream (line 78) +

    +

    void exportToByteStream( +string +$nsKey, string +$itemKey, Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::exportToByteStream()
    +
    Get data back out of the cache as a ByteStream.
    +
    + +
    Get data back out of the cache as a ByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getInputByteStream (line 57) +

    +

    Swift_InputByteStream getInputByteStream( +string +$nsKey, string +$itemKey, [Swift_InputByteStream +$writeThrough = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::getInputByteStream()
    +
    Provides a ByteStream which when written to, writes data to $itemKey.
    +
    + +
    Provides a ByteStream which when written to, writes data to $itemKey.
    +

    NOTE: The stream will always write in append mode.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getString (line 68) +

    +

    string getString( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::getString()
    +
    Get data back out of the cache as a string.
    +
    + +
    Get data back out of the cache as a string.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method hasKey (line 88) +

    +

    boolean hasKey( +string +$nsKey, string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::hasKey()
    +
    Check if the given $itemKey exists in the namespace $nsKey.
    +
    + +
    Check if the given $itemKey exists in the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method importFromByteStream (line 45) +

    +

    void importFromByteStream( +string +$nsKey, string +$itemKey, Swift_OutputByteStream +$os, int +$mode)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::importFromByteStream()
    +
    Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
    +
    + +
    Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    + + +

    Info

    +
      +
    • see - MODE_WRITE, MODE_APPEND
    • +
    • access - public
    • +
    +
    + +

    + Method setString (line 33) +

    +

    void setString( +string +$nsKey, string +$itemKey, string +$string, int +$mode)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache::setString()
    +
    Set a string into the cache under $itemKey for the namespace $nsKey.
    +
    + +
    Set a string into the cache under $itemKey for the namespace $nsKey.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    • string $itemKey:
    • +
    • string $string:
    • +
    • int $mode:
    • +
    + +

    Info

    +
      +
    • see - MODE_WRITE, MODE_APPEND
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_SimpleKeyCacheInputStream.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_SimpleKeyCacheInputStream.html new file mode 100644 index 0000000..6c7f92d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/Swift_KeyCache_SimpleKeyCacheInputStream.html @@ -0,0 +1,469 @@ + + + + + Docs For Class Swift_KeyCache_SimpleKeyCacheInputStream + + + + + + + + +

    + Class Swift_KeyCache_SimpleKeyCacheInputStream +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php
    +

    + +
    Writes data to a KeyCache using a stream.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + bind + (Swift_InputByteStream $is) +
    +
    + void + commit + () +
    +
    + void + flushBuffers + () +
    +
    + void + setItemKey + (string $itemKey) +
    +
    + void + setKeyCache + (Swift_KeyCache $keyCache) +
    +
    + void + setNsKey + (string $nsKey) +
    + +
    + void + unbind + (Swift_InputByteStream $is) +
    +
    + void + write + (string $bytes, [Swift_InputByteStream $is = null], Swift_InputByteStream $is,) +
    +
    + void + __clone + () +
    +
    +
    + + + + +

    + Method bind (line 84) +

    +

    void bind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::bind()
    +
    Attach $is to this stream.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method commit (line 77) +

    +

    void commit( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::commit()
    +
    For any bytes that are currently buffered inside the stream, force them off the buffer.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method flushBuffers (line 99) +

    +

    void flushBuffers( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::flushBuffers()
    +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    +
    + +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setItemKey (line 117) +

    +

    void setItemKey( +string +$itemKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache_KeyCacheInputStream::setItemKey()
    +
    Set the itemKey which will be written to.
    +
    + +
    Set the itemKey which will be written to.
    +

    Parameters

    +
      +
    • string $itemKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setKeyCache (line 40) +

    +

    void setKeyCache( +Swift_KeyCache +$keyCache)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache_KeyCacheInputStream::setKeyCache()
    +
    Set the KeyCache to wrap.
    +
    + +
    Set the KeyCache to wrap.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setNsKey (line 108) +

    +

    void setNsKey( +string +$nsKey)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache_KeyCacheInputStream::setNsKey()
    +
    Set the nsKey which will be written to.
    +
    + +
    Set the nsKey which will be written to.
    +

    Parameters

    +
      +
    • string $nsKey:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setWriteThroughStream (line 49) +

    +

    void setWriteThroughStream( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache_KeyCacheInputStream::setWriteThroughStream()
    +
    Specify a stream to write through for each write().
    +
    + +
    Specify a stream to write through for each write().
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method unbind (line 91) +

    +

    void unbind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::unbind()
    +
    Remove an already bound stream.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method write (line 59) +

    +

    void write( +string +$bytes, [Swift_InputByteStream +$is = null], Swift_InputByteStream +$is,)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::write()
    +
    Writes $bytes to the end of the stream.
    +
    + +
    Writes $bytes to the end of the stream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method __clone (line 126) +

    +

    void __clone( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_KeyCache_KeyCacheInputStream::__clone()
    +
    Any implementation should be cloneable, allowing the clone to access a separate $nsKey and $itemKey.
    +
    + +
    Any implementation should be cloneable, allowing the clone to access a separate $nsKey and $itemKey.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---ArrayKeyCache.php.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---ArrayKeyCache.php.html new file mode 100644 index 0000000..42206e6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---ArrayKeyCache.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ArrayKeyCache.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/KeyCache/ArrayKeyCache.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_KeyCache_ArrayKeyCacheA basic KeyCache backed by an array.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:12 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---DiskKeyCache.php.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---DiskKeyCache.php.html new file mode 100644 index 0000000..7294971 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---DiskKeyCache.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page DiskKeyCache.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/KeyCache/DiskKeyCache.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_KeyCache_DiskKeyCacheA KeyCache which streams to and from disk.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---KeyCacheInputStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---KeyCacheInputStream.php.html new file mode 100644 index 0000000..8e37e90 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---KeyCacheInputStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page KeyCacheInputStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/KeyCache/KeyCacheInputStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_KeyCache_KeyCacheInputStreamWrites data to a KeyCache using a stream.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---NullKeyCache.php.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---NullKeyCache.php.html new file mode 100644 index 0000000..8654a5a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---NullKeyCache.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page NullKeyCache.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/KeyCache/NullKeyCache.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_KeyCache_NullKeyCacheA null KeyCache that does not cache at all.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---SimpleKeyCacheInputStream.php.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---SimpleKeyCacheInputStream.php.html new file mode 100644 index 0000000..b308809 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache---SimpleKeyCacheInputStream.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleKeyCacheInputStream.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_KeyCache_SimpleKeyCacheInputStreamWrites data to a KeyCache using a stream.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache.php.html b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache.php.html new file mode 100644 index 0000000..ce61268 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/KeyCache/_vendors---swiftMailer---classes---Swift---KeyCache.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page KeyCache.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/KeyCache.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_KeyCacheProvides a mechanism for storing data using two keys.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mailer/Swift_Mailer_ArrayRecipientIterator.html b/www/protected/extensions/yii-mail/doc/Swift/Mailer/Swift_Mailer_ArrayRecipientIterator.html new file mode 100644 index 0000000..690e608 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mailer/Swift_Mailer_ArrayRecipientIterator.html @@ -0,0 +1,248 @@ + + + + + Docs For Class Swift_Mailer_ArrayRecipientIterator + + + + + + + + +

    + Class Swift_Mailer_ArrayRecipientIterator +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mailer/ArrayRecipientIterator.php
    +

    + +
    Wraps a standard PHP array in an interator.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mailer_ArrayRecipientIterator + __construct + ( $recipients) +
    +
    + boolean + hasNext + () +
    +
    + array + nextRecipient + () +
    +
    +
    + + + + +

    + Constructor __construct (line 34) +

    +

    Swift_Mailer_ArrayRecipientIterator __construct( + +$recipients)

    + + +
    Create a new ArrayRecipientIterator from $recipients.
    +

    Parameters

    +
      +
    • array $recipients:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method hasNext (line 43) +

    +

    boolean hasNext( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mailer_RecipientIterator::hasNext()
    +
    Returns true only if there are more recipients to send to.
    +
    + +
    Returns true only if there are more recipients to send to.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method nextRecipient (line 54) +

    +

    array nextRecipient( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mailer_RecipientIterator::nextRecipient()
    +
    Returns an array where the keys are the addresses of recipients and the values are the names.
    +
    + +
    Returns an array where the keys are the addresses of recipients and the values are the names.
    +

    e.g. ('foo@bar' => 'Foo') or ('foo@bar' => NULL)

    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:13 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mailer/Swift_Mailer_RecipientIterator.html b/www/protected/extensions/yii-mail/doc/Swift/Mailer/Swift_Mailer_RecipientIterator.html new file mode 100644 index 0000000..42faae0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mailer/Swift_Mailer_RecipientIterator.html @@ -0,0 +1,211 @@ + + + + + Docs For Class Swift_Mailer_RecipientIterator + + + + + + + + +

    + Interface Swift_Mailer_RecipientIterator +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mailer/RecipientIterator.php
    +

    + +
    Provides an abstract way of specifying recipients for batch sending.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + hasNext + () +
    +
    + array + nextRecipient + () +
    +
    +
    + + + + +

    + Method hasNext (line 24) +

    +

    boolean hasNext( +)

    + + +
    Returns true only if there are more recipients to send to.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method nextRecipient (line 32) +

    +

    array nextRecipient( +)

    + + +
    Returns an array where the keys are the addresses of recipients and the values are the names.
    +

    e.g. ('foo@bar' => 'Foo') or ('foo@bar' => NULL)

    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mailer/_vendors---swiftMailer---classes---Swift---Mailer---ArrayRecipientIterator.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mailer/_vendors---swiftMailer---classes---Swift---Mailer---ArrayRecipientIterator.php.html new file mode 100644 index 0000000..6ade65f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mailer/_vendors---swiftMailer---classes---Swift---Mailer---ArrayRecipientIterator.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ArrayRecipientIterator.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mailer/ArrayRecipientIterator.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mailer_ArrayRecipientIteratorWraps a standard PHP array in an interator.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:13 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mailer/_vendors---swiftMailer---classes---Swift---Mailer---RecipientIterator.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mailer/_vendors---swiftMailer---classes---Swift---Mailer---RecipientIterator.php.html new file mode 100644 index 0000000..9481de3 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mailer/_vendors---swiftMailer---classes---Swift---Mailer---RecipientIterator.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page RecipientIterator.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mailer/RecipientIterator.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mailer_RecipientIteratorProvides an abstract way of specifying recipients for batch sending.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Attachment.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Attachment.html new file mode 100644 index 0000000..bed1750 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Attachment.html @@ -0,0 +1,444 @@ + + + + + Docs For Class Swift_Attachment + + + + + + + + +

    + Class Swift_Attachment +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_Attachment
    +      |
    +      --Swift_Attachment
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Attachment.php
    +

    + +
    Attachment class for attaching files to a Swift_Mime_Message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_Mime_Attachment + fromPath + (string $path, [string $contentType = null]) +
    +
    + static Swift_Mime_Attachment + newInstance + ([string|Swift_OutputByteStream $data = null], [string $filename = null], [string $contentType = null]) +
    +
    + Swift_Attachment + __construct + ([string|Swift_OutputByteStream $data = null], [string $filename = null], [string $contentType = null]) +
    +
    +
    + + + + +

    + Static Method fromPath (line 67) +

    +

    Swift_Mime_Attachment fromPath( +string +$path, [string +$contentType = null])

    + + +
    Create a new Attachment from a filesystem path.
    +

    Parameters

    +
      +
    • string $path:
    • +
    • string $contentType: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Static Method newInstance (line 55) +

    +

    Swift_Mime_Attachment newInstance( +[string|Swift_OutputByteStream +$data = null], [string +$filename = null], [string +$contentType = null])

    + + +
    Create a new Attachment.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 31) +

    +

    Swift_Attachment __construct( +[string|Swift_OutputByteStream +$data = null], [string +$filename = null], [string +$contentType = null])

    + +

    Overrides : Swift_Mime_Attachment::__construct() Create a new Attachment with $headers, $encoder and $cache.

    + +
    Create a new Attachment.
    +

    Details may be optionally provided to the constructor.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Attachment

    +

    + Swift_Mime_Attachment::__construct() - Create a new Attachment with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_Attachment::getDisposition() - Get the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::getFilename() - Get the filename of this attachment when downloaded. +

    + +

    + Swift_Mime_Attachment::getNestingLevel() - Get the nesting level used for this attachment. +

    + +

    + Swift_Mime_Attachment::getSize() - Get the file size of this attachment. +

    + +

    + Swift_Mime_Attachment::setDisposition() - Set the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::setFile() - Set the file that this attachment is for. +

    + +

    + Swift_Mime_Attachment::setFilename() - Set the filename of this attachment. +

    + +

    + Swift_Mime_Attachment::setSize() - Set the file size of this attachment. +

    + +
    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_EmbeddedFile.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_EmbeddedFile.html new file mode 100644 index 0000000..7482879 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_EmbeddedFile.html @@ -0,0 +1,479 @@ + + + + + Docs For Class Swift_EmbeddedFile + + + + + + + + +

    + Class Swift_EmbeddedFile +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_Attachment
    +      |
    +      --Swift_Mime_EmbeddedFile
    +         |
    +         --Swift_EmbeddedFile
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/EmbeddedFile.php
    +

    + +
    An embedded file, in a multipart message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_EmbeddedFile: +
    +
    Swift_Image
    +
    An image, embedded in a multipart message.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_Mime_EmbeddedFile + fromPath + (string $path) +
    +
    + static Swift_Mime_EmbeddedFile + newInstance + ([string|Swift_OutputByteStream $data = null], [string $filename = null], [string $contentType = null]) +
    +
    + Swift_EmbeddedFile + __construct + ([string|Swift_OutputByteStream $data = null], [string $filename = null], [string $contentType = null]) +
    +
    +
    + + + + +

    + Static Method fromPath (line 66) +

    +

    Swift_Mime_EmbeddedFile fromPath( +string +$path)

    +

    Overridden in child classes as:
    +

    +
    Swift_Image::fromPath()
    +
    Create a new Image from a filesystem path.
    +
    +

    + + +
    Create a new EmbeddedFile from a filesystem path.
    +

    Parameters

    +
      +
    • string $path:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Static Method newInstance (line 55) +

    +

    Swift_Mime_EmbeddedFile newInstance( +[string|Swift_OutputByteStream +$data = null], [string +$filename = null], [string +$contentType = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Image::newInstance()
    +
    Create a new Image.
    +
    +

    + + +
    Create a new EmbeddedFile.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 31) +

    +

    Swift_EmbeddedFile __construct( +[string|Swift_OutputByteStream +$data = null], [string +$filename = null], [string +$contentType = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Image::__construct()
    +
    Create a new EmbeddedFile.
    +
    +

    + +

    Overrides : Swift_Mime_EmbeddedFile::__construct() Creates a new Attachment with $headers and $encoder.

    + +
    Create a new EmbeddedFile.
    +

    Details may be optionally provided to the constructor.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_EmbeddedFile

    +

    + Swift_Mime_EmbeddedFile::__construct() - Creates a new Attachment with $headers and $encoder. +

    + +

    + Swift_Mime_EmbeddedFile::getNestingLevel() - Get the nesting level of this EmbeddedFile. +

    + +
    + +

    Inherited From Class Swift_Mime_Attachment

    +

    + Swift_Mime_Attachment::__construct() - Create a new Attachment with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_Attachment::getDisposition() - Get the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::getFilename() - Get the filename of this attachment when downloaded. +

    + +

    + Swift_Mime_Attachment::getNestingLevel() - Get the nesting level used for this attachment. +

    + +

    + Swift_Mime_Attachment::getSize() - Get the file size of this attachment. +

    + +

    + Swift_Mime_Attachment::setDisposition() - Set the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::setFile() - Set the file that this attachment is for. +

    + +

    + Swift_Mime_Attachment::setFilename() - Set the filename of this attachment. +

    + +

    + Swift_Mime_Attachment::setSize() - Set the file size of this attachment. +

    + +
    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Image.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Image.html new file mode 100644 index 0000000..d2b2739 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Image.html @@ -0,0 +1,474 @@ + + + + + Docs For Class Swift_Image + + + + + + + + +

    + Class Swift_Image +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_Attachment
    +      |
    +      --Swift_Mime_EmbeddedFile
    +         |
    +         --Swift_EmbeddedFile
    +            |
    +            --Swift_Image
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Image.php
    +

    + +
    An image, embedded in a multipart message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_Mime_EmbeddedFile + fromPath + (string $path) +
    +
    + static Swift_Mime_EmbeddedFile + newInstance + ([string|Swift_OutputByteStream $data = null], [string $filename = null], [string $contentType = null]) +
    +
    + Swift_Image + __construct + ([string|Swift_OutputByteStream $data = null], [string $filename = null], [string $contentType = null]) +
    +
    +
    + + + + +

    + Static Method fromPath (line 54) +

    +

    Swift_Mime_EmbeddedFile fromPath( +string +$path)

    + +

    Overrides : Swift_EmbeddedFile::fromPath() Create a new EmbeddedFile from a filesystem path.

    + +
    Create a new Image from a filesystem path.
    +

    Parameters

    +
      +
    • string $path:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Static Method newInstance (line 43) +

    +

    Swift_Mime_EmbeddedFile newInstance( +[string|Swift_OutputByteStream +$data = null], [string +$filename = null], [string +$contentType = null])

    + +

    Overrides : Swift_EmbeddedFile::newInstance() Create a new EmbeddedFile.

    + +
    Create a new Image.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 30) +

    +

    Swift_Image __construct( +[string|Swift_OutputByteStream +$data = null], [string +$filename = null], [string +$contentType = null])

    + +

    Overrides : Swift_EmbeddedFile::__construct() Create a new EmbeddedFile.

    + +
    Create a new EmbeddedFile.
    +

    Details may be optionally provided to the constructor.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_EmbeddedFile

    +

    + Swift_EmbeddedFile::__construct() - Create a new EmbeddedFile. +

    + +

    + Swift_EmbeddedFile::fromPath() - Create a new EmbeddedFile from a filesystem path. +

    + +

    + Swift_EmbeddedFile::newInstance() - Create a new EmbeddedFile. +

    + +
    + +

    Inherited From Class Swift_Mime_EmbeddedFile

    +

    + Swift_Mime_EmbeddedFile::__construct() - Creates a new Attachment with $headers and $encoder. +

    + +

    + Swift_Mime_EmbeddedFile::getNestingLevel() - Get the nesting level of this EmbeddedFile. +

    + +
    + +

    Inherited From Class Swift_Mime_Attachment

    +

    + Swift_Mime_Attachment::__construct() - Create a new Attachment with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_Attachment::getDisposition() - Get the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::getFilename() - Get the filename of this attachment when downloaded. +

    + +

    + Swift_Mime_Attachment::getNestingLevel() - Get the nesting level used for this attachment. +

    + +

    + Swift_Mime_Attachment::getSize() - Get the file size of this attachment. +

    + +

    + Swift_Mime_Attachment::setDisposition() - Set the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::setFile() - Set the file that this attachment is for. +

    + +

    + Swift_Mime_Attachment::setFilename() - Set the filename of this attachment. +

    + +

    + Swift_Mime_Attachment::setSize() - Set the file size of this attachment. +

    + +
    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Message.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Message.html new file mode 100644 index 0000000..24f77a2 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Message.html @@ -0,0 +1,622 @@ + + + + + Docs For Class Swift_Message + + + + + + + + +

    + Class Swift_Message +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_MimePart
    +      |
    +      --Swift_Mime_SimpleMessage
    +         |
    +         --Swift_Message
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Message.php
    +

    + +
    The Message class for building emails.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_Mime_Message + newInstance + ([string $subject = null], [string $body = null], [string $contentType = null], [string $charset = null]) +
    +
    + Swift_Message + __construct + ([string $subject = null], [string $body = null], [string $contentType = null], [string $charset = null]) +
    +
    + void + addPart + (string|Swift_OutputByteStream $body, [string $contentType = null], [string $charset = null]) +
    +
    +
    + + + + +

    + Static Method newInstance (line 63) +

    +

    Swift_Mime_Message newInstance( +[string +$subject = null], [string +$body = null], [string +$contentType = null], [string +$charset = null])

    + + +
    Create a new Message.
    +

    Parameters

    +
      +
    • string $subject:
    • +
    • string $body:
    • +
    • string $contentType:
    • +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 32) +

    +

    Swift_Message __construct( +[string +$subject = null], [string +$body = null], [string +$contentType = null], [string +$charset = null])

    + +

    Overrides : Swift_Mime_SimpleMessage::__construct() Create a new SimpleMessage with $headers, $encoder and $cache.

    + +
    Create a new Message.
    +

    Details may be optionally passed into the constructor.

    +

    Parameters

    +
      +
    • string $subject:
    • +
    • string $body:
    • +
    • string $contentType:
    • +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addPart (line 75) +

    +

    void addPart( +string|Swift_OutputByteStream +$body, [string +$contentType = null], [string +$charset = null])

    + + +
    Add a MimePart to this Message.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_MimePart

    +

    + Swift_Mime_MimePart::$_userCharset - The charset last specified by the user +

    +

    + Swift_Mime_MimePart::$_userDelSp - The delsp parameter last specified by the user +

    +

    + Swift_Mime_MimePart::$_userFormat - The format parameter last specified by the user +

    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMessage

    +

    + Swift_Mime_SimpleMessage::__construct() - Create a new SimpleMessage with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMessage::addBcc() - Add a Bcc: address to this message. +

    + +

    + Swift_Mime_SimpleMessage::addCc() - Add a Cc: address to this message. +

    + +

    + Swift_Mime_SimpleMessage::addFrom() - Add a From: address to this message. +

    + +

    + Swift_Mime_SimpleMessage::addReplyTo() - Add a Reply-To: address to this message. +

    + +

    + Swift_Mime_SimpleMessage::addTo() - Add a To: address to this message. +

    + +

    + Swift_Mime_SimpleMessage::attach() - Attach a Swift_Mime_MimeEntity such as an Attachment or MimePart. +

    + +

    + Swift_Mime_SimpleMessage::detach() - Remove an already attached entity. +

    + +

    + Swift_Mime_SimpleMessage::embed() - Attach a Swift_Mime_MimeEntity and return it's CID source. +

    + +

    + Swift_Mime_SimpleMessage::getBcc() - Get the Bcc addresses of this message. +

    + +

    + Swift_Mime_SimpleMessage::getCc() - Get the Cc address of this message. +

    + +

    + Swift_Mime_SimpleMessage::getDate() - Get the date at which this message was created. +

    + +

    + Swift_Mime_SimpleMessage::getFrom() - Get the from address of this message. +

    + +

    + Swift_Mime_SimpleMessage::getNestingLevel() - Always returns LEVEL_TOP for a message instance. +

    + +

    + Swift_Mime_SimpleMessage::getPriority() - Get the priority of this message. +

    + +

    + Swift_Mime_SimpleMessage::getReadReceiptTo() - Get the addresses to which a read-receipt will be sent. +

    + +

    + Swift_Mime_SimpleMessage::getReplyTo() - Get the reply-to address of this message. +

    + +

    + Swift_Mime_SimpleMessage::getReturnPath() - Get the return-path (bounce address) of this message. +

    + +

    + Swift_Mime_SimpleMessage::getSender() - Get the sender of this message. +

    + +

    + Swift_Mime_SimpleMessage::getSubject() - Get the subject of this message. +

    + +

    + Swift_Mime_SimpleMessage::getTo() - Get the To addresses of this message. +

    + +

    + Swift_Mime_SimpleMessage::setBcc() - Set the Bcc addresses of this message. +

    + +

    + Swift_Mime_SimpleMessage::setCc() - Set the Cc addresses of this message. +

    + +

    + Swift_Mime_SimpleMessage::setDate() - Set the date at which this message was created. +

    + +

    + Swift_Mime_SimpleMessage::setFrom() - Set the from address of this message. +

    + +

    + Swift_Mime_SimpleMessage::setPriority() - Set the priority of this message. +

    + +

    + Swift_Mime_SimpleMessage::setReadReceiptTo() - Ask for a delivery receipt from the recipient to be sent to $addresses +

    + +

    + Swift_Mime_SimpleMessage::setReplyTo() - Set the reply-to address of this message. +

    + +

    + Swift_Mime_SimpleMessage::setReturnPath() - Set the return-path (the bounce address) of this message. +

    + +

    + Swift_Mime_SimpleMessage::setSender() - Set the sender of this message. +

    + +

    + Swift_Mime_SimpleMessage::setSubject() - Set the subject of this message. +

    + +

    + Swift_Mime_SimpleMessage::setTo() - Set the to addresses of this message. +

    + +

    + Swift_Mime_SimpleMessage::toByteStream() - Write this message to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMessage::toString() - Get this message as a complete string. +

    + +

    + Swift_Mime_SimpleMessage::_getIdField() - +

    + +

    + Swift_Mime_SimpleMessage::__toString() - Returns a string representation of this object. +

    + +
    + +

    Inherited From Class Swift_Mime_MimePart

    +

    + Swift_Mime_MimePart::__construct() - Create a new MimePart with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_MimePart::charsetChanged() - Receive notification that the charset has changed on this document, or a parent document. +

    + +

    + Swift_Mime_MimePart::getCharset() - Get the character set of this entity. +

    + +

    + Swift_Mime_MimePart::getDelSp() - Test if delsp is being used for this entity. +

    + +

    + Swift_Mime_MimePart::getFormat() - Get the format of this entity (i.e. flowed or fixed). +

    + +

    + Swift_Mime_MimePart::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_MimePart::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_MimePart::setCharset() - Set the character set of this entity. +

    + +

    + Swift_Mime_MimePart::setDelSp() - Turn delsp on or off for this entity. +

    + +

    + Swift_Mime_MimePart::setFormat() - Set the format of this entity (flowed or fixed). +

    + +

    + Swift_Mime_MimePart::_fixHeaders() - Fix the content-type and encoding of this entity +

    + +

    + Swift_Mime_MimePart::_setNestingLevel() - Set the nesting level of this entity +

    + +
    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:25 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_MimePart.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_MimePart.html new file mode 100644 index 0000000..602710f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_MimePart.html @@ -0,0 +1,440 @@ + + + + + Docs For Class Swift_MimePart + + + + + + + + +

    + Class Swift_MimePart +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_MimePart
    +      |
    +      --Swift_MimePart
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/MimePart.php
    +

    + +
    A MIME part, in a multipart message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_Mime_MimePart + newInstance + ([string $body = null], [string $contentType = null], [string $charset = null]) +
    +
    + Swift_MimePart + __construct + ([string $body = null], [string $contentType = null], [string $charset = null]) +
    +
    +
    + + + + +

    + Static Method newInstance (line 59) +

    +

    Swift_Mime_MimePart newInstance( +[string +$body = null], [string +$contentType = null], [string +$charset = null])

    + + +
    Create a new MimePart.
    +

    Parameters

    +
      +
    • string $body:
    • +
    • string $contentType:
    • +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 30) +

    +

    Swift_MimePart __construct( +[string +$body = null], [string +$contentType = null], [string +$charset = null])

    + +

    Overrides : Swift_Mime_MimePart::__construct() Create a new MimePart with $headers, $encoder and $cache.

    + +
    Create a new MimePart.
    +

    Details may be optionally passed into the constructor.

    +

    Parameters

    +
      +
    • string $body:
    • +
    • string $contentType:
    • +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_MimePart

    +

    + Swift_Mime_MimePart::$_userCharset - The charset last specified by the user +

    +

    + Swift_Mime_MimePart::$_userDelSp - The delsp parameter last specified by the user +

    +

    + Swift_Mime_MimePart::$_userFormat - The format parameter last specified by the user +

    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_MimePart

    +

    + Swift_Mime_MimePart::__construct() - Create a new MimePart with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_MimePart::charsetChanged() - Receive notification that the charset has changed on this document, or a parent document. +

    + +

    + Swift_Mime_MimePart::getCharset() - Get the character set of this entity. +

    + +

    + Swift_Mime_MimePart::getDelSp() - Test if delsp is being used for this entity. +

    + +

    + Swift_Mime_MimePart::getFormat() - Get the format of this entity (i.e. flowed or fixed). +

    + +

    + Swift_Mime_MimePart::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_MimePart::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_MimePart::setCharset() - Set the character set of this entity. +

    + +

    + Swift_Mime_MimePart::setDelSp() - Turn delsp on or off for this entity. +

    + +

    + Swift_Mime_MimePart::setFormat() - Set the format of this entity (flowed or fixed). +

    + +

    + Swift_Mime_MimePart::_fixHeaders() - Fix the content-type and encoding of this entity +

    + +

    + Swift_Mime_MimePart::_setNestingLevel() - Set the nesting level of this entity +

    + +
    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Attachment.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Attachment.html new file mode 100644 index 0000000..58f9120 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Attachment.html @@ -0,0 +1,567 @@ + + + + + Docs For Class Swift_Mime_Attachment + + + + + + + + +

    + Class Swift_Mime_Attachment +

    (line 23) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_Attachment
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Attachment.php
    +

    + +
    An attachment, in a multipart message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_Attachment: +
    +
    Swift_Attachment
    +
    Attachment class for attaching files to a Swift_Mime_Message.
    +
    +
    +
    Swift_Mime_EmbeddedFile
    +
    An embedded file, in a multipart message.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Attachment + __construct + (Swift_Mime_HeaderSet $headers, Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache, [array $mimeTypes = array()]) +
    +
    + string + getDisposition + () +
    +
    + string + getFilename + () +
    +
    + int + getNestingLevel + () +
    +
    + int + getSize + () +
    +
    + void + setDisposition + (string $disposition) +
    +
    + void + setFile + (Swift_FileStream $file, [string $contentType = null]) +
    +
    + void + setFilename + (string $filename) +
    +
    + void + setSize + (int $size) +
    +
    +
    + + + + +

    + Constructor __construct (line 36) +

    +

    Swift_Mime_Attachment __construct( +Swift_Mime_HeaderSet +$headers, Swift_Mime_ContentEncoder +$encoder, Swift_KeyCache +$cache, [array +$mimeTypes = array()])

    +

    Overridden in child classes as:
    +

    +
    Swift_Attachment::__construct()
    +
    Create a new Attachment.
    +
    +
    +
    Swift_Mime_EmbeddedFile::__construct()
    +
    Creates a new Attachment with $headers and $encoder.
    +
    +
    +
    Swift_EmbeddedFile::__construct()
    +
    Create a new EmbeddedFile.
    +
    +
    +
    Swift_Image::__construct()
    +
    Create a new EmbeddedFile.
    +
    +

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::__construct() Create a new SimpleMimeEntity with $headers, $encoder and $cache.

    + +
    Create a new Attachment with $headers, $encoder and $cache.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getDisposition (line 61) +

    +

    string getDisposition( +)

    + + +
    Get the Content-Disposition of this attachment.
    +

    By default attachments have a disposition of "attachment".

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFilename (line 85) +

    +

    string getFilename( +)

    + + +
    Get the filename of this attachment when downloaded.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getNestingLevel (line 51) +

    +

    int getNestingLevel( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_EmbeddedFile::getNestingLevel()
    +
    Get the nesting level of this EmbeddedFile.
    +
    +

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::getNestingLevel() Get the nesting level of this entity.

    + +
    Get the nesting level used for this attachment.
    +

    Always returns LEVEL_MIXED.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSize (line 105) +

    +

    int getSize( +)

    + + +
    Get the file size of this attachment.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setDisposition (line 70) +

    +

    void setDisposition( +string +$disposition)

    + + +
    Set the Content-Disposition of this attachment.
    +

    Parameters

    +
      +
    • string $disposition:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFile (line 125) +

    +

    void setFile( +Swift_FileStream +$file, [string +$contentType = null])

    + + +
    Set the file that this attachment is for.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFilename (line 94) +

    +

    void setFilename( +string +$filename)

    + + +
    Set the filename of this attachment.
    +

    Parameters

    +
      +
    • string $filename:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setSize (line 114) +

    +

    void setSize( +int +$size)

    + + +
    Set the file size of this attachment.
    +

    Parameters

    +
      +
    • int $size:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:14 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_CharsetObserver.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_CharsetObserver.html new file mode 100644 index 0000000..4b96f04 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_CharsetObserver.html @@ -0,0 +1,213 @@ + + + + + Docs For Class Swift_Mime_CharsetObserver + + + + + + + + +

    + Interface Swift_Mime_CharsetObserver +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/CharsetObserver.php
    +

    + +
    Observes changes in an Mime entity's character set.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_CharsetObserver: +
    +
    Swift_Encoder
    +
    Interface for all Encoder schemes.
    +
    +
    +
    Swift_Mime_HeaderFactory
    +
    Creates MIME headers.
    +
    +
    +
    Swift_Mime_HeaderSet
    +
    A collection of MIME headers.
    +
    +
    +
    Swift_Mime_MimeEntity
    +
    A MIME entity, such as an attachment.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + charsetChanged + (string $charset) +
    +
    +
    + + + + +

    + Method charsetChanged (line 24) +

    +

    void charsetChanged( +string +$charset)

    + + +
    Notify this observer that the entity's charset has changed.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder.html new file mode 100644 index 0000000..875b36e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder.html @@ -0,0 +1,239 @@ + + + + + Docs For Class Swift_Mime_ContentEncoder + + + + + + + + +

    + Interface Swift_Mime_ContentEncoder +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Mime_CharsetObserver
    +   |
    +   --Swift_Encoder
    +      |
    +      --Swift_Mime_ContentEncoder
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder.php
    +

    + +
    Interface for all Transfer Encoding schemes.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + encodeByteStream + (Swift_OutputByteStream $os, Swift_InputByteStream $is, [int $firstLineOffset = 0], [int $maxLineLength = 0]) +
    +
    + string + getName + () +
    +
    +
    + + + + +

    + Method encodeByteStream (line 31) +

    +

    void encodeByteStream( +Swift_OutputByteStream +$os, Swift_InputByteStream +$is, [int +$firstLineOffset = 0], [int +$maxLineLength = 0])

    + + +
    Encode $in to $out.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getName (line 39) +

    +

    string getName( +)

    + + +
    Get the MIME name of this content encoding scheme.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Encoder

    +

    + Swift_Encoder::encodeString() - Encode a given string to produce an encoded string. +

    + +
    + +

    Inherited From Class Swift_Mime_CharsetObserver

    +

    + Swift_Mime_CharsetObserver::charsetChanged() - Notify this observer that the entity's charset has changed. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_Base64ContentEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_Base64ContentEncoder.html new file mode 100644 index 0000000..0d50c0f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_Base64ContentEncoder.html @@ -0,0 +1,253 @@ + + + + + Docs For Class Swift_Mime_ContentEncoder_Base64ContentEncoder + + + + + + + + +

    + Class Swift_Mime_ContentEncoder_Base64ContentEncoder +

    (line 22) +
    + + +
    +

    Description

    +
    +Swift_Encoder_Base64Encoder
    +   |
    +   --Swift_Mime_ContentEncoder_Base64ContentEncoder
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php
    +

    + +
    Handles Base 64 Transfer Encoding in Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + encodeByteStream + (Swift_OutputByteStream $os, Swift_InputByteStream $is, [int $firstLineOffset = 0], [ $maxLineLength = 0], Swift_OutputByteStream $in, Swift_InputByteStream $out, int $maxLineLength,) +
    +
    + string + getName + () +
    +
    +
    + + + + +

    + Method encodeByteStream (line 34) +

    +

    void encodeByteStream( +Swift_OutputByteStream +$os, Swift_InputByteStream +$is, [int +$firstLineOffset = 0], [ +$maxLineLength = 0], Swift_OutputByteStream +$in, Swift_InputByteStream +$out, int +$maxLineLength,)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ContentEncoder::encodeByteStream()
    +
    Encode $in to $out.
    +
    + +
    Encode stream $in to stream $out.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getName (line 76) +

    +

    string getName( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ContentEncoder::getName()
    +
    Get the MIME name of this content encoding scheme.
    +
    + +
    Get the name of this encoding scheme.
    +

    Returns the string 'base64'.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Encoder_Base64Encoder

    +

    + Swift_Encoder_Base64Encoder::charsetChanged() - Does nothing. +

    + +

    + Swift_Encoder_Base64Encoder::encodeString() - Takes an unencoded string and produces a Base64 encoded string from it. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_PlainContentEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_PlainContentEncoder.html new file mode 100644 index 0000000..86dbb51 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_PlainContentEncoder.html @@ -0,0 +1,336 @@ + + + + + Docs For Class Swift_Mime_ContentEncoder_PlainContentEncoder + + + + + + + + +

    + Class Swift_Mime_ContentEncoder_PlainContentEncoder +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php
    +

    + +
    Handles binary/7/8-bit Transfer Encoding in Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_ContentEncoder_PlainContentEncoder + __construct + (string $name, [boolean $canonical = false]) +
    +
    + void + charsetChanged + ( $charset) +
    +
    + void + encodeByteStream + (Swift_OutputByteStream $os, Swift_InputByteStream $is, [ $firstLineOffset = 0], [ $maxLineLength = 0], Swift_OutputByteStream $in, Swift_InputByteStream $out, int $firstLineOffset,, int $maxLineLength,) +
    +
    + string + encodeString + (string $string, [ $firstLineOffset = 0], [int $maxLineLength = 0], int $firstLineOffset,) +
    +
    + string + getName + () +
    +
    +
    + + + + +

    + Constructor __construct (line 44) +

    +

    Swift_Mime_ContentEncoder_PlainContentEncoder __construct( +string +$name, [boolean +$canonical = false])

    + + +
    Creates a new PlainContentEncoder with $name (probably 7bit or 8bit).
    +

    Parameters

    +
      +
    • string $name:
    • +
    • boolean $canonical: If canonicalization transformation should be done.
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method charsetChanged (line 111) +

    +

    void charsetChanged( + +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_CharsetObserver::charsetChanged()
    +
    Notify this observer that the entity's charset has changed.
    +
    + +
    Not used.
    +

    Parameters

    +
      +
    • $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encodeByteStream (line 74) +

    +

    void encodeByteStream( +Swift_OutputByteStream +$os, Swift_InputByteStream +$is, [ +$firstLineOffset = 0], [ +$maxLineLength = 0], Swift_OutputByteStream +$in, Swift_InputByteStream +$out, int +$firstLineOffset,, int +$maxLineLength,)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ContentEncoder::encodeByteStream()
    +
    Encode $in to $out.
    +
    + +
    Encode stream $in to stream $out.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encodeString (line 57) +

    +

    string encodeString( +string +$string, [ +$firstLineOffset = 0], [int +$maxLineLength = 0], int +$firstLineOffset,)

    + +
    +
    Implementation of:
    +
    +
    Swift_Encoder::encodeString()
    +
    Encode a given string to produce an encoded string.
    +
    + +
    Encode a given string to produce an encoded string.
    +

    Parameters

    +
      +
    • string $string:
    • +
    • int $firstLineOffset,: ignored
    • +
    • int $maxLineLength: - 0 means no wrapping will occur
    • +
    • $firstLineOffset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getName (line 103) +

    +

    string getName( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ContentEncoder::getName()
    +
    Get the MIME name of this content encoding scheme.
    +
    + +
    Get the name of this encoding scheme.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_QpContentEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_QpContentEncoder.html new file mode 100644 index 0000000..7e2023e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ContentEncoder_QpContentEncoder.html @@ -0,0 +1,306 @@ + + + + + Docs For Class Swift_Mime_ContentEncoder_QpContentEncoder + + + + + + + + +

    + Class Swift_Mime_ContentEncoder_QpContentEncoder +

    (line 23) +
    + + +
    +

    Description

    +
    +Swift_Encoder_QpEncoder
    +   |
    +   --Swift_Mime_ContentEncoder_QpContentEncoder
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php
    +

    + +
    Handles Quoted Printable (QP) Transfer Encoding in Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_ContentEncoder_QpContentEncoder + __construct + (Swift_CharacterStream $charStream, [Swift_StreamFilter $filter = null]) +
    +
    + void + encodeByteStream + (Swift_OutputByteStream $os, Swift_InputByteStream $is, [int $firstLineOffset = 0], [int $maxLineLength = 0]) +
    +
    + string + getName + () +
    +
    +
    + + + + +

    + Constructor __construct (line 32) +

    +

    Swift_Mime_ContentEncoder_QpContentEncoder __construct( +Swift_CharacterStream +$charStream, [Swift_StreamFilter +$filter = null])

    + +

    Overrides : Swift_Encoder_QpEncoder::__construct() Creates a new QpEncoder for the given CharacterStream.

    + +
    Creates a new QpContentEncoder for the given CharacterStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encodeByteStream (line 48) +

    +

    void encodeByteStream( +Swift_OutputByteStream +$os, Swift_InputByteStream +$is, [int +$firstLineOffset = 0], [int +$maxLineLength = 0])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ContentEncoder::encodeByteStream()
    +
    Encode $in to $out.
    +
    + +
    Encode stream $in to stream $out.
    +

    QP encoded strings have a maximum line length of 76 characters. If the first line needs to be shorter, indicate the difference with $firstLineOffset.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getName (line 112) +

    +

    string getName( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ContentEncoder::getName()
    +
    Get the MIME name of this content encoding scheme.
    +
    + +
    Get the name of this encoding scheme.
    +

    Returns the string 'quoted-printable'.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Encoder_QpEncoder

    +

    + Swift_Encoder_QpEncoder::$_charStream - The CharacterStream used for reading characters (as opposed to bytes). +

    +

    + Swift_Encoder_QpEncoder::$_filter - A filter used if input should be canonicalized. +

    +

    + Swift_Encoder_QpEncoder::$_qpMap - Pre-computed QP for HUGE optmization. +

    +

    + Swift_Encoder_QpEncoder::$_safeMap - A map of non-encoded ascii characters. +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Encoder_QpEncoder

    +

    + Swift_Encoder_QpEncoder::__construct() - Creates a new QpEncoder for the given CharacterStream. +

    + +

    + Swift_Encoder_QpEncoder::charsetChanged() - Updates the charset used. +

    + +

    + Swift_Encoder_QpEncoder::encodeString() - Takes an unencoded string and produces a QP encoded string from it. +

    + +

    + Swift_Encoder_QpEncoder::_encodeByteSequence() - Encode the given byte array into a verbatim QP form. +

    + +

    + Swift_Encoder_QpEncoder::_nextSequence() - Get the next sequence of bytes to read from the char stream. +

    + +

    + Swift_Encoder_QpEncoder::_standardize() - Make sure CRLF is correct and HT/SPACE are in valid places. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_EmbeddedFile.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_EmbeddedFile.html new file mode 100644 index 0000000..50e39e7 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_EmbeddedFile.html @@ -0,0 +1,427 @@ + + + + + Docs For Class Swift_Mime_EmbeddedFile + + + + + + + + +

    + Class Swift_Mime_EmbeddedFile +

    (line 22) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_Attachment
    +      |
    +      --Swift_Mime_EmbeddedFile
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/EmbeddedFile.php
    +

    + +
    An embedded file, in a multipart message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_EmbeddedFile: +
    +
    Swift_EmbeddedFile
    +
    An embedded file, in a multipart message.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_EmbeddedFile + __construct + (Swift_Mime_HeaderSet $headers, Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache, [array $mimeTypes = array()]) +
    +
    + int + getNestingLevel + () +
    +
    +
    + + + + +

    + Constructor __construct (line 32) +

    +

    Swift_Mime_EmbeddedFile __construct( +Swift_Mime_HeaderSet +$headers, Swift_Mime_ContentEncoder +$encoder, Swift_KeyCache +$cache, [array +$mimeTypes = array()])

    +

    Overridden in child classes as:
    +

    +
    Swift_EmbeddedFile::__construct()
    +
    Create a new EmbeddedFile.
    +
    +
    +
    Swift_Image::__construct()
    +
    Create a new EmbeddedFile.
    +
    +

    + +

    Overrides : Swift_Mime_Attachment::__construct() Create a new Attachment with $headers, $encoder and $cache.

    + +
    Creates a new Attachment with $headers and $encoder.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getNestingLevel (line 46) +

    +

    int getNestingLevel( +)

    + +

    Overrides : Swift_Mime_Attachment::getNestingLevel() Get the nesting level used for this attachment.

    + +
    Get the nesting level of this EmbeddedFile.
    +

    Returns LEVEL_RELATED.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Attachment

    +

    + Swift_Mime_Attachment::__construct() - Create a new Attachment with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_Attachment::getDisposition() - Get the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::getFilename() - Get the filename of this attachment when downloaded. +

    + +

    + Swift_Mime_Attachment::getNestingLevel() - Get the nesting level used for this attachment. +

    + +

    + Swift_Mime_Attachment::getSize() - Get the file size of this attachment. +

    + +

    + Swift_Mime_Attachment::setDisposition() - Set the Content-Disposition of this attachment. +

    + +

    + Swift_Mime_Attachment::setFile() - Set the file that this attachment is for. +

    + +

    + Swift_Mime_Attachment::setFilename() - Set the filename of this attachment. +

    + +

    + Swift_Mime_Attachment::setSize() - Set the file size of this attachment. +

    + +
    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_EncodingObserver.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_EncodingObserver.html new file mode 100644 index 0000000..a02a6d6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_EncodingObserver.html @@ -0,0 +1,195 @@ + + + + + Docs For Class Swift_Mime_EncodingObserver + + + + + + + + +

    + Interface Swift_Mime_EncodingObserver +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/EncodingObserver.php
    +

    + +
    Observes changes for a Mime entity's ContentEncoder.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + encoderChanged + (Swift_Mime_ContentEncoder $encoder) +
    +
    +
    + + + + +

    + Method encoderChanged (line 26) +

    +

    void encoderChanged( +Swift_Mime_ContentEncoder +$encoder)

    + + +
    Notify this observer that the observed entity's ContentEncoder has changed.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Header.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Header.html new file mode 100644 index 0000000..9905e89 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Header.html @@ -0,0 +1,409 @@ + + + + + Docs For Class Swift_Mime_Header + + + + + + + + +

    + Interface Swift_Mime_Header +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Header.php
    +

    + +
    A MIME Header.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_Header: +
    +
    Swift_Mime_ParameterizedHeader
    +
    A MIME Header with parameters.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + +
    + TYPE_ID +
    + + + + +
    + +
    +

    + TYPE_DATE = 16 (line 30) +

    + +
    Date and time headers
    +
      +
    +
    + +
    +

    + TYPE_ID = 32 (line 33) +

    + +
    Identification headers
    +
      +
    +
    + +
    +

    + TYPE_MAILBOX = 8 (line 27) +

    + +
    Mailbox and address headers
    +
      +
    +
    + +
    +

    + TYPE_PARAMETERIZED = 6 (line 24) +

    + +
    Parameterized headers (text + params)
    +
      +
    +
    + +
    +

    + TYPE_PATH = 64 (line 36) +

    + +
    Address path headers
    +
      +
    +
    + +
    +

    + TYPE_TEXT = 2 (line 21) +

    + +
    Text headers
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + getFieldBody + () +
    +
    + mixed + getFieldBodyModel + () +
    +
    + string + getFieldName + () +
    +
    + int + getFieldType + () +
    +
    + void + setCharset + (string $charset) +
    +
    + void + setFieldBodyModel + (mixed $model) +
    +
    + string + toString + () +
    +
    +
    + + + + +

    + Method getFieldBody (line 77) +

    +

    string getFieldBody( +)

    + + +
    Get the field body, prepared for folding into a final header value.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldBodyModel (line 64) +

    +

    mixed getFieldBodyModel( +)

    + + +
    Get the model for the field body.
    +

    The return type depends on the specifics of the Header.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldName (line 71) +

    +

    string getFieldName( +)

    + + +
    Get the name of this header (e.g. Subject).
    +

    The name is an identifier and as such will be immutable.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldType (line 44) +

    +

    int getFieldType( +)

    + + +
    Get the type of Header that this instance represents.
    + +

    Info

    + +
    + +

    + Method setCharset (line 57) +

    +

    void setCharset( +string +$charset)

    + + +
    Set the charset used when rendering the Header.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFieldBodyModel (line 51) +

    +

    void setFieldBodyModel( +mixed +$model)

    + + +
    Set the model for the field body.
    +

    The actual types needed will vary depending upon the type of Header.

    +

    Parameters

    +
      +
    • mixed $model:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toString (line 83) +

    +

    string toString( +)

    + + +
    Get this Header rendered as a compliant string.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder.html new file mode 100644 index 0000000..6d7fa59 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder.html @@ -0,0 +1,208 @@ + + + + + Docs For Class Swift_Mime_HeaderEncoder + + + + + + + + +

    + Interface Swift_Mime_HeaderEncoder +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_Mime_CharsetObserver
    +   |
    +   --Swift_Encoder
    +      |
    +      --Swift_Mime_HeaderEncoder
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder.php
    +

    + +
    Interface for all Header Encoding schemes.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + getName + () +
    +
    +
    + + + + +

    + Method getName (line 26) +

    +

    string getName( +)

    + + +
    Get the MIME name of this content encoding scheme.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Encoder

    +

    + Swift_Encoder::encodeString() - Encode a given string to produce an encoded string. +

    + +
    + +

    Inherited From Class Swift_Mime_CharsetObserver

    +

    + Swift_Mime_CharsetObserver::charsetChanged() - Notify this observer that the entity's charset has changed. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder_Base64HeaderEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder_Base64HeaderEncoder.html new file mode 100644 index 0000000..8401396 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder_Base64HeaderEncoder.html @@ -0,0 +1,210 @@ + + + + + Docs For Class Swift_Mime_HeaderEncoder_Base64HeaderEncoder + + + + + + + + +

    + Class Swift_Mime_HeaderEncoder_Base64HeaderEncoder +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Encoder_Base64Encoder
    +   |
    +   --Swift_Mime_HeaderEncoder_Base64HeaderEncoder
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php
    +

    + +
    Handles Base64 (B) Header Encoding in Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + getName + () +
    +
    +
    + + + + +

    + Method getName (line 31) +

    +

    string getName( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderEncoder::getName()
    +
    Get the MIME name of this content encoding scheme.
    +
    + +
    Get the name of this encoding scheme.
    +

    Returns the string 'B'.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Encoder_Base64Encoder

    +

    + Swift_Encoder_Base64Encoder::charsetChanged() - Does nothing. +

    + +

    + Swift_Encoder_Base64Encoder::encodeString() - Takes an unencoded string and produces a Base64 encoded string from it. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:16 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder_QpHeaderEncoder.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder_QpHeaderEncoder.html new file mode 100644 index 0000000..1a391e3 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderEncoder_QpHeaderEncoder.html @@ -0,0 +1,334 @@ + + + + + Docs For Class Swift_Mime_HeaderEncoder_QpHeaderEncoder + + + + + + + + +

    + Class Swift_Mime_HeaderEncoder_QpHeaderEncoder +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Encoder_QpEncoder
    +   |
    +   --Swift_Mime_HeaderEncoder_QpHeaderEncoder
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php
    +

    + +
    Handles Quoted Printable (Q) Header Encoding in Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_HeaderEncoder_QpHeaderEncoder + __construct + (Swift_CharacterStream $charStream) +
    +
    + string + encodeString + (string $string, [ $firstLineOffset = 0], [ $maxLineLength = 0], int $firstLineOffset,, int $maxLineLength,) +
    +
    + string + getName + () +
    +
    + string + _encodeByteSequence + ( $bytes,  &$size) +
    +
    +
    + + + + +

    + Constructor __construct (line 31) +

    +

    Swift_Mime_HeaderEncoder_QpHeaderEncoder __construct( +Swift_CharacterStream +$charStream)

    + +

    Overrides : Swift_Encoder_QpEncoder::__construct() Creates a new QpEncoder for the given CharacterStream.

    + +
    Creates a new QpHeaderEncoder for the given CharacterStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encodeString (line 63) +

    +

    string encodeString( +string +$string, [ +$firstLineOffset = 0], [ +$maxLineLength = 0], int +$firstLineOffset,, int +$maxLineLength,)

    + +

    Overrides : Swift_Encoder_QpEncoder::encodeString() Takes an unencoded string and produces a QP encoded string from it.

    +
    +
    Implementation of:
    +
    +
    Swift_Encoder::encodeString()
    +
    Encode a given string to produce an encoded string.
    +
    + +
    Takes an unencoded string and produces a Q encoded string from it.
    +

    Parameters

    +
      +
    • string $string: to encode
    • +
    • int $firstLineOffset,: optional
    • +
    • int $maxLineLength,: optional, 0 indicates the default of 76 chars
    • +
    • $firstLineOffset:
    • +
    • $maxLineLength:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getName (line 51) +

    +

    string getName( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderEncoder::getName()
    +
    Get the MIME name of this content encoding scheme.
    +
    + +
    Get the name of this encoding scheme.
    +

    Returns the string 'Q'.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _encodeByteSequence (line 79) +

    +

    string _encodeByteSequence( + +$bytes, +&$size)

    + +

    Overrides : Swift_Encoder_QpEncoder::_encodeByteSequence() Encode the given byte array into a verbatim QP form.

    + +
    Encode the given byte array into a verbatim QP form.
    +

    Parameters

    +
      +
    • int[] $bytes:
    • +
    • &$size:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Encoder_QpEncoder

    +

    + Swift_Encoder_QpEncoder::$_charStream - The CharacterStream used for reading characters (as opposed to bytes). +

    +

    + Swift_Encoder_QpEncoder::$_filter - A filter used if input should be canonicalized. +

    +

    + Swift_Encoder_QpEncoder::$_qpMap - Pre-computed QP for HUGE optmization. +

    +

    + Swift_Encoder_QpEncoder::$_safeMap - A map of non-encoded ascii characters. +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Encoder_QpEncoder

    +

    + Swift_Encoder_QpEncoder::__construct() - Creates a new QpEncoder for the given CharacterStream. +

    + +

    + Swift_Encoder_QpEncoder::charsetChanged() - Updates the charset used. +

    + +

    + Swift_Encoder_QpEncoder::encodeString() - Takes an unencoded string and produces a QP encoded string from it. +

    + +

    + Swift_Encoder_QpEncoder::_encodeByteSequence() - Encode the given byte array into a verbatim QP form. +

    + +

    + Swift_Encoder_QpEncoder::_nextSequence() - Get the next sequence of bytes to read from the char stream. +

    + +

    + Swift_Encoder_QpEncoder::_standardize() - Make sure CRLF is correct and HT/SPACE are in valid places. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderFactory.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderFactory.html new file mode 100644 index 0000000..4f06a25 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderFactory.html @@ -0,0 +1,343 @@ + + + + + Docs For Class Swift_Mime_HeaderFactory + + + + + + + + +

    + Interface Swift_Mime_HeaderFactory +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_Mime_CharsetObserver
    +   |
    +   --Swift_Mime_HeaderFactory
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/HeaderFactory.php
    +

    + +
    Creates MIME headers.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Header + createDateHeader + (string $name, [int $timestamp = null]) +
    +
    + Swift_Mime_Header + createIdHeader + (string $name, [string|array $ids = null]) +
    +
    + Swift_Mime_Header + createMailboxHeader + (string $name, [array|string $addresses = null]) +
    +
    + Swift_Mime_ParameterizedHeader + createParameterizedHeader + (string $name, [string $value = null], [array $params = array()]) +
    +
    + Swift_Mime_Header + createPathHeader + (string $name, [string $path = null]) +
    +
    + Swift_Mime_Header + createTextHeader + (string $name, [string $value = null]) +
    +
    +
    + + + + +

    + Method createDateHeader (line 36) +

    +

    Swift_Mime_Header createDateHeader( +string +$name, [int +$timestamp = null])

    + + +
    Create a new Date header using $timestamp (UNIX time).
    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $timestamp:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createIdHeader (line 62) +

    +

    Swift_Mime_Header createIdHeader( +string +$name, [string|array +$ids = null])

    + + +
    Create a new ID header for Message-ID or Content-ID.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string|array $ids:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createMailboxHeader (line 28) +

    +

    Swift_Mime_Header createMailboxHeader( +string +$name, [array|string +$addresses = null])

    + + +
    Create a new Mailbox Header with a list of $addresses.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • array|string $addresses:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createParameterizedHeader (line 53) +

    +

    Swift_Mime_ParameterizedHeader createParameterizedHeader( +string +$name, [string +$value = null], [array +$params = array()])

    + + +
    Create a new ParameterizedHeader with $name, $value and $params.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    • array $params:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createPathHeader (line 70) +

    +

    Swift_Mime_Header createPathHeader( +string +$name, [string +$path = null])

    + + +
    Create a new Path header with an address (path) in it.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $path:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createTextHeader (line 44) +

    +

    Swift_Mime_Header createTextHeader( +string +$name, [string +$value = null])

    + + +
    Create a new basic text header with $name and $value.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_CharsetObserver

    +

    + Swift_Mime_CharsetObserver::charsetChanged() - Notify this observer that the entity's charset has changed. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderSet.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderSet.html new file mode 100644 index 0000000..f34b37c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_HeaderSet.html @@ -0,0 +1,597 @@ + + + + + Docs For Class Swift_Mime_HeaderSet + + + + + + + + +

    + Interface Swift_Mime_HeaderSet +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Mime_CharsetObserver
    +   |
    +   --Swift_Mime_HeaderSet
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/HeaderSet.php
    +

    + +
    A collection of MIME headers.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + addDateHeader + (string $name, [int $timestamp = null]) +
    +
    + void + addIdHeader + (string $name, [string|array $ids = null]) +
    +
    + void + addMailboxHeader + (string $name, [array|string $addresses = null]) +
    +
    + void + addParameterizedHeader + (string $name, [string $value = null], [array $params = array()]) +
    +
    + void + addPathHeader + (string $name, [string $path = null]) +
    +
    + void + addTextHeader + (string $name, [string $value = null]) +
    +
    + void + defineOrdering + ( $sequence) +
    +
    + Swift_Mime_Header + get + (string $name, [int $index = 0]) +
    +
    + array + getAll + ([string $name = null]) +
    +
    + boolean + has + (string $name, [int $index = 0]) +
    + +
    + void + remove + (string $name, [int $index = 0]) +
    +
    + void + removeAll + (string $name) +
    +
    + void + set + (Swift_Mime_Header $header, [int $index = 0]) +
    +
    + void + setAlwaysDisplayed + ( $names) +
    +
    + string + toString + () +
    +
    +
    + + + + +

    + Method addDateHeader (line 38) +

    +

    void addDateHeader( +string +$name, [int +$timestamp = null])

    + + +
    Add a new Date header using $timestamp (UNIX time).
    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $timestamp:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addIdHeader (line 64) +

    +

    void addIdHeader( +string +$name, [string|array +$ids = null])

    + + +
    Add a new ID header for Message-ID or Content-ID.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string|array $ids:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addMailboxHeader (line 30) +

    +

    void addMailboxHeader( +string +$name, [array|string +$addresses = null])

    + + +
    Add a new Mailbox Header with a list of $addresses.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • array|string $addresses:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addParameterizedHeader (line 55) +

    +

    void addParameterizedHeader( +string +$name, [string +$value = null], [array +$params = array()])

    + + +
    Add a new ParameterizedHeader with $name, $value and $params.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    • array $params:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addPathHeader (line 72) +

    +

    void addPathHeader( +string +$name, [string +$path = null])

    + + +
    Add a new Path header with an address (path) in it.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $path:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addTextHeader (line 46) +

    +

    void addTextHeader( +string +$name, [string +$value = null])

    + + +
    Add a new basic text header with $name and $value.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method defineOrdering (line 152) +

    +

    void defineOrdering( + +$sequence)

    + + +
    Define a list of Header names as an array in the correct order.
    +

    These Headers will be output in the given order where present.

    +

    Parameters

    +
      +
    • array $sequence:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method get (line 110) +

    +

    Swift_Mime_Header get( +string +$name, [int +$index = 0])

    + + +
    Get the header with the given $name.
    +

    If multiple headers match, the actual one may be specified by $index. Returns NULL if none present.

    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $index:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAll (line 119) +

    +

    array getAll( +[string +$name = null])

    + + +
    Get all headers with the given $name.
    +

    Parameters

    +
      +
    • string $name:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method has (line 84) +

    +

    boolean has( +string +$name, [int +$index = 0])

    + + +
    Returns true if at least one header with the given $name exists.
    +

    If multiple headers match, the actual one may be specified by $index.

    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $index:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method newInstance (line 143) +

    +

    Swift_Mime_HeaderSet newInstance( +)

    + + +
    Create a new instance of this HeaderSet.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method remove (line 129) +

    +

    void remove( +string +$name, [int +$index = 0])

    + + +
    Remove the header with the given $name if it's set.
    +

    If multiple headers match, the actual one may be specified by $index.

    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $index:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method removeAll (line 136) +

    +

    void removeAll( +string +$name)

    + + +
    Remove all headers with the given $name.
    +

    Parameters

    +
      +
    • string $name:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method set (line 98) +

    +

    void set( +Swift_Mime_Header +$header, [int +$index = 0])

    + + +
    Set a header in the HeaderSet.
    +

    The header may be a previously fetched header via get() or it may be one that has been created separately.

    If $index is specified, the header will be inserted into the set at this offset.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setAlwaysDisplayed (line 161) +

    +

    void setAlwaysDisplayed( + +$names)

    + + +
    Set a list of header names which must always be displayed when set.
    +

    Usually headers without a field value won't be output unless set here.

    +

    Parameters

    +
      +
    • array $names:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toString (line 168) +

    +

    string toString( +)

    + + +
    Returns a string with a representation of all headers.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_CharsetObserver

    +

    + Swift_Mime_CharsetObserver::charsetChanged() - Notify this observer that the entity's charset has changed. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_AbstractHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_AbstractHeader.html new file mode 100644 index 0000000..82ce98c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_AbstractHeader.html @@ -0,0 +1,828 @@ + + + + + Docs For Class Swift_Mime_Headers_AbstractHeader + + + + + + + + +

    + Class Swift_Mime_Headers_AbstractHeader +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Headers/AbstractHeader.php
    +

    + +
    An abstract base MIME Header.
    +
      +
    • author: - Chris Corbyn
    • +
    • abstract: -
    • +
    +

    +Classes extended from Swift_Mime_Headers_AbstractHeader: +
    +
    Swift_Mime_Headers_DateHeader
    +
    A Date MIME Header for Swift Mailer.
    +
    +
    +
    Swift_Mime_Headers_IdentificationHeader
    +
    An ID MIME Header for something like Message-ID or Content-ID.
    +
    +
    +
    Swift_Mime_Headers_MailboxHeader
    +
    A Mailbox Address MIME Header for something like From or Sender.
    +
    +
    +
    Swift_Mime_Headers_PathHeader
    +
    A Path Header in Swift Mailer, such a Return-Path.
    +
    +
    +
    Swift_Mime_Headers_UnstructuredHeader
    +
    A Simple MIME Header.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + clearCachedValueIf + (boolean $condition) +
    +
    + string + createPhrase + (Swift_Mime_Header $header, string $string, string $charset, [Swift_Mime_HeaderEncoder $encoder = null], [boolean $shorten = false]) +
    +
    + string + encodeWords + (Swift_Mime_Header $header, string $input, [ $usedLength = -1], string $usedLength,) +
    +
    + string + escapeSpecials + (string $token, [string[] $include = array()], [string[] $exclude = array()]) +
    +
    + string[] + generateTokenLines + (string $token) +
    +
    + string + getCachedValue + () +
    +
    + string + getCharset + () +
    +
    + string[] + getEncodableWordTokens + (string $string) +
    + +
    + string + getFieldName + () +
    +
    + string + getGrammar + (string $name) +
    +
    + string + getLanguage + () +
    +
    + int + getMaxLineLength + () +
    +
    + string + getTokenAsEncodedWord + (string $token, [ $firstLineOffset = 0], int $firstLineOffset,) +
    +
    + void + initializeGrammar + () +
    +
    + void + setCachedValue + (string $value) +
    +
    + void + setCharset + (string $charset) +
    +
    + void + setEncoder + (Swift_Mime_HeaderEncoder $encoder) +
    +
    + void + setFieldName + (string $name) +
    +
    + void + setLanguage + (string $lang) +
    +
    + void + setMaxLineLength + (int $lineLength) +
    +
    + boolean + tokenNeedsEncoding + (string $token) +
    +
    + string + toString + () +
    +
    + string[] + toTokens + ([string $string = null]) +
    +
    + string + __toString + () +
    +
    +
    + + + + +

    + Method clearCachedValueIf (line 525) +

    +

    void clearCachedValueIf( +boolean +$condition)

    + + +
    Clear the cached value if $condition is met.
    +

    Parameters

    +
      +
    • boolean $condition:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method createPhrase (line 325) +

    +

    string createPhrase( +Swift_Mime_Header +$header, string +$string, string +$charset, [Swift_Mime_HeaderEncoder +$encoder = null], [boolean +$shorten = false])

    + + +
    Produces a compliant, formatted RFC 2822 'phrase' based on the string given.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method encodeWords (line 366) +

    +

    string encodeWords( +Swift_Mime_Header +$header, string +$input, [ +$usedLength = -1], string +$usedLength,)

    + + +
    Encode needed word tokens within a string of input.
    +

    Parameters

    +
      +
    • string $input:
    • +
    • string $usedLength,: optional
    • +
    • Swift_Mime_Header $header:
    • +
    • $usedLength:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method escapeSpecials (line 305) +

    +

    string escapeSpecials( +string +$token, [string[] +$include = array()], [string[] +$exclude = array()])

    + + +
    Escape special characters in a string (convert to quoted-pairs).
    +

    Parameters

    +
      +
    • string $token:
    • +
    • string[] $include: additonal chars to escape
    • +
    • string[] $exclude: chars from escaping
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method generateTokenLines (line 495) +

    +

    string[] generateTokenLines( +string +$token)

    + + +
    Generates tokens from the given string which include CRLF as individual tokens.
    +

    Parameters

    +
      +
    • string $token:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method getCachedValue (line 515) +

    +

    string getCachedValue( +)

    + + +
    Get the value in the cache.
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method getCharset (line 97) +

    +

    string getCharset( +)

    + + +
    Get the character set used in this Header.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getEncodableWordTokens (line 420) +

    +

    string[] getEncodableWordTokens( +string +$string)

    + + +
    Splits a string into tokens in blocks of words which can be encoded quickly.
    +

    Parameters

    +
      +
    • string $string:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method getEncoder (line 137) +

    +

    Swift_Mime_HeaderEncoder getEncoder( +)

    + + +
    Get the encoder used for encoding this Header.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldName (line 146) +

    +

    string getFieldName( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Header::getFieldName()
    +
    Get the name of this header (e.g. Subject).
    +
    + +
    Get the name of this header (e.g. charset).
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getGrammar (line 284) +

    +

    string getGrammar( +string +$name)

    + + +
    Get the grammar defined for $name token.
    +

    Parameters

    +
      +
    • string $name: execatly as written in the RFC
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method getLanguage (line 118) +

    +

    string getLanguage( +)

    + + +
    Get the language used in this Header.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMaxLineLength (line 165) +

    +

    int getMaxLineLength( +)

    + + +
    Get the maximum permitted length of lines in this Header.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTokenAsEncodedWord (line 456) +

    +

    string getTokenAsEncodedWord( +string +$token, [ +$firstLineOffset = 0], int +$firstLineOffset,)

    + + +
    Get a token as an encoded word for safe insertion into headers.
    +

    Parameters

    +
      +
    • string $token: to encode
    • +
    • int $firstLineOffset,: optional
    • +
    • $firstLineOffset:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method initializeGrammar (line 208) +

    +

    void initializeGrammar( +)

    + + +
    Initialize some RFC 2822 (and friends) ABNF grammar definitions.
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method setCachedValue (line 505) +

    +

    void setCachedValue( +string +$value)

    + + +
    Set a value into the cache.
    +

    Parameters

    +
      +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method setCharset (line 83) +

    +

    void setCharset( +string +$charset)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_Headers_ParameterizedHeader::setCharset()
    +
    Set the character set used in this Header.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Header::setCharset()
    +
    Set the charset used when rendering the Header.
    +
    + +
    Set the character set used in this Header.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setEncoder (line 127) +

    +

    void setEncoder( +Swift_Mime_HeaderEncoder +$encoder)

    + + +
    Set the encoder used for encoding the header.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFieldName (line 199) +

    +

    void setFieldName( +string +$name)

    + + +
    Set the name of this Header field.
    +

    Parameters

    +
      +
    • string $name:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method setLanguage (line 108) +

    +

    void setLanguage( +string +$lang)

    + + +
    Set the language used in this Header.
    +

    For example, for US English, 'en-us'. This can be unspecified.

    +

    Parameters

    +
      +
    • string $lang:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setMaxLineLength (line 155) +

    +

    void setMaxLineLength( +int +$lineLength)

    + + +
    Set the maximum length of lines in the header (excluding EOL).
    +

    Parameters

    +
      +
    • int $lineLength:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method tokenNeedsEncoding (line 410) +

    +

    boolean tokenNeedsEncoding( +string +$token)

    + + +
    Test if a token needs to be encoded or not.
    +

    Parameters

    +
      +
    • string $token:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method toString (line 175) +

    +

    string toString( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Header::toString()
    +
    Get this Header rendered as a compliant string.
    +
    + +
    Get this Header rendered as a RFC 2822 compliant string.
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    + +

    + Method toTokens (line 541) +

    +

    string[] toTokens( +[string +$string = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_Headers_ParameterizedHeader::toTokens()
    +
    Generate a list of all tokens in the final header.
    +
    +

    + + +
    Generate a list of all tokens in the final header.
    +

    Parameters

    +
      +
    • string $string: input, optional
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method __toString (line 187) +

    +

    string __toString( +)

    + + +
    Returns a string representation of this object.
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:09 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_DateHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_DateHeader.html new file mode 100644 index 0000000..d98e2b9 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_DateHeader.html @@ -0,0 +1,440 @@ + + + + + Docs For Class Swift_Mime_Headers_DateHeader + + + + + + + + +

    + Class Swift_Mime_Headers_DateHeader +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Mime_Headers_AbstractHeader
    +   |
    +   --Swift_Mime_Headers_DateHeader
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Headers/DateHeader.php
    +

    + +
    A Date MIME Header for Swift Mailer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Headers_DateHeader + __construct + (string $name) +
    +
    + string + getFieldBody + () +
    +
    + mixed + getFieldBodyModel + () +
    +
    + int + getFieldType + () +
    +
    + int + getTimestamp + () +
    +
    + void + setFieldBodyModel + (int $model) +
    +
    + void + setTimestamp + (int $timestamp) +
    +
    +
    + + + + +

    + Constructor __construct (line 40) +

    +

    Swift_Mime_Headers_DateHeader __construct( +string +$name)

    + + +
    Creates a new DateHeader with $name and $timestamp.
    +

    Example:

    1.  <?php
    2. +
    3.  $header = new Swift_Mime_Headers_DateHeader('Date'time());
    4. +
    5.  ?>
    6. +

    +

    Parameters

    +
      +
    • string $name: of Header
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldBody (line 106) +

    +

    string getFieldBody( +)

    + + +
    Get the string value of the body in this Header.
    +

    This is not necessarily RFC 2822 compliant since folding white space will not be added at this stage (see toString() for that).

    + +

    Info

    + +
    + +

    + Method getFieldBodyModel (line 71) +

    +

    mixed getFieldBodyModel( +)

    + + +
    Get the model for the field body.
    +

    This method returns a UNIX timestamp.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldType (line 51) +

    +

    int getFieldType( +)

    + + +
    Get the type of Header that this instance represents.
    + +

    Info

    +
      +
    • see - TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX
    • +
    • see - TYPE_DATE, TYPE_ID, TYPE_PATH
    • +
    • access - public
    • +
    +
    + +

    + Method getTimestamp (line 80) +

    +

    int getTimestamp( +)

    + + +
    Get the UNIX timestamp of the Date in this Header.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFieldBodyModel (line 61) +

    +

    void setFieldBodyModel( +int +$model)

    + + +
    Set the model for the field body.
    +

    This method takes a UNIX timestamp.

    +

    Parameters

    +
      +
    • int $model:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setTimestamp (line 89) +

    +

    void setTimestamp( +int +$timestamp)

    + + +
    Set the UNIX timestamp of the Date in this Header.
    +

    Parameters

    +
      +
    • int $timestamp:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Headers_AbstractHeader

    +

    + Swift_Mime_Headers_AbstractHeader::clearCachedValueIf() - Clear the cached value if $condition is met. +

    + +

    + Swift_Mime_Headers_AbstractHeader::createPhrase() - Produces a compliant, formatted RFC 2822 'phrase' based on the string given. +

    + +

    + Swift_Mime_Headers_AbstractHeader::encodeWords() - Encode needed word tokens within a string of input. +

    + +

    + Swift_Mime_Headers_AbstractHeader::escapeSpecials() - Escape special characters in a string (convert to quoted-pairs). +

    + +

    + Swift_Mime_Headers_AbstractHeader::generateTokenLines() - Generates tokens from the given string which include CRLF as individual tokens. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCachedValue() - Get the value in the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCharset() - Get the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens() - Splits a string into tokens in blocks of words which can be encoded quickly. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncoder() - Get the encoder used for encoding this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getFieldName() - Get the name of this header (e.g. charset). +

    + +

    + Swift_Mime_Headers_AbstractHeader::getGrammar() - Get the grammar defined for $name token. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getLanguage() - Get the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getMaxLineLength() - Get the maximum permitted length of lines in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord() - Get a token as an encoded word for safe insertion into headers. +

    + +

    + Swift_Mime_Headers_AbstractHeader::initializeGrammar() - Initialize some RFC 2822 (and friends) ABNF grammar definitions. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCachedValue() - Set a value into the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCharset() - Set the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setEncoder() - Set the encoder used for encoding the header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setFieldName() - Set the name of this Header field. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setLanguage() - Set the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setMaxLineLength() - Set the maximum length of lines in the header (excluding EOL). +

    + +

    + Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding() - Test if a token needs to be encoded or not. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toString() - Get this Header rendered as a RFC 2822 compliant string. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toTokens() - Generate a list of all tokens in the final header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_IdentificationHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_IdentificationHeader.html new file mode 100644 index 0000000..0debccf --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_IdentificationHeader.html @@ -0,0 +1,486 @@ + + + + + Docs For Class Swift_Mime_Headers_IdentificationHeader + + + + + + + + +

    + Class Swift_Mime_Headers_IdentificationHeader +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Mime_Headers_AbstractHeader
    +   |
    +   --Swift_Mime_Headers_IdentificationHeader
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Headers/IdentificationHeader.php
    +

    + +
    An ID MIME Header for something like Message-ID or Content-ID.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Headers_IdentificationHeader + __construct + (string $name) +
    +
    + string + getFieldBody + () +
    +
    + array + getFieldBodyModel + () +
    +
    + int + getFieldType + () +
    +
    + string + getId + () +
    +
    + string[] + getIds + () +
    +
    + void + setFieldBodyModel + (mixed $model) +
    +
    + void + setId + (string $id) +
    +
    + void + setIds + ( $ids) +
    +
    +
    + + + + +

    + Constructor __construct (line 36) +

    +

    Swift_Mime_Headers_IdentificationHeader __construct( +string +$name)

    + + +
    Creates a new IdentificationHeader with the given $name and $id.
    +

    Parameters

    +
      +
    • string $name:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldBody (line 145) +

    +

    string getFieldBody( +)

    + + +
    Get the string value of the body in this Header.
    +

    This is not necessarily RFC 2822 compliant since folding white space will not be added at this stage (see toString() for that).

    + +

    Info

    + +
    + +

    + Method getFieldBodyModel (line 69) +

    +

    array getFieldBodyModel( +)

    + + +
    Get the model for the field body.
    +

    This method returns an array of IDs

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldType (line 48) +

    +

    int getFieldType( +)

    + + +
    Get the type of Header that this instance represents.
    + +

    Info

    +
      +
    • see - TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX
    • +
    • see - TYPE_DATE, TYPE_ID, TYPE_PATH
    • +
    • access - public
    • +
    +
    + +

    + Method getId (line 89) +

    +

    string getId( +)

    + + +
    Get the ID used in the value of this Header.
    +

    If multiple IDs are set only the first is returned.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getIds (line 132) +

    +

    string[] getIds( +)

    + + +
    Get the list of IDs used in this Header.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFieldBodyModel (line 59) +

    +

    void setFieldBodyModel( +mixed +$model)

    + + +
    Set the model for the field body.
    +

    This method takes a string ID, or an array of IDs

    +

    Parameters

    +
      +
    • mixed $model:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    + +

    + Method setId (line 79) +

    +

    void setId( +string +$id)

    + + +
    Set the ID used in the value of this header.
    +

    Parameters

    +
      +
    • string $id:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    + +

    + Method setIds (line 102) +

    +

    void setIds( + +$ids)

    + + +
    Set a collection of IDs to use in the value of this Header.
    +

    Parameters

    +
      +
    • string[] $ids:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Headers_AbstractHeader

    +

    + Swift_Mime_Headers_AbstractHeader::clearCachedValueIf() - Clear the cached value if $condition is met. +

    + +

    + Swift_Mime_Headers_AbstractHeader::createPhrase() - Produces a compliant, formatted RFC 2822 'phrase' based on the string given. +

    + +

    + Swift_Mime_Headers_AbstractHeader::encodeWords() - Encode needed word tokens within a string of input. +

    + +

    + Swift_Mime_Headers_AbstractHeader::escapeSpecials() - Escape special characters in a string (convert to quoted-pairs). +

    + +

    + Swift_Mime_Headers_AbstractHeader::generateTokenLines() - Generates tokens from the given string which include CRLF as individual tokens. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCachedValue() - Get the value in the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCharset() - Get the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens() - Splits a string into tokens in blocks of words which can be encoded quickly. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncoder() - Get the encoder used for encoding this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getFieldName() - Get the name of this header (e.g. charset). +

    + +

    + Swift_Mime_Headers_AbstractHeader::getGrammar() - Get the grammar defined for $name token. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getLanguage() - Get the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getMaxLineLength() - Get the maximum permitted length of lines in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord() - Get a token as an encoded word for safe insertion into headers. +

    + +

    + Swift_Mime_Headers_AbstractHeader::initializeGrammar() - Initialize some RFC 2822 (and friends) ABNF grammar definitions. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCachedValue() - Set a value into the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCharset() - Set the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setEncoder() - Set the encoder used for encoding the header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setFieldName() - Set the name of this Header field. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setLanguage() - Set the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setMaxLineLength() - Set the maximum length of lines in the header (excluding EOL). +

    + +

    + Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding() - Test if a token needs to be encoded or not. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toString() - Get this Header rendered as a RFC 2822 compliant string. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toTokens() - Generate a list of all tokens in the final header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_MailboxHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_MailboxHeader.html new file mode 100644 index 0000000..f24b73e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_MailboxHeader.html @@ -0,0 +1,661 @@ + + + + + Docs For Class Swift_Mime_Headers_MailboxHeader + + + + + + + + +

    + Class Swift_Mime_Headers_MailboxHeader +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Mime_Headers_AbstractHeader
    +   |
    +   --Swift_Mime_Headers_MailboxHeader
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Headers/MailboxHeader.php
    +

    + +
    A Mailbox Address MIME Header for something like From or Sender.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Headers_MailboxHeader + __construct + (string $name, Swift_Mime_HeaderEncoder $encoder) +
    +
    + string + createDisplayNameString + (string $displayName, [boolean $shorten = false]) +
    +
    + string + createMailboxListString + ( $mailboxes) +
    +
    + string[] + getAddresses + () +
    +
    + string + getFieldBody + () +
    +
    + array + getFieldBodyModel + () +
    +
    + int + getFieldType + () +
    +
    + string[] + getNameAddresses + () +
    +
    + string[] + getNameAddressStrings + () +
    +
    + string[] + normalizeMailboxes + ( $mailboxes) +
    +
    + void + removeAddresses + (string|string[] $addresses) +
    +
    + void + setAddresses + (string[] $addresses) +
    +
    + void + setFieldBodyModel + (mixed $model) +
    +
    + void + setNameAddresses + (string|string[] $mailboxes) +
    +
    +
    + + + + +

    + Constructor __construct (line 35) +

    +

    Swift_Mime_Headers_MailboxHeader __construct( +string +$name, Swift_Mime_HeaderEncoder +$encoder)

    + + +
    Creates a new MailboxHeader with $name.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createDisplayNameString (line 253) +

    +

    string createDisplayNameString( +string +$displayName, [boolean +$shorten = false])

    + + +
    Produces a compliant, formatted display-name based on the string given.
    +

    Parameters

    +
      +
    • string $displayName: as displayed
    • +
    • boolean $shorten: the first line to make remove for header name
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method createMailboxListString (line 267) +

    +

    string createMailboxListString( + +$mailboxes)

    + + +
    Creates a string form of all the mailboxes in the passed array.
    +

    Parameters

    +
      +
    • string[] $mailboxes:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - protected
    • +
    +
    + +

    + Method getAddresses (line 179) +

    +

    string[] getAddresses( +)

    + + +
    Get all email addresses in this Header.
    + +

    Info

    + +
    + +

    + Method getFieldBody (line 205) +

    +

    string getFieldBody( +)

    + + +
    Get the string value of the body in this Header.
    +

    This is not necessarily RFC 2822 compliant since folding white space will not be added at this stage (see toString() for that).

    + +

    Info

    + +
    + +

    + Method getFieldBodyModel (line 70) +

    +

    array getFieldBodyModel( +)

    + + +
    Get the model for the field body.
    +

    This method returns an associative array like getNameAddresses()

    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    + +

    + Method getFieldType (line 48) +

    +

    int getFieldType( +)

    + + +
    Get the type of Header that this instance represents.
    + +

    Info

    +
      +
    • see - TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX
    • +
    • see - TYPE_DATE, TYPE_ID, TYPE_PATH
    • +
    • access - public
    • +
    +
    + +

    + Method getNameAddresses (line 148) +

    +

    string[] getNameAddresses( +)

    + + +
    Get all mailboxes in this Header as key=>value pairs.
    +

    The key is the address and the value is the name (or null if none set). Example:

    1.  <?php
    2. +
    3.  $header = new Swift_Mime_Headers_MailboxHeader('From',
    4. +
    5.   array('chris@swiftmailer.org' => 'Chris Corbyn',
    6. +
    7.   'mark@swiftmailer.org' => 'Mark Corbyn')
    8. +
    9.   );
    10. +
    11.  print_r($header->getNameAddresses());
    12. +
    13.  // array (
    14. +
    15.  // chris@swiftmailer.org => Chris Corbyn,
    16. +
    17.  // mark@swiftmailer.org => Mark Corbyn
    18. +
    19.  // )
    20. +
    21.  ?>
    22. +

    + +

    Info

    + +
    + +

    + Method getNameAddressStrings (line 122) +

    +

    string[] getNameAddressStrings( +)

    + + +
    Get the full mailbox list of this Header as an array of valid RFC 2822 strings.
    +

    Example:

    1.  <?php
    2. +
    3.  $header = new Swift_Mime_Headers_MailboxHeader('From',
    4. +
    5.   array('chris@swiftmailer.org' => 'Chris Corbyn',
    6. +
    7.   'mark@swiftmailer.org' => 'Mark Corbyn')
    8. +
    9.   );
    10. +
    11. +
    12.  // array (
    13. +
    14.  // 0 => Chris Corbyn <chris@swiftmailer.org>,
    15. +
    16.  // 1 => Mark Corbyn <mark@swiftmailer.org>
    17. +
    18.  // )
    19. +
    20.  ?>
    21. +

    + +

    Info

    + +
    + +

    + Method normalizeMailboxes (line 223) +

    +

    string[] normalizeMailboxes( + +$mailboxes)

    + + +
    Normalizes a user-input list of mailboxes into consistent key=>value pairs.
    +

    Parameters

    +
      +
    • string[] $mailboxes:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method removeAddresses (line 188) +

    +

    void removeAddresses( +string|string[] +$addresses)

    + + +
    Remove one or more addresses from this Header.
    +

    Parameters

    +
      +
    • string|string[] $addresses:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setAddresses (line 169) +

    +

    void setAddresses( +string[] +$addresses)

    + + +
    Makes this Header represent a list of plain email addresses with no names.
    +

    Example:

    1.  <?php
    2. +
    3.  //Sets three email addresses as the Header data
    4. +
    5.  $header->setAddresses(
    6. +
    7.   array('one@domain.tld''two@domain.tld''three@domain.tld')
    8. +
    9.   );
    10. +
    11.  ?>
    12. +

    +

    Parameters

    +
      +
    • string[] $addresses:
    • +
    + +

    Info

    + +
    + +

    + Method setFieldBodyModel (line 59) +

    +

    void setFieldBodyModel( +mixed +$model)

    + + +
    Set the model for the field body.
    +

    This method takes a string, or an array of addresses.

    +

    Parameters

    +
      +
    • mixed $model:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    + +

    + Method setNameAddresses (line 95) +

    +

    void setNameAddresses( +string|string[] +$mailboxes)

    + + +
    Set a list of mailboxes to be shown in this Header.
    +

    The mailboxes can be a simple array of addresses, or an array of key=>value pairs where (email => personalName). Example:

    1.  <?php
    2. +
    3.  //Sets two mailboxes in the Header, one with a personal name
    4. +
    5.  $header->setNameAddresses(array(
    6. +
    7.   'chris@swiftmailer.org' => 'Chris Corbyn',
    8. +
    9.   'mark@swiftmailer.org' //No associated personal name
    10. +
    11.   ));
    12. +
    13.  ?>
    14. +

    +

    Parameters

    +
      +
    • string|string[] $mailboxes:
    • +
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Headers_AbstractHeader

    +

    + Swift_Mime_Headers_AbstractHeader::clearCachedValueIf() - Clear the cached value if $condition is met. +

    + +

    + Swift_Mime_Headers_AbstractHeader::createPhrase() - Produces a compliant, formatted RFC 2822 'phrase' based on the string given. +

    + +

    + Swift_Mime_Headers_AbstractHeader::encodeWords() - Encode needed word tokens within a string of input. +

    + +

    + Swift_Mime_Headers_AbstractHeader::escapeSpecials() - Escape special characters in a string (convert to quoted-pairs). +

    + +

    + Swift_Mime_Headers_AbstractHeader::generateTokenLines() - Generates tokens from the given string which include CRLF as individual tokens. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCachedValue() - Get the value in the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCharset() - Get the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens() - Splits a string into tokens in blocks of words which can be encoded quickly. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncoder() - Get the encoder used for encoding this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getFieldName() - Get the name of this header (e.g. charset). +

    + +

    + Swift_Mime_Headers_AbstractHeader::getGrammar() - Get the grammar defined for $name token. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getLanguage() - Get the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getMaxLineLength() - Get the maximum permitted length of lines in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord() - Get a token as an encoded word for safe insertion into headers. +

    + +

    + Swift_Mime_Headers_AbstractHeader::initializeGrammar() - Initialize some RFC 2822 (and friends) ABNF grammar definitions. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCachedValue() - Set a value into the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCharset() - Set the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setEncoder() - Set the encoder used for encoding the header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setFieldName() - Set the name of this Header field. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setLanguage() - Set the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setMaxLineLength() - Set the maximum length of lines in the header (excluding EOL). +

    + +

    + Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding() - Test if a token needs to be encoded or not. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toString() - Get this Header rendered as a RFC 2822 compliant string. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toTokens() - Generate a list of all tokens in the final header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_ParameterizedHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_ParameterizedHeader.html new file mode 100644 index 0000000..8d99cd5 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_ParameterizedHeader.html @@ -0,0 +1,564 @@ + + + + + Docs For Class Swift_Mime_Headers_ParameterizedHeader + + + + + + + + +

    + Class Swift_Mime_Headers_ParameterizedHeader +

    (line 22) +
    + + +
    +

    Description

    +
    +Swift_Mime_Headers_AbstractHeader
    +   |
    +   --Swift_Mime_Headers_UnstructuredHeader
    +      |
    +      --Swift_Mime_Headers_ParameterizedHeader
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Headers/ParameterizedHeader.php
    +

    + +
    An abstract base MIME Header.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Headers_ParameterizedHeader + __construct + (string $name, Swift_Mime_HeaderEncoder $encoder, [Swift_Encoder $paramEncoder = null], Swift_Encoder $paramEncoder,) +
    +
    + string + getFieldBody + () +
    +
    + int + getFieldType + () +
    +
    + string + getParameter + ( $parameter) +
    +
    + string[] + getParameters + () +
    +
    + void + setCharset + (string $charset) +
    +
    + void + setParameter + (string $parameter, string $value) +
    +
    + void + setParameters + ( $parameters) +
    +
    + string[] + toTokens + ([ $string = null]) +
    +
    +
    + + + + +

    + Constructor __construct (line 54) +

    +

    Swift_Mime_Headers_ParameterizedHeader __construct( +string +$name, Swift_Mime_HeaderEncoder +$encoder, [Swift_Encoder +$paramEncoder = null], Swift_Encoder +$paramEncoder,)

    + +

    Overrides : Swift_Mime_Headers_UnstructuredHeader::__construct() Creates a new SimpleHeader with $name.

    + +
    Creates a new ParameterizedHeader with $name.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldBody (line 133) +

    +

    string getFieldBody( +)

    + +

    Overrides : Swift_Mime_Headers_UnstructuredHeader::getFieldBody() Get the value of this header prepared for rendering.

    +
    +
    Implementation of:
    +
    +
    Swift_Mime_Header::getFieldBody()
    +
    Get the field body, prepared for folding into a final header value.
    +
    + +
    Get the value of this header prepared for rendering.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldType (line 70) +

    +

    int getFieldType( +)

    + +

    Overrides : Swift_Mime_Headers_UnstructuredHeader::getFieldType() Get the type of Header that this instance represents.

    +
    +
    Implementation of:
    +
    +
    Swift_Mime_Header::getFieldType()
    +
    Get the type of Header that this instance represents.
    +
    + +
    Get the type of Header that this instance represents.
    + +

    Info

    +
      +
    • see - TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX
    • +
    • see - TYPE_DATE, TYPE_ID, TYPE_PATH
    • +
    • access - public
    • +
    +
    + +

    + Method getParameter (line 102) +

    +

    string getParameter( + +$parameter)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ParameterizedHeader::getParameter()
    +
    Get the value of $parameter.
    +
    + +
    Get the value of $parameter.
    +

    Parameters

    +
      +
    • $parameter:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getParameters (line 124) +

    +

    string[] getParameters( +)

    + + +
    Returns an associative array of parameter names mapped to values.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharset (line 79) +

    +

    void setCharset( +string +$charset)

    + +

    Overrides : Swift_Mime_Headers_AbstractHeader::setCharset() Set the character set used in this Header.

    +
    +
    Implementation of:
    +
    +
    Swift_Mime_Header::setCharset()
    +
    Set the charset used when rendering the Header.
    +
    + +
    Set the character set used in this Header.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setParameter (line 93) +

    +

    void setParameter( +string +$parameter, string +$value)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_ParameterizedHeader::setParameter()
    +
    Set the value of $parameter.
    +
    + +
    Set the value of $parameter.
    +

    Parameters

    +
      +
    • string $parameter:
    • +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setParameters (line 114) +

    +

    void setParameters( + +$parameters)

    + + +
    Set an associative array of parameter names mapped to values.
    +

    Parameters

    +
      +
    • string[] $parameters:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toTokens (line 156) +

    +

    string[] toTokens( +[ +$string = null])

    + +

    Overrides : Swift_Mime_Headers_AbstractHeader::toTokens() Generate a list of all tokens in the final header.

    + +
    Generate a list of all tokens in the final header.
    +

    This doesn't need to be overridden in theory, but it is for implementation reasons to prevent potential breakage of attributes.

    +

    Parameters

    +
      +
    • $string:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Headers_UnstructuredHeader

    +

    + Swift_Mime_Headers_UnstructuredHeader::__construct() - Creates a new SimpleHeader with $name. +

    + +

    + Swift_Mime_Headers_UnstructuredHeader::getFieldBody() - Get the value of this header prepared for rendering. +

    + +

    + Swift_Mime_Headers_UnstructuredHeader::getFieldBodyModel() - Get the model for the field body. +

    + +

    + Swift_Mime_Headers_UnstructuredHeader::getFieldType() - Get the type of Header that this instance represents. +

    + +

    + Swift_Mime_Headers_UnstructuredHeader::getValue() - Get the (unencoded) value of this header. +

    + +

    + Swift_Mime_Headers_UnstructuredHeader::setFieldBodyModel() - Set the model for the field body. +

    + +

    + Swift_Mime_Headers_UnstructuredHeader::setValue() - Set the (unencoded) value of this header. +

    + +
    + +

    Inherited From Class Swift_Mime_Headers_AbstractHeader

    +

    + Swift_Mime_Headers_AbstractHeader::clearCachedValueIf() - Clear the cached value if $condition is met. +

    + +

    + Swift_Mime_Headers_AbstractHeader::createPhrase() - Produces a compliant, formatted RFC 2822 'phrase' based on the string given. +

    + +

    + Swift_Mime_Headers_AbstractHeader::encodeWords() - Encode needed word tokens within a string of input. +

    + +

    + Swift_Mime_Headers_AbstractHeader::escapeSpecials() - Escape special characters in a string (convert to quoted-pairs). +

    + +

    + Swift_Mime_Headers_AbstractHeader::generateTokenLines() - Generates tokens from the given string which include CRLF as individual tokens. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCachedValue() - Get the value in the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCharset() - Get the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens() - Splits a string into tokens in blocks of words which can be encoded quickly. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncoder() - Get the encoder used for encoding this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getFieldName() - Get the name of this header (e.g. charset). +

    + +

    + Swift_Mime_Headers_AbstractHeader::getGrammar() - Get the grammar defined for $name token. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getLanguage() - Get the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getMaxLineLength() - Get the maximum permitted length of lines in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord() - Get a token as an encoded word for safe insertion into headers. +

    + +

    + Swift_Mime_Headers_AbstractHeader::initializeGrammar() - Initialize some RFC 2822 (and friends) ABNF grammar definitions. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCachedValue() - Set a value into the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCharset() - Set the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setEncoder() - Set the encoder used for encoding the header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setFieldName() - Set the name of this Header field. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setLanguage() - Set the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setMaxLineLength() - Set the maximum length of lines in the header (excluding EOL). +

    + +

    + Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding() - Test if a token needs to be encoded or not. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toString() - Get this Header rendered as a RFC 2822 compliant string. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toTokens() - Generate a list of all tokens in the final header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_PathHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_PathHeader.html new file mode 100644 index 0000000..b8a465c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_PathHeader.html @@ -0,0 +1,439 @@ + + + + + Docs For Class Swift_Mime_Headers_PathHeader + + + + + + + + +

    + Class Swift_Mime_Headers_PathHeader +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Mime_Headers_AbstractHeader
    +   |
    +   --Swift_Mime_Headers_PathHeader
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Headers/PathHeader.php
    +

    + +
    A Path Header in Swift Mailer, such a Return-Path.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Headers_PathHeader + __construct + (string $name) +
    +
    + string + getAddress + () +
    +
    + string + getFieldBody + () +
    +
    + mixed + getFieldBodyModel + () +
    +
    + int + getFieldType + () +
    +
    + void + setAddress + (string $address) +
    +
    + void + setFieldBodyModel + (string $model) +
    +
    +
    + + + + +

    + Constructor __construct (line 34) +

    +

    Swift_Mime_Headers_PathHeader __construct( +string +$name)

    + + +
    Creates a new PathHeader with the given $name.
    +

    Parameters

    +
      +
    • string $name:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAddress (line 102) +

    +

    string getAddress( +)

    + + +
    Get the address which is used in this Header (if any).
    +

    Null is returned if no address is set.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldBody (line 114) +

    +

    string getFieldBody( +)

    + + +
    Get the string value of the body in this Header.
    +

    This is not necessarily RFC 2822 compliant since folding white space will not be added at this stage (see toString() for that).

    + +

    Info

    + +
    + +

    + Method getFieldBodyModel (line 67) +

    +

    mixed getFieldBodyModel( +)

    + + +
    Get the model for the field body.
    +

    This method returns a string email address.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldType (line 46) +

    +

    int getFieldType( +)

    + + +
    Get the type of Header that this instance represents.
    + +

    Info

    +
      +
    • see - TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX
    • +
    • see - TYPE_DATE, TYPE_ID, TYPE_PATH
    • +
    • access - public
    • +
    +
    + +

    + Method setAddress (line 77) +

    +

    void setAddress( +string +$address)

    + + +
    Set the Address which should appear in this Header.
    +

    Parameters

    +
      +
    • string $address:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    + +

    + Method setFieldBodyModel (line 57) +

    +

    void setFieldBodyModel( +string +$model)

    + + +
    Set the model for the field body.
    +

    This method takes a string for an address.

    +

    Parameters

    +
      +
    • string $model:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Headers_AbstractHeader

    +

    + Swift_Mime_Headers_AbstractHeader::clearCachedValueIf() - Clear the cached value if $condition is met. +

    + +

    + Swift_Mime_Headers_AbstractHeader::createPhrase() - Produces a compliant, formatted RFC 2822 'phrase' based on the string given. +

    + +

    + Swift_Mime_Headers_AbstractHeader::encodeWords() - Encode needed word tokens within a string of input. +

    + +

    + Swift_Mime_Headers_AbstractHeader::escapeSpecials() - Escape special characters in a string (convert to quoted-pairs). +

    + +

    + Swift_Mime_Headers_AbstractHeader::generateTokenLines() - Generates tokens from the given string which include CRLF as individual tokens. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCachedValue() - Get the value in the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCharset() - Get the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens() - Splits a string into tokens in blocks of words which can be encoded quickly. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncoder() - Get the encoder used for encoding this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getFieldName() - Get the name of this header (e.g. charset). +

    + +

    + Swift_Mime_Headers_AbstractHeader::getGrammar() - Get the grammar defined for $name token. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getLanguage() - Get the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getMaxLineLength() - Get the maximum permitted length of lines in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord() - Get a token as an encoded word for safe insertion into headers. +

    + +

    + Swift_Mime_Headers_AbstractHeader::initializeGrammar() - Initialize some RFC 2822 (and friends) ABNF grammar definitions. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCachedValue() - Set a value into the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCharset() - Set the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setEncoder() - Set the encoder used for encoding the header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setFieldName() - Set the name of this Header field. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setLanguage() - Set the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setMaxLineLength() - Set the maximum length of lines in the header (excluding EOL). +

    + +

    + Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding() - Test if a token needs to be encoded or not. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toString() - Get this Header rendered as a RFC 2822 compliant string. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toTokens() - Generate a list of all tokens in the final header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_UnstructuredHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_UnstructuredHeader.html new file mode 100644 index 0000000..5eac243 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Headers_UnstructuredHeader.html @@ -0,0 +1,460 @@ + + + + + Docs For Class Swift_Mime_Headers_UnstructuredHeader + + + + + + + + +

    + Class Swift_Mime_Headers_UnstructuredHeader +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Mime_Headers_AbstractHeader
    +   |
    +   --Swift_Mime_Headers_UnstructuredHeader
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Headers/UnstructuredHeader.php
    +

    + +
    A Simple MIME Header.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_Headers_UnstructuredHeader: +
    +
    Swift_Mime_Headers_ParameterizedHeader
    +
    An abstract base MIME Header.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Headers_UnstructuredHeader + __construct + (string $name, Swift_Mime_HeaderEncoder $encoder) +
    +
    + string + getFieldBody + () +
    +
    + string + getFieldBodyModel + () +
    +
    + int + getFieldType + () +
    +
    + string + getValue + () +
    +
    + void + setFieldBodyModel + (string $model) +
    +
    + void + setValue + (string $value) +
    +
    +
    + + + + +

    + Constructor __construct (line 36) +

    +

    Swift_Mime_Headers_UnstructuredHeader __construct( +string +$name, Swift_Mime_HeaderEncoder +$encoder)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_Headers_ParameterizedHeader::__construct()
    +
    Creates a new ParameterizedHeader with $name.
    +
    +

    + + +
    Creates a new SimpleHeader with $name.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldBody (line 95) +

    +

    string getFieldBody( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_Headers_ParameterizedHeader::getFieldBody()
    +
    Get the value of this header prepared for rendering.
    +
    +

    + + +
    Get the value of this header prepared for rendering.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldBodyModel (line 67) +

    +

    string getFieldBodyModel( +)

    + + +
    Get the model for the field body.
    +

    This method returns a string.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFieldType (line 47) +

    +

    int getFieldType( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_Headers_ParameterizedHeader::getFieldType()
    +
    Get the type of Header that this instance represents.
    +
    +

    + + +
    Get the type of Header that this instance represents.
    + +

    Info

    +
      +
    • see - TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX
    • +
    • see - TYPE_DATE, TYPE_ID, TYPE_PATH
    • +
    • access - public
    • +
    +
    + +

    + Method getValue (line 76) +

    +

    string getValue( +)

    + + +
    Get the (unencoded) value of this header.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFieldBodyModel (line 57) +

    +

    void setFieldBodyModel( +string +$model)

    + + +
    Set the model for the field body.
    +

    This method takes a string for the field value.

    +

    Parameters

    +
      +
    • string $model:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setValue (line 85) +

    +

    void setValue( +string +$value)

    + + +
    Set the (unencoded) value of this header.
    +

    Parameters

    +
      +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Headers_AbstractHeader

    +

    + Swift_Mime_Headers_AbstractHeader::clearCachedValueIf() - Clear the cached value if $condition is met. +

    + +

    + Swift_Mime_Headers_AbstractHeader::createPhrase() - Produces a compliant, formatted RFC 2822 'phrase' based on the string given. +

    + +

    + Swift_Mime_Headers_AbstractHeader::encodeWords() - Encode needed word tokens within a string of input. +

    + +

    + Swift_Mime_Headers_AbstractHeader::escapeSpecials() - Escape special characters in a string (convert to quoted-pairs). +

    + +

    + Swift_Mime_Headers_AbstractHeader::generateTokenLines() - Generates tokens from the given string which include CRLF as individual tokens. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCachedValue() - Get the value in the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getCharset() - Get the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens() - Splits a string into tokens in blocks of words which can be encoded quickly. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getEncoder() - Get the encoder used for encoding this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getFieldName() - Get the name of this header (e.g. charset). +

    + +

    + Swift_Mime_Headers_AbstractHeader::getGrammar() - Get the grammar defined for $name token. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getLanguage() - Get the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getMaxLineLength() - Get the maximum permitted length of lines in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord() - Get a token as an encoded word for safe insertion into headers. +

    + +

    + Swift_Mime_Headers_AbstractHeader::initializeGrammar() - Initialize some RFC 2822 (and friends) ABNF grammar definitions. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCachedValue() - Set a value into the cache. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setCharset() - Set the character set used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setEncoder() - Set the encoder used for encoding the header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setFieldName() - Set the name of this Header field. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setLanguage() - Set the language used in this Header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::setMaxLineLength() - Set the maximum length of lines in the header (excluding EOL). +

    + +

    + Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding() - Test if a token needs to be encoded or not. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toString() - Get this Header rendered as a RFC 2822 compliant string. +

    + +

    + Swift_Mime_Headers_AbstractHeader::toTokens() - Generate a list of all tokens in the final header. +

    + +

    + Swift_Mime_Headers_AbstractHeader::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Message.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Message.html new file mode 100644 index 0000000..221c171 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_Message.html @@ -0,0 +1,673 @@ + + + + + Docs For Class Swift_Mime_Message + + + + + + + + +

    + Interface Swift_Mime_Message +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Mime_CharsetObserver
    +   |
    +   --Swift_Mime_MimeEntity
    +      |
    +      --Swift_Mime_Message
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/Message.php
    +

    + +
    A Message (RFC 2822) object.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + generateId + () +
    +
    + string[] + getBcc + () +
    +
    + string[] + getCc + () +
    +
    + int + getDate + () +
    +
    + string[] + getFrom + () +
    +
    + string[] + getReplyTo + () +
    +
    + string + getReturnPath + () +
    +
    + string + getSender + () +
    +
    + string + getSubject + () +
    +
    + string[] + getTo + () +
    +
    + void + setBcc + (mixed $addresses, [string $name = null]) +
    +
    + void + setCc + (mixed $addresses, [string $name = null]) +
    +
    + void + setDate + (int $date) +
    +
    + void + setFrom + (mixed $addresses, [string $name = null]) +
    +
    + void + setReplyTo + (mixed $addresses, [string $name = null]) +
    +
    + void + setReturnPath + (string $address) +
    +
    + void + setSender + (mixed $address, [string $name = null]) +
    +
    + void + setSubject + (string $subject) +
    +
    + void + setTo + (mixed $addresses, [string $name = null]) +
    +
    +
    + + + + +

    + Method generateId (line 29) +

    +

    string generateId( +)

    + + +
    Generates a valid Message-ID and switches to it.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBcc (line 228) +

    +

    string[] getBcc( +)

    + + +
    Get the Bcc addresses for this message.
    +

    This method always returns an associative array, whereby the keys provide the actual email addresses.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getCc (line 202) +

    +

    string[] getCc( +)

    + + +
    Get the Cc addresses for this message.
    +

    This method always returns an associative array, whereby the keys provide the actual email addresses.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getDate (line 57) +

    +

    int getDate( +)

    + + +
    Get the origination date of the message as a UNIX timestamp.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFrom (line 128) +

    +

    string[] getFrom( +)

    + + +
    Get the From address(es) of this message.
    +

    This method always returns an associative array where the keys are the addresses.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getReplyTo (line 155) +

    +

    string[] getReplyTo( +)

    + + +
    Get the Reply-To addresses for this message.
    +

    This method always returns an associative array where the keys provide the email addresses.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getReturnPath (line 71) +

    +

    string getReturnPath( +)

    + + +
    Get the return-path (bounce-detect) address.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSender (line 99) +

    +

    string getSender( +)

    + + +
    Get the sender address for this message.
    +

    This has a higher significance than the From address.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSubject (line 43) +

    +

    string getSubject( +)

    + + +
    Get the subject of the message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTo (line 180) +

    +

    string[] getTo( +)

    + + +
    Get the To addresses for this message.
    +

    This method always returns an associative array, whereby the keys provide the actual email addresses.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setBcc (line 218) +

    +

    void setBcc( +mixed +$addresses, [string +$name = null])

    + + +
    Set the Bcc address(es).
    +

    Recipients set in this field will receive a 'blind-carbon-copy' of this message.

    In other words, they will get the message, but any other recipients of the message will have no such knowledge of their receipt of it.

    This method has the same synopsis as setFrom() and setTo().

    +

    Parameters

    +
      +
    • mixed $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCc (line 192) +

    +

    void setCc( +mixed +$addresses, [string +$name = null])

    + + +
    Set the Cc address(es).
    +

    Recipients set in this field will receive a 'carbon-copy' of this message.

    This method has the same synopsis as setFrom() and setTo().

    +

    Parameters

    +
      +
    • mixed $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setDate (line 50) +

    +

    void setDate( +int +$date)

    + + +
    Set the origination date of the message as a UNIX timestamp.
    +

    Parameters

    +
      +
    • int $date:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFrom (line 118) +

    +

    void setFrom( +mixed +$addresses, [string +$name = null])

    + + +
    Set the From address of this message.
    +

    It is permissible for multiple From addresses to be set using an array.

    If multiple From addresses are used, you SHOULD set the Sender address and according to RFC 2822, MUST set the sender address.

    An array can be used if display names are to be provided: i.e. array('email@address.com' => 'Real Name').

    If the second parameter is provided and the first is a string, then $name is associated with the address.

    +

    Parameters

    +
      +
    • mixed $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setReplyTo (line 145) +

    +

    void setReplyTo( +mixed +$addresses, [string +$name = null])

    + + +
    Set the Reply-To address(es).
    +

    Any replies from the receiver will be sent to this address.

    It is permissible for multiple reply-to addresses to be set using an array.

    This method has the same synopsis as setFrom() and setTo().

    If the second parameter is provided and the first is a string, then $name is associated with the address.

    +

    Parameters

    +
      +
    • mixed $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setReturnPath (line 64) +

    +

    void setReturnPath( +string +$address)

    + + +
    Set the return-path (bounce-detect) address.
    +

    Parameters

    +
      +
    • string $address:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setSender (line 90) +

    +

    void setSender( +mixed +$address, [string +$name = null])

    + + +
    Set the sender of this message.
    +

    If multiple addresses are present in the From field, this SHOULD be set.

    According to RFC 2822 it is a requirement when there are multiple From addresses, but Swift itself does not require it directly.

    An associative array (with one element!) can be used to provide a display- name: i.e. array('email@address' => 'Real Name').

    If the second parameter is provided and the first is a string, then $name is associated with the address.

    +

    Parameters

    +
      +
    • mixed $address:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setSubject (line 36) +

    +

    void setSubject( +string +$subject)

    + + +
    Set the subject of the message.
    +

    Parameters

    +
      +
    • string $subject:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setTo (line 170) +

    +

    void setTo( +mixed +$addresses, [string +$name = null])

    + + +
    Set the To address(es).
    +

    Recipients set in this field will receive a copy of this message.

    This method has the same synopsis as setFrom() and setCc().

    If the second parameter is provided and the first is a string, then $name is associated with the address.

    +

    Parameters

    +
      +
    • mixed $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_MimeEntity

    +

    + Swift_Mime_MimeEntity::getBody() - Get the body content of this entity as a string. +

    + +

    + Swift_Mime_MimeEntity::getChildren() - Get all children nested inside this entity. +

    + +

    + Swift_Mime_MimeEntity::getContentType() - Get the qualified content-type of this mime entity. +

    + +

    + Swift_Mime_MimeEntity::getHeaders() - Get the collection of Headers in this Mime entity. +

    + +

    + Swift_Mime_MimeEntity::getId() - Returns a unique ID for this entity. +

    + +

    + Swift_Mime_MimeEntity::getNestingLevel() - Get the level at which this entity shall be nested in final document. +

    + +

    + Swift_Mime_MimeEntity::setBody() - Set the body content of this entity as a string. +

    + +

    + Swift_Mime_MimeEntity::setChildren() - Set all children nested inside this entity. +

    + +

    + Swift_Mime_MimeEntity::toByteStream() - Get this entire entity as a ByteStream. +

    + +

    + Swift_Mime_MimeEntity::toString() - Get this entire entity in its string form. +

    + +
    + +

    Inherited From Class Swift_Mime_CharsetObserver

    +

    + Swift_Mime_CharsetObserver::charsetChanged() - Notify this observer that the entity's charset has changed. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:25 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_MimeEntity.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_MimeEntity.html new file mode 100644 index 0000000..6be45b4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_MimeEntity.html @@ -0,0 +1,460 @@ + + + + + Docs For Class Swift_Mime_MimeEntity + + + + + + + + +

    + Interface Swift_Mime_MimeEntity +

    (line 21) +
    + + +
    +

    Description

    +
    +Swift_Mime_CharsetObserver
    +   |
    +   --Swift_Mime_MimeEntity
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/MimeEntity.php
    +

    + +
    A MIME entity, such as an attachment.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_MimeEntity: +
    +
    Swift_Mime_Message
    +
    A Message (RFC 2822) object.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + + + +
    + +
    +

    + LEVEL_ALTERNATIVE = 4096 (line 32) +

    + +
    An entity which nests with the same precedence as a mime part
    +
      +
    +
    + +
    +

    + LEVEL_MIXED = 256 (line 29) +

    + +
    An entity which nests with the same precedence as an attachment
    +
      +
    +
    + +
    +

    + LEVEL_RELATED = 65536 (line 35) +

    + +
    An entity which nests with the same precedence as embedded content
    +
      +
    +
    + +
    +

    + LEVEL_TOP = 16 (line 26) +

    + +
    Main message document; there can only be one of these
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + getBody + () +
    +
    + Swift_Mime_MimeEntity[] + getChildren + () +
    +
    + string + getContentType + () +
    +
    + Swift_Mime_Header[] + getHeaders + () +
    +
    + string + getId + () +
    +
    + int + getNestingLevel + () +
    +
    + void + setBody + (string $body, [string $contentType = null]) +
    +
    + void + setChildren + ( $children) +
    +
    + void + toByteStream + (Swift_InputByteStream $is) +
    +
    + string + toString + () +
    +
    +
    + + + + +

    + Method getBody (line 87) +

    +

    string getBody( +)

    + + +
    Get the body content of this entity as a string.
    +

    Returns NULL if no body has been set.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getChildren (line 67) +

    +

    Swift_Mime_MimeEntity[] getChildren( +)

    + + +
    Get all children nested inside this entity.
    +

    These are not just the immediate children, but all children.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getContentType (line 49) +

    +

    string getContentType( +)

    + + +
    Get the qualified content-type of this mime entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getHeaders (line 80) +

    +

    Swift_Mime_Header[] getHeaders( +)

    + + +
    Get the collection of Headers in this Mime entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getId (line 60) +

    +

    string getId( +)

    + + +
    Returns a unique ID for this entity.
    +

    For most entities this will likely be the Content-ID, though it has no explicit semantic meaning and can be considered an identifier for programming logic purposes. If a Content-ID header is present, this value SHOULD match the value of the header.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getNestingLevel (line 43) +

    +

    int getNestingLevel( +)

    + + +
    Get the level at which this entity shall be nested in final document.
    +

    The lower the value, the more outermost the entity will be nested.

    + +

    Info

    + +
    + +

    + Method setBody (line 94) +

    +

    void setBody( +string +$body, [string +$contentType = null])

    + + +
    Set the body content of this entity as a string.
    +

    Parameters

    +
      +
    • string $body:
    • +
    • string $contentType: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setChildren (line 74) +

    +

    void setChildren( + +$children)

    + + +
    Set all children nested inside this entity.
    +

    This includes grandchildren.

    +

    Parameters

    +
      +
    • Swift_Mime_MimeEntity[] $children:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toByteStream (line 106) +

    +

    void toByteStream( +Swift_InputByteStream +$is)

    + + +
    Get this entire entity as a ByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toString (line 100) +

    +

    string toString( +)

    + + +
    Get this entire entity in its string form.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_CharsetObserver

    +

    + Swift_Mime_CharsetObserver::charsetChanged() - Notify this observer that the entity's charset has changed. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:25 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_MimePart.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_MimePart.html new file mode 100644 index 0000000..c2f7463 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_MimePart.html @@ -0,0 +1,685 @@ + + + + + Docs For Class Swift_Mime_MimePart + + + + + + + + +

    + Class Swift_Mime_MimePart +

    (line 23) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_MimePart
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/MimePart.php
    +

    + +
    A MIME part, in a multipart message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_MimePart: +
    +
    Swift_Mime_SimpleMessage
    +
    The default email message class.
    +
    +
    +
    Swift_MimePart
    +
    A MIME part, in a multipart message.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + mixed + $_userCharset +
    +
    + mixed + $_userDelSp +
    +
    + mixed + $_userFormat +
    +
    + +
    +

    + $_userCharset (line 30) +

    +

    Data type : mixed

    + +
    The charset last specified by the user
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + $_userDelSp (line 33) +

    +

    Data type : mixed

    + +
    The delsp parameter last specified by the user
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + $_userFormat (line 27) +

    +

    Data type : mixed

    + +
    The format parameter last specified by the user
    +
      +
    • access: - protected
    • +
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_MimePart + __construct + (Swift_Mime_HeaderSet $headers, Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache, [string $charset = null]) +
    +
    + void + charsetChanged + (string $charset) +
    +
    + string + getCharset + () +
    +
    + boolean + getDelSp + () +
    +
    + string + getFormat + () +
    +
    + int + getNestingLevel + () +
    +
    + void + setBody + (mixed $body, [string $contentType = null], [string $charset = null]) +
    +
    + void + setCharset + (string $charset) +
    +
    + void + setDelSp + ([boolean $delsp = true]) +
    +
    + void + setFormat + (string $format) +
    +
    + void + _fixHeaders + () +
    +
    + void + _setNestingLevel + ( $level) +
    +
    +
    + + + + +

    + Constructor __construct (line 46) +

    +

    Swift_Mime_MimePart __construct( +Swift_Mime_HeaderSet +$headers, Swift_Mime_ContentEncoder +$encoder, Swift_KeyCache +$cache, [string +$charset = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_SimpleMessage::__construct()
    +
    Create a new SimpleMessage with $headers, $encoder and $cache.
    +
    +
    +
    Swift_Message::__construct()
    +
    Create a new Message.
    +
    +
    +
    Swift_MimePart::__construct()
    +
    Create a new MimePart.
    +
    +

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::__construct() Create a new SimpleMimeEntity with $headers, $encoder and $cache.

    + +
    Create a new MimePart with $headers, $encoder and $cache.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method charsetChanged (line 165) +

    +

    void charsetChanged( +string +$charset)

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::charsetChanged() Receive notification that the charset of this entity, or a parent entity has changed.

    + +
    Receive notification that the charset has changed on this document, or a parent document.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getCharset (line 80) +

    +

    string getCharset( +)

    + + +
    Get the character set of this entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getDelSp (line 129) +

    +

    boolean getDelSp( +)

    + + +
    Test if delsp is being used for this entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFormat (line 107) +

    +

    string getFormat( +)

    + + +
    Get the format of this entity (i.e. flowed or fixed).
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getNestingLevel (line 154) +

    +

    int getNestingLevel( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_SimpleMessage::getNestingLevel()
    +
    Always returns LEVEL_TOP for a message instance.
    +
    +

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::getNestingLevel() Get the nesting level of this entity.

    + +
    Get the nesting level of this entity.
    + +

    Info

    +
      +
    • see - LEVEL_TOP, LEVEL_ALTERNATIVE, LEVEL_MIXED, LEVEL_RELATED
    • +
    • access - public
    • +
    +
    + +

    + Method setBody (line 65) +

    +

    void setBody( +mixed +$body, [string +$contentType = null], [string +$charset = null])

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::setBody() Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.

    + +
    Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.
    +

    Parameters

    +
      +
    • mixed $body:
    • +
    • string $contentType: optional
    • +
    • string $charset: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharset (line 90) +

    +

    void setCharset( +string +$charset)

    + + +
    Set the character set of this entity.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setDelSp (line 141) +

    +

    void setDelSp( +[boolean +$delsp = true])

    + + +
    Turn delsp on or off for this entity.
    +

    Parameters

    +
      +
    • boolean $delsp:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFormat (line 117) +

    +

    void setFormat( +string +$format)

    + + +
    Set the format of this entity (flowed or fixed).
    +

    Parameters

    +
      +
    • string $format:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _fixHeaders (line 173) +

    +

    void _fixHeaders( +)

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::_fixHeaders() Re-evaluate what content type and encoding should be used on this entity.

    + +
    Fix the content-type and encoding of this entity
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _setNestingLevel (line 191) +

    +

    void _setNestingLevel( + +$level)

    + + +
    Set the nesting level of this entity
    +

    Parameters

    +
      +
    • $level:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ParameterizedHeader.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ParameterizedHeader.html new file mode 100644 index 0000000..2e28684 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_ParameterizedHeader.html @@ -0,0 +1,255 @@ + + + + + Docs For Class Swift_Mime_ParameterizedHeader + + + + + + + + +

    + Interface Swift_Mime_ParameterizedHeader +

    (line 19) +
    + + +
    +

    Description

    +
    +Swift_Mime_Header
    +   |
    +   --Swift_Mime_ParameterizedHeader
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/ParameterizedHeader.php
    +

    + +
    A MIME Header with parameters.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + string + getParameter + ( $parameter) +
    +
    + void + setParameter + (string $parameter, string $value) +
    +
    +
    + + + + +

    + Method getParameter (line 33) +

    +

    string getParameter( + +$parameter)

    + + +
    Get the value of $parameter.
    +

    Parameters

    +
      +
    • $parameter:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setParameter (line 27) +

    +

    void setParameter( +string +$parameter, string +$value)

    + + +
    Set the value of $parameter.
    +

    Parameters

    +
      +
    • string $parameter:
    • +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_Header

    +

    + Swift_Mime_Header::getFieldBody() - Get the field body, prepared for folding into a final header value. +

    + +

    + Swift_Mime_Header::getFieldBodyModel() - Get the model for the field body. +

    + +

    + Swift_Mime_Header::getFieldName() - Get the name of this header (e.g. Subject). +

    + +

    + Swift_Mime_Header::getFieldType() - Get the type of Header that this instance represents. +

    + +

    + Swift_Mime_Header::setCharset() - Set the charset used when rendering the Header. +

    + +

    + Swift_Mime_Header::setFieldBodyModel() - Set the model for the field body. +

    + +

    + Swift_Mime_Header::toString() - Get this Header rendered as a compliant string. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleHeaderFactory.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleHeaderFactory.html new file mode 100644 index 0000000..e2ef995 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleHeaderFactory.html @@ -0,0 +1,430 @@ + + + + + Docs For Class Swift_Mime_SimpleHeaderFactory + + + + + + + + +

    + Class Swift_Mime_SimpleHeaderFactory +

    (line 27) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/SimpleHeaderFactory.php
    +

    + +
    Creates MIME headers.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_SimpleHeaderFactory + __construct + (Swift_Mime_HeaderEncoder $encoder, Swift_Encoder $paramEncoder, [string $charset = null]) +
    +
    + void + charsetChanged + (string $charset) +
    +
    + Swift_Mime_Header + createDateHeader + (string $name, [int $timestamp = null]) +
    +
    + Swift_Mime_Header + createIdHeader + (string $name, [string|array $ids = null]) +
    +
    + Swift_Mime_Header + createMailboxHeader + (string $name, [array|string $addresses = null]) +
    +
    + Swift_Mime_ParameterizedHeader + createParameterizedHeader + (string $name, [string $value = null], [array $params = array()]) +
    +
    + Swift_Mime_Header + createPathHeader + (string $name, [string $path = null]) +
    +
    + Swift_Mime_Header + createTextHeader + (string $name, [string $value = null]) +
    +
    +
    + + + + +

    + Constructor __construct (line 45) +

    +

    Swift_Mime_SimpleHeaderFactory __construct( +Swift_Mime_HeaderEncoder +$encoder, Swift_Encoder +$paramEncoder, [string +$charset = null])

    + + +
    Creates a new SimpleHeaderFactory using $encoder and $paramEncoder.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method charsetChanged (line 169) +

    +

    void charsetChanged( +string +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_CharsetObserver::charsetChanged()
    +
    Notify this observer that the entity's charset has changed.
    +
    + +
    Notify this observer that the entity's charset has changed.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createDateHeader (line 76) +

    +

    Swift_Mime_Header createDateHeader( +string +$name, [int +$timestamp = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderFactory::createDateHeader()
    +
    Create a new Date header using $timestamp (UNIX time).
    +
    + +
    Create a new Date header using $timestamp (UNIX time).
    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $timestamp:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createIdHeader (line 137) +

    +

    Swift_Mime_Header createIdHeader( +string +$name, [string|array +$ids = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderFactory::createIdHeader()
    +
    Create a new ID header for Message-ID or Content-ID.
    +
    + +
    Create a new ID header for Message-ID or Content-ID.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string|array $ids:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createMailboxHeader (line 59) +

    +

    Swift_Mime_Header createMailboxHeader( +string +$name, [array|string +$addresses = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderFactory::createMailboxHeader()
    +
    Create a new Mailbox Header with a list of $addresses.
    +
    + +
    Create a new Mailbox Header with a list of $addresses.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • array|string $addresses:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createParameterizedHeader (line 111) +

    +

    Swift_Mime_ParameterizedHeader createParameterizedHeader( +string +$name, [string +$value = null], [array +$params = array()])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderFactory::createParameterizedHeader()
    +
    Create a new ParameterizedHeader with $name, $value and $params.
    +
    + +
    Create a new ParameterizedHeader with $name, $value and $params.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    • array $params:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createPathHeader (line 154) +

    +

    Swift_Mime_Header createPathHeader( +string +$name, [string +$path = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderFactory::createPathHeader()
    +
    Create a new Path header with an address (path) in it.
    +
    + +
    Create a new Path header with an address (path) in it.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $path:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createTextHeader (line 93) +

    +

    Swift_Mime_Header createTextHeader( +string +$name, [string +$value = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderFactory::createTextHeader()
    +
    Create a new basic text header with $name and $value.
    +
    + +
    Create a new basic text header with $name and $value.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleHeaderSet.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleHeaderSet.html new file mode 100644 index 0000000..ebedf53 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleHeaderSet.html @@ -0,0 +1,788 @@ + + + + + Docs For Class Swift_Mime_SimpleHeaderSet + + + + + + + + +

    + Class Swift_Mime_SimpleHeaderSet +

    (line 22) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/SimpleHeaderSet.php
    +

    + +
    A collection of MIME headers.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_SimpleHeaderSet + __construct + (Swift_Mime_HeaderFactory $factory, [string $charset = null]) +
    +
    + void + addDateHeader + (string $name, [int $timestamp = null]) +
    +
    + void + addIdHeader + (string $name, [string|array $ids = null]) +
    +
    + void + addMailboxHeader + (string $name, [array|string $addresses = null]) +
    +
    + void + addParameterizedHeader + (string $name, [string $value = null], [array $params = array()]) +
    +
    + void + addPathHeader + (string $name, [string $path = null]) +
    +
    + void + addTextHeader + (string $name, [string $value = null]) +
    +
    + void + charsetChanged + (string $charset) +
    +
    + void + defineOrdering + ( $sequence) +
    +
    + Swift_Mime_Header + get + (string $name, [int $index = 0]) +
    +
    + array + getAll + ([string $name = null]) +
    +
    + boolean + has + (string $name, [int $index = 0]) +
    + +
    + void + remove + (string $name, [int $index = 0]) +
    +
    + void + removeAll + (string $name) +
    +
    + void + set + (Swift_Mime_Header $header, [int $index = 0]) +
    +
    + void + setAlwaysDisplayed + ( $names) +
    +
    + void + setCharset + (string $charset) +
    +
    + string + toString + () +
    +
    + string + __toString + () +
    +
    +
    + + + + +

    + Constructor __construct (line 46) +

    +

    Swift_Mime_SimpleHeaderSet __construct( +Swift_Mime_HeaderFactory +$factory, [string +$charset = null])

    + + +
    Create a new SimpleHeaderSet with the given $factory.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addDateHeader (line 86) +

    +

    void addDateHeader( +string +$name, [int +$timestamp = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::addDateHeader()
    +
    Add a new Date header using $timestamp (UNIX time).
    +
    + +
    Add a new Date header using $timestamp (UNIX time).
    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $timestamp:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addIdHeader (line 125) +

    +

    void addIdHeader( +string +$name, [string|array +$ids = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::addIdHeader()
    +
    Add a new ID header for Message-ID or Content-ID.
    +
    + +
    Add a new ID header for Message-ID or Content-ID.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string|array $ids:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addMailboxHeader (line 74) +

    +

    void addMailboxHeader( +string +$name, [array|string +$addresses = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::addMailboxHeader()
    +
    Add a new Mailbox Header with a list of $addresses.
    +
    + +
    Add a new Mailbox Header with a list of $addresses.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • array|string $addresses:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addParameterizedHeader (line 111) +

    +

    void addParameterizedHeader( +string +$name, [string +$value = null], [array +$params = array()])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::addParameterizedHeader()
    +
    Add a new ParameterizedHeader with $name, $value and $params.
    +
    + +
    Add a new ParameterizedHeader with $name, $value and $params.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    • array $params:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addPathHeader (line 136) +

    +

    void addPathHeader( +string +$name, [string +$path = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::addPathHeader()
    +
    Add a new Path header with an address (path) in it.
    +
    + +
    Add a new Path header with an address (path) in it.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $path:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addTextHeader (line 98) +

    +

    void addTextHeader( +string +$name, [string +$value = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::addTextHeader()
    +
    Add a new basic text header with $name and $value.
    +
    + +
    Add a new basic text header with $name and $value.
    +

    Parameters

    +
      +
    • string $name:
    • +
    • string $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method charsetChanged (line 286) +

    +

    void charsetChanged( +string +$charset)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_CharsetObserver::charsetChanged()
    +
    Notify this observer that the entity's charset has changed.
    +
    + +
    Notify this observer that the entity's charset has changed.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method defineOrdering (line 264) +

    +

    void defineOrdering( + +$sequence)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::defineOrdering()
    +
    Define a list of Header names as an array in the correct order.
    +
    + +
    Define a list of Header names as an array in the correct order.
    +

    These Headers will be output in the given order where present.

    +

    Parameters

    +
      +
    • array $sequence:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method get (line 186) +

    +

    Swift_Mime_Header get( +string +$name, [int +$index = 0])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::get()
    +
    Get the header with the given $name.
    +
    + +
    Get the header with the given $name.
    +

    If multiple headers match, the actual one may be specified by $index. Returns NULL if none present.

    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $index:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAll (line 202) +

    +

    array getAll( +[string +$name = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::getAll()
    +
    Get all headers with the given $name.
    +
    + +
    Get all headers with the given $name.
    +

    Parameters

    +
      +
    • string $name:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method has (line 151) +

    +

    boolean has( +string +$name, [int +$index = 0])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::has()
    +
    Returns true if at least one header with the given $name exists.
    +
    + +
    Returns true if at least one header with the given $name exists.
    +

    If multiple headers match, the actual one may be specified by $index.

    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $index:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method newInstance (line 252) +

    +

    Swift_Mime_HeaderSet newInstance( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::newInstance()
    +
    Create a new instance of this HeaderSet.
    +
    + +
    Create a new instance of this HeaderSet.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method remove (line 230) +

    +

    void remove( +string +$name, [int +$index = 0])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::remove()
    +
    Remove the header with the given $name if it's set.
    +
    + +
    Remove the header with the given $name if it's set.
    +

    If multiple headers match, the actual one may be specified by $index.

    +

    Parameters

    +
      +
    • string $name:
    • +
    • int $index:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method removeAll (line 241) +

    +

    void removeAll( +string +$name)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::removeAll()
    +
    Remove all headers with the given $name.
    +
    + +
    Remove all headers with the given $name.
    +

    Parameters

    +
      +
    • string $name:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method set (line 170) +

    +

    void set( +Swift_Mime_Header +$header, [int +$index = 0])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::set()
    +
    Set a header in the HeaderSet.
    +
    + +
    Set a header in the HeaderSet.
    +

    The header may be a previously fetched header via get() or it may be one that has been created separately.

    If $index is specified, the header will be inserted into the set at this offset.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setAlwaysDisplayed (line 276) +

    +

    void setAlwaysDisplayed( + +$names)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::setAlwaysDisplayed()
    +
    Set a list of header names which must always be displayed when set.
    +
    + +
    Set a list of header names which must always be displayed when set.
    +

    Usually headers without a field value won't be output unless set here.

    +

    Parameters

    +
      +
    • array $names:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCharset (line 61) +

    +

    void setCharset( +string +$charset)

    + + +
    Set the charset used by these headers.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toString (line 296) +

    +

    string toString( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_HeaderSet::toString()
    +
    Returns a string with a representation of all headers.
    +
    + +
    Returns a string with a representation of all headers.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method __toString (line 324) +

    +

    string __toString( +)

    + + +
    Returns a string representation of this object.
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleMessage.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleMessage.html new file mode 100644 index 0000000..d4126b6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleMessage.html @@ -0,0 +1,1394 @@ + + + + + Docs For Class Swift_Mime_SimpleMessage + + + + + + + + +

    + Class Swift_Mime_SimpleMessage +

    (line 23) +
    + + +
    +

    Description

    +
    +Swift_Mime_SimpleMimeEntity
    +   |
    +   --Swift_Mime_MimePart
    +      |
    +      --Swift_Mime_SimpleMessage
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/SimpleMessage.php
    +

    + +
    The default email message class.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_SimpleMessage: +
    +
    Swift_Message
    +
    The Message class for building emails.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_SimpleMessage + __construct + (Swift_Mime_HeaderSet $headers, Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache, [string $charset = null]) +
    +
    + void + addBcc + (string $address, [string $name = null]) +
    +
    + void + addCc + (string $address, [string $name = null]) +
    +
    + void + addFrom + (string $address, [string $name = null]) +
    +
    + void + addReplyTo + (string $address, [string $name = null]) +
    +
    + void + addTo + (string $address, [string $name = null]) +
    +
    + void + attach + (Swift_Mime_MimeEntity $entity) +
    +
    + void + detach + (Swift_Mime_MimeEntity $entity) +
    +
    + string + embed + (Swift_Mime_MimeEntity $entity) +
    +
    + array + getBcc + () +
    +
    + array + getCc + () +
    +
    + int + getDate + () +
    +
    + string + getFrom + () +
    +
    + int + getNestingLevel + () +
    +
    + int + getPriority + () +
    +
    + string + getReadReceiptTo + () +
    +
    + string + getReplyTo + () +
    +
    + string + getReturnPath + () +
    +
    + string + getSender + () +
    +
    + string + getSubject + () +
    +
    + array + getTo + () +
    +
    + void + setBcc + (array $addresses, [string $name = null]) +
    +
    + void + setCc + (array $addresses, [string $name = null]) +
    +
    + void + setDate + (int $date) +
    +
    + void + setFrom + (string $addresses, [string $name = null]) +
    +
    + void + setPriority + (int $priority) +
    +
    + void + setReadReceiptTo + (array $addresses) +
    +
    + void + setReplyTo + (string $addresses, [string $name = null]) +
    +
    + void + setReturnPath + (string $address) +
    +
    + void + setSender + ( $address, [string $name = null], string $sender) +
    +
    + void + setSubject + (string $subject) +
    +
    + void + setTo + (array $addresses, [string $name = null]) +
    +
    + void + toByteStream + (Swift_InputByteStream $is) +
    +
    + string + toString + () +
    +
    + void + _getIdField + () +
    +
    + string + __toString + () +
    +
    +
    + + + + +

    + Constructor __construct (line 34) +

    +

    Swift_Mime_SimpleMessage __construct( +Swift_Mime_HeaderSet +$headers, Swift_Mime_ContentEncoder +$encoder, Swift_KeyCache +$cache, [string +$charset = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Message::__construct()
    +
    Create a new Message.
    +
    +

    + +

    Overrides : Swift_Mime_MimePart::__construct() Create a new MimePart with $headers, $encoder and $cache.

    + +
    Create a new SimpleMessage with $headers, $encoder and $cache.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addBcc (line 372) +

    +

    void addBcc( +string +$address, [string +$name = null])

    + + +
    Add a Bcc: address to this message.
    +

    If $name is passed this name will be associated with the address.

    +

    Parameters

    +
      +
    • string $address:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addCc (line 324) +

    +

    void addCc( +string +$address, [string +$name = null])

    + + +
    Add a Cc: address to this message.
    +

    If $name is passed this name will be associated with the address.

    +

    Parameters

    +
      +
    • string $address:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addFrom (line 174) +

    +

    void addFrom( +string +$address, [string +$name = null])

    + + +
    Add a From: address to this message.
    +

    If $name is passed this name will be associated with the address.

    +

    Parameters

    +
      +
    • string $address:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addReplyTo (line 224) +

    +

    void addReplyTo( +string +$address, [string +$name = null])

    + + +
    Add a Reply-To: address to this message.
    +

    If $name is passed this name will be associated with the address.

    +

    Parameters

    +
      +
    • string $address:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addTo (line 274) +

    +

    void addTo( +string +$address, [string +$name = null])

    + + +
    Add a To: address to this message.
    +

    If $name is passed this name will be associated with the address.

    +

    Parameters

    +
      +
    • string $address:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method attach (line 485) +

    +

    void attach( +Swift_Mime_MimeEntity +$entity)

    + + +
    Attach a Swift_Mime_MimeEntity such as an Attachment or MimePart.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method detach (line 495) +

    +

    void detach( +Swift_Mime_MimeEntity +$entity)

    + + +
    Remove an already attached entity.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method embed (line 515) +

    +

    string embed( +Swift_Mime_MimeEntity +$entity)

    + + +
    Attach a Swift_Mime_MimeEntity and return it's CID source.
    +

    This method should be used when embedding images or other data in a message.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBcc (line 407) +

    +

    array getBcc( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getBcc()
    +
    Get the Bcc addresses for this message.
    +
    + +
    Get the Bcc addresses of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getCc (line 359) +

    +

    array getCc( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getCc()
    +
    Get the Cc addresses for this message.
    +
    + +
    Get the Cc address of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getDate (line 110) +

    +

    int getDate( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getDate()
    +
    Get the origination date of the message as a UNIX timestamp.
    +
    + +
    Get the date at which this message was created.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFrom (line 211) +

    +

    string getFrom( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getFrom()
    +
    Get the From address(es) of this message.
    +
    + +
    Get the from address of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getNestingLevel (line 66) +

    +

    int getNestingLevel( +)

    + +

    Overrides : Swift_Mime_MimePart::getNestingLevel() Get the nesting level of this entity.

    +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::getNestingLevel()
    +
    Get the level at which this entity shall be nested in final document.
    +
    + +
    Always returns LEVEL_TOP for a message instance.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getPriority (line 450) +

    +

    int getPriority( +)

    + + +
    Get the priority of this message.
    +

    The returned value is an integer where 1 is the highest priority and 5 is the lowest.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getReadReceiptTo (line 476) +

    +

    string getReadReceiptTo( +)

    + + +
    Get the addresses to which a read-receipt will be sent.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getReplyTo (line 261) +

    +

    string getReplyTo( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getReplyTo()
    +
    Get the Reply-To addresses for this message.
    +
    + +
    Get the reply-to address of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getReturnPath (line 132) +

    +

    string getReturnPath( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getReturnPath()
    +
    Get the return-path (bounce-detect) address.
    +
    + +
    Get the return-path (bounce address) of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSender (line 161) +

    +

    string getSender( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getSender()
    +
    Get the sender address for this message.
    +
    + +
    Get the sender of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSubject (line 88) +

    +

    string getSubject( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getSubject()
    +
    Get the subject of the message.
    +
    + +
    Get the subject of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTo (line 311) +

    +

    array getTo( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::getTo()
    +
    Get the To addresses for this message.
    +
    + +
    Get the To addresses of this message.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setBcc (line 388) +

    +

    void setBcc( +array +$addresses, [string +$name = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setBcc()
    +
    Set the Bcc address(es).
    +
    + +
    Set the Bcc addresses of this message.
    +

    If $name is passed and the first parameter is a string, this name will be associated with the address.

    +

    Parameters

    +
      +
    • array $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCc (line 340) +

    +

    void setCc( +array +$addresses, [string +$name = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setCc()
    +
    Set the Cc address(es).
    +
    + +
    Set the Cc addresses of this message.
    +

    If $name is passed and the first parameter is a string, this name will be associated with the address.

    +

    Parameters

    +
      +
    • array $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setDate (line 97) +

    +

    void setDate( +int +$date)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setDate()
    +
    Set the origination date of the message as a UNIX timestamp.
    +
    + +
    Set the date at which this message was created.
    +

    Parameters

    +
      +
    • int $date:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setFrom (line 192) +

    +

    void setFrom( +string +$addresses, [string +$name = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setFrom()
    +
    Set the From address of this message.
    +
    + +
    Set the from address of this message.
    +

    You may pass an array of addresses if this message is from multiple people.

    If $name is passed and the first parameter is a string, this name will be associated with the address.

    +

    Parameters

    +
      +
    • string $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setPriority (line 417) +

    +

    void setPriority( +int +$priority)

    + + +
    Set the priority of this message.
    +

    The value is an integer where 1 is the highest priority and 5 is the lowest.

    +

    Parameters

    +
      +
    • int $priority:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setReadReceiptTo (line 462) +

    +

    void setReadReceiptTo( +array +$addresses)

    + + +
    Ask for a delivery receipt from the recipient to be sent to $addresses
    +

    Parameters

    +
      +
    • array $addresses:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setReplyTo (line 242) +

    +

    void setReplyTo( +string +$addresses, [string +$name = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setReplyTo()
    +
    Set the Reply-To address(es).
    +
    + +
    Set the reply-to address of this message.
    +

    You may pass an array of addresses if replies will go to multiple people.

    If $name is passed and the first parameter is a string, this name will be associated with the address.

    +

    Parameters

    +
      +
    • string $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setReturnPath (line 119) +

    +

    void setReturnPath( +string +$address)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setReturnPath()
    +
    Set the return-path (bounce-detect) address.
    +
    + +
    Set the return-path (the bounce address) of this message.
    +

    Parameters

    +
      +
    • string $address:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setSender (line 143) +

    +

    void setSender( + +$address, [string +$name = null], string +$sender)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setSender()
    +
    Set the sender of this message.
    +
    + +
    Set the sender of this message.
    +

    This does not override the From field, but it has a higher significance.

    +

    Parameters

    +
      +
    • string $sender:
    • +
    • string $name: optional
    • +
    • $address:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setSubject (line 75) +

    +

    void setSubject( +string +$subject)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setSubject()
    +
    Set the subject of the message.
    +
    + +
    Set the subject of this message.
    +

    Parameters

    +
      +
    • string $subject:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setTo (line 292) +

    +

    void setTo( +array +$addresses, [string +$name = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_Message::setTo()
    +
    Set the To address(es).
    +
    + +
    Set the to addresses of this message.
    +

    If multiple recipients will receive the message and array should be used.

    If $name is passed and the first parameter is a string, this name will be associated with the address.

    +

    Parameters

    +
      +
    • array $addresses:
    • +
    • string $name: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toByteStream (line 556) +

    +

    void toByteStream( +Swift_InputByteStream +$is)

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::toByteStream() Write this entire entity to a Swift_InputByteStream.

    +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::toByteStream()
    +
    Get this entire entity as a ByteStream.
    +
    + +
    Write this message to a Swift_InputByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toString (line 525) +

    +

    string toString( +)

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::toString() Get this entire entity as a string.

    +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::toString()
    +
    Get this entire entity in its string form.
    +
    + +
    Get this message as a complete string.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _getIdField (line 573) +

    +

    void _getIdField( +)

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::_getIdField() Get the name of the header that provides the ID of this entity

    + + +

    Info

    + +
    + +

    + Method __toString (line 547) +

    +

    string __toString( +)

    + +

    Overrides : Swift_Mime_SimpleMimeEntity::__toString() Returns a string representation of this object.

    + +
    Returns a string representation of this object.
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Mime_MimePart

    +

    + Swift_Mime_MimePart::$_userCharset - The charset last specified by the user +

    +

    + Swift_Mime_MimePart::$_userDelSp - The delsp parameter last specified by the user +

    +

    + Swift_Mime_MimePart::$_userFormat - The format parameter last specified by the user +

    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::$_userContentType - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Mime_MimePart

    +

    + Swift_Mime_MimePart::__construct() - Create a new MimePart with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_MimePart::charsetChanged() - Receive notification that the charset has changed on this document, or a parent document. +

    + +

    + Swift_Mime_MimePart::getCharset() - Get the character set of this entity. +

    + +

    + Swift_Mime_MimePart::getDelSp() - Test if delsp is being used for this entity. +

    + +

    + Swift_Mime_MimePart::getFormat() - Get the format of this entity (i.e. flowed or fixed). +

    + +

    + Swift_Mime_MimePart::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_MimePart::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_MimePart::setCharset() - Set the character set of this entity. +

    + +

    + Swift_Mime_MimePart::setDelSp() - Turn delsp on or off for this entity. +

    + +

    + Swift_Mime_MimePart::setFormat() - Set the format of this entity (flowed or fixed). +

    + +

    + Swift_Mime_MimePart::_fixHeaders() - Fix the content-type and encoding of this entity +

    + +

    + Swift_Mime_MimePart::_setNestingLevel() - Set the nesting level of this entity +

    + +
    + +

    Inherited From Class Swift_Mime_SimpleMimeEntity

    +

    + Swift_Mime_SimpleMimeEntity::__construct() - Create a new SimpleMimeEntity with $headers, $encoder and $cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::charsetChanged() - Receive notification that the charset of this entity, or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::encoderChanged() - Receive notification that the encoder of this entity or a parent entity has changed. +

    + +

    + Swift_Mime_SimpleMimeEntity::generateId() - Generate a new Content-ID or Message-ID for this MIME entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBody() - Get the body of this entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::getBoundary() - Get the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getChildren() - Get all children added to this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getContentType() - Get the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getDescription() - Get the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getEncoder() - Get the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getHeaders() - Get the Swift_Mime_HeaderSet for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getId() - Get the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getMaxLineLength() - Get the maximum line length of the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::getNestingLevel() - Get the nesting level of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBody() - Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::setBoundary() - Set the boundary used to separate children in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setChildren() - Set all children of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setContentType() - Set the Content-type of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setDescription() - Set the description of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setEncoder() - Set the encoder used for the body of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setId() - Set the CID of this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::setMaxLineLength() - Set the maximum line length of lines in this body. +

    + +

    + Swift_Mime_SimpleMimeEntity::toByteStream() - Write this entire entity to a Swift_InputByteStream. +

    + +

    + Swift_Mime_SimpleMimeEntity::toString() - Get this entire entity as a string. +

    + +

    + Swift_Mime_SimpleMimeEntity::_clearCache() - Empty the KeyCache for this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_fixHeaders() - Re-evaluate what content type and encoding should be used on this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getCache() - Get the KeyCache used in this entity. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel() - Get the model data (usually an array or a string) for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getHeaderParameter() - Get the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::_getIdField() - Get the name of the header that provides the ID of this entity +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel() - Set the model data for $field. +

    + +

    + Swift_Mime_SimpleMimeEntity::_setHeaderParameter() - Set the parameter value of $parameter on $field header. +

    + +

    + Swift_Mime_SimpleMimeEntity::__destruct() - Empties it's own contents from the cache. +

    + +

    + Swift_Mime_SimpleMimeEntity::__toString() - Returns a string representation of this object. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleMimeEntity.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleMimeEntity.html new file mode 100644 index 0000000..05e1355 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/Swift_Mime_SimpleMimeEntity.html @@ -0,0 +1,1143 @@ + + + + + Docs For Class Swift_Mime_SimpleMimeEntity + + + + + + + + +

    + Class Swift_Mime_SimpleMimeEntity +

    (line 22) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mime/SimpleMimeEntity.php
    +

    + +
    A MIME entity, in a multipart message.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Mime_SimpleMimeEntity: +
    +
    Swift_Mime_Attachment
    +
    An attachment, in a multipart message.
    +
    +
    +
    Swift_Mime_MimePart
    +
    A MIME part, in a multipart message.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + mixed + $_userContentType +
    +
    + +
    +

    + $_userContentType (line 75) +

    +

    Data type : mixed

    + +
      +
    • access: - protected
    • +
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_SimpleMimeEntity + __construct + (Swift_Mime_HeaderSet $headers, Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache) +
    +
    + void + __destruct + () +
    +
    + void + charsetChanged + (string $charset) +
    +
    + void + encoderChanged + (Swift_Mime_ContentEncoder $encoder) +
    +
    + string + generateId + () +
    +
    + string + getBody + () +
    +
    + string + getBoundary + () +
    +
    + array + getChildren + () +
    +
    + string + getContentType + () +
    +
    + string + getDescription + () +
    + + +
    + string + getId + () +
    +
    + int + getMaxLineLength + () +
    +
    + int + getNestingLevel + () +
    +
    + void + setBody + (mixed $body, [string $contentType = null]) +
    +
    + void + setBoundary + (string $boundary) +
    +
    + void + setChildren + ( $children, [int $compoundLevel = null]) +
    +
    + void + setContentType + (string $type) +
    +
    + void + setDescription + (string $description) +
    +
    + void + setEncoder + (Swift_Mime_ContentEncoder $encoder) +
    +
    + void + setId + (string $id) +
    +
    + void + setMaxLineLength + (int $length) +
    +
    + void + toByteStream + (Swift_InputByteStream $is) +
    +
    + string + toString + () +
    +
    + void + _clearCache + () +
    +
    + void + _fixHeaders + () +
    +
    + void + _getCache + () +
    +
    + void + _getHeaderFieldModel + ( $field) +
    +
    + void + _getHeaderParameter + ( $field,  $parameter) +
    +
    + void + _getIdField + () +
    +
    + void + _setHeaderFieldModel + ( $field,  $model) +
    +
    + void + _setHeaderParameter + ( $field,  $parameter,  $value) +
    +
    + string + __toString + () +
    +
    +
    + + + + +

    + Constructor __construct (line 83) +

    +

    Swift_Mime_SimpleMimeEntity __construct( +Swift_Mime_HeaderSet +$headers, Swift_Mime_ContentEncoder +$encoder, Swift_KeyCache +$cache)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_Attachment::__construct()
    +
    Create a new Attachment with $headers, $encoder and $cache.
    +
    +
    +
    Swift_Attachment::__construct()
    +
    Create a new Attachment.
    +
    +
    +
    Swift_Mime_EmbeddedFile::__construct()
    +
    Creates a new Attachment with $headers and $encoder.
    +
    +
    +
    Swift_EmbeddedFile::__construct()
    +
    Create a new EmbeddedFile.
    +
    +
    +
    Swift_Image::__construct()
    +
    Create a new EmbeddedFile.
    +
    +
    +
    Swift_Mime_MimePart::__construct()
    +
    Create a new MimePart with $headers, $encoder and $cache.
    +
    +
    +
    Swift_Mime_SimpleMessage::__construct()
    +
    Create a new SimpleMessage with $headers, $encoder and $cache.
    +
    +
    +
    Swift_Message::__construct()
    +
    Create a new Message.
    +
    +
    +
    Swift_MimePart::__construct()
    +
    Create a new MimePart.
    +
    +

    + + +
    Create a new SimpleMimeEntity with $headers, $encoder and $cache.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Destructor __destruct (line 788) +

    +

    void __destruct( +)

    + + +
    Empties it's own contents from the cache.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method charsetChanged (line 421) +

    +

    void charsetChanged( +string +$charset)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_MimePart::charsetChanged()
    +
    Receive notification that the charset has changed on this document, or a parent document.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_CharsetObserver::charsetChanged()
    +
    Notify this observer that the entity's charset has changed.
    +
    + +
    Receive notification that the charset of this entity, or a parent entity has changed.
    +

    Parameters

    +
      +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method encoderChanged (line 431) +

    +

    void encoderChanged( +Swift_Mime_ContentEncoder +$encoder)

    + + +
    Receive notification that the encoder of this entity or a parent entity has changed.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method generateId (line 122) +

    +

    string generateId( +)

    + + +
    Generate a new Content-ID or Message-ID for this MIME entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBody (line 337) +

    +

    string getBody( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::getBody()
    +
    Get the body content of this entity as a string.
    +
    + +
    Get the body of this entity as a string.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBoundary (line 395) +

    +

    string getBoundary( +)

    + + +
    Get the boundary used to separate children in this entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getChildren (line 247) +

    +

    array getChildren( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::getChildren()
    +
    Get all children nested inside this entity.
    +
    + +
    Get all children added to this entity.
    + +

    Info

    +
      +
    • return - of Swift_Mime_Entity
    • +
    • access - public
    • +
    +
    + +

    + Method getContentType (line 155) +

    +

    string getContentType( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::getContentType()
    +
    Get the qualified content-type of this mime entity.
    +
    + +
    Get the Content-type of this entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getDescription (line 204) +

    +

    string getDescription( +)

    + + +
    Get the description of this entity.
    +

    This value comes from the Content-Description header if set.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getEncoder (line 369) +

    +

    Swift_Mime_ContentEncoder getEncoder( +)

    + + +
    Get the encoder used for the body of this entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getHeaders (line 136) +

    +

    Swift_Mime_HeaderSet getHeaders( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::getHeaders()
    +
    Get the collection of Headers in this Mime entity.
    +
    + +
    Get the Swift_Mime_HeaderSet for this entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getId (line 178) +

    +

    string getId( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::getId()
    +
    Returns a unique ID for this entity.
    +
    + +
    Get the CID of this entity.
    +

    The CID will only be present in headers if a Content-ID header is present.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMaxLineLength (line 227) +

    +

    int getMaxLineLength( +)

    + + +
    Get the maximum line length of the body of this entity.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getNestingLevel (line 146) +

    +

    int getNestingLevel( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_Attachment::getNestingLevel()
    +
    Get the nesting level used for this attachment.
    +
    +
    +
    Swift_Mime_EmbeddedFile::getNestingLevel()
    +
    Get the nesting level of this EmbeddedFile.
    +
    +
    +
    Swift_Mime_MimePart::getNestingLevel()
    +
    Get the nesting level of this entity.
    +
    +
    +
    Swift_Mime_SimpleMessage::getNestingLevel()
    +
    Always returns LEVEL_TOP for a message instance.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::getNestingLevel()
    +
    Get the level at which this entity shall be nested in final document.
    +
    + +
    Get the nesting level of this entity.
    + +

    Info

    +
      +
    • see - LEVEL_TOP, LEVEL_MIXED, LEVEL_RELATED, LEVEL_ALTERNATIVE
    • +
    • access - public
    • +
    +
    + +

    + Method setBody (line 350) +

    +

    void setBody( +mixed +$body, [string +$contentType = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_MimePart::setBody()
    +
    Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::setBody()
    +
    Set the body content of this entity as a string.
    +
    + +
    Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.
    +

    Parameters

    +
      +
    • mixed $body:
    • +
    • string $contentType: optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setBoundary (line 409) +

    +

    void setBoundary( +string +$boundary)

    + + +
    Set the boundary used to separate children in this entity.
    +

    Parameters

    +
      +
    • string $boundary:
    • +
    + +

    Info

    +
      +
    • throws - Swift_RfcComplianceException
    • +
    • access - public
    • +
    +
    + +

    + Method setChildren (line 257) +

    +

    void setChildren( + +$children, [int +$compoundLevel = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::setChildren()
    +
    Set all children nested inside this entity.
    +
    + +
    Set all children of this entity.
    +

    Parameters

    +
      +
    • array $children: Swiift_Mime_Entity instances
    • +
    • int $compoundLevel: For internal use only
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setContentType (line 164) +

    +

    void setContentType( +string +$type)

    + + +
    Set the Content-type of this entity.
    +

    Parameters

    +
      +
    • string $type:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setDescription (line 214) +

    +

    void setDescription( +string +$description)

    + + +
    Set the description of this entity.
    +

    This method sets a value in the Content-ID header.

    +

    Parameters

    +
      +
    • string $description:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setEncoder (line 378) +

    +

    void setEncoder( +Swift_Mime_ContentEncoder +$encoder)

    + + +
    Set the encoder used for the body of this entity.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setId (line 189) +

    +

    void setId( +string +$id)

    + + +
    Set the CID of this entity.
    +

    Parameters

    +
      +
    • string $id:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setMaxLineLength (line 237) +

    +

    void setMaxLineLength( +int +$length)

    + + +
    Set the maximum line length of lines in this body.
    +

    Though not enforced by the library, lines should not exceed 1000 chars.

    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toByteStream (line 490) +

    +

    void toByteStream( +Swift_InputByteStream +$is)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_SimpleMessage::toByteStream()
    +
    Write this message to a Swift_InputByteStream.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::toByteStream()
    +
    Get this entire entity as a ByteStream.
    +
    + +
    Write this entire entity to a Swift_InputByteStream.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method toString (line 440) +

    +

    string toString( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_SimpleMessage::toString()
    +
    Get this message as a complete string.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Mime_MimeEntity::toString()
    +
    Get this entire entity in its string form.
    +
    + +
    Get this entire entity as a string.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _clearCache (line 640) +

    +

    void _clearCache( +)

    + + +
    Empty the KeyCache for this entity.
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _fixHeaders (line 613) +

    +

    void _fixHeaders( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_MimePart::_fixHeaders()
    +
    Fix the content-type and encoding of this entity
    +
    +

    + + +
    Re-evaluate what content type and encoding should be used on this entity.
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _getCache (line 632) +

    +

    void _getCache( +)

    + + +
    Get the KeyCache used in this entity.
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _getHeaderFieldModel (line 559) +

    +

    void _getHeaderFieldModel( + +$field)

    + + +
    Get the model data (usually an array or a string) for $field.
    +

    Parameters

    +
      +
    • $field:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _getHeaderParameter (line 586) +

    +

    void _getHeaderParameter( + +$field, +$parameter)

    + + +
    Get the parameter value of $parameter on $field header.
    +

    Parameters

    +
      +
    • $field:
    • +
    • $parameter:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _getIdField (line 551) +

    +

    void _getIdField( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_SimpleMessage::_getIdField()
    +
    +
    +

    + + +
    Get the name of the header that provides the ID of this entity
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _setHeaderFieldModel (line 570) +

    +

    void _setHeaderFieldModel( + +$field, +$model)

    + + +
    Set the model data for $field.
    +

    Parameters

    +
      +
    • $field:
    • +
    • $model:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _setHeaderParameter (line 597) +

    +

    void _setHeaderParameter( + +$field, +$parameter, +$value)

    + + +
    Set the parameter value of $parameter on $field header.
    +

    Parameters

    +
      +
    • $field:
    • +
    • $parameter:
    • +
    • $value:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method __toString (line 481) +

    +

    string __toString( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Mime_SimpleMessage::__toString()
    +
    Returns a string representation of this object.
    +
    +

    + + +
    Returns a string representation of this object.
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Attachment.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Attachment.php.html new file mode 100644 index 0000000..f3a6b3f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Attachment.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Attachment.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Attachment.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_AttachmentAttachment class for attaching files to a Swift_Mime_Message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---EmbeddedFile.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---EmbeddedFile.php.html new file mode 100644 index 0000000..a6f98c5 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---EmbeddedFile.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EmbeddedFile.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/EmbeddedFile.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_EmbeddedFileAn embedded file, in a multipart message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Image.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Image.php.html new file mode 100644 index 0000000..0ea3cfb --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Image.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Image.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Image.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_ImageAn image, embedded in a multipart message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Message.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Message.php.html new file mode 100644 index 0000000..9974111 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Message.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Message.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Message.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_MessageThe Message class for building emails.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:25 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Attachment.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Attachment.php.html new file mode 100644 index 0000000..739bda8 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Attachment.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Attachment.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Attachment.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_AttachmentAn attachment, in a multipart message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:14 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---CharsetObserver.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---CharsetObserver.php.html new file mode 100644 index 0000000..95d8b64 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---CharsetObserver.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page CharsetObserver.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/CharsetObserver.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_CharsetObserverObserves changes in an Mime entity's character set.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:17 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---Base64ContentEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---Base64ContentEncoder.php.html new file mode 100644 index 0000000..4d6197b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---Base64ContentEncoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Base64ContentEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_ContentEncoder_Base64ContentEncoderHandles Base 64 Transfer Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---PlainContentEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---PlainContentEncoder.php.html new file mode 100644 index 0000000..290abbc --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---PlainContentEncoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page PlainContentEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_ContentEncoder_PlainContentEncoderHandles binary/7/8-bit Transfer Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---QpContentEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---QpContentEncoder.php.html new file mode 100644 index 0000000..82f700c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder---QpContentEncoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page QpContentEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_ContentEncoder_QpContentEncoderHandles Quoted Printable (QP) Transfer Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder.php.html new file mode 100644 index 0000000..473f76a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ContentEncoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ContentEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/ContentEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_ContentEncoderInterface for all Transfer Encoding schemes.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---EmbeddedFile.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---EmbeddedFile.php.html new file mode 100644 index 0000000..1d71aaa --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---EmbeddedFile.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EmbeddedFile.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/EmbeddedFile.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_EmbeddedFileAn embedded file, in a multipart message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---EncodingObserver.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---EncodingObserver.php.html new file mode 100644 index 0000000..1320510 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---EncodingObserver.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EncodingObserver.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/EncodingObserver.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_EncodingObserverObserves changes for a Mime entity's ContentEncoder.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Header.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Header.php.html new file mode 100644 index 0000000..13c9d74 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Header.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Header.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Header.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_HeaderA MIME Header.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder---Base64HeaderEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder---Base64HeaderEncoder.php.html new file mode 100644 index 0000000..37d536a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder---Base64HeaderEncoder.php.html @@ -0,0 +1,184 @@ + + + + + Docs for page Base64HeaderEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_HeaderEncoder_Base64HeaderEncoderHandles Base64 (B) Header Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + + +
    +

    + dirname(__FILE__).'/../HeaderEncoder.php' (line 11) +

    +

    require_once : dirname(__FILE__).'/../HeaderEncoder.php'

    + +
      +
    +
    + +
    +

    + dirname(__FILE__).'/../../Encoder/Base64Encoder.php' (line 12) +

    +

    require_once : dirname(__FILE__).'/../../Encoder/Base64Encoder.php'

    + +
      +
    +
    +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:16 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder---QpHeaderEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder---QpHeaderEncoder.php.html new file mode 100644 index 0000000..6109ee6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder---QpHeaderEncoder.php.html @@ -0,0 +1,194 @@ + + + + + Docs for page QpHeaderEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_HeaderEncoder_QpHeaderEncoderHandles Quoted Printable (Q) Header Encoding in Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + + +
    +

    + dirname(__FILE__).'/../HeaderEncoder.php' (line 11) +

    +

    require_once : dirname(__FILE__).'/../HeaderEncoder.php'

    + +
      +
    +
    + +
    +

    + dirname(__FILE__).'/../../Encoder/QpEncoder.php' (line 12) +

    +

    require_once : dirname(__FILE__).'/../../Encoder/QpEncoder.php'

    + +
      +
    +
    + +
    +

    + dirname(__FILE__).'/../../CharacterStream.php' (line 13) +

    +

    require_once : dirname(__FILE__).'/../../CharacterStream.php'

    + +
      +
    +
    +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder.php.html new file mode 100644 index 0000000..5fa1c45 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderEncoder.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page HeaderEncoder.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_HeaderEncoderInterface for all Header Encoding schemes.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderFactory.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderFactory.php.html new file mode 100644 index 0000000..c9aab15 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderFactory.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page HeaderFactory.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/HeaderFactory.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_HeaderFactoryCreates MIME headers.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderSet.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderSet.php.html new file mode 100644 index 0000000..e9770a0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---HeaderSet.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page HeaderSet.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/HeaderSet.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_HeaderSetA collection of MIME headers.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---AbstractHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---AbstractHeader.php.html new file mode 100644 index 0000000..45a4f7f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---AbstractHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page AbstractHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Headers/AbstractHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_Headers_AbstractHeaderAn abstract base MIME Header.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:09 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---DateHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---DateHeader.php.html new file mode 100644 index 0000000..c4194d9 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---DateHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page DateHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Headers/DateHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_Headers_DateHeaderA Date MIME Header for Swift Mailer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---IdentificationHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---IdentificationHeader.php.html new file mode 100644 index 0000000..32dad0a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---IdentificationHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page IdentificationHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Headers/IdentificationHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_Headers_IdentificationHeaderAn ID MIME Header for something like Message-ID or Content-ID.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---MailboxHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---MailboxHeader.php.html new file mode 100644 index 0000000..a05e9d0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---MailboxHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page MailboxHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Headers/MailboxHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_Headers_MailboxHeaderA Mailbox Address MIME Header for something like From or Sender.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---ParameterizedHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---ParameterizedHeader.php.html new file mode 100644 index 0000000..e5902a4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---ParameterizedHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ParameterizedHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Headers/ParameterizedHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_Headers_ParameterizedHeaderAn abstract base MIME Header.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---PathHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---PathHeader.php.html new file mode 100644 index 0000000..515a9b1 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---PathHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page PathHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Headers/PathHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_Headers_PathHeaderA Path Header in Swift Mailer, such a Return-Path.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---UnstructuredHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---UnstructuredHeader.php.html new file mode 100644 index 0000000..df615af --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Headers---UnstructuredHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page UnstructuredHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Headers/UnstructuredHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_Headers_UnstructuredHeaderA Simple MIME Header.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Message.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Message.php.html new file mode 100644 index 0000000..ed0eb7c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---Message.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Message.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/Message.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_MessageA Message (RFC 2822) object.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:25 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---MimeEntity.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---MimeEntity.php.html new file mode 100644 index 0000000..6f0be42 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---MimeEntity.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page MimeEntity.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/MimeEntity.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_MimeEntityA MIME entity, such as an attachment.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:25 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---MimePart.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---MimePart.php.html new file mode 100644 index 0000000..e2c706c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---MimePart.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page MimePart.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/MimePart.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_MimePartA MIME part, in a multipart message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ParameterizedHeader.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ParameterizedHeader.php.html new file mode 100644 index 0000000..3b105b6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---ParameterizedHeader.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ParameterizedHeader.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/ParameterizedHeader.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_ParameterizedHeaderA MIME Header with parameters.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleHeaderFactory.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleHeaderFactory.php.html new file mode 100644 index 0000000..7fa324b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleHeaderFactory.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleHeaderFactory.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/SimpleHeaderFactory.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_SimpleHeaderFactoryCreates MIME headers.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleHeaderSet.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleHeaderSet.php.html new file mode 100644 index 0000000..5282bda --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleHeaderSet.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleHeaderSet.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/SimpleHeaderSet.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_SimpleHeaderSetA collection of MIME headers.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleMessage.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleMessage.php.html new file mode 100644 index 0000000..0c0b775 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleMessage.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleMessage.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/SimpleMessage.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_SimpleMessageThe default email message class.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleMimeEntity.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleMimeEntity.php.html new file mode 100644 index 0000000..7239e54 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---Mime---SimpleMimeEntity.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleMimeEntity.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mime/SimpleMimeEntity.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Mime_SimpleMimeEntityA MIME entity, in a multipart message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---MimePart.php.html b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---MimePart.php.html new file mode 100644 index 0000000..4bdc04a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Mime/_vendors---swiftMailer---classes---Swift---MimePart.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page MimePart.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/MimePart.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_MimePartA MIME part, in a multipart message.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:26 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_AntiFloodPlugin.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_AntiFloodPlugin.html new file mode 100644 index 0000000..fc2680d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_AntiFloodPlugin.html @@ -0,0 +1,382 @@ + + + + + Docs For Class Swift_Plugins_AntiFloodPlugin + + + + + + + + +

    + Class Swift_Plugins_AntiFloodPlugin +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/AntiFloodPlugin.php
    +

    + +
    Reduces network flooding when sending large amounts of mail.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_AntiFloodPlugin + __construct + ([int $threshold = 99], [int $sleep = 0], [Swift_Plugins_Sleeper $sleeper = null]) +
    + +
    + int + getSleepTime + () +
    +
    + int + getThreshold + () +
    +
    + void + sendPerformed + (Swift_Events_SendEvent $evt) +
    +
    + void + setSleepTime + (int $sleep) +
    +
    + void + setThreshold + (int $threshold) +
    +
    + void + sleep + (int $seconds) +
    +
    +
    + + + + +

    + Constructor __construct (line 59) +

    +

    Swift_Plugins_AntiFloodPlugin __construct( +[int +$threshold = 99], [int +$sleep = 0], [Swift_Plugins_Sleeper +$sleeper = null])

    + + +
    Create a new AntiFloodPlugin with $threshold and $sleep time.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeSendPerformed (line 107) +

    +

    void beforeSendPerformed( +Swift_Events_SendEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::beforeSendPerformed()
    +
    Invoked immediately before the Message is sent.
    +
    + +
    Invoked immediately before the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getSleepTime (line 98) +

    +

    int getSleepTime( +)

    + + +
    Get the number of seconds to sleep for during a restart.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getThreshold (line 80) +

    +

    int getThreshold( +)

    + + +
    Get the number of emails to send before restarting.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sendPerformed (line 115) +

    +

    void sendPerformed( +Swift_Events_SendEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::sendPerformed()
    +
    Invoked immediately after the Message is sent.
    +
    + +
    Invoked immediately after the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setSleepTime (line 89) +

    +

    void setSleepTime( +int +$sleep)

    + + +
    Set the number of seconds to sleep for during a restart.
    +

    Parameters

    +
      +
    • int $sleep: time
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setThreshold (line 71) +

    +

    void setThreshold( +int +$threshold)

    + + +
    Set the number of emails to send before restarting.
    +

    Parameters

    +
      +
    • int $threshold:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sleep (line 135) +

    +

    void sleep( +int +$seconds)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Sleeper::sleep()
    +
    Sleep for $seconds.
    +
    + +
    Sleep for $seconds.
    +

    Parameters

    +
      +
    • int $seconds:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:11 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_BandwidthMonitorPlugin.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_BandwidthMonitorPlugin.html new file mode 100644 index 0000000..ea94808 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_BandwidthMonitorPlugin.html @@ -0,0 +1,519 @@ + + + + + Docs For Class Swift_Plugins_BandwidthMonitorPlugin + + + + + + + + +

    + Class Swift_Plugins_BandwidthMonitorPlugin +

    (line 25) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php
    +

    + +
    Reduces network flooding when sending large amounts of mail.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Plugins_BandwidthMonitorPlugin: +
    +
    Swift_Plugins_ThrottlerPlugin
    +
    Throttles the rate at which emails are sent.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    + +
    + void + bind + (Swift_InputByteStream $is) +
    +
    + void + commandSent + (Swift_Events_CommandEvent $evt) +
    +
    + void + commit + () +
    +
    + void + flushBuffers + () +
    +
    + int + getBytesIn + () +
    +
    + int + getBytesOut + () +
    +
    + void + reset + () +
    + +
    + void + sendPerformed + (Swift_Events_SendEvent $evt) +
    +
    + void + unbind + (Swift_InputByteStream $is) +
    +
    + void + write + (string $bytes) +
    +
    +
    + + + + +

    + Method beforeSendPerformed (line 50) +

    +

    void beforeSendPerformed( +Swift_Events_SendEvent +$evt)

    +

    Overridden in child classes as:
    +

    +
    Swift_Plugins_ThrottlerPlugin::beforeSendPerformed()
    +
    Invoked immediately before the Message is sent.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::beforeSendPerformed()
    +
    Invoked immediately before the Message is sent.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method bind (line 111) +

    +

    void bind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::bind()
    +
    Attach $is to this stream.
    +
    + +
    Attach $is to this stream.
    +

    The stream acts as an observer, receiving all data that is written. All write() and flushBuffers() operations will be mirrored.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method commandSent (line 68) +

    +

    void commandSent( +Swift_Events_CommandEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_CommandListener::commandSent()
    +
    Invoked immediately following a command being sent.
    +
    + +
    Invoked immediately following a command being sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method commit (line 100) +

    +

    void commit( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::commit()
    +
    For any bytes that are currently buffered inside the stream, force them off the buffer.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method flushBuffers (line 138) +

    +

    void flushBuffers( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::flushBuffers()
    +
    Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBytesIn (line 159) +

    +

    int getBytesIn( +)

    + + +
    Get the total number of bytes received from the server.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBytesOut (line 150) +

    +

    int getBytesOut( +)

    + + +
    Get the total number of bytes sent to the server.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method reset (line 167) +

    +

    void reset( +)

    + + +
    Reset the internal counters to zero.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method responseReceived (line 78) +

    +

    void responseReceived( +Swift_Events_ResponseEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_ResponseListener::responseReceived()
    +
    Invoked immediately following a response coming back.
    +
    + +
    Invoked immediately following a response coming back.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sendPerformed (line 58) +

    +

    void sendPerformed( +Swift_Events_SendEvent +$evt)

    +

    Overridden in child classes as:
    +

    +
    Swift_Plugins_ThrottlerPlugin::sendPerformed()
    +
    Invoked when a Message is sent.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::sendPerformed()
    +
    Invoked immediately after the Message is sent.
    +
    + +
    Invoked immediately after the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method unbind (line 124) +

    +

    void unbind( +Swift_InputByteStream +$is)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::unbind()
    +
    Remove an already bound stream.
    +
    + +
    Remove an already bound stream.
    +

    If $is is not bound, no errors will be raised. If the stream currently has any buffered data it will be written to $is before unbinding occurs.

    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method write (line 88) +

    +

    void write( +string +$bytes)

    + +
    +
    Implementation of:
    +
    +
    Swift_InputByteStream::write()
    +
    Writes $bytes to the end of the stream.
    +
    + +
    Called when a message is sent so that the outgoing counter can be increased.
    +

    Parameters

    +
      +
    • string $bytes:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_DecoratorPlugin.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_DecoratorPlugin.html new file mode 100644 index 0000000..179d947 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_DecoratorPlugin.html @@ -0,0 +1,294 @@ + + + + + Docs For Class Swift_Plugins_DecoratorPlugin + + + + + + + + +

    + Class Swift_Plugins_DecoratorPlugin +

    (line 23) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/DecoratorPlugin.php
    +

    + +
    Allows customization of Messages on-the-fly.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_DecoratorPlugin + __construct + (mixed $replacements) +
    + +
    + array + getReplacementsFor + (string $address) +
    +
    + void + sendPerformed + (Swift_Events_SendEvent $evt) +
    +
    +
    + + + + +

    + Constructor __construct (line 62) +

    +

    Swift_Plugins_DecoratorPlugin __construct( +mixed +$replacements)

    + + +
    Create a new DecoratorPlugin with $replacements.
    +

    The $replacements can either be an associative array, or an implementation of Swift_Plugins_Decorator_Replacements.

    When using an array, it should be of the form:

    1.  $replacements = array(
    2. +
    3.   "address1@domain.tld" => array("{a}" => "b""{c}" => "d"),
    4. +
    5.   "address2@domain.tld" => array("{a}" => "x""{c}" => "y")
    6. +
    7.  )
    8. +

    When using an instance of Swift_Plugins_Decorator_Replacements, the object should return just the array of replacements for the address given to Swift_Plugins_Decorator_Replacements::getReplacementsFor().

    +

    Parameters

    +
      +
    • mixed $replacements:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeSendPerformed (line 79) +

    +

    void beforeSendPerformed( +Swift_Events_SendEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::beforeSendPerformed()
    +
    Invoked immediately before the Message is sent.
    +
    + +
    Invoked immediately before the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getReplacementsFor (line 142) +

    +

    array getReplacementsFor( +string +$address)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Decorator_Replacements::getReplacementsFor()
    +
    Return the array of replacements for $address.
    +
    + +
    Find a map of replacements for the address.
    +

    If this plugin was provided with a delegate instance of Swift_Plugins_Decorator_Replacements then the call will be delegated to it. Otherwise, it will attempt to find the replacements from the array provided in the constructor.

    If no replacements can be found, an empty value (NULL) is returned.

    +

    Parameters

    +
      +
    • string $address:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sendPerformed (line 162) +

    +

    void sendPerformed( +Swift_Events_SendEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::sendPerformed()
    +
    Invoked immediately after the Message is sent.
    +
    + +
    Invoked immediately after the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Decorator_Replacements.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Decorator_Replacements.html new file mode 100644 index 0000000..5eb9099 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Decorator_Replacements.html @@ -0,0 +1,196 @@ + + + + + Docs For Class Swift_Plugins_Decorator_Replacements + + + + + + + + +

    + Interface Swift_Plugins_Decorator_Replacements +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Decorator/Replacements.php
    +

    + +
    Allows customization of Messages on-the-fly.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + array + getReplacementsFor + (string $address) +
    +
    +
    + + + + +

    + Method getReplacementsFor (line 34) +

    +

    array getReplacementsFor( +string +$address)

    + + +
    Return the array of replacements for $address.
    +

    This method is invoked once for every single recipient of a message.

    If no replacements can be found, an empty value (NULL) should be returned and no replacements will then be made on the message.

    +

    Parameters

    +
      +
    • string $address:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_LoggerPlugin.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_LoggerPlugin.html new file mode 100644 index 0000000..1b28401 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_LoggerPlugin.html @@ -0,0 +1,495 @@ + + + + + Docs For Class Swift_Plugins_LoggerPlugin + + + + + + + + +

    + Class Swift_Plugins_LoggerPlugin +

    (line 30) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/LoggerPlugin.php
    +

    + +
    Does real time logging of Transport level information.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_LoggerPlugin + __construct + (Swift_Plugins_Logger $logger) +
    +
    + void + add + (string $entry) +
    + + +
    + void + clear + () +
    +
    + void + commandSent + (Swift_Events_CommandEvent $evt) +
    +
    + string + dump + () +
    + + + + +
    +
    + + + + +

    + Constructor __construct (line 44) +

    +

    Swift_Plugins_LoggerPlugin __construct( +Swift_Plugins_Logger +$logger)

    + + +
    Create a new LoggerPlugin using $logger.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method add (line 54) +

    +

    void add( +string +$entry)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::add()
    +
    Add a log entry.
    +
    + +
    Add a log entry.
    +

    Parameters

    +
      +
    • string $entry:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeTransportStarted (line 104) +

    +

    void beforeTransportStarted( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::beforeTransportStarted()
    +
    Invoked just before a Transport is started.
    +
    + +
    Invoked just before a Transport is started.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeTransportStopped (line 126) +

    +

    void beforeTransportStopped( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::beforeTransportStopped()
    +
    Invoked just before a Transport is stopped.
    +
    + +
    Invoked just before a Transport is stopped.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clear (line 62) +

    +

    void clear( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::clear()
    +
    Clear the log contents.
    +
    + +
    Clear the log contents.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method commandSent (line 82) +

    +

    void commandSent( +Swift_Events_CommandEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_CommandListener::commandSent()
    +
    Invoked immediately following a command being sent.
    +
    + +
    Invoked immediately following a command being sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method dump (line 72) +

    +

    string dump( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::dump()
    +
    Get this log as a string.
    +
    + +
    Get this log as a string.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method exceptionThrown (line 148) +

    +

    void exceptionThrown( +Swift_Events_TransportExceptionEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportExceptionListener::exceptionThrown()
    +
    Invoked as a TransportException is thrown in the Transport system.
    +
    + +
    Invoked as a TransportException is thrown in the Transport system.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method responseReceived (line 93) +

    +

    void responseReceived( +Swift_Events_ResponseEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_ResponseListener::responseReceived()
    +
    Invoked immediately following a response coming back.
    +
    + +
    Invoked immediately following a response coming back.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method transportStarted (line 115) +

    +

    void transportStarted( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::transportStarted()
    +
    Invoked immediately after the Transport is started.
    +
    + +
    Invoked immediately after the Transport is started.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method transportStopped (line 137) +

    +

    void transportStopped( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::transportStopped()
    +
    Invoked immediately after the Transport is stopped.
    +
    + +
    Invoked immediately after the Transport is stopped.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_PopBeforeSmtpPlugin.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_PopBeforeSmtpPlugin.html new file mode 100644 index 0000000..9d0032d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_PopBeforeSmtpPlugin.html @@ -0,0 +1,534 @@ + + + + + Docs For Class Swift_Plugins_PopBeforeSmtpPlugin + + + + + + + + +

    + Class Swift_Plugins_PopBeforeSmtpPlugin +

    (line 22) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/PopBeforeSmtpPlugin.php
    +

    + +
    Makes sure a connection to a POP3 host has been established prior to connecting to SMTP.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_Plugins_PopBeforeSmtpPlugin + newInstance + (string $host, [int $port = 110], [ $crypto = null], string $cypto) +
    +
    + Swift_Plugins_PopBeforeSmtpPlugin + __construct + (string $host, [int $port = 110], [ $crypto = null], string $cypto) +
    + + +
    + void + bindSmtp + (Swift_Transport $smtp) +
    +
    + void + connect + () +
    +
    + void + disconnect + () +
    +
    + void + setConnection + (Swift_Plugins_Pop_Pop3Connection $connection) +
    +
    + void + setPassword + (string $password) +
    +
    + void + setTimeout + (int $timeout) +
    +
    + void + setUsername + (string $username) +
    + + +
    +
    + + + + +

    + Static Method newInstance (line 76) +

    +

    Swift_Plugins_PopBeforeSmtpPlugin newInstance( +string +$host, [int +$port = 110], [ +$crypto = null], string +$cypto)

    + + +
    Create a new PopBeforeSmtpPlugin for $host and $port.
    +

    Parameters

    +
      +
    • string $host:
    • +
    • int $port:
    • +
    • string $cypto: as "tls" or "ssl"
    • +
    • $crypto:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 60) +

    +

    Swift_Plugins_PopBeforeSmtpPlugin __construct( +string +$host, [int +$port = 110], [ +$crypto = null], string +$cypto)

    + + +
    Create a new PopBeforeSmtpPlugin for $host and $port.
    +

    Parameters

    +
      +
    • string $host:
    • +
    • int $port:
    • +
    • string $cypto: as "tls" or "ssl"
    • +
    • $crypto:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeTransportStarted (line 204) +

    +

    void beforeTransportStarted( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::beforeTransportStarted()
    +
    Invoked just before a Transport is started.
    +
    + +
    Invoked just before a Transport is started.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeTransportStopped (line 228) +

    +

    void beforeTransportStopped( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::beforeTransportStopped()
    +
    Invoked just before a Transport is stopped.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method bindSmtp (line 97) +

    +

    void bindSmtp( +Swift_Transport +$smtp)

    + + +
    Bind this plugin to a specific SMTP transport instance.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method connect (line 140) +

    +

    void connect( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Pop_Pop3Connection::connect()
    +
    Connect to the POP3 host and throw an Exception if it fails.
    +
    + +
    Connect to the POP3 host and authenticate.
    + +

    Info

    +
      +
    • throws - Swift_Plugins_Pop_Pop3Exception if connection fails
    • +
    • access - public
    • +
    +
    + +

    + Method disconnect (line 180) +

    +

    void disconnect( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Pop_Pop3Connection::disconnect()
    +
    Disconnect from the POP3 host and throw an Exception if it fails.
    +
    + +
    Disconnect from the POP3 host.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setConnection (line 86) +

    +

    void setConnection( +Swift_Plugins_Pop_Pop3Connection +$connection)

    + + +
    Set a Pop3Connection to delegate to instead of connecting directly.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setPassword (line 129) +

    +

    void setPassword( +string +$password)

    + + +
    Set the password to use when connecting (if needed).
    +

    Parameters

    +
      +
    • string $password:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setTimeout (line 107) +

    +

    void setTimeout( +int +$timeout)

    + + +
    Set the connection timeout in seconds (default 10).
    +

    Parameters

    +
      +
    • int $timeout:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setUsername (line 118) +

    +

    void setUsername( +string +$username)

    + + +
    Set the username to use when connecting (if needed).
    +

    Parameters

    +
      +
    • string $username:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method transportStarted (line 221) +

    +

    void transportStarted( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::transportStarted()
    +
    Invoked immediately after the Transport is started.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method transportStopped (line 235) +

    +

    void transportStopped( +Swift_Events_TransportChangeEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_TransportChangeListener::transportStopped()
    +
    Invoked immediately after the Transport is stopped.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Pop_Pop3Connection.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Pop_Pop3Connection.html new file mode 100644 index 0000000..e115261 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Pop_Pop3Connection.html @@ -0,0 +1,212 @@ + + + + + Docs For Class Swift_Plugins_Pop_Pop3Connection + + + + + + + + +

    + Interface Swift_Plugins_Pop_Pop3Connection +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Pop/Pop3Connection.php
    +

    + +
    Pop3Connection interface for connecting and disconnecting to a POP3 host.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + connect + () +
    +
    + void + disconnect + () +
    +
    +
    + + + + +

    + Method connect (line 27) +

    +

    void connect( +)

    + + +
    Connect to the POP3 host and throw an Exception if it fails.
    + +

    Info

    +
      +
    • throws - Swift_Plugins_Pop_Pop3Exception
    • +
    • access - public
    • +
    +
    + +

    + Method disconnect (line 34) +

    +

    void disconnect( +)

    + + +
    Disconnect from the POP3 host and throw an Exception if it fails.
    + +

    Info

    +
      +
    • throws - Swift_Plugins_Pop_Pop3Exception
    • +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporter.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporter.html new file mode 100644 index 0000000..e01fdb9 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporter.html @@ -0,0 +1,225 @@ + + + + + Docs For Class Swift_Plugins_Reporter + + + + + + + + +

    + Interface Swift_Plugins_Reporter +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Reporter.php
    +

    + +
    The Reporter plugin sends pass/fail notification to a Reporter.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + +
    + +
    +

    + RESULT_FAIL = 0x10 (line 26) +

    + +
    The recipient could not be accepted
    +
      +
    +
    + +
    +

    + RESULT_PASS = 0x01 (line 23) +

    + +
    The recipient was accepted for delivery
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + notify + (Swift_Mime_Message $message, string $address, int $result) +
    +
    +
    + + + + +

    + Method notify (line 34) +

    +

    void notify( +Swift_Mime_Message +$message, string +$address, int +$result)

    + + +
    Notifies this ReportNotifier that $address failed or succeeded.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_ReporterPlugin.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_ReporterPlugin.html new file mode 100644 index 0000000..32a9dae --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_ReporterPlugin.html @@ -0,0 +1,257 @@ + + + + + Docs For Class Swift_Plugins_ReporterPlugin + + + + + + + + +

    + Class Swift_Plugins_ReporterPlugin +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/ReporterPlugin.php
    +

    + +
    Does real time reporting of pass/fail for each recipient.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_ReporterPlugin + __construct + (Swift_Plugins_Reporter $reporter) +
    + +
    + void + sendPerformed + (Swift_Events_SendEvent $evt) +
    +
    +
    + + + + +

    + Constructor __construct (line 36) +

    +

    Swift_Plugins_ReporterPlugin __construct( +Swift_Plugins_Reporter +$reporter)

    + + +
    Create a new ReporterPlugin using $reporter.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeSendPerformed (line 44) +

    +

    void beforeSendPerformed( +Swift_Events_SendEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::beforeSendPerformed()
    +
    Invoked immediately before the Message is sent.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sendPerformed (line 52) +

    +

    void sendPerformed( +Swift_Events_SendEvent +$evt)

    + +
    +
    Implementation of:
    +
    +
    Swift_Events_SendListener::sendPerformed()
    +
    Invoked immediately after the Message is sent.
    +
    + +
    Invoked immediately after the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporters_HitReporter.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporters_HitReporter.html new file mode 100644 index 0000000..abd708b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporters_HitReporter.html @@ -0,0 +1,245 @@ + + + + + Docs For Class Swift_Plugins_Reporters_HitReporter + + + + + + + + +

    + Class Swift_Plugins_Reporters_HitReporter +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Reporters/HitReporter.php
    +

    + +
    A reporter which "collects" failures for the Reporter plugin.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + clear + () +
    +
    + array + getFailedRecipients + () +
    +
    + void + notify + (Swift_Mime_Message $message, string $address, int $result) +
    +
    +
    + + + + +

    + Method clear (line 58) +

    +

    void clear( +)

    + + +
    Clear the buffer (empty the list).
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getFailedRecipients (line 50) +

    +

    array getFailedRecipients( +)

    + + +
    Get an array of addresses for which delivery failed.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method notify (line 37) +

    +

    void notify( +Swift_Mime_Message +$message, string +$address, int +$result)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Reporter::notify()
    +
    Notifies this ReportNotifier that $address failed or succeeded.
    +
    + +
    Notifies this ReportNotifier that $address failed or succeeded.
    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string $address:
    • +
    • int $result: from RESULT_PASS, RESULT_FAIL
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporters_HtmlReporter.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporters_HtmlReporter.html new file mode 100644 index 0000000..c392f72 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Reporters_HtmlReporter.html @@ -0,0 +1,205 @@ + + + + + Docs For Class Swift_Plugins_Reporters_HtmlReporter + + + + + + + + +

    + Class Swift_Plugins_Reporters_HtmlReporter +

    (line 20) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Reporters/HtmlReporter.php
    +

    + +
    A HTML output reporter for the Reporter plugin.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + notify + (Swift_Mime_Message $message, string $address, int $result) +
    +
    +
    + + + + +

    + Method notify (line 29) +

    +

    void notify( +Swift_Mime_Message +$message, string +$address, int +$result)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Reporter::notify()
    +
    Notifies this ReportNotifier that $address failed or succeeded.
    +
    + +
    Notifies this ReportNotifier that $address failed or succeeded.
    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string $address:
    • +
    • int $result: from RESULT_PASS, RESULT_FAIL
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Sleeper.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Sleeper.html new file mode 100644 index 0000000..f06a04f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Sleeper.html @@ -0,0 +1,195 @@ + + + + + Docs For Class Swift_Plugins_Sleeper + + + + + + + + +

    + Interface Swift_Plugins_Sleeper +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Sleeper.php
    +

    + +
    Sleeps for a duration of time.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + sleep + (int $seconds) +
    +
    +
    + + + + +

    + Method sleep (line 24) +

    +

    void sleep( +int +$seconds)

    + + +
    Sleep for $seconds.
    +

    Parameters

    +
      +
    • int $seconds:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_ThrottlerPlugin.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_ThrottlerPlugin.html new file mode 100644 index 0000000..840da3d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_ThrottlerPlugin.html @@ -0,0 +1,391 @@ + + + + + Docs For Class Swift_Plugins_ThrottlerPlugin + + + + + + + + +

    + Class Swift_Plugins_ThrottlerPlugin +

    (line 22) +
    + + +
    +

    Description

    +
    +Swift_Plugins_BandwidthMonitorPlugin
    +   |
    +   --Swift_Plugins_ThrottlerPlugin
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/ThrottlerPlugin.php
    +

    + +
    Throttles the rate at which emails are sent.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + +
    + +
    +

    + BYTES_PER_MINUTE = 0x01 (line 28) +

    + +
    Flag for throttling in bytes per minute
    +
      +
    +
    + +
    +

    + MESSAGES_PER_MINUTE = 0x10 (line 31) +

    + +
    Flag for throttling in emails per minute
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_ThrottlerPlugin + __construct + (int $rate, [ $mode = self::BYTES_PER_MINUTE], [Swift_Plugins_Sleeper $sleeper = null], [Swift_Plugins_Timer $timer = null], int $mode,) +
    + +
    + int + getTimestamp + () +
    +
    + void + sendPerformed + (Swift_Events_SendEvent $evt) +
    +
    + void + sleep + (int $seconds) +
    +
    +
    + + + + +

    + Constructor __construct (line 83) +

    +

    Swift_Plugins_ThrottlerPlugin __construct( +int +$rate, [ +$mode = self::BYTES_PER_MINUTE], [Swift_Plugins_Sleeper +$sleeper = null], [Swift_Plugins_Timer +$timer = null], int +$mode,)

    + + +
    Create a new ThrottlerPlugin.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method beforeSendPerformed (line 96) +

    +

    void beforeSendPerformed( +Swift_Events_SendEvent +$evt)

    + +

    Overrides : Swift_Plugins_BandwidthMonitorPlugin::beforeSendPerformed() Not used.

    + +
    Invoked immediately before the Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTimestamp (line 150) +

    +

    int getTimestamp( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Timer::getTimestamp()
    +
    Get the current UNIX timestamp.
    +
    + +
    Get the current UNIX timestamp
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sendPerformed (line 124) +

    +

    void sendPerformed( +Swift_Events_SendEvent +$evt)

    + +

    Overrides : Swift_Plugins_BandwidthMonitorPlugin::sendPerformed() Invoked immediately after the Message is sent.

    + +
    Invoked when a Message is sent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method sleep (line 134) +

    +

    void sleep( +int +$seconds)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Sleeper::sleep()
    +
    Sleep for $seconds.
    +
    + +
    Sleep for $seconds.
    +

    Parameters

    +
      +
    • int $seconds:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Plugins_BandwidthMonitorPlugin

    +

    + Swift_Plugins_BandwidthMonitorPlugin::beforeSendPerformed() - Not used. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::bind() - Attach $is to this stream. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::commandSent() - Invoked immediately following a command being sent. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::commit() - Not used. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::flushBuffers() - Not used. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::getBytesIn() - Get the total number of bytes received from the server. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::getBytesOut() - Get the total number of bytes sent to the server. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::reset() - Reset the internal counters to zero. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::responseReceived() - Invoked immediately following a response coming back. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::sendPerformed() - Invoked immediately after the Message is sent. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::unbind() - Remove an already bound stream. +

    + +

    + Swift_Plugins_BandwidthMonitorPlugin::write() - Called when a message is sent so that the outgoing counter can be increased. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Timer.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Timer.html new file mode 100644 index 0000000..6dbe134 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/Swift_Plugins_Timer.html @@ -0,0 +1,190 @@ + + + + + Docs For Class Swift_Plugins_Timer + + + + + + + + +

    + Interface Swift_Plugins_Timer +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Timer.php
    +

    + +
    Provides timestamp data.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + int + getTimestamp + () +
    +
    +
    + + + + +

    + Method getTimestamp (line 24) +

    +

    int getTimestamp( +)

    + + +
    Get the current UNIX timestamp.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---AntiFloodPlugin.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---AntiFloodPlugin.php.html new file mode 100644 index 0000000..c13aece --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---AntiFloodPlugin.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page AntiFloodPlugin.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/AntiFloodPlugin.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_AntiFloodPluginReduces network flooding when sending large amounts of mail.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:11 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---BandwidthMonitorPlugin.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---BandwidthMonitorPlugin.php.html new file mode 100644 index 0000000..fec365d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---BandwidthMonitorPlugin.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page BandwidthMonitorPlugin.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_BandwidthMonitorPluginReduces network flooding when sending large amounts of mail.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Decorator---Replacements.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Decorator---Replacements.php.html new file mode 100644 index 0000000..ac95dfb --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Decorator---Replacements.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Replacements.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Decorator/Replacements.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_Decorator_ReplacementsAllows customization of Messages on-the-fly.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---DecoratorPlugin.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---DecoratorPlugin.php.html new file mode 100644 index 0000000..50c6b3e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---DecoratorPlugin.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page DecoratorPlugin.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/DecoratorPlugin.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_DecoratorPluginAllows customization of Messages on-the-fly.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---LoggerPlugin.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---LoggerPlugin.php.html new file mode 100644 index 0000000..a724847 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---LoggerPlugin.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page LoggerPlugin.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/LoggerPlugin.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_LoggerPluginDoes real time logging of Transport level information.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Pop---Pop3Connection.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Pop---Pop3Connection.php.html new file mode 100644 index 0000000..b1c4dd6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Pop---Pop3Connection.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Pop3Connection.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Pop/Pop3Connection.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_Pop_Pop3ConnectionPop3Connection interface for connecting and disconnecting to a POP3 host.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---PopBeforeSmtpPlugin.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---PopBeforeSmtpPlugin.php.html new file mode 100644 index 0000000..936e530 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---PopBeforeSmtpPlugin.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page PopBeforeSmtpPlugin.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/PopBeforeSmtpPlugin.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_PopBeforeSmtpPluginMakes sure a connection to a POP3 host has been established prior to connecting to SMTP.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporter.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporter.php.html new file mode 100644 index 0000000..c7bd7aa --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporter.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Reporter.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Reporter.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_ReporterThe Reporter plugin sends pass/fail notification to a Reporter.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---ReporterPlugin.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---ReporterPlugin.php.html new file mode 100644 index 0000000..63f2174 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---ReporterPlugin.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ReporterPlugin.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/ReporterPlugin.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_ReporterPluginDoes real time reporting of pass/fail for each recipient.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporters---HitReporter.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporters---HitReporter.php.html new file mode 100644 index 0000000..0e26f09 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporters---HitReporter.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page HitReporter.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Reporters/HitReporter.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_Reporters_HitReporterA reporter which "collects" failures for the Reporter plugin.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporters---HtmlReporter.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporters---HtmlReporter.php.html new file mode 100644 index 0000000..c4aa17f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Reporters---HtmlReporter.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page HtmlReporter.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Reporters/HtmlReporter.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_Reporters_HtmlReporterA HTML output reporter for the Reporter plugin.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:22 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Sleeper.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Sleeper.php.html new file mode 100644 index 0000000..02232aa --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Sleeper.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Sleeper.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Sleeper.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_SleeperSleeps for a duration of time.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---ThrottlerPlugin.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---ThrottlerPlugin.php.html new file mode 100644 index 0000000..cdfd537 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---ThrottlerPlugin.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ThrottlerPlugin.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/ThrottlerPlugin.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_ThrottlerPluginThrottles the rate at which emails are sent.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Timer.php.html b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Timer.php.html new file mode 100644 index 0000000..8f3737e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Plugins/_vendors---swiftMailer---classes---Swift---Plugins---Timer.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Timer.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Timer.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_TimerProvides timestamp data.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift.html b/www/protected/extensions/yii-mail/doc/Swift/Swift.html new file mode 100644 index 0000000..235f147 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift.html @@ -0,0 +1,230 @@ + + + + + Docs For Class Swift + + + + + + + + +

    + Class Swift +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift.php
    +

    + +
    General utility class in Swift Mailer, not to be instantiated.
    +
      +
    • author: - Chris Corbyn
    • +
    • abstract: -
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + VERSION +
    +
    + +
    +

    + VERSION = '4.0.5' (line 22) +

    + +
    Swift Mailer Version number generated during dist release process
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static void + autoload + (string $class) +
    +
    + static void + registerAutoload + () +
    +
    +
    + + + + +

    + Static Method autoload (line 29) +

    +

    void autoload( +string +$class)

    + + +
    Internal autoloader for spl_autoload_register().
    +

    Parameters

    +
      +
    • string $class:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Static Method registerAutoload (line 52) +

    +

    void registerAutoload( +)

    + + +
    Configure autoloading using Swift Mailer.
    +

    This is designed to play nicely with other autoloaders.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_DependencyContainer.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_DependencyContainer.html new file mode 100644 index 0000000..b64b9aa --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_DependencyContainer.html @@ -0,0 +1,571 @@ + + + + + Docs For Class Swift_DependencyContainer + + + + + + + + +

    + Class Swift_DependencyContainer +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/DependencyContainer.php
    +

    + +
    Dependency Injection container.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + + + +
    + +
    +

    + TYPE_ALIAS = 0x1000 (line 31) +

    + +
    Constant for aliases
    +
      +
    +
    + +
    +

    + TYPE_INSTANCE = 0x0010 (line 25) +

    + +
    Constant for new instance types
    +
      +
    +
    + +
    +

    + TYPE_SHARED = 0x0100 (line 28) +

    + +
    Constant for shared instance types
    +
      +
    +
    + +
    +

    + TYPE_VALUE = 0x0001 (line 22) +

    + +
    Constant for literal value types
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    + +
    + Swift_DependencyContainer + __construct + () +
    + + +
    + Swift_DependencyContainer + asAliasOf + (string $lookup) +
    +
    + Swift_DependencyContainer + asNewInstanceOf + (string $className) +
    +
    + Swift_DependencyContainer + asSharedInstanceOf + (string $className) +
    +
    + Swift_DependencyContainer + asValue + (mixed $value) +
    +
    + array + createDependenciesFor + (string $itemName) +
    +
    + boolean + has + (string $itemName) +
    +
    + array + listItems + () +
    +
    + mixed + lookup + (string $itemName) +
    +
    + Swift_DependencyContainer + register + (string $itemName) +
    + +
    +
    + + + + +

    + Static Method getInstance (line 52) +

    +

    Swift_DependencyContainer getInstance( +)

    + + +
    Returns a singleton of the DependencyContainer.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 46) +

    +

    Swift_DependencyContainer __construct( +)

    + + +
    Constructor should not be used.
    +

    Use getInstance() instead.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method addConstructorLookup (line 249) +

    +

    Swift_DependencyContainer addConstructorLookup( +string +$lookup)

    + + +
    Specify a dependency lookup for the constructor of the previously registered item.
    +

    Parameters

    +
      +
    • string $lookup:
    • +
    + +

    Info

    + +
    + +

    + Method addConstructorValue (line 230) +

    +

    Swift_DependencyContainer addConstructorValue( +mixed +$value)

    + + +
    Specify a literal (non looked up) value for the constructor of the previously registered item.
    +

    Parameters

    +
      +
    • mixed $value:
    • +
    + +

    Info

    + +
    + +

    + Method asAliasOf (line 163) +

    +

    Swift_DependencyContainer asAliasOf( +string +$lookup)

    + + +
    Specify the previously registered item as an alias of another item.
    +

    Parameters

    +
      +
    • string $lookup:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method asNewInstanceOf (line 181) +

    +

    Swift_DependencyContainer asNewInstanceOf( +string +$className)

    + + +
    Specify the previously registered item as a new instance of $className.
    +

    register() must be called before this will work. Any arguments can be set with withDependencies(), addConstructorValue() or addConstructorLookup().

    +

    Parameters

    +
      +
    • string $className:
    • +
    + +

    Info

    + +
    + +

    + Method asSharedInstanceOf (line 195) +

    +

    Swift_DependencyContainer asSharedInstanceOf( +string +$className)

    + + +
    Specify the previously registered item as a shared instance of $className.
    +

    register() must be called before this will work.

    +

    Parameters

    +
      +
    • string $className:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method asValue (line 150) +

    +

    Swift_DependencyContainer asValue( +mixed +$value)

    + + +
    Specify the previously registered item as a literal value.
    +

    register() must be called before this will work.

    +

    Parameters

    +
      +
    • mixed $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method createDependenciesFor (line 116) +

    +

    array createDependenciesFor( +string +$itemName)

    + + +
    Create an array of arguments passed to the constructor of $itemName.
    +

    Parameters

    +
      +
    • string $itemName:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method has (line 76) +

    +

    boolean has( +string +$itemName)

    + + +
    Test if an item is registered in this container with the given name.
    +

    Parameters

    +
      +
    • string $itemName:
    • +
    + +

    Info

    + +
    + +

    + Method listItems (line 65) +

    +

    array listItems( +)

    + + +
    List the names of all items stored in the Container.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method lookup (line 89) +

    +

    mixed lookup( +string +$itemName)

    + + +
    Lookup the item with the given $itemName.
    +

    Parameters

    +
      +
    • string $itemName:
    • +
    + +

    Info

    + +
    + +

    + Method register (line 136) +

    +

    Swift_DependencyContainer register( +string +$itemName)

    + + +
    Register a new dependency with $itemName.
    +

    This method returns the current DependencyContainer instance because it requires the use of the fluid interface to set the specific details for the dependency.

    +

    Parameters

    +
      +
    • string $itemName:
    • +
    + +

    Info

    + +
    + +

    + Method withDependencies (line 211) +

    +

    Swift_DependencyContainer withDependencies( + +$lookups)

    + + +
    Specify a list of injected dependencies for the previously registered item.
    +

    This method takes an array of lookup names.

    +

    Parameters

    +
      +
    • array $lookups:
    • +
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_DependencyException.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_DependencyException.html new file mode 100644 index 0000000..3507f23 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_DependencyException.html @@ -0,0 +1,207 @@ + + + + + Docs For Class Swift_DependencyException + + + + + + + + +

    + Class Swift_DependencyException +

    (line 18) +
    + + +
    +

    Description

    +
    +Exception
    +   |
    +   --Swift_SwiftException
    +      |
    +      --Swift_DependencyException
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/DependencyException.php
    +

    + +
    DependencyException thrown when a requested dependeny is missing.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_DependencyException + __construct + (string $message) +
    +
    +
    + + + + +

    + Constructor __construct (line 25) +

    +

    Swift_DependencyException __construct( +string +$message)

    + +

    Overrides : Swift_SwiftException::__construct() Create a new SwiftException with $message.

    + +
    Create a new DependencyException with $message.
    +

    Parameters

    +
      +
    • string $message:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_SwiftException

    +

    + Swift_SwiftException::__construct() - Create a new SwiftException with $message. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_Filterable.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_Filterable.html new file mode 100644 index 0000000..9026178 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_Filterable.html @@ -0,0 +1,222 @@ + + + + + Docs For Class Swift_Filterable + + + + + + + + +

    + Interface Swift_Filterable +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Filterable.php
    +

    + +
    Allows StreamFilters to operate on a stream.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + addFilter + (Swift_StreamFilter $filter, string $key) +
    +
    + void + removeFilter + (string $key) +
    +
    +
    + + + + +

    + Method addFilter (line 26) +

    +

    void addFilter( +Swift_StreamFilter +$filter, string +$key)

    + + +
    Add a new StreamFilter, referenced by $key.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method removeFilter (line 32) +

    +

    void removeFilter( +string +$key)

    + + +
    Remove an existing filter using $key.
    +

    Parameters

    +
      +
    • string $key:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_IoException.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_IoException.html new file mode 100644 index 0000000..2c670c4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_IoException.html @@ -0,0 +1,227 @@ + + + + + Docs For Class Swift_IoException + + + + + + + + +

    + Class Swift_IoException +

    (line 18) +
    + + +
    +

    Description

    +
    +Exception
    +   |
    +   --Swift_SwiftException
    +      |
    +      --Swift_IoException
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/IoException.php
    +

    + +
    I/O Exception class.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_IoException: +
    +
    Swift_Plugins_Pop_Pop3Exception
    +
    Pop3Exception thrown when an error occurs connecting to a POP3 host.
    +
    +
    +
    Swift_TransportException
    +
    TransportException thrown when an error occurs in the Transport subsystem.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_IoException + __construct + (string $message) +
    +
    +
    + + + + +

    + Constructor __construct (line 25) +

    +

    Swift_IoException __construct( +string +$message)

    +

    Overridden in child classes as:
    +

    +
    Swift_Plugins_Pop_Pop3Exception::__construct()
    +
    Create a new Pop3Exception with $message.
    +
    +
    +
    Swift_TransportException::__construct()
    +
    Create a new TransportException with $message.
    +
    +

    + +

    Overrides : Swift_SwiftException::__construct() Create a new SwiftException with $message.

    + +
    Create a new IoException with $message.
    +

    Parameters

    +
      +
    • string $message:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_SwiftException

    +

    + Swift_SwiftException::__construct() - Create a new SwiftException with $message. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_Mailer.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_Mailer.html new file mode 100644 index 0000000..f9b75c9 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_Mailer.html @@ -0,0 +1,333 @@ + + + + + Docs For Class Swift_Mailer + + + + + + + + +

    + Class Swift_Mailer +

    (line 22) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Mailer.php
    +

    + +
    Swift Mailer class.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_Mailer + newInstance + (Swift_Transport $transport) +
    +
    + Swift_Mailer + __construct + (Swift_Transport $transport) +
    +
    + int + batchSend + (Swift_Mime_Message $message, [ &$failedRecipients = null], [Swift_Mailer_RecipientIterator $it = null], array &$failedRecipients,, Swift_Mailer_RecipientIterator $it,) +
    + +
    + void + registerPlugin + (Swift_Events_EventListener $plugin, string $key) +
    +
    + int + send + (Swift_Mime_Message $message, [ &$failedRecipients = null], array &$failedRecipients,) +
    +
    +
    + + + + +

    + Static Method newInstance (line 44) +

    +

    Swift_Mailer newInstance( +Swift_Transport +$transport)

    + + +
    Create a new Mailer instance.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 33) +

    +

    Swift_Mailer __construct( +Swift_Transport +$transport)

    + + +
    Create a new Mailer using $transport for delivery.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method batchSend (line 102) +

    +

    int batchSend( +Swift_Mime_Message +$message, [ +&$failedRecipients = null], [Swift_Mailer_RecipientIterator +$it = null], array +&$failedRecipients,, Swift_Mailer_RecipientIterator +$it,)

    + + +
    Send the given Message to all recipients individually.
    +

    This differs from send() in the way headers are presented to the recipient. The only recipient in the "To:" field will be the individual recipient it was sent to.

    If an iterator is provided, recipients will be read from the iterator one-by-one, otherwise recipient data will be retreived from the Message object.

    Sender information is always read from the Message object.

    The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    + + +

    Info

    + +
    + +

    + Method getTransport (line 169) +

    +

    Swift_Transport getTransport( +)

    + + +
    The Transport used to send messages.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method registerPlugin (line 160) +

    +

    void registerPlugin( +Swift_Events_EventListener +$plugin, string +$key)

    + + +
    Register a plugin using a known unique key (e.g. myPlugin).
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 68) +

    +

    int send( +Swift_Mime_Message +$message, [ +&$failedRecipients = null], array +&$failedRecipients,)

    + + +
    Send the given Message like it would be sent in a mail client.
    +

    All recipients (with the exception of Bcc) will be able to see the other recipients this message was sent to.

    If you need to send to each recipient without disclosing details about the other recipients see batchSend().

    Recipient/sender data will be retreived from the Message object.

    The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • array &$failedRecipients,: optional
    • +
    • &$failedRecipients:
    • +
    + +

    Info

    + +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_ReplacementFilterFactory.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_ReplacementFilterFactory.html new file mode 100644 index 0000000..1ef6b4f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_ReplacementFilterFactory.html @@ -0,0 +1,197 @@ + + + + + Docs For Class Swift_ReplacementFilterFactory + + + + + + + + +

    + Interface Swift_ReplacementFilterFactory +

    (line 16) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/ReplacementFilterFactory.php
    +

    + +
    Creates StreamFilters.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_StreamFilter + createFilter + (mixed $search, mixed $replace) +
    +
    +
    + + + + +

    + Method createFilter (line 25) +

    +

    Swift_StreamFilter createFilter( +mixed +$search, mixed +$replace)

    + + +
    Create a filter to replace $search with $replace.
    +

    Parameters

    +
      +
    • mixed $search:
    • +
    • mixed $replace:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_RfcComplianceException.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_RfcComplianceException.html new file mode 100644 index 0000000..0dd8d13 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_RfcComplianceException.html @@ -0,0 +1,207 @@ + + + + + Docs For Class Swift_RfcComplianceException + + + + + + + + +

    + Class Swift_RfcComplianceException +

    (line 18) +
    + + +
    +

    Description

    +
    +Exception
    +   |
    +   --Swift_SwiftException
    +      |
    +      --Swift_RfcComplianceException
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/RfcComplianceException.php
    +

    + +
    RFC Compliance Exception class.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_RfcComplianceException + __construct + (string $message) +
    +
    +
    + + + + +

    + Constructor __construct (line 25) +

    +

    Swift_RfcComplianceException __construct( +string +$message)

    + +

    Overrides : Swift_SwiftException::__construct() Create a new SwiftException with $message.

    + +
    Create a new RfcComplianceException with $message.
    +

    Parameters

    +
      +
    • string $message:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_SwiftException

    +

    + Swift_SwiftException::__construct() - Create a new SwiftException with $message. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilter.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilter.html new file mode 100644 index 0000000..bcf8033 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilter.html @@ -0,0 +1,220 @@ + + + + + Docs For Class Swift_StreamFilter + + + + + + + + +

    + Interface Swift_StreamFilter +

    (line 16) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/StreamFilter.php
    +

    + +
    Processes bytes as they pass through a stream and performs filtering.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + mixed + filter + (mixed $buffer) +
    +
    + boolean + shouldBuffer + (mixed $buffer) +
    +
    +
    + + + + +

    + Method filter (line 31) +

    +

    mixed filter( +mixed +$buffer)

    + + +
    Filters $buffer and returns the changes.
    +

    Parameters

    +
      +
    • mixed $buffer:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method shouldBuffer (line 24) +

    +

    boolean shouldBuffer( +mixed +$buffer)

    + + +
    Based on the buffer given, this returns true if more buffering is needed.
    +

    Parameters

    +
      +
    • mixed $buffer:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_ByteArrayReplacementFilter.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_ByteArrayReplacementFilter.html new file mode 100644 index 0000000..2c8b8d6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_ByteArrayReplacementFilter.html @@ -0,0 +1,262 @@ + + + + + Docs For Class Swift_StreamFilters_ByteArrayReplacementFilter + + + + + + + + +

    + Class Swift_StreamFilters_ByteArrayReplacementFilter +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php
    +

    + +
    Processes bytes as they pass through a buffer and replaces sequences in it.
    +

    This stream filter deals with Byte arrays rather than simple strings.

    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_StreamFilters_ByteArrayReplacementFilter + __construct + (array $search, array $replace) +
    +
    + array + filter + (array $buffer, [ $_minReplaces = -1]) +
    +
    + boolean + shouldBuffer + (array $buffer) +
    +
    +
    + + + + +

    + Constructor __construct (line 45) +

    +

    Swift_StreamFilters_ByteArrayReplacementFilter __construct( +array +$search, array +$replace)

    + + +
    Create a new ByteArrayReplacementFilter with $search and $replace.
    +

    Parameters

    +
      +
    • array $search:
    • +
    • array $replace:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method filter (line 127) +

    +

    array filter( +array +$buffer, [ +$_minReplaces = -1])

    + +
    +
    Implementation of:
    +
    +
    Swift_StreamFilter::filter()
    +
    Filters $buffer and returns the changes.
    +
    + +
    Perform the actual replacements on $buffer and return the result.
    +

    Parameters

    +
      +
    • array $buffer:
    • +
    • $_minReplaces:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method shouldBuffer (line 116) +

    +

    boolean shouldBuffer( +array +$buffer)

    + +
    +
    Implementation of:
    +
    +
    Swift_StreamFilter::shouldBuffer()
    +
    Based on the buffer given, this returns true if more buffering is needed.
    +
    + +
    Returns true if based on the buffer passed more bytes should be buffered.
    +

    Parameters

    +
      +
    • array $buffer:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:16 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_StringReplacementFilter.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_StringReplacementFilter.html new file mode 100644 index 0000000..5cd4975 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_StringReplacementFilter.html @@ -0,0 +1,259 @@ + + + + + Docs For Class Swift_StreamFilters_StringReplacementFilter + + + + + + + + +

    + Class Swift_StreamFilters_StringReplacementFilter +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilter.php
    +

    + +
    Processes bytes as they pass through a buffer and replaces sequences in it.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_StreamFilters_StringReplacementFilter + __construct + (string|array $search, string|array $replace) +
    +
    + string + filter + (string $buffer) +
    +
    + boolean + shouldBuffer + (string $buffer) +
    +
    +
    + + + + +

    + Constructor __construct (line 32) +

    +

    Swift_StreamFilters_StringReplacementFilter __construct( +string|array +$search, string|array +$replace)

    + + +
    Create a new StringReplacementFilter with $search and $replace.
    +

    Parameters

    +
      +
    • string|array $search:
    • +
    • string|array $replace:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method filter (line 61) +

    +

    string filter( +string +$buffer)

    + +
    +
    Implementation of:
    +
    +
    Swift_StreamFilter::filter()
    +
    Filters $buffer and returns the changes.
    +
    + +
    Perform the actual replacements on $buffer and return the result.
    +

    Parameters

    +
      +
    • string $buffer:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method shouldBuffer (line 43) +

    +

    boolean shouldBuffer( +string +$buffer)

    + +
    +
    Implementation of:
    +
    +
    Swift_StreamFilter::shouldBuffer()
    +
    Based on the buffer given, this returns true if more buffering is needed.
    +
    + +
    Returns true if based on the buffer passed more bytes should be buffered.
    +

    Parameters

    +
      +
    • string $buffer:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_StringReplacementFilterFactory.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_StringReplacementFilterFactory.html new file mode 100644 index 0000000..5f65fee --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_StreamFilters_StringReplacementFilterFactory.html @@ -0,0 +1,203 @@ + + + + + Docs For Class Swift_StreamFilters_StringReplacementFilterFactory + + + + + + + + +

    + Class Swift_StreamFilters_StringReplacementFilterFactory +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php
    +

    + +
    Creates filters for replacing needles in a string buffer.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_StreamFilter + createFilter + (string $search, string $replace) +
    +
    +
    + + + + +

    + Method createFilter (line 32) +

    +

    Swift_StreamFilter createFilter( +string +$search, string +$replace)

    + +
    +
    Implementation of:
    +
    +
    Swift_ReplacementFilterFactory::createFilter()
    +
    Create a filter to replace $search with $replace.
    +
    + +
    Create a new StreamFilter to replace $search with $replace in a string.
    +

    Parameters

    +
      +
    • string $search:
    • +
    • string $replace:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Swift_SwiftException.html b/www/protected/extensions/yii-mail/doc/Swift/Swift_SwiftException.html new file mode 100644 index 0000000..4c7c220 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Swift_SwiftException.html @@ -0,0 +1,300 @@ + + + + + Docs For Class Swift_SwiftException + + + + + + + + +

    + Class Swift_SwiftException +

    (line 16) +
    + + +
    +

    Description

    +
    +Exception
    +   |
    +   --Swift_SwiftException
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/SwiftException.php
    +

    + +
    Base Exception class.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_SwiftException: +
    +
    Swift_DependencyException
    +
    DependencyException thrown when a requested dependeny is missing.
    +
    +
    +
    Swift_IoException
    +
    I/O Exception class.
    +
    +
    +
    Swift_RfcComplianceException
    +
    RFC Compliance Exception class.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_SwiftException + __construct + (string $message) +
    +
    +
    + + + + +

    + Constructor __construct (line 23) +

    +

    Swift_SwiftException __construct( +string +$message)

    +

    Overridden in child classes as:
    +

    +
    Swift_DependencyException::__construct()
    +
    Create a new DependencyException with $message.
    +
    +
    +
    Swift_IoException::__construct()
    +
    Create a new IoException with $message.
    +
    +
    +
    Swift_Plugins_Pop_Pop3Exception::__construct()
    +
    Create a new Pop3Exception with $message.
    +
    +
    +
    Swift_TransportException::__construct()
    +
    Create a new TransportException with $message.
    +
    +
    +
    Swift_RfcComplianceException::__construct()
    +
    Create a new RfcComplianceException with $message.
    +
    +

    + +

    Overrides : Exception::constructor __construct ( [$message = ], [$code = ], [$previous = ] ) parent method not documented

    + +
    Create a new SwiftException with $message.
    +

    Parameters

    +
      +
    • string $message:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Exception (Internal Class)

    +

    + $code - +

    +

    + $file - +

    +

    + $line - +

    +

    + $message - +

    +

    + $previous - +

    +

    + $string - +

    +

    + $trace - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Exception (Internal Class)

    +

    + constructor __construct ( [$message = ], [$code = ], [$previous = ] ) - +

    + +

    + getCode ( ) - +

    + +

    + getFile ( ) - +

    + +

    + getLine ( ) - +

    + +

    + getMessage ( ) - +

    + +

    + getPrevious ( ) - +

    + +

    + getTrace ( ) - +

    + +

    + getTraceAsString ( ) - +

    + +

    + __clone ( ) - +

    + +

    + __toString ( ) - +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_FailoverTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_FailoverTransport.html new file mode 100644 index 0000000..241c8ae --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_FailoverTransport.html @@ -0,0 +1,292 @@ + + + + + Docs For Class Swift_FailoverTransport + + + + + + + + +

    + Class Swift_FailoverTransport +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Transport_LoadBalancedTransport
    +   |
    +   --Swift_Transport_FailoverTransport
    +      |
    +      --Swift_FailoverTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/FailoverTransport.php
    +

    + +
    Contains a list of redundant Transports so when one fails, the next is used.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_FailoverTransport + newInstance + ([string $transports = array()]) +
    +
    + Swift_FailoverTransport + __construct + ([array $transports = array()]) +
    +
    +
    + + + + +

    + Static Method newInstance (line 43) +

    +

    Swift_FailoverTransport newInstance( +[string +$transports = array()])

    + + +
    Create a new FailoverTransport instance.
    +

    Parameters

    +
      +
    • string $transports:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 27) +

    +

    Swift_FailoverTransport __construct( +[array +$transports = array()])

    + +

    Overrides : Swift_Transport_FailoverTransport::__construct() Creates a new FailoverTransport.

    + +
    Creates a new FailoverTransport with $transports.
    +

    Parameters

    +
      +
    • array $transports:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Transport_LoadBalancedTransport

    +

    + Swift_Transport_LoadBalancedTransport::$_transports - The Transports which are used in rotation. +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_FailoverTransport

    +

    + Swift_Transport_FailoverTransport::__construct() - Creates a new FailoverTransport. +

    + +

    + Swift_Transport_FailoverTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_FailoverTransport::_getNextTransport() - +

    + +

    + Swift_Transport_FailoverTransport::_killCurrentTransport() - +

    + +
    + +

    Inherited From Class Swift_Transport_LoadBalancedTransport

    +

    + Swift_Transport_LoadBalancedTransport::__construct() - Creates a new LoadBalancedTransport. +

    + +

    + Swift_Transport_LoadBalancedTransport::getTransports() - Get $transports to delegate to. +

    + +

    + Swift_Transport_LoadBalancedTransport::isStarted() - Test if this Transport mechanism has started. +

    + +

    + Swift_Transport_LoadBalancedTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_LoadBalancedTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_LoadBalancedTransport::setTransports() - Set $transports to delegate to. +

    + +

    + Swift_Transport_LoadBalancedTransport::start() - Start this Transport mechanism. +

    + +

    + Swift_Transport_LoadBalancedTransport::stop() - Stop this Transport mechanism. +

    + +

    + Swift_Transport_LoadBalancedTransport::_getNextTransport() - Rotates the transport list around and returns the first instance. +

    + +

    + Swift_Transport_LoadBalancedTransport::_killCurrentTransport() - Tag the currently used (top of stack) transport as dead/useless. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_LoadBalancedTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_LoadBalancedTransport.html new file mode 100644 index 0000000..0c3e2d4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_LoadBalancedTransport.html @@ -0,0 +1,271 @@ + + + + + Docs For Class Swift_LoadBalancedTransport + + + + + + + + +

    + Class Swift_LoadBalancedTransport +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Transport_LoadBalancedTransport
    +   |
    +   --Swift_LoadBalancedTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/LoadBalancedTransport.php
    +

    + +
    Redudantly and rotationally uses several Transport implementations when sending.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_LoadBalancedTransport + newInstance + ([string $transports = array()]) +
    +
    + Swift_LoadBalancedTransport + __construct + ([array $transports = array()]) +
    +
    +
    + + + + +

    + Static Method newInstance (line 43) +

    +

    Swift_LoadBalancedTransport newInstance( +[string +$transports = array()])

    + + +
    Create a new LoadBalancedTransport instance.
    +

    Parameters

    +
      +
    • string $transports:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 27) +

    +

    Swift_LoadBalancedTransport __construct( +[array +$transports = array()])

    + +

    Overrides : Swift_Transport_LoadBalancedTransport::__construct() Creates a new LoadBalancedTransport.

    + +
    Creates a new LoadBalancedTransport with $transports.
    +

    Parameters

    +
      +
    • array $transports:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Transport_LoadBalancedTransport

    +

    + Swift_Transport_LoadBalancedTransport::$_transports - The Transports which are used in rotation. +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_LoadBalancedTransport

    +

    + Swift_Transport_LoadBalancedTransport::__construct() - Creates a new LoadBalancedTransport. +

    + +

    + Swift_Transport_LoadBalancedTransport::getTransports() - Get $transports to delegate to. +

    + +

    + Swift_Transport_LoadBalancedTransport::isStarted() - Test if this Transport mechanism has started. +

    + +

    + Swift_Transport_LoadBalancedTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_LoadBalancedTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_LoadBalancedTransport::setTransports() - Set $transports to delegate to. +

    + +

    + Swift_Transport_LoadBalancedTransport::start() - Start this Transport mechanism. +

    + +

    + Swift_Transport_LoadBalancedTransport::stop() - Stop this Transport mechanism. +

    + +

    + Swift_Transport_LoadBalancedTransport::_getNextTransport() - Rotates the transport list around and returns the first instance. +

    + +

    + Swift_Transport_LoadBalancedTransport::_killCurrentTransport() - Tag the currently used (top of stack) transport as dead/useless. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_MailTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_MailTransport.html new file mode 100644 index 0000000..91d0f1c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_MailTransport.html @@ -0,0 +1,258 @@ + + + + + Docs For Class Swift_MailTransport + + + + + + + + +

    + Class Swift_MailTransport +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Transport_MailTransport
    +   |
    +   --Swift_MailTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/MailTransport.php
    +

    + +
    Sends Messages using the mail() function.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_MailTransport + newInstance + ([string $extraParams = '-f%s']) +
    +
    + Swift_MailTransport + __construct + ([string $extraParams = '-f%s']) +
    +
    +
    + + + + +

    + Static Method newInstance (line 43) +

    +

    Swift_MailTransport newInstance( +[string +$extraParams = '-f%s'])

    + + +
    Create a new MailTransport instance.
    +

    Parameters

    +
      +
    • string $extraParams: To be passed to mail()
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 27) +

    +

    Swift_MailTransport __construct( +[string +$extraParams = '-f%s'])

    + +

    Overrides : Swift_Transport_MailTransport::__construct() Create a new MailTransport with the $log.

    + +
    Create a new MailTransport, optionally specifying $extraParams.
    +

    Parameters

    +
      +
    • string $extraParams:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_MailTransport

    +

    + Swift_Transport_MailTransport::__construct() - Create a new MailTransport with the $log. +

    + +

    + Swift_Transport_MailTransport::getExtraParams() - Get the additional parameters used on the mail() function. +

    + +

    + Swift_Transport_MailTransport::isStarted() - Not used. +

    + +

    + Swift_Transport_MailTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_MailTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_MailTransport::setExtraParams() - Set the additional parameters used on the mail() function. +

    + +

    + Swift_Transport_MailTransport::start() - Not used. +

    + +

    + Swift_Transport_MailTransport::stop() - Not used. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Logger.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Logger.html new file mode 100644 index 0000000..c1e9f6d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Logger.html @@ -0,0 +1,235 @@ + + + + + Docs For Class Swift_Plugins_Logger + + + + + + + + +

    + Interface Swift_Plugins_Logger +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Logger.php
    +

    + +
    Logs events in the Transport system.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + add + (string $entry) +
    +
    + void + clear + () +
    +
    + string + dump + () +
    +
    +
    + + + + +

    + Method add (line 24) +

    +

    void add( +string +$entry)

    + + +
    Add a log entry.
    +

    Parameters

    +
      +
    • string $entry:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clear (line 29) +

    +

    void clear( +)

    + + +
    Clear the log contents.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method dump (line 35) +

    +

    string dump( +)

    + + +
    Get this log as a string.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Loggers_ArrayLogger.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Loggers_ArrayLogger.html new file mode 100644 index 0000000..c10d7c0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Loggers_ArrayLogger.html @@ -0,0 +1,278 @@ + + + + + Docs For Class Swift_Plugins_Loggers_ArrayLogger + + + + + + + + +

    + Class Swift_Plugins_Loggers_ArrayLogger +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Loggers/ArrayLogger.php
    +

    + +
    Logs to an Array backend.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_Loggers_ArrayLogger + __construct + ([ $size = 50]) +
    +
    + void + add + (string $entry) +
    +
    + void + clear + () +
    +
    + string + dump + () +
    +
    +
    + + + + +

    + Constructor __construct (line 38) +

    +

    Swift_Plugins_Loggers_ArrayLogger __construct( +[ +$size = 50])

    + + +
    Create a new ArrayLogger with a maximum of $size entries.
    +

    Parameters

    +
      +
    • $size:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method add (line 47) +

    +

    void add( +string +$entry)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::add()
    +
    Add a log entry.
    +
    + +
    Add a log entry.
    +

    Parameters

    +
      +
    • string $entry:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clear (line 59) +

    +

    void clear( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::clear()
    +
    Clear the log contents.
    +
    + +
    Clear the log contents.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method dump (line 68) +

    +

    string dump( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::dump()
    +
    Get this log as a string.
    +
    + +
    Get this log as a string.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:13 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Loggers_EchoLogger.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Loggers_EchoLogger.html new file mode 100644 index 0000000..b037f47 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Loggers_EchoLogger.html @@ -0,0 +1,278 @@ + + + + + Docs For Class Swift_Plugins_Loggers_EchoLogger + + + + + + + + +

    + Class Swift_Plugins_Loggers_EchoLogger +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Loggers/EchoLogger.php
    +

    + +
    Prints all log messages in real time.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_Loggers_EchoLogger + __construct + ([boolean $isHtml = true]) +
    +
    + void + add + (string $entry) +
    +
    + void + clear + () +
    +
    + void + dump + () +
    +
    +
    + + + + +

    + Constructor __construct (line 29) +

    +

    Swift_Plugins_Loggers_EchoLogger __construct( +[boolean +$isHtml = true])

    + + +
    Create a new EchoLogger.
    +

    Parameters

    +
      +
    • boolean $isHtml:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method add (line 38) +

    +

    void add( +string +$entry)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::add()
    +
    Add a log entry.
    +
    + +
    Add a log entry.
    +

    Parameters

    +
      +
    • string $entry:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method clear (line 53) +

    +

    void clear( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::clear()
    +
    Clear the log contents.
    +
    + +
    Not implemented.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method dump (line 60) +

    +

    void dump( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Plugins_Logger::dump()
    +
    Get this log as a string.
    +
    + +
    Not implemented.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Pop_Pop3Exception.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Pop_Pop3Exception.html new file mode 100644 index 0000000..c09cd0c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Plugins_Pop_Pop3Exception.html @@ -0,0 +1,282 @@ + + + + + Docs For Class Swift_Plugins_Pop_Pop3Exception + + + + + + + + +

    + Class Swift_Plugins_Pop_Pop3Exception +

    (line 21) +
    + + +
    +

    Description

    +
    +Exception
    +   |
    +   --Swift_SwiftException
    +      |
    +      --Swift_IoException
    +         |
    +         --Swift_Plugins_Pop_Pop3Exception
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Plugins/Pop/Pop3Exception.php
    +

    + +
    Pop3Exception thrown when an error occurs connecting to a POP3 host.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Plugins_Pop_Pop3Exception + __construct + (string $message) +
    +
    +
    + + + + +

    + Constructor __construct (line 29) +

    +

    Swift_Plugins_Pop_Pop3Exception __construct( +string +$message)

    + +

    Overrides : Swift_IoException::__construct() Create a new IoException with $message.

    + +
    Create a new Pop3Exception with $message.
    +

    Parameters

    +
      +
    • string $message:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Exception (Internal Class)

    +

    + $code - +

    +

    + $file - +

    +

    + $line - +

    +

    + $message - +

    +

    + $previous - +

    +

    + $string - +

    +

    + $trace - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_IoException

    +

    + Swift_IoException::__construct() - Create a new IoException with $message. +

    + +
    + +

    Inherited From Class Swift_SwiftException

    +

    + Swift_SwiftException::__construct() - Create a new SwiftException with $message. +

    + +
    + +

    Inherited From Class Exception (Internal Class)

    +

    + constructor __construct ( [$message = ], [$code = ], [$previous = ] ) - +

    + +

    + getCode ( ) - +

    + +

    + getFile ( ) - +

    + +

    + getLine ( ) - +

    + +

    + getMessage ( ) - +

    + +

    + getPrevious ( ) - +

    + +

    + getTrace ( ) - +

    + +

    + getTraceAsString ( ) - +

    + +

    + __clone ( ) - +

    + +

    + __toString ( ) - +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_SendmailTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_SendmailTransport.html new file mode 100644 index 0000000..8c260f8 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_SendmailTransport.html @@ -0,0 +1,361 @@ + + + + + Docs For Class Swift_SendmailTransport + + + + + + + + +

    + Class Swift_SendmailTransport +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Transport_AbstractSmtpTransport
    +   |
    +   --Swift_Transport_SendmailTransport
    +      |
    +      --Swift_SendmailTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/SendmailTransport.php
    +

    + +
    SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_SendmailTransport + newInstance + ([string $command = '/usr/sbin/sendmail -bs']) +
    +
    + Swift_SendmailTransport + __construct + ([string $command = '/usr/sbin/sendmail -bs']) +
    +
    +
    + + + + +

    + Static Method newInstance (line 43) +

    +

    Swift_SendmailTransport newInstance( +[string +$command = '/usr/sbin/sendmail -bs'])

    + + +
    Create a new SendmailTransport instance.
    +

    Parameters

    +
      +
    • string $command:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 27) +

    +

    Swift_SendmailTransport __construct( +[string +$command = '/usr/sbin/sendmail -bs'])

    + +

    Overrides : Swift_Transport_SendmailTransport::__construct() Create a new SendmailTransport with $buf for I/O.

    + +
    Create a new SendmailTransport, optionally using $command for sending.
    +

    Parameters

    +
      +
    • string $command:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::$_buffer - Input-Output buffer for sending/receiving SMTP commands and responses +

    +

    + Swift_Transport_AbstractSmtpTransport::$_domain - The domain name to use in HELO command +

    +

    + Swift_Transport_AbstractSmtpTransport::$_eventDispatcher - The event dispatching layer +

    +

    + Swift_Transport_AbstractSmtpTransport::$_started - Connection status +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_SendmailTransport

    +

    + Swift_Transport_SendmailTransport::__construct() - Create a new SendmailTransport with $buf for I/O. +

    + +

    + Swift_Transport_SendmailTransport::getCommand() - Get the sendmail command which will be invoked. +

    + +

    + Swift_Transport_SendmailTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_SendmailTransport::setCommand() - Set the command to invoke. +

    + +

    + Swift_Transport_SendmailTransport::start() - Start the standalone SMTP session if running in -bs mode. +

    + +

    + Swift_Transport_SendmailTransport::_getBufferParams() - Get the params to initialize the buffer +

    + +
    + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::__construct() - Creates a new EsmtpTransport using the given I/O buffer. +

    + +

    + Swift_Transport_AbstractSmtpTransport::executeCommand() - Run a command against the buffer, expecting the given response codes. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getBuffer() - Get the IoBuffer where read/writes are occurring. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getLocalDomain() - Get the name of the domain Swift will identify as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::isStarted() - Test if an SMTP connection has been established. +

    + +

    + Swift_Transport_AbstractSmtpTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_AbstractSmtpTransport::reset() - Reset the current mail transaction. +

    + +

    + Swift_Transport_AbstractSmtpTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_AbstractSmtpTransport::setLocalDomain() - Set the name of the local domain which Swift will identify itself as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::start() - Start the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::stop() - Stop the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::_assertResponseCode() - Throws an Exception if a response code is incorrect +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doDataCommand() - Send the DATA command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doHeloCommand() - Send the HELO welcome +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doMailFromCommand() - Send the MAIL FROM command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doRcptToCommand() - Send the RCPT TO command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getBufferParams() - Return an array of params for the Buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getFullResponse() - Get an entire multi-line response using its sequence number +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getReversePath() - Determine the best-use reverse path for this message +

    + +

    + Swift_Transport_AbstractSmtpTransport::_readGreeting() - Read the opening SMTP greeting +

    + +

    + Swift_Transport_AbstractSmtpTransport::_streamMessage() - Stream the contents of the message over the buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_throwException() - Throw a TransportException, first sending it to any listeners +

    + +

    + Swift_Transport_AbstractSmtpTransport::__destruct() - Destructor. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_SmtpTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_SmtpTransport.html new file mode 100644 index 0000000..e10e1b3 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_SmtpTransport.html @@ -0,0 +1,413 @@ + + + + + Docs For Class Swift_SmtpTransport + + + + + + + + +

    + Class Swift_SmtpTransport +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Transport_AbstractSmtpTransport
    +   |
    +   --Swift_Transport_EsmtpTransport
    +      |
    +      --Swift_SmtpTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/SmtpTransport.php
    +

    + +
    Sends Messages over SMTP with ESMTP support.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static Swift_SmtpTransport + newInstance + ([string $host = 'localhost'], [int $port = 25], [int $security = null]) +
    +
    + Swift_SmtpTransport + __construct + ([string $host = 'localhost'], [int $port = 25], [int $security = null]) +
    +
    +
    + + + + +

    + Static Method newInstance (line 50) +

    +

    Swift_SmtpTransport newInstance( +[string +$host = 'localhost'], [int +$port = 25], [int +$security = null])

    + + +
    Create a new SmtpTransport instance.
    +

    Parameters

    +
      +
    • string $host:
    • +
    • int $port:
    • +
    • int $security:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Constructor __construct (line 29) +

    +

    Swift_SmtpTransport __construct( +[string +$host = 'localhost'], [int +$port = 25], [int +$security = null])

    + +

    Overrides : Swift_Transport_EsmtpTransport::__construct() Creates a new EsmtpTransport using the given I/O buffer.

    + +
    Create a new SmtpTransport, optionally with $host, $port and $security.
    +

    Parameters

    +
      +
    • string $host:
    • +
    • int $port:
    • +
    • int $security:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::$_buffer - Input-Output buffer for sending/receiving SMTP commands and responses +

    +

    + Swift_Transport_AbstractSmtpTransport::$_domain - The domain name to use in HELO command +

    +

    + Swift_Transport_AbstractSmtpTransport::$_eventDispatcher - The event dispatching layer +

    +

    + Swift_Transport_AbstractSmtpTransport::$_started - Connection status +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_EsmtpTransport

    +

    + Swift_Transport_EsmtpTransport::__construct() - Creates a new EsmtpTransport using the given I/O buffer. +

    + +

    + Swift_Transport_EsmtpTransport::executeCommand() - Run a command against the buffer, expecting the given response codes. +

    + +

    + Swift_Transport_EsmtpTransport::getEncryption() - Get the encryption type. +

    + +

    + Swift_Transport_EsmtpTransport::getExtensionHandlers() - Get ESMTP extension handlers. +

    + +

    + Swift_Transport_EsmtpTransport::getHost() - Get the host to connect to. +

    + +

    + Swift_Transport_EsmtpTransport::getPort() - Get the port to connect to. +

    + +

    + Swift_Transport_EsmtpTransport::getTimeout() - Get the connection timeout. +

    + +

    + Swift_Transport_EsmtpTransport::setEncryption() - Set the encryption type (tls or ssl) +

    + +

    + Swift_Transport_EsmtpTransport::setExtensionHandlers() - Set ESMTP extension handlers. +

    + +

    + Swift_Transport_EsmtpTransport::setHost() - Set the host to connect to. +

    + +

    + Swift_Transport_EsmtpTransport::setPort() - Set the port to connect to. +

    + +

    + Swift_Transport_EsmtpTransport::setTimeout() - Set the connection timeout. +

    + +

    + Swift_Transport_EsmtpTransport::_doHeloCommand() - Overridden to perform EHLO instead +

    + +

    + Swift_Transport_EsmtpTransport::_doMailFromCommand() - Overridden to add Extension support +

    + +

    + Swift_Transport_EsmtpTransport::_doRcptToCommand() - Overridden to add Extension support +

    + +

    + Swift_Transport_EsmtpTransport::_getBufferParams() - Get the params to initialize the buffer +

    + +

    + Swift_Transport_EsmtpTransport::__call() - Mixin handling method for ESMTP handlers +

    + +
    + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::__construct() - Creates a new EsmtpTransport using the given I/O buffer. +

    + +

    + Swift_Transport_AbstractSmtpTransport::executeCommand() - Run a command against the buffer, expecting the given response codes. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getBuffer() - Get the IoBuffer where read/writes are occurring. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getLocalDomain() - Get the name of the domain Swift will identify as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::isStarted() - Test if an SMTP connection has been established. +

    + +

    + Swift_Transport_AbstractSmtpTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_AbstractSmtpTransport::reset() - Reset the current mail transaction. +

    + +

    + Swift_Transport_AbstractSmtpTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_AbstractSmtpTransport::setLocalDomain() - Set the name of the local domain which Swift will identify itself as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::start() - Start the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::stop() - Stop the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::_assertResponseCode() - Throws an Exception if a response code is incorrect +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doDataCommand() - Send the DATA command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doHeloCommand() - Send the HELO welcome +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doMailFromCommand() - Send the MAIL FROM command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doRcptToCommand() - Send the RCPT TO command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getBufferParams() - Return an array of params for the Buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getFullResponse() - Get an entire multi-line response using its sequence number +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getReversePath() - Determine the best-use reverse path for this message +

    + +

    + Swift_Transport_AbstractSmtpTransport::_readGreeting() - Read the opening SMTP greeting +

    + +

    + Swift_Transport_AbstractSmtpTransport::_streamMessage() - Stream the contents of the message over the buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_throwException() - Throw a TransportException, first sending it to any listeners +

    + +

    + Swift_Transport_AbstractSmtpTransport::__destruct() - Destructor. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport.html new file mode 100644 index 0000000..dda6642 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport.html @@ -0,0 +1,283 @@ + + + + + Docs For Class Swift_Transport + + + + + + + + +

    + Interface Swift_Transport +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport.php
    +

    + +
    Sends Messages via an abstract Transport subsystem.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + isStarted + () +
    +
    + void + registerPlugin + (Swift_Events_EventListener $plugin) +
    +
    + int + send + (Swift_Mime_Message $message, [string[] &$failedRecipients = null]) +
    +
    + void + start + () +
    +
    + void + stop + () +
    +
    +
    + + + + +

    + Method isStarted (line 29) +

    +

    boolean isStarted( +)

    + + +
    Test if this Transport mechanism has started.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method registerPlugin (line 58) +

    +

    void registerPlugin( +Swift_Events_EventListener +$plugin)

    + + +
    Register a plugin in the Transport.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 51) +

    +

    int send( +Swift_Mime_Message +$message, [string[] +&$failedRecipients = null])

    + + +
    Send the given Message.
    +

    Recipient/sender data will be retreived from the Message API. The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string[] &$failedRecipients: to collect failures by-reference
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method start (line 34) +

    +

    void start( +)

    + + +
    Start this Transport mechanism.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method stop (line 39) +

    +

    void stop( +)

    + + +
    Stop this Transport mechanism.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_TransportException.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_TransportException.html new file mode 100644 index 0000000..5d540fc --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_TransportException.html @@ -0,0 +1,282 @@ + + + + + Docs For Class Swift_TransportException + + + + + + + + +

    + Class Swift_TransportException +

    (line 19) +
    + + +
    +

    Description

    +
    +Exception
    +   |
    +   --Swift_SwiftException
    +      |
    +      --Swift_IoException
    +         |
    +         --Swift_TransportException
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/TransportException.php
    +

    + +
    TransportException thrown when an error occurs in the Transport subsystem.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_TransportException + __construct + (string $message) +
    +
    +
    + + + + +

    + Constructor __construct (line 26) +

    +

    Swift_TransportException __construct( +string +$message)

    + +

    Overrides : Swift_IoException::__construct() Create a new IoException with $message.

    + +
    Create a new TransportException with $message.
    +

    Parameters

    +
      +
    • string $message:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Exception (Internal Class)

    +

    + $code - +

    +

    + $file - +

    +

    + $line - +

    +

    + $message - +

    +

    + $previous - +

    +

    + $string - +

    +

    + $trace - +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_IoException

    +

    + Swift_IoException::__construct() - Create a new IoException with $message. +

    + +
    + +

    Inherited From Class Swift_SwiftException

    +

    + Swift_SwiftException::__construct() - Create a new SwiftException with $message. +

    + +
    + +

    Inherited From Class Exception (Internal Class)

    +

    + constructor __construct ( [$message = ], [$code = ], [$previous = ] ) - +

    + +

    + getCode ( ) - +

    + +

    + getFile ( ) - +

    + +

    + getLine ( ) - +

    + +

    + getMessage ( ) - +

    + +

    + getPrevious ( ) - +

    + +

    + getTrace ( ) - +

    + +

    + getTraceAsString ( ) - +

    + +

    + __clone ( ) - +

    + +

    + __toString ( ) - +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_AbstractSmtpTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_AbstractSmtpTransport.html new file mode 100644 index 0000000..97458e5 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_AbstractSmtpTransport.html @@ -0,0 +1,873 @@ + + + + + Docs For Class Swift_Transport_AbstractSmtpTransport + + + + + + + + +

    + Class Swift_Transport_AbstractSmtpTransport +

    (line 26) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/AbstractSmtpTransport.php
    +

    + +
    Sends Messages over SMTP.
    +
      +
    • author: - Chris Corbyn
    • +
    • abstract: -
    • +
    +

    +Classes extended from Swift_Transport_AbstractSmtpTransport: +
    +
    Swift_Transport_EsmtpTransport
    +
    Sends Messages over SMTP with ESMTP support.
    +
    +
    +
    Swift_Transport_SendmailTransport
    +
    SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + mixed + $_buffer +
    +
    + mixed + $_domain +
    +
    + mixed + $_eventDispatcher +
    +
    + mixed + $_started +
    +
    + +
    +

    + $_buffer (line 31) +

    +

    Data type : mixed

    + +
    Input-Output buffer for sending/receiving SMTP commands and responses
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + $_domain = '[127.0.0.1]' (line 37) +

    +

    Data type : mixed

    + +
    The domain name to use in HELO command
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + $_eventDispatcher (line 40) +

    +

    Data type : mixed

    + +
    The event dispatching layer
    +
      +
    • access: - protected
    • +
    +
    + +
    +

    + $_started = false (line 34) +

    +

    Data type : mixed

    + +
    Connection status
    +
      +
    • access: - protected
    • +
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_AbstractSmtpTransport + __construct + (Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher) +
    +
    + void + __destruct + () +
    +
    + string + executeCommand + (string $command, [int[] $codes = array()], [string[] &$failures = null]) +
    + +
    + string + getLocalDomain + () +
    +
    + boolean + isStarted + () +
    +
    + void + registerPlugin + (Swift_Events_EventListener $plugin) +
    +
    + void + reset + () +
    +
    + int + send + (Swift_Mime_Message $message, [string[] &$failedRecipients = null]) +
    +
    + void + setLocalDomain + (string $domain) +
    +
    + void + start + () +
    +
    + void + stop + () +
    +
    + void + _assertResponseCode + ( $response,  $wanted) +
    +
    + void + _doDataCommand + () +
    +
    + void + _doHeloCommand + () +
    +
    + void + _doMailFromCommand + ( $address) +
    +
    + void + _doRcptToCommand + ( $address) +
    +
    + void + _getBufferParams + () +
    +
    + void + _getFullResponse + ( $seq) +
    +
    + void + _getReversePath + (Swift_Mime_Message $message) +
    +
    + void + _readGreeting + () +
    +
    + void + _streamMessage + (Swift_Mime_Message $message) +
    + +
    +
    + + + + +

    + Constructor __construct (line 51) +

    +

    Swift_Transport_AbstractSmtpTransport __construct( +Swift_Transport_IoBuffer +$buf, Swift_Events_EventDispatcher +$dispatcher)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_EsmtpTransport::__construct()
    +
    Creates a new EsmtpTransport using the given I/O buffer.
    +
    +
    +
    Swift_SmtpTransport::__construct()
    +
    Create a new SmtpTransport, optionally with $host, $port and $security.
    +
    +
    +
    Swift_Transport_SendmailTransport::__construct()
    +
    Create a new SendmailTransport with $buf for I/O.
    +
    +
    +
    Swift_SendmailTransport::__construct()
    +
    Create a new SendmailTransport, optionally using $command for sending.
    +
    +

    + + +
    Creates a new EsmtpTransport using the given I/O buffer.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Destructor __destruct (line 538) +

    +

    void __destruct( +)

    + + +
    Destructor.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method executeCommand (line 281) +

    +

    string executeCommand( +string +$command, [int[] +$codes = array()], [string[] +&$failures = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_EsmtpTransport::executeCommand()
    +
    Run a command against the buffer, expecting the given response codes.
    +
    +

    + + +
    Run a command against the buffer, expecting the given response codes.
    +

    If no response codes are given, the response will not be validated. If codes are given, an exception will be thrown on an invalid response.

    +

    Parameters

    +
      +
    • string $command:
    • +
    • int[] $codes:
    • +
    • string[] &$failures:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBuffer (line 265) +

    +

    Swift_Transport_IoBuffer getBuffer( +)

    + + +
    Get the IoBuffer where read/writes are occurring.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getLocalDomain (line 78) +

    +

    string getLocalDomain( +)

    + + +
    Get the name of the domain Swift will identify as.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method isStarted (line 124) +

    +

    boolean isStarted( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::isStarted()
    +
    Test if this Transport mechanism has started.
    +
    + +
    Test if an SMTP connection has been established.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method registerPlugin (line 247) +

    +

    void registerPlugin( +Swift_Events_EventListener +$plugin)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::registerPlugin()
    +
    Register a plugin in the Transport.
    +
    + +
    Register a plugin.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method reset (line 255) +

    +

    void reset( +)

    + + +
    Reset the current mail transaction.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 139) +

    +

    int send( +Swift_Mime_Message +$message, [string[] +&$failedRecipients = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_SendmailTransport::send()
    +
    Send the given Message.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::send()
    +
    Send the given Message.
    +
    + +
    Send the given Message.
    +

    Recipient/sender data will be retreived from the Message API. The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string[] &$failedRecipients: to collect failures by-reference
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setLocalDomain (line 67) +

    +

    void setLocalDomain( +string +$domain)

    + + +
    Set the name of the local domain which Swift will identify itself as.
    +

    This should be a fully-qualified domain name and should be truly the domain you're using. If your server doesn't have a domain name, use the IP in square brackets (i.e. [127.0.0.1]).

    +

    Parameters

    +
      +
    • string $domain:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method start (line 86) +

    +

    void start( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_SendmailTransport::start()
    +
    Start the standalone SMTP session if running in -bs mode.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::start()
    +
    Start this Transport mechanism.
    +
    + +
    Start the SMTP connection.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method stop (line 206) +

    +

    void stop( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::stop()
    +
    Stop this Transport mechanism.
    +
    + +
    Stop the SMTP connection.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _assertResponseCode (line 392) +

    +

    void _assertResponseCode( + +$response, +$wanted)

    + + +
    Throws an Exception if a response code is incorrect
    +

    Parameters

    +
      +
    • $response:
    • +
    • $wanted:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _doDataCommand (line 327) +

    +

    void _doDataCommand( +)

    + + +
    Send the DATA command
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _doHeloCommand (line 303) +

    +

    void _doHeloCommand( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_EsmtpTransport::_doHeloCommand()
    +
    Overridden to perform EHLO instead
    +
    +

    + + +
    Send the HELO welcome
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _doMailFromCommand (line 311) +

    +

    void _doMailFromCommand( + +$address)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_EsmtpTransport::_doMailFromCommand()
    +
    Overridden to add Extension support
    +
    +

    + + +
    Send the MAIL FROM command
    +

    Parameters

    +
      +
    • $address:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _doRcptToCommand (line 319) +

    +

    void _doRcptToCommand( + +$address)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_EsmtpTransport::_doRcptToCommand()
    +
    Overridden to add Extension support
    +
    +

    + + +
    Send the RCPT TO command
    +

    Parameters

    +
      +
    • $address:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _getBufferParams (line 43) +

    +

    void _getBufferParams( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_EsmtpTransport::_getBufferParams()
    +
    Get the params to initialize the buffer
    +
    +
    +
    Swift_Transport_SendmailTransport::_getBufferParams()
    +
    Get the params to initialize the buffer
    +
    +

    + + +
    Return an array of params for the Buffer
    + +

    Info

    +
      +
    • abstract -
    • +
    • access - protected
    • +
    +
    + +

    + Method _getFullResponse (line 415) +

    +

    void _getFullResponse( + +$seq)

    + + +
    Get an entire multi-line response using its sequence number
    +

    Parameters

    +
      +
    • $seq:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _getReversePath (line 350) +

    +

    void _getReversePath( +Swift_Mime_Message +$message)

    + + +
    Determine the best-use reverse path for this message
    +

    Parameters

    + + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _readGreeting (line 297) +

    +

    void _readGreeting( +)

    + + +
    Read the opening SMTP greeting
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _streamMessage (line 333) +

    +

    void _streamMessage( +Swift_Mime_Message +$message)

    + + +
    Stream the contents of the message over the buffer
    +

    Parameters

    + + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _throwException (line 375) +

    +

    void _throwException( +Swift_TransportException +$e)

    + + +
    Throw a TransportException, first sending it to any listeners
    +

    Parameters

    + + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:10 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_EsmtpHandler.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_EsmtpHandler.html new file mode 100644 index 0000000..11783dd --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_EsmtpHandler.html @@ -0,0 +1,379 @@ + + + + + Docs For Class Swift_Transport_EsmtpHandler + + + + + + + + +

    + Interface Swift_Transport_EsmtpHandler +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/EsmtpHandler.php
    +

    + +
    An ESMTP handler.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + afterEhlo + (Swift_Transport_SmtpAgent $agent) +
    +
    + string[] + exposeMixinMethods + () +
    +
    + boolean + getHandledKeyword + () +
    +
    + string[] + getMailParams + () +
    +
    + int + getPriorityOver + (string $esmtpKeyword) +
    +
    + string[] + getRcptParams + () +
    +
    + void + onCommand + (Swift_Transport_SmtpAgent $agent, string $command, [int[] $codes = array()], [string[] &$failedRecipients = null], [boolean &$stop = false]) +
    +
    + void + resetState + () +
    +
    + void + setKeywordParams + ( $parameters) +
    +
    +
    + + + + +

    + Method afterEhlo (line 38) +

    +

    void afterEhlo( +Swift_Transport_SmtpAgent +$agent)

    + + +
    Runs immediately after a EHLO has been issued.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method exposeMixinMethods (line 75) +

    +

    string[] exposeMixinMethods( +)

    + + +
    Returns an array of method names which are exposed to the Esmtp class.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getHandledKeyword (line 26) +

    +

    boolean getHandledKeyword( +)

    + + +
    Get the name of the ESMTP extension this handles.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMailParams (line 44) +

    +

    string[] getMailParams( +)

    + + +
    Get params which are appended to MAIL FROM:<>.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getPriorityOver (line 69) +

    +

    int getPriorityOver( +string +$esmtpKeyword)

    + + +
    Returns +1, -1 or 0 according to the rules for usort().
    +

    This method is called to ensure extensions can be execute in an appropriate order.

    +

    Parameters

    +
      +
    • string $esmtpKeyword: to compare with
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getRcptParams (line 50) +

    +

    string[] getRcptParams( +)

    + + +
    Get params which are appended to RCPT TO:<>.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method onCommand (line 60) +

    +

    void onCommand( +Swift_Transport_SmtpAgent +$agent, string +$command, [int[] +$codes = array()], [string[] +&$failedRecipients = null], [boolean +&$stop = false])

    + + +
    Runs when a command is due to be sent.
    +

    Parameters

    +
      +
    • Swift_Transport_SmtpAgent $agent: to read/write
    • +
    • string $command: to send
    • +
    • int[] $codes: expected in response
    • +
    • string[] &$failedRecipients:
    • +
    • boolean &$stop: to be set true if the command is now sent
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method resetState (line 80) +

    +

    void resetState( +)

    + + +
    Tells this handler to clear any buffers and reset its state.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setKeywordParams (line 32) +

    +

    void setKeywordParams( + +$parameters)

    + + +
    Set the parameters which the EHLO greeting indicated.
    +

    Parameters

    +
      +
    • string[] $parameters:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_EsmtpTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_EsmtpTransport.html new file mode 100644 index 0000000..40cdfed --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_EsmtpTransport.html @@ -0,0 +1,708 @@ + + + + + Docs For Class Swift_Transport_EsmtpTransport + + + + + + + + +

    + Class Swift_Transport_EsmtpTransport +

    (line 25) +
    + + +
    +

    Description

    +
    +Swift_Transport_AbstractSmtpTransport
    +   |
    +   --Swift_Transport_EsmtpTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/EsmtpTransport.php
    +

    + +
    Sends Messages over SMTP with ESMTP support.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Transport_EsmtpTransport: +
    +
    Swift_SmtpTransport
    +
    Sends Messages over SMTP with ESMTP support.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_EsmtpTransport + __construct + (Swift_Transport_IoBuffer $buf,  $extensionHandlers, Swift_Events_EventDispatcher $dispatcher) +
    +
    + string + executeCommand + (string $command, [int[] $codes = array()], [string[] &$failures = null]) +
    +
    + string + getEncryption + () +
    +
    + Swift_Transport_EsmtpHandler[] + getExtensionHandlers + () +
    +
    + string + getHost + () +
    +
    + int + getPort + () +
    +
    + int + getTimeout + () +
    +
    + void + setEncryption + ( $enc, string $encryption) +
    +
    + void + setExtensionHandlers + ( $handlers) +
    +
    + void + setHost + (string $host) +
    +
    + void + setPort + (int $port) +
    +
    + void + setTimeout + (int $timeout) +
    +
    + void + _doHeloCommand + () +
    +
    + void + _doMailFromCommand + ( $address) +
    +
    + void + _doRcptToCommand + ( $address) +
    +
    + void + _getBufferParams + () +
    +
    + void + __call + ( $method,  $args) +
    +
    +
    + + + + +

    + Constructor __construct (line 64) +

    +

    Swift_Transport_EsmtpTransport __construct( +Swift_Transport_IoBuffer +$buf, +$extensionHandlers, Swift_Events_EventDispatcher +$dispatcher)

    +

    Overridden in child classes as:
    +

    +
    Swift_SmtpTransport::__construct()
    +
    Create a new SmtpTransport, optionally with $host, $port and $security.
    +
    +

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::__construct() Creates a new EsmtpTransport using the given I/O buffer.

    + +
    Creates a new EsmtpTransport using the given I/O buffer.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method executeCommand (line 182) +

    +

    string executeCommand( +string +$command, [int[] +$codes = array()], [string[] +&$failures = null])

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::executeCommand() Run a command against the buffer, expecting the given response codes.

    +
    +
    Implementation of:
    +
    +
    Swift_Transport_SmtpAgent::executeCommand()
    +
    Run a command against the buffer, expecting the given response codes.
    +
    + +
    Run a command against the buffer, expecting the given response codes.
    +

    If no response codes are given, the response will not be validated. If codes are given, an exception will be thrown on an invalid response.

    +

    Parameters

    +
      +
    • string $command:
    • +
    • int[] $codes:
    • +
    • string[] &$failures:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getEncryption (line 142) +

    +

    string getEncryption( +)

    + + +
    Get the encryption type.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getExtensionHandlers (line 168) +

    +

    Swift_Transport_EsmtpHandler[] getExtensionHandlers( +)

    + + +
    Get ESMTP extension handlers.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getHost (line 85) +

    +

    string getHost( +)

    + + +
    Get the host to connect to.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getPort (line 104) +

    +

    int getPort( +)

    + + +
    Get the port to connect to.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTimeout (line 123) +

    +

    int getTimeout( +)

    + + +
    Get the connection timeout.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setEncryption (line 132) +

    +

    void setEncryption( + +$enc, string +$encryption)

    + + +
    Set the encryption type (tls or ssl)
    +

    Parameters

    +
      +
    • string $encryption:
    • +
    • $enc:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setExtensionHandlers (line 151) +

    +

    void setExtensionHandlers( + +$handlers)

    + + +
    Set ESMTP extension handlers.
    +

    Parameters

    +
      +
    • Swift_Transport_EsmtpHandler[] $handlers:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setHost (line 75) +

    +

    void setHost( +string +$host)

    + + +
    Set the host to connect to.
    +

    Parameters

    +
      +
    • string $host:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setPort (line 94) +

    +

    void setPort( +int +$port)

    + + +
    Set the port to connect to.
    +

    Parameters

    +
      +
    • int $port:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setTimeout (line 113) +

    +

    void setTimeout( +int +$timeout)

    + + +
    Set the connection timeout.
    +

    Parameters

    +
      +
    • int $timeout: seconds
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _doHeloCommand (line 235) +

    +

    void _doHeloCommand( +)

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::_doHeloCommand() Send the HELO welcome

    + +
    Overridden to perform EHLO instead
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _doMailFromCommand (line 256) +

    +

    void _doMailFromCommand( + +$address)

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::_doMailFromCommand() Send the MAIL FROM command

    + +
    Overridden to add Extension support
    +

    Parameters

    +
      +
    • $address:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _doRcptToCommand (line 271) +

    +

    void _doRcptToCommand( + +$address)

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::_doRcptToCommand() Send the RCPT TO command

    + +
    Overridden to add Extension support
    +

    Parameters

    +
      +
    • $address:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _getBufferParams (line 229) +

    +

    void _getBufferParams( +)

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::_getBufferParams() Return an array of params for the Buffer

    + +
    Get the params to initialize the buffer
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method __call (line 203) +

    +

    void __call( + +$method, +$args)

    + + +
    Mixin handling method for ESMTP handlers
    +

    Parameters

    +
      +
    • $method:
    • +
    • $args:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::$_buffer - Input-Output buffer for sending/receiving SMTP commands and responses +

    +

    + Swift_Transport_AbstractSmtpTransport::$_domain - The domain name to use in HELO command +

    +

    + Swift_Transport_AbstractSmtpTransport::$_eventDispatcher - The event dispatching layer +

    +

    + Swift_Transport_AbstractSmtpTransport::$_started - Connection status +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::__construct() - Creates a new EsmtpTransport using the given I/O buffer. +

    + +

    + Swift_Transport_AbstractSmtpTransport::executeCommand() - Run a command against the buffer, expecting the given response codes. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getBuffer() - Get the IoBuffer where read/writes are occurring. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getLocalDomain() - Get the name of the domain Swift will identify as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::isStarted() - Test if an SMTP connection has been established. +

    + +

    + Swift_Transport_AbstractSmtpTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_AbstractSmtpTransport::reset() - Reset the current mail transaction. +

    + +

    + Swift_Transport_AbstractSmtpTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_AbstractSmtpTransport::setLocalDomain() - Set the name of the local domain which Swift will identify itself as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::start() - Start the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::stop() - Stop the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::_assertResponseCode() - Throws an Exception if a response code is incorrect +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doDataCommand() - Send the DATA command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doHeloCommand() - Send the HELO welcome +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doMailFromCommand() - Send the MAIL FROM command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doRcptToCommand() - Send the RCPT TO command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getBufferParams() - Return an array of params for the Buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getFullResponse() - Get an entire multi-line response using its sequence number +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getReversePath() - Determine the best-use reverse path for this message +

    + +

    + Swift_Transport_AbstractSmtpTransport::_readGreeting() - Read the opening SMTP greeting +

    + +

    + Swift_Transport_AbstractSmtpTransport::_streamMessage() - Stream the contents of the message over the buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_throwException() - Throw a TransportException, first sending it to any listeners +

    + +

    + Swift_Transport_AbstractSmtpTransport::__destruct() - Destructor. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_AuthHandler.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_AuthHandler.html new file mode 100644 index 0000000..40961c2 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_AuthHandler.html @@ -0,0 +1,663 @@ + + + + + Docs For Class Swift_Transport_Esmtp_AuthHandler + + + + + + + + +

    + Class Swift_Transport_Esmtp_AuthHandler +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/AuthHandler.php
    +

    + +
    An ESMTP handler for AUTH support.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_Esmtp_AuthHandler + __construct + ( $authenticators) +
    +
    + void + afterEhlo + (Swift_Transport_SmtpAgent $agent) +
    +
    + string[] + exposeMixinMethods + () +
    +
    + Swift_Transport_Esmtp_Authenticator[] + getAuthenticators + () +
    +
    + string + getAuthMode + () +
    +
    + boolean + getHandledKeyword + () +
    +
    + void + getMailParams + () +
    +
    + string + getPassword + () +
    +
    + int + getPriorityOver + (string $esmtpKeyword) +
    +
    + void + getRcptParams + () +
    +
    + string + getUsername + () +
    +
    + void + onCommand + (Swift_Transport_SmtpAgent $agent,  $command, [ $codes = array()], [ &$failedRecipients = null], [ &$stop = false]) +
    +
    + void + resetState + () +
    +
    + void + setAuthenticators + ( $authenticators) +
    +
    + void + setAuthMode + (string $mode) +
    +
    + void + setKeywordParams + ( $parameters) +
    +
    + void + setPassword + (string $password) +
    +
    + void + setUsername + (string $username) +
    + +
    +
    + + + + +

    + Constructor __construct (line 63) +

    +

    Swift_Transport_Esmtp_AuthHandler __construct( + +$authenticators)

    + + +
    Create a new AuthHandler with $authenticators for support.
    +

    Parameters

    +
      +
    • Swift_Transport_Esmtp_Authenticator[] $authenticators:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method afterEhlo (line 162) +

    +

    void afterEhlo( +Swift_Transport_SmtpAgent +$agent)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::afterEhlo()
    +
    Runs immediately after a EHLO has been issued.
    +
    + +
    Runs immediately after a EHLO has been issued.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method exposeMixinMethods (line 225) +

    +

    string[] exposeMixinMethods( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::exposeMixinMethods()
    +
    Returns an array of method names which are exposed to the Esmtp class.
    +
    + +
    Returns an array of method names which are exposed to the Esmtp class.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAuthenticators (line 81) +

    +

    Swift_Transport_Esmtp_Authenticator[] getAuthenticators( +)

    + + +
    Get the Authenticators which can process a login request.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAuthMode (line 135) +

    +

    string getAuthMode( +)

    + + +
    Get the auth mode to use to authenticate.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getHandledKeyword (line 144) +

    +

    boolean getHandledKeyword( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::getHandledKeyword()
    +
    Get the name of the ESMTP extension this handles.
    +
    + +
    Get the name of the ESMTP extension this handles.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getMailParams (line 189) +

    +

    void getMailParams( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::getMailParams()
    +
    Get params which are appended to MAIL FROM:<>.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getPassword (line 117) +

    +

    string getPassword( +)

    + + +
    Get the password to authenticate with.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getPriorityOver (line 216) +

    +

    int getPriorityOver( +string +$esmtpKeyword)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::getPriorityOver()
    +
    Returns +1, -1 or 0 according to the rules for usort().
    +
    + +
    Returns +1, -1 or 0 according to the rules for usort().
    +

    This method is called to ensure extensions can be execute in an appropriate order.

    +

    Parameters

    +
      +
    • string $esmtpKeyword: to compare with
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getRcptParams (line 197) +

    +

    void getRcptParams( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::getRcptParams()
    +
    Get params which are appended to RCPT TO:<>.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getUsername (line 99) +

    +

    string getUsername( +)

    + + +
    Get the username to authenticate with.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method onCommand (line 205) +

    +

    void onCommand( +Swift_Transport_SmtpAgent +$agent, +$command, [ +$codes = array()], [ +&$failedRecipients = null], [ +&$stop = false])

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::onCommand()
    +
    Runs when a command is due to be sent.
    +
    + +
    Not used.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method resetState (line 233) +

    +

    void resetState( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::resetState()
    +
    Tells this handler to clear any buffers and reset its state.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setAuthenticators (line 72) +

    +

    void setAuthenticators( + +$authenticators)

    + + +
    Set the Authenticators which can process a login request.
    +

    Parameters

    +
      +
    • Swift_Transport_Esmtp_Authenticator[] $authenticators:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setAuthMode (line 126) +

    +

    void setAuthMode( +string +$mode)

    + + +
    Set the auth mode to use to authenticate.
    +

    Parameters

    +
      +
    • string $mode:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setKeywordParams (line 153) +

    +

    void setKeywordParams( + +$parameters)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_EsmtpHandler::setKeywordParams()
    +
    Set the parameters which the EHLO greeting indicated.
    +
    + +
    Set the parameters which the EHLO greeting indicated.
    +

    Parameters

    +
      +
    • string[] $parameters:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setPassword (line 108) +

    +

    void setPassword( +string +$password)

    + + +
    Set the password to authenticate with.
    +

    Parameters

    +
      +
    • string $password:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setUsername (line 90) +

    +

    void setUsername( +string +$username)

    + + +
    Set the username to authenticate with.
    +

    Parameters

    +
      +
    • string $username:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _getAuthenticatorsForAgent (line 245) +

    +

    array _getAuthenticatorsForAgent( +Swift_Transport_SmtpAgent +$agent)

    + + +
    Returns the authenticator list for the given agent.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_CramMd5Authenticator.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_CramMd5Authenticator.html new file mode 100644 index 0000000..15f5d13 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_CramMd5Authenticator.html @@ -0,0 +1,231 @@ + + + + + Docs For Class Swift_Transport_Esmtp_Auth_CramMd5Authenticator + + + + + + + + +

    + Class Swift_Transport_Esmtp_Auth_CramMd5Authenticator +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php
    +

    + +
    Handles CRAM-MD5 authentication.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + authenticate + (Swift_Transport_SmtpAgent $agent, string $username, string $password) +
    +
    + string + getAuthKeyword + () +
    +
    +
    + + + + +

    + Method authenticate (line 41) +

    +

    boolean authenticate( +Swift_Transport_SmtpAgent +$agent, string +$username, string +$password)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_Esmtp_Authenticator::authenticate()
    +
    Try to authenticate the user with $username and $password.
    +
    + +
    Try to authenticate the user with $username and $password.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAuthKeyword (line 29) +

    +

    string getAuthKeyword( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_Esmtp_Authenticator::getAuthKeyword()
    +
    Get the name of the AUTH mechanism this Authenticator handles.
    +
    + +
    Get the name of the AUTH mechanism this Authenticator handles.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_LoginAuthenticator.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_LoginAuthenticator.html new file mode 100644 index 0000000..de34145 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_LoginAuthenticator.html @@ -0,0 +1,231 @@ + + + + + Docs For Class Swift_Transport_Esmtp_Auth_LoginAuthenticator + + + + + + + + +

    + Class Swift_Transport_Esmtp_Auth_LoginAuthenticator +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php
    +

    + +
    Handles LOGIN authentication.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + authenticate + (Swift_Transport_SmtpAgent $agent, string $username, string $password) +
    +
    + string + getAuthKeyword + () +
    +
    +
    + + + + +

    + Method authenticate (line 41) +

    +

    boolean authenticate( +Swift_Transport_SmtpAgent +$agent, string +$username, string +$password)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_Esmtp_Authenticator::authenticate()
    +
    Try to authenticate the user with $username and $password.
    +
    + +
    Try to authenticate the user with $username and $password.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAuthKeyword (line 29) +

    +

    string getAuthKeyword( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_Esmtp_Authenticator::getAuthKeyword()
    +
    Get the name of the AUTH mechanism this Authenticator handles.
    +
    + +
    Get the name of the AUTH mechanism this Authenticator handles.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_PlainAuthenticator.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_PlainAuthenticator.html new file mode 100644 index 0000000..faa07cc --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Auth_PlainAuthenticator.html @@ -0,0 +1,231 @@ + + + + + Docs For Class Swift_Transport_Esmtp_Auth_PlainAuthenticator + + + + + + + + +

    + Class Swift_Transport_Esmtp_Auth_PlainAuthenticator +

    (line 21) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php
    +

    + +
    Handles PLAIN authentication.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + authenticate + (Swift_Transport_SmtpAgent $agent, string $username, string $password) +
    +
    + string + getAuthKeyword + () +
    +
    +
    + + + + +

    + Method authenticate (line 41) +

    +

    boolean authenticate( +Swift_Transport_SmtpAgent +$agent, string +$username, string +$password)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_Esmtp_Authenticator::authenticate()
    +
    Try to authenticate the user with $username and $password.
    +
    + +
    Try to authenticate the user with $username and $password.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAuthKeyword (line 29) +

    +

    string getAuthKeyword( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_Esmtp_Authenticator::getAuthKeyword()
    +
    Get the name of the AUTH mechanism this Authenticator handles.
    +
    + +
    Get the name of the AUTH mechanism this Authenticator handles.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Authenticator.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Authenticator.html new file mode 100644 index 0000000..7e2bc61 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_Esmtp_Authenticator.html @@ -0,0 +1,219 @@ + + + + + Docs For Class Swift_Transport_Esmtp_Authenticator + + + + + + + + +

    + Interface Swift_Transport_Esmtp_Authenticator +

    (line 19) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Authenticator.php
    +

    + +
    An Authentication mechanism.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + authenticate + (Swift_Transport_SmtpAgent $agent, string $username, string $password) +
    +
    + string + getAuthKeyword + () +
    +
    +
    + + + + +

    + Method authenticate (line 35) +

    +

    boolean authenticate( +Swift_Transport_SmtpAgent +$agent, string +$username, string +$password)

    + + +
    Try to authenticate the user with $username and $password.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getAuthKeyword (line 26) +

    +

    string getAuthKeyword( +)

    + + +
    Get the name of the AUTH mechanism this Authenticator handles.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_FailoverTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_FailoverTransport.html new file mode 100644 index 0000000..c9e115b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_FailoverTransport.html @@ -0,0 +1,322 @@ + + + + + Docs For Class Swift_Transport_FailoverTransport + + + + + + + + +

    + Class Swift_Transport_FailoverTransport +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_Transport_LoadBalancedTransport
    +   |
    +   --Swift_Transport_FailoverTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/FailoverTransport.php
    +

    + +
    Contains a list of redundant Transports so when one fails, the next is used.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Transport_FailoverTransport: +
    +
    Swift_FailoverTransport
    +
    Contains a list of redundant Transports so when one fails, the next is used.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_FailoverTransport + __construct + () +
    +
    + int + send + (Swift_Mime_Message $message, [string[] &$failedRecipients = null]) +
    +
    + void + _getNextTransport + () +
    +
    + void + _killCurrentTransport + () +
    +
    +
    + + + + +

    + Constructor __construct (line 34) +

    +

    Swift_Transport_FailoverTransport __construct( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_FailoverTransport::__construct()
    +
    Creates a new FailoverTransport with $transports.
    +
    +

    + +

    Overrides : Swift_Transport_LoadBalancedTransport::__construct() Creates a new LoadBalancedTransport.

    + +
    Creates a new FailoverTransport.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 47) +

    +

    int send( +Swift_Mime_Message +$message, [string[] +&$failedRecipients = null])

    + +

    Overrides : Swift_Transport_LoadBalancedTransport::send() Send the given Message.

    + +
    Send the given Message.
    +

    Recipient/sender data will be retreived from the Message API. The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string[] &$failedRecipients: to collect failures by-reference
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _getNextTransport (line 82) +

    +

    void _getNextTransport( +)

    + +

    Overrides : Swift_Transport_LoadBalancedTransport::_getNextTransport() Rotates the transport list around and returns the first instance.

    + + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _killCurrentTransport (line 91) +

    +

    void _killCurrentTransport( +)

    + +

    Overrides : Swift_Transport_LoadBalancedTransport::_killCurrentTransport() Tag the currently used (top of stack) transport as dead/useless.

    + + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Transport_LoadBalancedTransport

    +

    + Swift_Transport_LoadBalancedTransport::$_transports - The Transports which are used in rotation. +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_LoadBalancedTransport

    +

    + Swift_Transport_LoadBalancedTransport::__construct() - Creates a new LoadBalancedTransport. +

    + +

    + Swift_Transport_LoadBalancedTransport::getTransports() - Get $transports to delegate to. +

    + +

    + Swift_Transport_LoadBalancedTransport::isStarted() - Test if this Transport mechanism has started. +

    + +

    + Swift_Transport_LoadBalancedTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_LoadBalancedTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_LoadBalancedTransport::setTransports() - Set $transports to delegate to. +

    + +

    + Swift_Transport_LoadBalancedTransport::start() - Start this Transport mechanism. +

    + +

    + Swift_Transport_LoadBalancedTransport::stop() - Stop this Transport mechanism. +

    + +

    + Swift_Transport_LoadBalancedTransport::_getNextTransport() - Rotates the transport list around and returns the first instance. +

    + +

    + Swift_Transport_LoadBalancedTransport::_killCurrentTransport() - Tag the currently used (top of stack) transport as dead/useless. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_IoBuffer.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_IoBuffer.html new file mode 100644 index 0000000..b77d9a8 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_IoBuffer.html @@ -0,0 +1,345 @@ + + + + + Docs For Class Swift_Transport_IoBuffer + + + + + + + + +

    + Interface Swift_Transport_IoBuffer +

    (line 20) +
    + + +
    +

    Description

    +
    +Swift_InputByteStream
    +   |
    +   --Swift_Transport_IoBuffer
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/IoBuffer.php
    +

    + +
    Buffers input and output to a resource.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    + + +
    + +
    +

    + TYPE_PROCESS = 0x0010 (line 28) +

    + +
    A process buffer with I/O support
    +
      +
    +
    + +
    +

    + TYPE_SOCKET = 0x0001 (line 25) +

    + +
    A socket buffer over TCP
    +
      +
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + initialize + ( $params) +
    +
    + string + readLine + (int $sequence) +
    +
    + void + setParam + (string $param, mixed $value) +
    +
    + void + setWriteTranslations + ( $replacements) +
    +
    + void + terminate + () +
    +
    +
    + + + + +

    + Method initialize (line 35) +

    +

    void initialize( + +$params)

    + + +
    Perform any initialization needed, using the given $params.
    +

    Parameters will vary depending upon the type of IoBuffer used.

    +

    Parameters

    +
      +
    • array $params:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method readLine (line 63) +

    +

    string readLine( +int +$sequence)

    + + +
    Get a line of output (including any CRLF).
    +

    The $sequence number comes from any writes and may or may not be used depending upon the implementation.

    +

    Parameters

    +
      +
    • int $sequence: of last write to scan from
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setParam (line 42) +

    +

    void setParam( +string +$param, mixed +$value)

    + + +
    Set an individual param on the buffer (e.g. switching to SSL).
    +

    Parameters

    +
      +
    • string $param:
    • +
    • mixed $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setWriteTranslations (line 54) +

    +

    void setWriteTranslations( + +$replacements)

    + + +
    Set an array of string replacements which should be made on data written to the buffer. This could replace LF with CRLF for example.
    +

    Parameters

    +
      +
    • string[] $replacements:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method terminate (line 47) +

    +

    void terminate( +)

    + + +
    Perform any shutdown logic needed.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_InputByteStream

    +

    + Swift_InputByteStream::bind() - Attach $is to this stream. +

    + +

    + Swift_InputByteStream::commit() - For any bytes that are currently buffered inside the stream, force them off the buffer. +

    + +

    + Swift_InputByteStream::flushBuffers() - Flush the contents of the stream (empty it) and set the internal pointer to the beginning. +

    + +

    + Swift_InputByteStream::unbind() - Remove an already bound stream. +

    + +

    + Swift_InputByteStream::write() - Writes $bytes to the end of the stream. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_LoadBalancedTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_LoadBalancedTransport.html new file mode 100644 index 0000000..236e70d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_LoadBalancedTransport.html @@ -0,0 +1,483 @@ + + + + + Docs For Class Swift_Transport_LoadBalancedTransport + + + + + + + + +

    + Class Swift_Transport_LoadBalancedTransport +

    (line 22) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/LoadBalancedTransport.php
    +

    + +
    Redudantly and rotationally uses several Transports when sending.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Transport_LoadBalancedTransport: +
    +
    Swift_LoadBalancedTransport
    +
    Redudantly and rotationally uses several Transport implementations when sending.
    +
    +
    +
    Swift_Transport_FailoverTransport
    +
    Contains a list of redundant Transports so when one fails, the next is used.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + array + $_transports +
    +
    + +
    +

    + $_transports = array() (line 34) +

    +

    Data type : array

    + +
    The Transports which are used in rotation.
    +
      +
    • var: - Swift_Transport
    • +
    • access: - protected
    • +
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_LoadBalancedTransport + __construct + () +
    +
    + array + getTransports + ( $transports) +
    +
    + boolean + isStarted + () +
    +
    + void + registerPlugin + (Swift_Events_EventListener $plugin) +
    +
    + int + send + (Swift_Mime_Message $message, [string[] &$failedRecipients = null]) +
    +
    + void + setTransports + ( $transports) +
    +
    + void + start + () +
    +
    + void + stop + () +
    + +
    + void + _killCurrentTransport + () +
    +
    +
    + + + + +

    + Constructor __construct (line 39) +

    +

    Swift_Transport_LoadBalancedTransport __construct( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_LoadBalancedTransport::__construct()
    +
    Creates a new LoadBalancedTransport with $transports.
    +
    +
    +
    Swift_Transport_FailoverTransport::__construct()
    +
    Creates a new FailoverTransport.
    +
    +
    +
    Swift_FailoverTransport::__construct()
    +
    Creates a new FailoverTransport with $transports.
    +
    +

    + + +
    Creates a new LoadBalancedTransport.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTransports (line 59) +

    +

    array getTransports( + +$transports)

    + + +
    Get $transports to delegate to.
    +

    Parameters

    +
      +
    • array $transports:
    • +
    + +

    Info

    +
      +
    • return - Swift_Transport
    • +
    • access - public
    • +
    +
    + +

    + Method isStarted (line 69) +

    +

    boolean isStarted( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::isStarted()
    +
    Test if this Transport mechanism has started.
    +
    + +
    Test if this Transport mechanism has started.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method registerPlugin (line 143) +

    +

    void registerPlugin( +Swift_Events_EventListener +$plugin)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::registerPlugin()
    +
    Register a plugin in the Transport.
    +
    + +
    Register a plugin.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 103) +

    +

    int send( +Swift_Mime_Message +$message, [string[] +&$failedRecipients = null])

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_FailoverTransport::send()
    +
    Send the given Message.
    +
    +

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::send()
    +
    Send the given Message.
    +
    + +
    Send the given Message.
    +

    Recipient/sender data will be retreived from the Message API. The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string[] &$failedRecipients: to collect failures by-reference
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setTransports (line 48) +

    +

    void setTransports( + +$transports)

    + + +
    Set $transports to delegate to.
    +

    Parameters

    +
      +
    • array $transports: Swift_Transport
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method start (line 77) +

    +

    void start( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::start()
    +
    Start this Transport mechanism.
    +
    + +
    Start this Transport mechanism.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method stop (line 85) +

    +

    void stop( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::stop()
    +
    Stop this Transport mechanism.
    +
    + +
    Stop this Transport mechanism.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _getNextTransport (line 159) +

    +

    Swift_Transport _getNextTransport( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_FailoverTransport::_getNextTransport()
    +
    +
    +

    + + +
    Rotates the transport list around and returns the first instance.
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _killCurrentTransport (line 173) +

    +

    void _killCurrentTransport( +)

    +

    Overridden in child classes as:
    +

    +
    Swift_Transport_FailoverTransport::_killCurrentTransport()
    +
    +
    +

    + + +
    Tag the currently used (top of stack) transport as dead/useless.
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_MailInvoker.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_MailInvoker.html new file mode 100644 index 0000000..ca0cbee --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_MailInvoker.html @@ -0,0 +1,204 @@ + + + + + Docs For Class Swift_Transport_MailInvoker + + + + + + + + +

    + Interface Swift_Transport_MailInvoker +

    (line 18) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/MailInvoker.php
    +

    + +
    This interface intercepts calls to the mail() function.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + mail + (string $to, string $subject, string $body, [string $headers = null], [string $extraParams = null]) +
    +
    +
    + + + + +

    + Method mail (line 34) +

    +

    boolean mail( +string +$to, string +$subject, string +$body, [string +$headers = null], [string +$extraParams = null])

    + + +
    Send mail via the mail() function.
    +

    This method takes the same arguments as PHP mail().

    +

    Parameters

    +
      +
    • string $to:
    • +
    • string $subject:
    • +
    • string $body:
    • +
    • string $headers:
    • +
    • string $extraParams:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_MailTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_MailTransport.html new file mode 100644 index 0000000..3d1e05f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_MailTransport.html @@ -0,0 +1,402 @@ + + + + + Docs For Class Swift_Transport_MailTransport + + + + + + + + +

    + Class Swift_Transport_MailTransport +

    (line 31) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/MailTransport.php
    +

    + +
    Sends Messages using the mail() function.
    +

    It is advised that users do not use this transport if at all possible since a number of plugin features cannot be used in conjunction with this transport due to the internal interface in PHP itself.

    The level of error reporting with this transport is incredibly weak, again due to limitations of PHP's internal mail() function. You'll get an all-or-nothing result from sending.

    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Transport_MailTransport: +
    +
    Swift_MailTransport
    +
    Sends Messages using the mail() function.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_MailTransport + __construct + (Swift_Transport_MailInvoker $invoker, Swift_Events_EventDispatcher $eventDispatcher, Swift_Transport_Log $log) +
    +
    + string + getExtraParams + () +
    +
    + void + isStarted + () +
    +
    + void + registerPlugin + (Swift_Events_EventListener $plugin) +
    +
    + int + send + (Swift_Mime_Message $message, [string[] &$failedRecipients = null]) +
    +
    + void + setExtraParams + (string $params) +
    +
    + void + start + () +
    +
    + void + stop + () +
    +
    +
    + + + + +

    + Constructor __construct (line 47) +

    +

    Swift_Transport_MailTransport __construct( +Swift_Transport_MailInvoker +$invoker, Swift_Events_EventDispatcher +$eventDispatcher, Swift_Transport_Log +$log)

    +

    Overridden in child classes as:
    +

    +
    Swift_MailTransport::__construct()
    +
    Create a new MailTransport, optionally specifying $extraParams.
    +
    +

    + + +
    Create a new MailTransport with the $log.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getExtraParams (line 96) +

    +

    string getExtraParams( +)

    + + +
    Get the additional parameters used on the mail() function.
    +

    This string is formatted for sprintf() where %s is the sender address.

    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method isStarted (line 57) +

    +

    void isStarted( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::isStarted()
    +
    Test if this Transport mechanism has started.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method registerPlugin (line 211) +

    +

    void registerPlugin( +Swift_Events_EventListener +$plugin)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::registerPlugin()
    +
    Register a plugin in the Transport.
    +
    + +
    Register a plugin.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 111) +

    +

    int send( +Swift_Mime_Message +$message, [string[] +&$failedRecipients = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::send()
    +
    Send the given Message.
    +
    + +
    Send the given Message.
    +

    Recipient/sender data will be retreived from the Message API. The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string[] &$failedRecipients: to collect failures by-reference
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setExtraParams (line 83) +

    +

    void setExtraParams( +string +$params)

    + + +
    Set the additional parameters used on the mail() function.
    +

    This string is formatted for sprintf() where %s is the sender address.

    +

    Parameters

    +
      +
    • string $params:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method start (line 65) +

    +

    void start( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::start()
    +
    Start this Transport mechanism.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method stop (line 72) +

    +

    void stop( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport::stop()
    +
    Stop this Transport mechanism.
    +
    + +
    Not used.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SendmailTransport.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SendmailTransport.html new file mode 100644 index 0000000..48bce57 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SendmailTransport.html @@ -0,0 +1,439 @@ + + + + + Docs For Class Swift_Transport_SendmailTransport + + + + + + + + +

    + Class Swift_Transport_SendmailTransport +

    (line 27) +
    + + +
    +

    Description

    +
    +Swift_Transport_AbstractSmtpTransport
    +   |
    +   --Swift_Transport_SendmailTransport
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/SendmailTransport.php
    +

    + +
    SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
    +

    Supported modes are -bs and -t, with any additional flags desired. It is advised to use -bs mode since error reporting with -t mode is not possible.

    +
      +
    • author: - Chris Corbyn
    • +
    +

    +Classes extended from Swift_Transport_SendmailTransport: +
    +
    Swift_SendmailTransport
    +
    SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
    +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_SendmailTransport + __construct + (Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher) +
    +
    + string + getCommand + () +
    +
    + int + send + (Swift_Mime_Message $message, [string[] &$failedRecipients = null]) +
    +
    + void + setCommand + (string $command) +
    +
    + void + start + () +
    +
    + void + _getBufferParams + () +
    +
    +
    + + + + +

    + Constructor __construct (line 48) +

    +

    Swift_Transport_SendmailTransport __construct( +Swift_Transport_IoBuffer +$buf, Swift_Events_EventDispatcher +$dispatcher)

    +

    Overridden in child classes as:
    +

    +
    Swift_SendmailTransport::__construct()
    +
    Create a new SendmailTransport, optionally using $command for sending.
    +
    +

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::__construct() Creates a new EsmtpTransport using the given I/O buffer.

    + +
    Create a new SendmailTransport with $buf for I/O.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getCommand (line 84) +

    +

    string getCommand( +)

    + + +
    Get the sendmail command which will be invoked.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 99) +

    +

    int send( +Swift_Mime_Message +$message, [string[] +&$failedRecipients = null])

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::send() Send the given Message.

    + +
    Send the given Message.
    +

    Recipient/sender data will be retreived from the Message API. The return value is the number of recipients who were accepted for delivery. NOTE: If using 'sendmail -t' you will not be aware of any failures until they bounce (i.e. send() will always return 100% success).

    +

    Parameters

    +
      +
    • Swift_Mime_Message $message:
    • +
    • string[] &$failedRecipients: to collect failures by-reference
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setCommand (line 74) +

    +

    void setCommand( +string +$command)

    + + +
    Set the command to invoke.
    +

    If using -t mode you are strongly advised to include -oi or -i in the flags. For example: /usr/sbin/sendmail -oi -t Swift will append a -f<sender> flag if one is not present. The recommended mode is "-bs" since it is interactive and failure notifications are hence possible.

    +

    Parameters

    +
      +
    • string $command:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method start (line 57) +

    +

    void start( +)

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::start() Start the SMTP connection.

    + +
    Start the standalone SMTP session if running in -bs mode.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _getBufferParams (line 168) +

    +

    void _getBufferParams( +)

    + +

    Overrides : Swift_Transport_AbstractSmtpTransport::_getBufferParams() Return an array of params for the Buffer

    + +
    Get the params to initialize the buffer
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::$_buffer - Input-Output buffer for sending/receiving SMTP commands and responses +

    +

    + Swift_Transport_AbstractSmtpTransport::$_domain - The domain name to use in HELO command +

    +

    + Swift_Transport_AbstractSmtpTransport::$_eventDispatcher - The event dispatching layer +

    +

    + Swift_Transport_AbstractSmtpTransport::$_started - Connection status +

    +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_Transport_AbstractSmtpTransport

    +

    + Swift_Transport_AbstractSmtpTransport::__construct() - Creates a new EsmtpTransport using the given I/O buffer. +

    + +

    + Swift_Transport_AbstractSmtpTransport::executeCommand() - Run a command against the buffer, expecting the given response codes. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getBuffer() - Get the IoBuffer where read/writes are occurring. +

    + +

    + Swift_Transport_AbstractSmtpTransport::getLocalDomain() - Get the name of the domain Swift will identify as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::isStarted() - Test if an SMTP connection has been established. +

    + +

    + Swift_Transport_AbstractSmtpTransport::registerPlugin() - Register a plugin. +

    + +

    + Swift_Transport_AbstractSmtpTransport::reset() - Reset the current mail transaction. +

    + +

    + Swift_Transport_AbstractSmtpTransport::send() - Send the given Message. +

    + +

    + Swift_Transport_AbstractSmtpTransport::setLocalDomain() - Set the name of the local domain which Swift will identify itself as. +

    + +

    + Swift_Transport_AbstractSmtpTransport::start() - Start the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::stop() - Stop the SMTP connection. +

    + +

    + Swift_Transport_AbstractSmtpTransport::_assertResponseCode() - Throws an Exception if a response code is incorrect +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doDataCommand() - Send the DATA command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doHeloCommand() - Send the HELO welcome +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doMailFromCommand() - Send the MAIL FROM command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_doRcptToCommand() - Send the RCPT TO command +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getBufferParams() - Return an array of params for the Buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getFullResponse() - Get an entire multi-line response using its sequence number +

    + +

    + Swift_Transport_AbstractSmtpTransport::_getReversePath() - Determine the best-use reverse path for this message +

    + +

    + Swift_Transport_AbstractSmtpTransport::_readGreeting() - Read the opening SMTP greeting +

    + +

    + Swift_Transport_AbstractSmtpTransport::_streamMessage() - Stream the contents of the message over the buffer +

    + +

    + Swift_Transport_AbstractSmtpTransport::_throwException() - Throw a TransportException, first sending it to any listeners +

    + +

    + Swift_Transport_AbstractSmtpTransport::__destruct() - Destructor. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SimpleMailInvoker.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SimpleMailInvoker.html new file mode 100644 index 0000000..42f7788 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SimpleMailInvoker.html @@ -0,0 +1,210 @@ + + + + + Docs For Class Swift_Transport_SimpleMailInvoker + + + + + + + + +

    + Class Swift_Transport_SimpleMailInvoker +

    (line 30) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/SimpleMailInvoker.php
    +

    + +
    This is the implementation class for Swift_Transport_MailInvoker.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + boolean + mail + (string $to, string $subject, string $body, [string $headers = null], [string $extraParams = null]) +
    +
    +
    + + + + +

    + Method mail (line 46) +

    +

    boolean mail( +string +$to, string +$subject, string +$body, [string +$headers = null], [string +$extraParams = null])

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_MailInvoker::mail()
    +
    Send mail via the mail() function.
    +
    + +
    Send mail via the mail() function.
    +

    This method takes the same arguments as PHP mail().

    +

    Parameters

    +
      +
    • string $to:
    • +
    • string $subject:
    • +
    • string $body:
    • +
    • string $headers:
    • +
    • string $extraParams:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SmtpAgent.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SmtpAgent.html new file mode 100644 index 0000000..cfa9ef1 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_SmtpAgent.html @@ -0,0 +1,220 @@ + + + + + Docs For Class Swift_Transport_SmtpAgent + + + + + + + + +

    + Interface Swift_Transport_SmtpAgent +

    (line 17) +
    + + +
    +

    Description

    +
    +
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/SmtpAgent.php
    +

    + +
    Wraps an IoBuffer to send/receive SMTP commands/responses.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + void + executeCommand + (string $command, [int[] $codes = array()], [string[] &$failures = null]) +
    + +
    +
    + + + + +

    + Method executeCommand (line 34) +

    +

    void executeCommand( +string +$command, [int[] +$codes = array()], [string[] +&$failures = null])

    + + +
    Run a command against the buffer, expecting the given response codes.
    +

    If no response codes are given, the response will not be validated. If codes are given, an exception will be thrown on an invalid response.

    +

    Parameters

    +
      +
    • string $command:
    • +
    • int[] $codes:
    • +
    • string[] &$failures:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getBuffer (line 24) +

    +

    Swift_Transport_IoBuffer getBuffer( +)

    + + +
    Get the IoBuffer where read/writes are occurring.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_StreamBuffer.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_StreamBuffer.html new file mode 100644 index 0000000..955f153 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/Swift_Transport_StreamBuffer.html @@ -0,0 +1,487 @@ + + + + + Docs For Class Swift_Transport_StreamBuffer + + + + + + + + +

    + Class Swift_Transport_StreamBuffer +

    (line 22) +
    + + +
    +

    Description

    +
    +Swift_ByteStream_AbstractFilterableInputStream
    +   |
    +   --Swift_Transport_StreamBuffer
    +

    + Located in File: /vendors/swiftMailer/classes/Swift/Transport/StreamBuffer.php
    +

    + +
    A generic IoBuffer implementation supporting remote sockets and local processes.
    +
      +
    • author: - Chris Corbyn
    • +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Transport_StreamBuffer + __construct + (Swift_ReplacementFilterFactory $replacementFactory) +
    +
    + void + initialize + ( $params) +
    +
    + string + read + (int $length) +
    +
    + string + readLine + (int $sequence) +
    +
    + void + setParam + (string $param, mixed $value) +
    +
    + void + setReadPointer + ( $byteOffset) +
    +
    + void + setWriteTranslations + ( $replacements) +
    +
    + void + terminate + () +
    +
    + void + _commit + ( $bytes) +
    +
    + void + _flush + () +
    +
    +
    + + + + +

    + Constructor __construct (line 49) +

    +

    Swift_Transport_StreamBuffer __construct( +Swift_ReplacementFilterFactory +$replacementFactory)

    + + +
    Create a new StreamBuffer using $replacementFactory for transformations.
    +

    Parameters

    + + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method initialize (line 60) +

    +

    void initialize( + +$params)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_IoBuffer::initialize()
    +
    Perform any initialization needed, using the given $params.
    +
    + +
    Perform any initialization needed, using the given $params.
    +

    Parameters will vary depending upon the type of IoBuffer used.

    +

    Parameters

    +
      +
    • array $params:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method read (line 180) +

    +

    string read( +int +$length)

    + + +
    Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
    +

    Parameters

    +
      +
    • int $length:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method readLine (line 163) +

    +

    string readLine( +int +$sequence)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_IoBuffer::readLine()
    +
    Get a line of output (including any CRLF).
    +
    + +
    Get a line of output (including any CRLF).
    +

    The $sequence number comes from any writes and may or may not be used depending upon the implementation.

    +

    Parameters

    +
      +
    • int $sequence: of last write to scan from
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setParam (line 80) +

    +

    void setParam( +string +$param, mixed +$value)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_IoBuffer::setParam()
    +
    Set an individual param on the buffer (e.g. switching to SSL).
    +
    + +
    Set an individual param on the buffer (e.g. switching to SSL).
    +

    Parameters

    +
      +
    • string $param:
    • +
    • mixed $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setReadPointer (line 190) +

    +

    void setReadPointer( + +$byteOffset)

    + + +
    Not implemented
    +

    Parameters

    +
      +
    • $byteOffset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setWriteTranslations (line 133) +

    +

    void setWriteTranslations( + +$replacements)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_IoBuffer::setWriteTranslations()
    +
    Set an array of string replacements which should be made on data written to the buffer. This could replace LF with CRLF for example.
    +
    + +
    Set an array of string replacements which should be made on data written to the buffer. This could replace LF with CRLF for example.
    +

    Parameters

    +
      +
    • string[] $replacements:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method terminate (line 106) +

    +

    void terminate( +)

    + +
    +
    Implementation of:
    +
    +
    Swift_Transport_IoBuffer::terminate()
    +
    Perform any shutdown logic needed.
    +
    + +
    Perform any shutdown logic needed.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method _commit (line 206) +

    +

    void _commit( + +$bytes)

    + +

    Overrides : Swift_ByteStream_AbstractFilterableInputStream::_commit() Commit the given bytes to the storage medium immediately.

    + +
    Write this bytes to the stream
    +

    Parameters

    +
      +
    • $bytes:
    • +
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    + +

    + Method _flush (line 197) +

    +

    void _flush( +)

    + +

    Overrides : Swift_ByteStream_AbstractFilterableInputStream::_flush() Flush any buffers/content with immediate effect.

    + +
    Flush the stream contents
    + +

    Info

    +
      +
    • access - protected
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + +

    Inherited From Class Swift_ByteStream_AbstractFilterableInputStream

    +

    + Swift_ByteStream_AbstractFilterableInputStream::addFilter() - Add a StreamFilter to this InputByteStream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::bind() - Attach $is to this stream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::commit() - For any bytes that are currently buffered inside the stream, force them off the buffer. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::flushBuffers() - Flush the contents of the stream (empty it) and set the internal pointer to the beginning. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::removeFilter() - Remove an already present StreamFilter based on its $key. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::unbind() - Remove an already bound stream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::write() - Writes $bytes to the end of the stream. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::_commit() - Commit the given bytes to the storage medium immediately. +

    + +

    + Swift_ByteStream_AbstractFilterableInputStream::_flush() - Flush any buffers/content with immediate effect. +

    + +
    +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---FailoverTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---FailoverTransport.php.html new file mode 100644 index 0000000..5439c27 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---FailoverTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page FailoverTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/FailoverTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_FailoverTransportContains a list of redundant Transports so when one fails, the next is used.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---LoadBalancedTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---LoadBalancedTransport.php.html new file mode 100644 index 0000000..a12b585 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---LoadBalancedTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page LoadBalancedTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/LoadBalancedTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_LoadBalancedTransportRedudantly and rotationally uses several Transport implementations when sending.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---MailTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---MailTransport.php.html new file mode 100644 index 0000000..8f6619b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---MailTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page MailTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/MailTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_MailTransportSends Messages using the mail() function.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Logger.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Logger.php.html new file mode 100644 index 0000000..0222840 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Logger.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Logger.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Logger.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_LoggerLogs events in the Transport system.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Loggers---ArrayLogger.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Loggers---ArrayLogger.php.html new file mode 100644 index 0000000..7aa0b73 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Loggers---ArrayLogger.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ArrayLogger.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Loggers/ArrayLogger.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_Loggers_ArrayLoggerLogs to an Array backend.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:13 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Loggers---EchoLogger.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Loggers---EchoLogger.php.html new file mode 100644 index 0000000..2d743e4 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Loggers---EchoLogger.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EchoLogger.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Loggers/EchoLogger.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_Loggers_EchoLoggerPrints all log messages in real time.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Pop---Pop3Exception.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Pop---Pop3Exception.php.html new file mode 100644 index 0000000..aa77609 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Plugins---Pop---Pop3Exception.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Pop3Exception.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Plugins/Pop/Pop3Exception.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Plugins_Pop_Pop3ExceptionPop3Exception thrown when an error occurs connecting to a POP3 host.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---SendmailTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---SendmailTransport.php.html new file mode 100644 index 0000000..deb35c3 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---SendmailTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SendmailTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/SendmailTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_SendmailTransportSendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---SmtpTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---SmtpTransport.php.html new file mode 100644 index 0000000..a92bebf --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---SmtpTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SmtpTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/SmtpTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_SmtpTransportSends Messages over SMTP with ESMTP support.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---AbstractSmtpTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---AbstractSmtpTransport.php.html new file mode 100644 index 0000000..29ff5fc --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---AbstractSmtpTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page AbstractSmtpTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/AbstractSmtpTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_AbstractSmtpTransportSends Messages over SMTP.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:10 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---CramMd5Authenticator.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---CramMd5Authenticator.php.html new file mode 100644 index 0000000..ae31b4f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---CramMd5Authenticator.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page CramMd5Authenticator.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_Esmtp_Auth_CramMd5AuthenticatorHandles CRAM-MD5 authentication.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:18 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---LoginAuthenticator.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---LoginAuthenticator.php.html new file mode 100644 index 0000000..17ed1e0 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---LoginAuthenticator.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page LoginAuthenticator.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_Esmtp_Auth_LoginAuthenticatorHandles LOGIN authentication.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---PlainAuthenticator.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---PlainAuthenticator.php.html new file mode 100644 index 0000000..b6a4e5a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Auth---PlainAuthenticator.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page PlainAuthenticator.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_Esmtp_Auth_PlainAuthenticatorHandles PLAIN authentication.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:27 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---AuthHandler.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---AuthHandler.php.html new file mode 100644 index 0000000..1de501d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---AuthHandler.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page AuthHandler.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/AuthHandler.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_Esmtp_AuthHandlerAn ESMTP handler for AUTH support.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Authenticator.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Authenticator.php.html new file mode 100644 index 0000000..d064e7a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---Esmtp---Authenticator.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Authenticator.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/Esmtp/Authenticator.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_Esmtp_AuthenticatorAn Authentication mechanism.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:15 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---EsmtpHandler.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---EsmtpHandler.php.html new file mode 100644 index 0000000..bb0a98b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---EsmtpHandler.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EsmtpHandler.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/EsmtpHandler.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_EsmtpHandlerAn ESMTP handler.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---EsmtpTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---EsmtpTransport.php.html new file mode 100644 index 0000000..e2969d3 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---EsmtpTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page EsmtpTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/EsmtpTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_EsmtpTransportSends Messages over SMTP with ESMTP support.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:20 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---FailoverTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---FailoverTransport.php.html new file mode 100644 index 0000000..4b8d006 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---FailoverTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page FailoverTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/FailoverTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_FailoverTransportContains a list of redundant Transports so when one fails, the next is used.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---IoBuffer.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---IoBuffer.php.html new file mode 100644 index 0000000..910304d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---IoBuffer.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page IoBuffer.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/IoBuffer.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_IoBufferBuffers input and output to a resource.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---LoadBalancedTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---LoadBalancedTransport.php.html new file mode 100644 index 0000000..0f769f6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---LoadBalancedTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page LoadBalancedTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/LoadBalancedTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_LoadBalancedTransportRedudantly and rotationally uses several Transports when sending.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---MailInvoker.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---MailInvoker.php.html new file mode 100644 index 0000000..f4fde7b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---MailInvoker.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page MailInvoker.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/MailInvoker.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_MailInvokerThis interface intercepts calls to the mail() function.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---MailTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---MailTransport.php.html new file mode 100644 index 0000000..d0e85cc --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---MailTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page MailTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/MailTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_MailTransportSends Messages using the mail() function.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SendmailTransport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SendmailTransport.php.html new file mode 100644 index 0000000..41c2474 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SendmailTransport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SendmailTransport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/SendmailTransport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_SendmailTransportSendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SimpleMailInvoker.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SimpleMailInvoker.php.html new file mode 100644 index 0000000..0fa997b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SimpleMailInvoker.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SimpleMailInvoker.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/SimpleMailInvoker.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_SimpleMailInvokerThis is the implementation class for Swift_Transport_MailInvoker.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:29 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SmtpAgent.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SmtpAgent.php.html new file mode 100644 index 0000000..d7252d2 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---SmtpAgent.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SmtpAgent.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/SmtpAgent.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_SmtpAgentWraps an IoBuffer to send/receive SMTP commands/responses.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---StreamBuffer.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---StreamBuffer.php.html new file mode 100644 index 0000000..2bbedad --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport---StreamBuffer.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page StreamBuffer.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport/StreamBuffer.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_Transport_StreamBufferA generic IoBuffer implementation supporting remote sockets and local processes.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport.php.html new file mode 100644 index 0000000..4212093 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---Transport.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Transport.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Transport.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_TransportSends Messages via an abstract Transport subsystem.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---TransportException.php.html b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---TransportException.php.html new file mode 100644 index 0000000..d7f1251 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/Transport/_vendors---swiftMailer---classes---Swift---TransportException.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page TransportException.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/TransportException.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_TransportExceptionTransportException thrown when an error occurs in the Transport subsystem.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:31 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---DependencyContainer.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---DependencyContainer.php.html new file mode 100644 index 0000000..277e81e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---DependencyContainer.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page DependencyContainer.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/DependencyContainer.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_DependencyContainerDependency Injection container.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---DependencyException.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---DependencyException.php.html new file mode 100644 index 0000000..a50215c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---DependencyException.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page DependencyException.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/DependencyException.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_DependencyExceptionDependencyException thrown when a requested dependeny is missing.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:19 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---Filterable.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---Filterable.php.html new file mode 100644 index 0000000..bb3594d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---Filterable.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Filterable.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Filterable.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_FilterableAllows StreamFilters to operate on a stream.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:21 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---IoException.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---IoException.php.html new file mode 100644 index 0000000..c269a31 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---IoException.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page IoException.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/IoException.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_IoExceptionI/O Exception class.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:23 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---Mailer.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---Mailer.php.html new file mode 100644 index 0000000..c3b125e --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---Mailer.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Mailer.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/Mailer.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_MailerSwift Mailer class.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:24 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---ReplacementFilterFactory.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---ReplacementFilterFactory.php.html new file mode 100644 index 0000000..1bd5690 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---ReplacementFilterFactory.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ReplacementFilterFactory.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/ReplacementFilterFactory.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_ReplacementFilterFactoryCreates StreamFilters.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---RfcComplianceException.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---RfcComplianceException.php.html new file mode 100644 index 0000000..1cbb98f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---RfcComplianceException.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page RfcComplianceException.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/RfcComplianceException.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_RfcComplianceExceptionRFC Compliance Exception class.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:28 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilter.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilter.php.html new file mode 100644 index 0000000..6415fca --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilter.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page StreamFilter.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/StreamFilter.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_StreamFilterProcesses bytes as they pass through a stream and performs filtering.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---ByteArrayReplacementFilter.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---ByteArrayReplacementFilter.php.html new file mode 100644 index 0000000..337b18b --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---ByteArrayReplacementFilter.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page ByteArrayReplacementFilter.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_StreamFilters_ByteArrayReplacementFilterProcesses bytes as they pass through a buffer and replaces sequences in it.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:16 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---StringReplacementFilter.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---StringReplacementFilter.php.html new file mode 100644 index 0000000..d4a3908 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---StringReplacementFilter.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page StringReplacementFilter.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilter.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_StreamFilters_StringReplacementFilterProcesses bytes as they pass through a buffer and replaces sequences in it.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---StringReplacementFilterFactory.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---StringReplacementFilterFactory.php.html new file mode 100644 index 0000000..9ee219f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---StreamFilters---StringReplacementFilterFactory.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page StringReplacementFilterFactory.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_StreamFilters_StringReplacementFilterFactoryCreates filters for replacing needles in a string buffer.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---SwiftException.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---SwiftException.php.html new file mode 100644 index 0000000..68fab76 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift---SwiftException.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page SwiftException.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift/SwiftException.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    Swift_SwiftExceptionBase Exception class.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift.php.html b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift.php.html new file mode 100644 index 0000000..0b87539 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Swift/_vendors---swiftMailer---classes---Swift.php.html @@ -0,0 +1,164 @@ + + + + + Docs for page Swift.php + + + + + + + +

    File: /vendors/swiftMailer/classes/Swift.php

    +
    + + +
    +

    Description

    + +
      +
    + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    SwiftGeneral utility class in Swift Mailer, not to be instantiated.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:30 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Yii-Mail/YiiMail.html b/www/protected/extensions/yii-mail/doc/Yii-Mail/YiiMail.html new file mode 100644 index 0000000..10119ba --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Yii-Mail/YiiMail.html @@ -0,0 +1,510 @@ + + + + + Docs For Class YiiMail + + + + + + + + +

    + Class YiiMail +

    (line 45) +
    + + +
    +

    Description

    +
    +CApplicationComponent
    +   |
    +   --YiiMail
    +

    + Located in File: /YiiMail.php
    +

    + +
    YiiMail is an application component used for sending email.
    +

    You may configure it as below. Check the public attributes and setter methods of this class for more options.

     return array(
    + 	...
    + 	'import => array(
    + 		...
    + 		'ext.mail.YiiMailMessage',
    + 	),
    + 	'components' => array(
    + 		'mail' => array(
    + 			'class' => 'ext.yii-mail.YiiMail',
    + 			'transportType' => 'php',
    + 			'viewPath' => 'application.views.mail',
    + 			'logging' => true,
    + 			'dryRun' => false
    + 		),
    + 		...
    + 	)
    + );

    Example usage:

     $message = new YiiMailMessage;
    + $message->setBody('Message content here with HTML', 'text/html');
    + $message->subject = 'My Subject';
    + $message->addTo('johnDoe@domain.com');
    + $message->from = Yii::app()->params['adminEmail'];
    + Yii::app()->mail->send($message);

    +
      +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    +
    + bool + $dryRun +
    +
    + bool + $logging +
    +
    + mixed + $mailer +
    +
    + mixed + $transport +
    +
    + string + $transportOptions +
    +
    + string + $transportType +
    +
    + string + $viewPath +
    +
    + +
    +

    + $dryRun = false (line 57) +

    +

    Data type : bool

    + +
      +
    • var: - whether to disable actually sending mail. Defaults to false.
    • +
    • access: - public
    • +
    +
    + +
    +

    + $logging = true (line 51) +

    +

    Data type : bool

    + +
      +
    • var: - whether to log messages using Yii::log(). Defaults to true.
    • +
    • access: - public
    • +
    +
    + +
    +

    + $mailer (line 98) +

    +

    Data type : mixed

    + +
      +
    • var: - Holds the SwiftMailer mailer
    • +
    • access: - protected
    • +
    +
    + +
    +

    + $transport (line 93) +

    +

    Data type : mixed

    + +
      +
    • var: - Holds the SwiftMailer transport
    • +
    • access: - protected
    • +
    +
    + +
    +

    + $transportOptions (line 88) +

    +

    Data type : string

    + +
      +
    • var: - options specific to the transport type being used. To set options for STMP, set this attribute to an array where the keys are the option names and the values are their values. Possible options for SMTP are:
      • host
      • username
      • password
      • port
      • encryption
      • timeout
      • extensionHandlers
      See the SwiftMailer documentaion for the option meanings.
    • +
    • access: - public
    • +
    +
    + +
    +

    + $transportType = 'php' (line 64) +

    +

    Data type : string

    + +
      +
    • var: - the delivery type. Can be either 'php' or 'smtp'. When using 'php', PHP's http://www.php.net/mail function will be used. Defaults to 'php'.
    • +
    • access: - public
    • +
    +
    + +
    +

    + $viewPath = 'application.views.mail' (line 70) +

    +

    Data type : string

    + +
      +
    • var: - the path to the location where mail views are stored. Defaults to 'application.views.mail'.
    • +
    • access: - public
    • +
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + static string + log + (YiiMailMessage $message) +
    +
    + int + batchSend + (YiiMailMessage $message, [ &$failedRecipients = null], [ $it = null], array &$failedRecipients,, Swift_Mailer_RecipientIterator $it,) +
    +
    + Swift_Mailer + getMailer + () +
    +
    + mixed + getTransport + () +
    +
    + void + init + () +
    +
    + void + registerScripts + () +
    +
    + int + send + (YiiMailMessage $message, [ &$failedRecipients = null], array &$failedRecipients,) +
    +
    + void + sendSimple + (mixed $from, mixed $to, string $subject, string $body) +
    +
    +
    + + + + +

    + Static Method log (line 189) +

    +

    string log( +YiiMailMessage +$message)

    + + +
    Logs a YiiMailMessage in a (hopefully) readable way using Yii::log (as long as $this->logging is set to true).
    +

    Parameters

    + + +

    Info

    +
      +
    • return - log message
    • +
    • access - public
    • +
    +
    + +

    + Method batchSend (line 158) +

    +

    int batchSend( +YiiMailMessage +$message, [ +&$failedRecipients = null], [ +$it = null], array +&$failedRecipients,, Swift_Mailer_RecipientIterator +$it,)

    + + +
    Send the given YiiMailMessage to all recipients individually.
    +

    This differs from send() in the way headers are presented to the recipient. The only recipient in the "To:" field will be the individual recipient it was sent to.

    If an iterator is provided, recipients will be read from the iterator one-by-one, otherwise recipient data will be retreived from the YiiMailMessage object.

    Sender information is always read from the YiiMailMessage object.

    The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    + + +

    Info

    + +
    + +

    + Method getMailer (line 226) +

    +

    Swift_Mailer getMailer( +)

    + + +
    Gets the SwiftMailer Swift_Mailer class instance
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method getTransport (line 203) +

    +

    mixed getTransport( +)

    + + +
    Gets the SwiftMailer transport class instance, initializing it if it has
    +

    not been created yet

    + +

    Info

    + +
    + +

    + Method init (line 105) +

    +

    void init( +)

    + + +
    Calls the registerScripts() method.
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method registerScripts (line 236) +

    +

    void registerScripts( +)

    + + +
    Registers swiftMailer autoloader and includes the required files
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method send (line 130) +

    +

    int send( +YiiMailMessage +$message, [ +&$failedRecipients = null], array +&$failedRecipients,)

    + + +
    Send a YiiMailMessage as it would be sent in a mail client.
    +

    All recipients (with the exception of Bcc) will be able to see the other recipients this message was sent to.

    If you need to send to each recipient without disclosing details about the other recipients see batchSend().

    Recipient/sender data will be retreived from the YiiMailMessage object.

    The return value is the number of recipients who were accepted for delivery.

    +

    Parameters

    +
      +
    • YiiMailMessage $message:
    • +
    • array &$failedRecipients,: optional
    • +
    • &$failedRecipients:
    • +
    + +

    Info

    + +
    + +

    + Method sendSimple (line 172) +

    +

    void sendSimple( +mixed +$from, mixed +$to, string +$subject, string +$body)

    + + +
    Sends a message in an extremly simple but less extensive way.
    +

    Parameters

    +
      +
    • mixed $from: from address, string or array of the form $address => $name
    • +
    • mixed $to: to address, string or array of the form $address => $name
    • +
    • string $subject: subject
    • +
    • string $body: body
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:32 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Yii-Mail/YiiMailMessage.html b/www/protected/extensions/yii-mail/doc/Yii-Mail/YiiMailMessage.html new file mode 100644 index 0000000..df45069 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Yii-Mail/YiiMailMessage.html @@ -0,0 +1,343 @@ + + + + + Docs For Class YiiMailMessage + + + + + + + + +

    + Class YiiMailMessage +

    (line 36) +
    + + +
    +

    Description

    +
    +CComponent
    +   |
    +   --YiiMailMessage
    +

    + Located in File: /YiiMailMessage.php
    +

    + +
    Any requests to set or get attributes or call methods on this class that are not found in that class are redirected to the Swift_Mime_Message object.
    +

    This means you need to look at the Swift Mailer documentation to see what methods are availiable for this class. There are a lot of methods, more than I wish to document. Any methods availiable in Swift_Mime_Message are availiable here.

    Documentation for the most important methods can be found at http://swiftmailer.org/docs/messages

    The YiiMailMessage component also allows using a shorthand for methods in Swift_Mime_Message that start with set* or get* For instance, instead of calling $message->setFrom('...') you can use $message->from = '...'.

    Here are a few methods to get you started:

    • setSubject('Your subject')
    • setFrom(array('john@doe.com' => 'John Doe'))
    • setTo(array('receiver@domain.org', 'other@domain.org' => 'Name'))
    • attach(Swift_Attachment::fromPath('my-document.pdf'))

    +
      +
    +

    +
    + +
    + +

    Class Variables

    + +Summary:
    + +
    + string + $view +
    +
    + +
    +

    + $message (line 48) +

    +

    Data type : Swift_Mime_Message

    + +
      +
    • access: - public
    • +
    +
    + +
    +

    + $view (line 43) +

    +

    Data type : string

    + +
      +
    • var: - the view to use for rendering the body, null if no view is used. An extra variable $mail will be passed to the view .which you may use to set e.g. the email subject from within the view
    • +
    • access: - public
    • +
    +
    + +
    +
    + +

    Class Constants

    + +Summary:
    +
    + +
    +
    +

    Method Detail

    + +Summary:
    +
    +
    + Swift_Mime_Message + __construct + ([string $subject = null], [string $body = null], [string $contentType = null], [string $charset = null]) +
    +
    + void + setBody + ([mixed $body = ''], [string $contentType = null], [string $charset = null]) +
    +
    + void + __call + (string $name,  $parameters) +
    +
    + void + __get + (string $name) +
    +
    + void + __set + (string $name,  $value) +
    +
    +
    + + + + +

    + Constructor __construct (line 111) +

    +

    Swift_Mime_Message __construct( +[string +$subject = null], [string +$body = null], [string +$contentType = null], [string +$charset = null])

    + + +
    You may optionally set some message info using the paramaters of this constructor.
    +

    Use view and setBody() for more control.

    +

    Parameters

    +
      +
    • string $subject:
    • +
    • string $body:
    • +
    • string $contentType:
    • +
    • string $charset:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method setBody (line 128) +

    +

    void setBody( +[mixed +$body = ''], [string +$contentType = null], [string +$charset = null])

    + + +
    Set the body of this entity, either as a string, or array of view variables if a view is set, or as an instance of Swift_OutputByteStream.
    +

    Parameters

    +
      +
    • mixed $body: the body of the message. If a $this->view is set and this is a string, this is passed to the view as $body. If $this->view is set and this is an array, the array values are passed to the view like in the controller render() method
    • +
    • string $contentType: content type optional. For html, set to 'html/text'
    • +
    • string $charset: charset optional
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method __call (line 89) +

    +

    void __call( +string +$name, +$parameters)

    + + +
    Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
    +

    Parameters

    +
      +
    • string $name: the method name
    • +
    • $parameters:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method __get (line 55) +

    +

    void __get( +string +$name)

    + + +
    Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
    +

    Parameters

    +
      +
    • string $name: the attribute name
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    + +

    + Method __set (line 72) +

    +

    void __set( +string +$name, +$value)

    + + +
    Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
    +

    Parameters

    +
      +
    • string $name: the attribute name
    • +
    • $value:
    • +
    + +

    Info

    +
      +
    • access - public
    • +
    +
    +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:32 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Yii-Mail/_YiiMail.php.html b/www/protected/extensions/yii-mail/doc/Yii-Mail/_YiiMail.php.html new file mode 100644 index 0000000..6275c5f --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Yii-Mail/_YiiMail.php.html @@ -0,0 +1,167 @@ + + + + + Docs for page YiiMail.php + + + + + + + +

    File: /YiiMail.php

    +
    + + +
    +

    Description

    + +
    YiiMail class file.
    + + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    YiiMailYiiMail is an application component used for sending email.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:32 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/Yii-Mail/_YiiMailMessage.php.html b/www/protected/extensions/yii-mail/doc/Yii-Mail/_YiiMailMessage.php.html new file mode 100644 index 0000000..2439d2d --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/Yii-Mail/_YiiMailMessage.php.html @@ -0,0 +1,167 @@ + + + + + Docs for page YiiMailMessage.php + + + + + + + +

    File: /YiiMailMessage.php

    +
    + + +
    +

    Description

    + +
    YiiMailMessage class file.
    + + + +

    Classes defined in this file

    + + + + + + + + + + + +

    CLASS NAME

    DESCRIPTION

    YiiMailMessageAny requests to set or get attributes or call methods on this class that are not found in that class are redirected to the Swift_Mime_Message object.
    +
    + +
    + + +

    Include/Require Statements

    + + + +
    +
    + + +

    Global Variables

    + + + +
    +
    + + + +

    Constants

    + + + +
    +
    + + +

    Functions

    + + + +
    +
    + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:32 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/blank.html b/www/protected/extensions/yii-mail/doc/blank.html new file mode 100644 index 0000000..d15070c --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/blank.html @@ -0,0 +1,13 @@ + + + Yii-Mail & Swift Mailer Documentation + + + + +

    Yii-Mail & Swift Mailer Documentation

    +Welcome to Yii-Mail!
    +
    +This documentation was generated by phpDocumentor v1.4.3
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/classtrees_Swift.html b/www/protected/extensions/yii-mail/doc/classtrees_Swift.html new file mode 100644 index 0000000..3769bbb --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/classtrees_Swift.html @@ -0,0 +1,380 @@ + + + + + + + + + +

    + +

    +

    Root interface Swift_CharacterReader

    + + +

    Root interface Swift_CharacterReaderFactory

    + + +

    Root interface Swift_CharacterStream

    + + +

    Root interface Swift_Events_Event

    + + +

    Root interface Swift_Events_EventDispatcher

    + + +

    Root interface Swift_Events_EventListener

    + + +

    Root interface Swift_Filterable

    + + +

    Root interface Swift_InputByteStream

    + + +

    Root interface Swift_KeyCache

    + + +

    Root interface Swift_Mailer_RecipientIterator

    + + +

    Root interface Swift_Mime_CharsetObserver

    + + +

    Root interface Swift_Mime_EncodingObserver

    + + +

    Root interface Swift_Mime_Header

    + + +

    Root interface Swift_OutputByteStream

    + + +

    Root interface Swift_Plugins_Decorator_Replacements

    + + +

    Root interface Swift_Plugins_Logger

    + + +

    Root interface Swift_Plugins_Pop_Pop3Connection

    + + +

    Root interface Swift_Plugins_Reporter

    + + +

    Root interface Swift_Plugins_Sleeper

    + + +

    Root interface Swift_Plugins_Timer

    + + +

    Root interface Swift_ReplacementFilterFactory

    + + +

    Root interface Swift_StreamFilter

    + + +

    Root interface Swift_Transport

    + + +

    Root interface Swift_Transport_EsmtpHandler

    + + +

    Root interface Swift_Transport_Esmtp_Authenticator

    + + +

    Root interface Swift_Transport_MailInvoker

    + + +

    Root interface Swift_Transport_SmtpAgent

    + + +

    Root class Swift

    + + +

    Root class Swift_ByteStream_AbstractFilterableInputStream

    + + +

    Root class Swift_ByteStream_ArrayByteStream

    + + +

    Root class Swift_CharacterReaderFactory_SimpleCharacterReaderFactory

    + + +

    Root class Swift_CharacterReader_GenericFixedWidthReader

    + + +

    Root class Swift_CharacterReader_UsAsciiReader

    + + +

    Root class Swift_CharacterReader_Utf8Reader

    + + +

    Root class Swift_CharacterStream_ArrayCharacterStream

    + + +

    Root class Swift_CharacterStream_NgCharacterStream

    + + +

    Root class Swift_DependencyContainer

    + + +

    Root class Swift_Encoder_Base64Encoder

    + + +

    Root class Swift_Encoder_QpEncoder

    + + +

    Root class Swift_Encoder_Rfc2231Encoder

    + + +

    Root class Swift_Encoding

    + + +

    Root class Swift_Events_EventObject

    + + +

    Root class Swift_Events_SimpleEventDispatcher

    + + +

    Root class Swift_KeyCache_ArrayKeyCache

    + + +

    Root class Swift_KeyCache_DiskKeyCache

    + + +

    Root class Swift_KeyCache_NullKeyCache

    + + +

    Root class Swift_KeyCache_SimpleKeyCacheInputStream

    + + +

    Root class Swift_Mailer

    + + +

    Root class Swift_Mailer_ArrayRecipientIterator

    + + +

    Root class Swift_Mime_ContentEncoder_PlainContentEncoder

    + + +

    Root class Swift_Mime_Headers_AbstractHeader

    + + +

    Root class Swift_Mime_SimpleHeaderFactory

    + + +

    Root class Swift_Mime_SimpleHeaderSet

    + + +

    Root class Swift_Mime_SimpleMimeEntity

    + + +

    Root class Swift_Plugins_AntiFloodPlugin

    + + +

    Root class Swift_Plugins_BandwidthMonitorPlugin

    + + +

    Root class Swift_Plugins_DecoratorPlugin

    + + +

    Root class Swift_Plugins_LoggerPlugin

    + + +

    Root class Swift_Plugins_Loggers_ArrayLogger

    + + +

    Root class Swift_Plugins_Loggers_EchoLogger

    + + +

    Root class Swift_Plugins_PopBeforeSmtpPlugin

    + + +

    Root class Swift_Plugins_ReporterPlugin

    + + +

    Root class Swift_Plugins_Reporters_HitReporter

    + + +

    Root class Swift_Plugins_Reporters_HtmlReporter

    + + +

    Root class Swift_StreamFilters_ByteArrayReplacementFilter

    + + +

    Root class Swift_StreamFilters_StringReplacementFilter

    + + +

    Root class Swift_StreamFilters_StringReplacementFilterFactory

    + + +

    Root class Swift_Transport_AbstractSmtpTransport

    + + +

    Root class Swift_Transport_Esmtp_AuthHandler

    + + +

    Root class Swift_Transport_Esmtp_Auth_CramMd5Authenticator

    + + +

    Root class Swift_Transport_Esmtp_Auth_LoginAuthenticator

    + + +

    Root class Swift_Transport_Esmtp_Auth_PlainAuthenticator

    + + +

    Root class Swift_Transport_LoadBalancedTransport

    + + +

    Root class Swift_Transport_MailTransport

    + + +

    Root class Swift_Transport_SimpleMailInvoker

    + + +

    Root class Exception

    + + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:09 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/classtrees_Yii-Mail.html b/www/protected/extensions/yii-mail/doc/classtrees_Yii-Mail.html new file mode 100644 index 0000000..4728bc2 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/classtrees_Yii-Mail.html @@ -0,0 +1,28 @@ + + + + + + + + + +

    + +

    +

    Root class CApplicationComponent

    + + +

    Root class CComponent

    + + +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:09 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/elementindex.html b/www/protected/extensions/yii-mail/doc/elementindex.html new file mode 100644 index 0000000..5922121 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/elementindex.html @@ -0,0 +1,4587 @@ + + + + + + + + +

    Index of All Elements

    +  +Indexes by package:
    + +
    + a + b + c + d + e + f + g + h + i + k + l + m + n + o + p + q + r + s + t + u + v + w + y + _ + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    a  + top
       addin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::add()
        Add a log entry.
       addin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::add()
        Add a log entry.
       addin file Logger.php, method Swift_Plugins_Logger::add()
        Add a log entry.
       addin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::add()
        Add a log entry.
       addBccin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addBcc()
        Add a Bcc: address to this message.
       addCcin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addCc()
        Add a Cc: address to this message.
       addConstructorLookupin file DependencyContainer.php, method Swift_DependencyContainer::addConstructorLookup()
        Specify a dependency lookup for the constructor of the previously registered item.
       addConstructorValuein file DependencyContainer.php, method Swift_DependencyContainer::addConstructorValue()
        Specify a literal (non looked up) value for the constructor of the previously registered item.
       addDateHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addDateHeader()
        Add a new Date header using $timestamp (UNIX time).
       addDateHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addDateHeader()
        Add a new Date header using $timestamp (UNIX time).
       addFilterin file Filterable.php, method Swift_Filterable::addFilter()
        Add a new StreamFilter, referenced by $key.
       addFilterin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::addFilter()
        Add a StreamFilter to this InputByteStream.
       addFromin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addFrom()
        Add a From: address to this message.
       addIdHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addIdHeader()
        Add a new ID header for Message-ID or Content-ID.
       addIdHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addIdHeader()
        Add a new ID header for Message-ID or Content-ID.
       addMailboxHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addMailboxHeader()
        Add a new Mailbox Header with a list of $addresses.
       addMailboxHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addMailboxHeader()
        Add a new Mailbox Header with a list of $addresses.
       addParameterizedHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addParameterizedHeader()
        Add a new ParameterizedHeader with $name, $value and $params.
       addParameterizedHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addParameterizedHeader()
        Add a new ParameterizedHeader with $name, $value and $params.
       addPartin file Message.php, method Swift_Message::addPart()
        Add a MimePart to this Message.
       addPathHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addPathHeader()
        Add a new Path header with an address (path) in it.
       addPathHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addPathHeader()
        Add a new Path header with an address (path) in it.
       addReplyToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addReplyTo()
        Add a Reply-To: address to this message.
       addTextHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addTextHeader()
        Add a new basic text header with $name and $value.
       addTextHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addTextHeader()
        Add a new basic text header with $name and $value.
       addToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addTo()
        Add a To: address to this message.
       afterEhloin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::afterEhlo()
        Runs immediately after a EHLO has been issued.
       afterEhloin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::afterEhlo()
        Runs immediately after a EHLO has been issued.
       asAliasOfin file DependencyContainer.php, method Swift_DependencyContainer::asAliasOf()
        Specify the previously registered item as an alias of another item.
       asNewInstanceOfin file DependencyContainer.php, method Swift_DependencyContainer::asNewInstanceOf()
        Specify the previously registered item as a new instance of $className.
       asSharedInstanceOfin file DependencyContainer.php, method Swift_DependencyContainer::asSharedInstanceOf()
        Specify the previously registered item as a shared instance of $className.
       asValuein file DependencyContainer.php, method Swift_DependencyContainer::asValue()
        Specify the previously registered item as a literal value.
       attachin file SimpleMessage.php, method Swift_Mime_SimpleMessage::attach()
        Attach a Swift_Mime_MimeEntity such as an Attachment or MimePart.
       authenticatein file Authenticator.php, method Swift_Transport_Esmtp_Authenticator::authenticate()
        Try to authenticate the user with $username and $password.
       authenticatein file LoginAuthenticator.php, method Swift_Transport_Esmtp_Auth_LoginAuthenticator::authenticate()
        Try to authenticate the user with $username and $password.
       authenticatein file PlainAuthenticator.php, method Swift_Transport_Esmtp_Auth_PlainAuthenticator::authenticate()
        Try to authenticate the user with $username and $password.
       authenticatein file CramMd5Authenticator.php, method Swift_Transport_Esmtp_Auth_CramMd5Authenticator::authenticate()
        Try to authenticate the user with $username and $password.
       autoloadin file Swift.php, method Swift::autoload()
        Internal autoloader for spl_autoload_register().
       Attachment.phpprocedural page Attachment.php
       AbstractFilterableInputStream.phpprocedural page AbstractFilterableInputStream.php
       ArrayByteStream.phpprocedural page ArrayByteStream.php
       ArrayCharacterStream.phpprocedural page ArrayCharacterStream.php
       ArrayKeyCache.phpprocedural page ArrayKeyCache.php
       ArrayRecipientIterator.phpprocedural page ArrayRecipientIterator.php
       Attachment.phpprocedural page Attachment.php
       AbstractHeader.phpprocedural page AbstractHeader.php
       AntiFloodPlugin.phpprocedural page AntiFloodPlugin.php
       ArrayLogger.phpprocedural page ArrayLogger.php
       AbstractSmtpTransport.phpprocedural page AbstractSmtpTransport.php
       Authenticator.phpprocedural page Authenticator.php
       AuthHandler.phpprocedural page AuthHandler.php
    b  + top
       batchSendin file Mailer.php, method Swift_Mailer::batchSend()
        Send the given Message to all recipients individually.
       batchSendin file YiiMail.php, method YiiMail::batchSend()
        Send the given YiiMailMessage to all recipients individually.
       beforeSendPerformedin file ReporterPlugin.php, method Swift_Plugins_ReporterPlugin::beforeSendPerformed()
        Not used.
       beforeSendPerformedin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeSendPerformedin file SendListener.php, method Swift_Events_SendListener::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeSendPerformedin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeSendPerformedin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeSendPerformedin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::beforeSendPerformed()
        Not used.
       beforeTransportStartedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::beforeTransportStarted()
        Invoked just before a Transport is started.
       beforeTransportStartedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::beforeTransportStarted()
        Invoked just before a Transport is started.
       beforeTransportStartedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::beforeTransportStarted()
        Invoked just before a Transport is started.
       beforeTransportStoppedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::beforeTransportStopped()
        Invoked just before a Transport is stopped.
       beforeTransportStoppedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::beforeTransportStopped()
        Invoked just before a Transport is stopped.
       beforeTransportStoppedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::beforeTransportStopped()
        Not used.
       bindin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::bind()
        Not used.
       bindin file InputByteStream.php, method Swift_InputByteStream::bind()
        Attach $is to this stream.
       bindin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::bind()
        Attach $is to this stream.
       bindin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::bind()
        Attach $is to this stream.
       bindin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::bind()
        Attach $is to this stream.
       bindEventListenerin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::bindEventListener()
        Bind an event listener to this dispatcher.
       bindEventListenerin file EventDispatcher.php, method Swift_Events_EventDispatcher::bindEventListener()
        Bind an event listener to this dispatcher.
       bindSmtpin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::bindSmtp()
        Bind this plugin to a specific SMTP transport instance.
       bubbleCancelledin file EventObject.php, method Swift_Events_EventObject::bubbleCancelled()
        Returns true if this Event will not bubble any further up the stack.
       bubbleCancelledin file Event.php, method Swift_Events_Event::bubbleCancelled()
        Returns true if this Event will not bubble any further up the stack.
       BYTES_PER_MINUTEin file ThrottlerPlugin.php, class constant Swift_Plugins_ThrottlerPlugin::BYTES_PER_MINUTE
        Flag for throttling in bytes per minute
       Base64Encoder.phpprocedural page Base64Encoder.php
       Base64ContentEncoder.phpprocedural page Base64ContentEncoder.php
       Base64HeaderEncoder.phpprocedural page Base64HeaderEncoder.php
       BandwidthMonitorPlugin.phpprocedural page BandwidthMonitorPlugin.php
       ByteArrayReplacementFilter.phpprocedural page ByteArrayReplacementFilter.php
    c  + top
       cancelBubblein file Event.php, method Swift_Events_Event::cancelBubble()
        Prevent this Event from bubbling any further up the stack.
       cancelBubblein file EventObject.php, method Swift_Events_EventObject::cancelBubble()
        Prevent this Event from bubbling any further up the stack.
       charsetChangedin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::charsetChanged()
        Notify this observer that the entity's charset has changed.
       charsetChangedin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::charsetChanged()
        Receive notification that the charset of this entity, or a parent entity has changed.
       charsetChangedin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::charsetChanged()
        Not used.
       charsetChangedin file CharsetObserver.php, method Swift_Mime_CharsetObserver::charsetChanged()
        Notify this observer that the entity's charset has changed.
       charsetChangedin file MimePart.php, method Swift_Mime_MimePart::charsetChanged()
        Receive notification that the charset has changed on this document, or a parent document.
       charsetChangedin file Rfc2231Encoder.php, method Swift_Encoder_Rfc2231Encoder::charsetChanged()
        Updates the charset used.
       charsetChangedin file Base64Encoder.php, method Swift_Encoder_Base64Encoder::charsetChanged()
        Does nothing.
       charsetChangedin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::charsetChanged()
        Notify this observer that the entity's charset has changed.
       charsetChangedin file QpEncoder.php, method Swift_Encoder_QpEncoder::charsetChanged()
        Updates the charset used.
       clearin file Logger.php, method Swift_Plugins_Logger::clear()
        Clear the log contents.
       clearin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::clear()
        Not implemented.
       clearin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::clear()
        Clear the log contents.
       clearin file HitReporter.php, method Swift_Plugins_Reporters_HitReporter::clear()
        Clear the buffer (empty the list).
       clearin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::clear()
        Clear the log contents.
       clearAllin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearAllin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearAllin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearAllin file KeyCache.php, method Swift_KeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearCachedValueIfin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::clearCachedValueIf()
        Clear the cached value if $condition is met.
       clearKeyin file KeyCache.php, method Swift_KeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       clearKeyin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       clearKeyin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       clearKeyin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       commandSentin file CommandListener.php, method Swift_Events_CommandListener::commandSent()
        Invoked immediately following a command being sent.
       commandSentin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::commandSent()
        Invoked immediately following a command being sent.
       commandSentin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::commandSent()
        Invoked immediately following a command being sent.
       commitin file InputByteStream.php, method Swift_InputByteStream::commit()
        For any bytes that are currently buffered inside the stream, force them off the buffer.
       commitin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::commit()
        Not used.
       commitin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::commit()
        Not used.
       commitin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::commit()
        For any bytes that are currently buffered inside the stream, force them off the buffer.
       commitin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::commit()
        Not used.
       connectin file Pop3Connection.php, method Swift_Plugins_Pop_Pop3Connection::connect()
        Connect to the POP3 host and throw an Exception if it fails.
       connectin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::connect()
        Connect to the POP3 host and authenticate.
       createCommandEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createCommandEvent()
        Create a new CommandEvent for $source and $command.
       createCommandEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createCommandEvent()
        Create a new CommandEvent for $source and $command.
       createDateHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createDateHeader()
        Create a new Date header using $timestamp (UNIX time).
       createDateHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createDateHeader()
        Create a new Date header using $timestamp (UNIX time).
       createDependenciesForin file DependencyContainer.php, method Swift_DependencyContainer::createDependenciesFor()
        Create an array of arguments passed to the constructor of $itemName.
       createDisplayNameStringin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::createDisplayNameString()
        Produces a compliant, formatted display-name based on the string given.
       createFilterin file ReplacementFilterFactory.php, method Swift_ReplacementFilterFactory::createFilter()
        Create a filter to replace $search with $replace.
       createFilterin file StringReplacementFilterFactory.php, method Swift_StreamFilters_StringReplacementFilterFactory::createFilter()
        Create a new StreamFilter to replace $search with $replace in a string.
       createIdHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createIdHeader()
        Create a new ID header for Message-ID or Content-ID.
       createIdHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createIdHeader()
        Create a new ID header for Message-ID or Content-ID.
       createMailboxHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createMailboxHeader()
        Create a new Mailbox Header with a list of $addresses.
       createMailboxHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createMailboxHeader()
        Create a new Mailbox Header with a list of $addresses.
       createMailboxListStringin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::createMailboxListString()
        Creates a string form of all the mailboxes in the passed array.
       createParameterizedHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createParameterizedHeader()
        Create a new ParameterizedHeader with $name, $value and $params.
       createParameterizedHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createParameterizedHeader()
        Create a new ParameterizedHeader with $name, $value and $params.
       createPathHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createPathHeader()
        Create a new Path header with an address (path) in it.
       createPathHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createPathHeader()
        Create a new Path header with an address (path) in it.
       createPhrasein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::createPhrase()
        Produces a compliant, formatted RFC 2822 'phrase' based on the string given.
       createResponseEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createResponseEvent()
        Create a new ResponseEvent for $source and $response.
       createResponseEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createResponseEvent()
        Create a new ResponseEvent for $source and $response.
       createSendEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createSendEvent()
        Create a new SendEvent for $source and $message.
       createSendEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createSendEvent()
        Create a new SendEvent for $source and $message.
       createTextHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createTextHeader()
        Create a new basic text header with $name and $value.
       createTextHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createTextHeader()
        Create a new basic text header with $name and $value.
       createTransportChangeEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createTransportChangeEvent()
        Create a new TransportChangeEvent for $source.
       createTransportChangeEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createTransportChangeEvent()
        Create a new TransportChangeEvent for $source.
       createTransportExceptionEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createTransportExceptionEvent()
        Create a new TransportExceptionEvent for $source.
       createTransportExceptionEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createTransportExceptionEvent()
        Create a new TransportExceptionEvent for $source.
       CharacterReader.phpprocedural page CharacterReader.php
       CharacterReaderFactory.phpprocedural page CharacterReaderFactory.php
       CharacterStream.phpprocedural page CharacterStream.php
       CommandEvent.phpprocedural page CommandEvent.php
       CommandListener.phpprocedural page CommandListener.php
       CharsetObserver.phpprocedural page CharsetObserver.php
       ContentEncoder.phpprocedural page ContentEncoder.php
       CramMd5Authenticator.phpprocedural page CramMd5Authenticator.php
    d  + top
       $dryRunin file YiiMail.php, variable YiiMail::$dryRun
       defineOrderingin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::defineOrdering()
        Define a list of Header names as an array in the correct order.
       defineOrderingin file HeaderSet.php, method Swift_Mime_HeaderSet::defineOrdering()
        Define a list of Header names as an array in the correct order.
       detachin file SimpleMessage.php, method Swift_Mime_SimpleMessage::detach()
        Remove an already attached entity.
       disconnectin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::disconnect()
        Disconnect from the POP3 host.
       disconnectin file Pop3Connection.php, method Swift_Plugins_Pop_Pop3Connection::disconnect()
        Disconnect from the POP3 host and throw an Exception if it fails.
       dispatchEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::dispatchEvent()
        Dispatch the given Event to all suitable listeners.
       dispatchEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::dispatchEvent()
        Dispatch the given Event to all suitable listeners.
       dumpin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::dump()
        Get this log as a string.
       dumpin file Logger.php, method Swift_Plugins_Logger::dump()
        Get this log as a string.
       dumpin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::dump()
        Not implemented.
       dumpin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::dump()
        Get this log as a string.
       DependencyContainer.phpprocedural page DependencyContainer.php
       DependencyException.phpprocedural page DependencyException.php
       DiskKeyCache.phpprocedural page DiskKeyCache.php
       DateHeader.phpprocedural page DateHeader.php
       DecoratorPlugin.phpprocedural page DecoratorPlugin.php
    e  + top
       embedin file SimpleMessage.php, method Swift_Mime_SimpleMessage::embed()
        Attach a Swift_Mime_MimeEntity and return it's CID source.
       encodeByteStreamin file ContentEncoder.php, method Swift_Mime_ContentEncoder::encodeByteStream()
        Encode $in to $out.
       encodeByteStreamin file QpContentEncoder.php, method Swift_Mime_ContentEncoder_QpContentEncoder::encodeByteStream()
        Encode stream $in to stream $out.
       encodeByteStreamin file Base64ContentEncoder.php, method Swift_Mime_ContentEncoder_Base64ContentEncoder::encodeByteStream()
        Encode stream $in to stream $out.
       encodeByteStreamin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::encodeByteStream()
        Encode stream $in to stream $out.
       encoderChangedin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::encoderChanged()
        Receive notification that the encoder of this entity or a parent entity has changed.
       encoderChangedin file EncodingObserver.php, method Swift_Mime_EncodingObserver::encoderChanged()
        Notify this observer that the observed entity's ContentEncoder has changed.
       encodeStringin file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::encodeString()
        Takes an unencoded string and produces a Q encoded string from it.
       encodeStringin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::encodeString()
        Encode a given string to produce an encoded string.
       encodeStringin file Encoder.php, method Swift_Encoder::encodeString()
        Encode a given string to produce an encoded string.
       encodeStringin file QpEncoder.php, method Swift_Encoder_QpEncoder::encodeString()
        Takes an unencoded string and produces a QP encoded string from it.
       encodeStringin file Rfc2231Encoder.php, method Swift_Encoder_Rfc2231Encoder::encodeString()
        Takes an unencoded string and produces a string encoded according to RFC 2231 from it.
       encodeStringin file Base64Encoder.php, method Swift_Encoder_Base64Encoder::encodeString()
        Takes an unencoded string and produces a Base64 encoded string from it.
       encodeWordsin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::encodeWords()
        Encode needed word tokens within a string of input.
       escapeSpecialsin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::escapeSpecials()
        Escape special characters in a string (convert to quoted-pairs).
       exceptionThrownin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::exceptionThrown()
        Invoked as a TransportException is thrown in the Transport system.
       exceptionThrownin file TransportExceptionListener.php, method Swift_Events_TransportExceptionListener::exceptionThrown()
        Invoked as a TransportException is thrown in the Transport system.
       executeCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::executeCommand()
        Run a command against the buffer, expecting the given response codes.
       executeCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::executeCommand()
        Run a command against the buffer, expecting the given response codes.
       executeCommandin file SmtpAgent.php, method Swift_Transport_SmtpAgent::executeCommand()
        Run a command against the buffer, expecting the given response codes.
       exportToByteStreamin file KeyCache.php, method Swift_KeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       exportToByteStreamin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       exportToByteStreamin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       exportToByteStreamin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       exposeMixinMethodsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::exposeMixinMethods()
        Returns an array of method names which are exposed to the Esmtp class.
       exposeMixinMethodsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::exposeMixinMethods()
        Returns an array of method names which are exposed to the Esmtp class.
       EmbeddedFile.phpprocedural page EmbeddedFile.php
       Encoder.phpprocedural page Encoder.php
       Encoding.phpprocedural page Encoding.php
       Event.phpprocedural page Event.php
       EventDispatcher.phpprocedural page EventDispatcher.php
       EventListener.phpprocedural page EventListener.php
       EventObject.phpprocedural page EventObject.php
       EmbeddedFile.phpprocedural page EmbeddedFile.php
       EncodingObserver.phpprocedural page EncodingObserver.php
       EchoLogger.phpprocedural page EchoLogger.php
       EsmtpHandler.phpprocedural page EsmtpHandler.php
       EsmtpTransport.phpprocedural page EsmtpTransport.php
    f  + top
       filterin file StreamFilter.php, method Swift_StreamFilter::filter()
        Filters $buffer and returns the changes.
       filterin file StringReplacementFilter.php, method Swift_StreamFilters_StringReplacementFilter::filter()
        Perform the actual replacements on $buffer and return the result.
       filterin file ByteArrayReplacementFilter.php, method Swift_StreamFilters_ByteArrayReplacementFilter::filter()
        Perform the actual replacements on $buffer and return the result.
       flushBuffersin file InputByteStream.php, method Swift_InputByteStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       flushBuffersin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       flushBuffersin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       flushBuffersin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::flushBuffers()
        Not used.
       flushBuffersin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       flushContentsin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::flushContents()
       flushContentsin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::flushContents()
        Empty the stream and reset the internal pointer.
       flushContentsin file CharacterStream.php, method Swift_CharacterStream::flushContents()
        Empty the stream and reset the internal pointer.
       fromPathin file Image.php, method Swift_Image::fromPath()
        Create a new Image from a filesystem path.
       fromPathin file EmbeddedFile.php, method Swift_EmbeddedFile::fromPath()
        Create a new EmbeddedFile from a filesystem path.
       fromPathin file Attachment.php, method Swift_Attachment::fromPath()
        Create a new Attachment from a filesystem path.
       FileByteStream.phpprocedural page FileByteStream.php
       FailoverTransport.phpprocedural page FailoverTransport.php
       FileStream.phpprocedural page FileStream.php
       Filterable.phpprocedural page Filterable.php
       FailoverTransport.phpprocedural page FailoverTransport.php
    g  + top
       generateIdin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::generateId()
        Generate a new Content-ID or Message-ID for this MIME entity.
       generateIdin file Message.php, method Swift_Mime_Message::generateId()
        Generates a valid Message-ID and switches to it.
       generateTokenLinesin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::generateTokenLines()
        Generates tokens from the given string which include CRLF as individual tokens.
       getin file HeaderSet.php, method Swift_Mime_HeaderSet::get()
        Get the header with the given $name.
       getin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::get()
        Get the header with the given $name.
       get7BitEncodingin file Encoding.php, method Swift_Encoding::get7BitEncoding()
        Get the Encoder that provides 7-bit encoding.
       get8BitEncodingin file Encoding.php, method Swift_Encoding::get8BitEncoding()
        Get the Encoder that provides 8-bit encoding.
       getAddressin file PathHeader.php, method Swift_Mime_Headers_PathHeader::getAddress()
        Get the address which is used in this Header (if any).
       getAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getAddresses()
        Get all email addresses in this Header.
       getAllin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::getAll()
        Get all headers with the given $name.
       getAllin file HeaderSet.php, method Swift_Mime_HeaderSet::getAll()
        Get all headers with the given $name.
       getAuthenticatorsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getAuthenticators()
        Get the Authenticators which can process a login request.
       getAuthKeywordin file PlainAuthenticator.php, method Swift_Transport_Esmtp_Auth_PlainAuthenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthKeywordin file CramMd5Authenticator.php, method Swift_Transport_Esmtp_Auth_CramMd5Authenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthKeywordin file LoginAuthenticator.php, method Swift_Transport_Esmtp_Auth_LoginAuthenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthKeywordin file Authenticator.php, method Swift_Transport_Esmtp_Authenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthModein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getAuthMode()
        Get the auth mode to use to authenticate.
       getBase64Encodingin file Encoding.php, method Swift_Encoding::getBase64Encoding()
        Get the Encoder that provides Base64 encoding.
       getBccin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getBcc()
        Get the Bcc addresses of this message.
       getBccin file Message.php, method Swift_Mime_Message::getBcc()
        Get the Bcc addresses for this message.
       getBodyin file MimeEntity.php, method Swift_Mime_MimeEntity::getBody()
        Get the body content of this entity as a string.
       getBodyin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getBody()
        Get the body of this entity as a string.
       getBoundaryin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getBoundary()
        Get the boundary used to separate children in this entity.
       getBufferin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::getBuffer()
        Get the IoBuffer where read/writes are occurring.
       getBufferin file SmtpAgent.php, method Swift_Transport_SmtpAgent::getBuffer()
        Get the IoBuffer where read/writes are occurring.
       getBytesInin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::getBytesIn()
        Get the total number of bytes received from the server.
       getBytesOutin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::getBytesOut()
        Get the total number of bytes sent to the server.
       getCachedValuein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getCachedValue()
        Get the value in the cache.
       getCcin file Message.php, method Swift_Mime_Message::getCc()
        Get the Cc addresses for this message.
       getCcin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getCc()
        Get the Cc address of this message.
       getCharPositionsin file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::getCharPositions()
        Returns the complete charactermap
       getCharPositionsin file CharacterReader.php, method Swift_CharacterReader::getCharPositions()
        Returns the complete charactermap
       getCharPositionsin file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::getCharPositions()
        Returns the complete charactermap
       getCharPositionsin file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::getCharPositions()
        Returns the complete charactermap
       getCharsetin file MimePart.php, method Swift_Mime_MimePart::getCharset()
        Get the character set of this entity.
       getCharsetin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getCharset()
        Get the character set used in this Header.
       getChildrenin file MimeEntity.php, method Swift_Mime_MimeEntity::getChildren()
        Get all children nested inside this entity.
       getChildrenin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getChildren()
        Get all children added to this entity.
       getCommandin file CommandEvent.php, method Swift_Events_CommandEvent::getCommand()
        Get the command which was sent to the server.
       getCommandin file SendmailTransport.php, method Swift_Transport_SendmailTransport::getCommand()
        Get the sendmail command which will be invoked.
       getContentTypein file MimeEntity.php, method Swift_Mime_MimeEntity::getContentType()
        Get the qualified content-type of this mime entity.
       getContentTypein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getContentType()
        Get the Content-type of this entity.
       getDatein file SimpleMessage.php, method Swift_Mime_SimpleMessage::getDate()
        Get the date at which this message was created.
       getDatein file Message.php, method Swift_Mime_Message::getDate()
        Get the origination date of the message as a UNIX timestamp.
       getDelSpin file MimePart.php, method Swift_Mime_MimePart::getDelSp()
        Test if delsp is being used for this entity.
       getDescriptionin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getDescription()
        Get the description of this entity.
       getDispositionin file Attachment.php, method Swift_Mime_Attachment::getDisposition()
        Get the Content-Disposition of this attachment.
       getEncodableWordTokensin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens()
        Splits a string into tokens in blocks of words which can be encoded quickly.
       getEncoderin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getEncoder()
        Get the encoder used for encoding this Header.
       getEncoderin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getEncoder()
        Get the encoder used for the body of this entity.
       getEncryptionin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getEncryption()
        Get the encryption type.
       getExceptionin file TransportExceptionEvent.php, method Swift_Events_TransportExceptionEvent::getException()
        Get the TransportException thrown.
       getExtensionHandlersin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getExtensionHandlers()
        Get ESMTP extension handlers.
       getExtraParamsin file MailTransport.php, method Swift_Transport_MailTransport::getExtraParams()
        Get the additional parameters used on the mail() function.
       getFailedRecipientsin file HitReporter.php, method Swift_Plugins_Reporters_HitReporter::getFailedRecipients()
        Get an array of addresses for which delivery failed.
       getFailedRecipientsin file SendEvent.php, method Swift_Events_SendEvent::getFailedRecipients()
        Get an recipient addresses which were not accepted for delivery.
       getFieldBodyin file Header.php, method Swift_Mime_Header::getFieldBody()
        Get the field body, prepared for folding into a final header value.
       getFieldBodyin file PathHeader.php, method Swift_Mime_Headers_PathHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getFieldBody()
        Get the value of this header prepared for rendering.
       getFieldBodyin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyin file DateHeader.php, method Swift_Mime_Headers_DateHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getFieldBody()
        Get the value of this header prepared for rendering.
       getFieldBodyModelin file Header.php, method Swift_Mime_Header::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file PathHeader.php, method Swift_Mime_Headers_PathHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file DateHeader.php, method Swift_Mime_Headers_DateHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldNamein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getFieldName()
        Get the name of this header (e.g. charset).
       getFieldNamein file Header.php, method Swift_Mime_Header::getFieldName()
        Get the name of this header (e.g. Subject).
       getFieldTypein file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file Header.php, method Swift_Mime_Header::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file DateHeader.php, method Swift_Mime_Headers_DateHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file PathHeader.php, method Swift_Mime_Headers_PathHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFilenamein file Attachment.php, method Swift_Mime_Attachment::getFilename()
        Get the filename of this attachment when downloaded.
       getFormatin file MimePart.php, method Swift_Mime_MimePart::getFormat()
        Get the format of this entity (i.e. flowed or fixed).
       getFromin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getFrom()
        Get the from address of this message.
       getFromin file Message.php, method Swift_Mime_Message::getFrom()
        Get the From address(es) of this message.
       getGrammarin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getGrammar()
        Get the grammar defined for $name token.
       getHandledKeywordin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getHandledKeyword()
        Get the name of the ESMTP extension this handles.
       getHandledKeywordin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getHandledKeyword()
        Get the name of the ESMTP extension this handles.
       getHeadersin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getHeaders()
        Get the Swift_Mime_HeaderSet for this entity.
       getHeadersin file MimeEntity.php, method Swift_Mime_MimeEntity::getHeaders()
        Get the collection of Headers in this Mime entity.
       getHostin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getHost()
        Get the host to connect to.
       getIdin file MimeEntity.php, method Swift_Mime_MimeEntity::getId()
        Returns a unique ID for this entity.
       getIdin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getId()
        Get the CID of this entity.
       getIdin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getId()
        Get the ID used in the value of this Header.
       getIdsin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getIds()
        Get the list of IDs used in this Header.
       getInitialByteSizein file CharacterReader.php, method Swift_CharacterReader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getInitialByteSizein file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getInitialByteSizein file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getInitialByteSizein file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getInputByteStreamin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getInputByteStreamin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getInputByteStreamin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getInputByteStreamin file KeyCache.php, method Swift_KeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getInstancein file DependencyContainer.php, method Swift_DependencyContainer::getInstance()
        Returns a singleton of the DependencyContainer.
       getLanguagein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getLanguage()
        Get the language used in this Header.
       getLocalDomainin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::getLocalDomain()
        Get the name of the domain Swift will identify as.
       getMailerin file YiiMail.php, method YiiMail::getMailer()
        Gets the SwiftMailer Swift_Mailer class instance
       getMailParamsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getMailParams()
        Get params which are appended to MAIL FROM:<>.
       getMailParamsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getMailParams()
        Not used.
       getMapTypein file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::getMapType()
        Returns mapType
       getMapTypein file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::getMapType()
        Returns mapType
       getMapTypein file CharacterReader.php, method Swift_CharacterReader::getMapType()
        Returns mapType
       getMapTypein file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::getMapType()
        Returns mapType
       getMaxLineLengthin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getMaxLineLength()
        Get the maximum line length of the body of this entity.
       getMaxLineLengthin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getMaxLineLength()
        Get the maximum permitted length of lines in this Header.
       getMessagein file SendEvent.php, method Swift_Events_SendEvent::getMessage()
        Get the Message being sent.
       getNamein file Base64ContentEncoder.php, method Swift_Mime_ContentEncoder_Base64ContentEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file Base64HeaderEncoder.php, method Swift_Mime_HeaderEncoder_Base64HeaderEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file HeaderEncoder.php, method Swift_Mime_HeaderEncoder::getName()
        Get the MIME name of this content encoding scheme.
       getNamein file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file ContentEncoder.php, method Swift_Mime_ContentEncoder::getName()
        Get the MIME name of this content encoding scheme.
       getNamein file QpContentEncoder.php, method Swift_Mime_ContentEncoder_QpContentEncoder::getName()
        Get the name of this encoding scheme.
       getNameAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getNameAddresses()
        Get all mailboxes in this Header as key=>value pairs.
       getNameAddressStringsin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getNameAddressStrings()
        Get the full mailbox list of this Header as an array of valid RFC 2822 strings.
       getNestingLevelin file EmbeddedFile.php, method Swift_Mime_EmbeddedFile::getNestingLevel()
        Get the nesting level of this EmbeddedFile.
       getNestingLevelin file Attachment.php, method Swift_Mime_Attachment::getNestingLevel()
        Get the nesting level used for this attachment.
       getNestingLevelin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getNestingLevel()
        Always returns LEVEL_TOP for a message instance.
       getNestingLevelin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getNestingLevel()
        Get the nesting level of this entity.
       getNestingLevelin file MimeEntity.php, method Swift_Mime_MimeEntity::getNestingLevel()
        Get the level at which this entity shall be nested in final document.
       getNestingLevelin file MimePart.php, method Swift_Mime_MimePart::getNestingLevel()
        Get the nesting level of this entity.
       getParameterin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getParameter()
        Get the value of $parameter.
       getParameterin file ParameterizedHeader.php, method Swift_Mime_ParameterizedHeader::getParameter()
        Get the value of $parameter.
       getParametersin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getParameters()
        Returns an associative array of parameter names mapped to values.
       getPasswordin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getPassword()
        Get the password to authenticate with.
       getPathin file FileStream.php, method Swift_FileStream::getPath()
        Get the complete path to the file.
       getPathin file FileByteStream.php, method Swift_ByteStream_FileByteStream::getPath()
        Get the complete path to the file.
       getPortin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getPort()
        Get the port to connect to.
       getPriorityin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getPriority()
        Get the priority of this message.
       getPriorityOverin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getPriorityOver()
        Returns +1, -1 or 0 according to the rules for usort().
       getPriorityOverin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getPriorityOver()
        Returns +1, -1 or 0 according to the rules for usort().
       getQpEncodingin file Encoding.php, method Swift_Encoding::getQpEncoding()
        Get the Encoder that provides Quoted-Printable (QP) encoding.
       getRcptParamsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getRcptParams()
        Get params which are appended to RCPT TO:<>.
       getRcptParamsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getRcptParams()
        Not used.
       getReaderForin file CharacterReaderFactory.php, method Swift_CharacterReaderFactory::getReaderFor()
        Returns a CharacterReader suitable for the charset applied.
       getReaderForin file SimpleCharacterReaderFactory.php, method Swift_CharacterReaderFactory_SimpleCharacterReaderFactory::getReaderFor()
        Returns a CharacterReader suitable for the charset applied.
       getReadReceiptToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getReadReceiptTo()
        Get the addresses to which a read-receipt will be sent.
       getReplacementsForin file Replacements.php, method Swift_Plugins_Decorator_Replacements::getReplacementsFor()
        Return the array of replacements for $address.
       getReplacementsForin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::getReplacementsFor()
        Find a map of replacements for the address.
       getReplyToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getReplyTo()
        Get the reply-to address of this message.
       getReplyToin file Message.php, method Swift_Mime_Message::getReplyTo()
        Get the Reply-To addresses for this message.
       getResponsein file ResponseEvent.php, method Swift_Events_ResponseEvent::getResponse()
        Get the response which was received from the server.
       getResultin file SendEvent.php, method Swift_Events_SendEvent::getResult()
        Get the result of this Event.
       getReturnPathin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getReturnPath()
        Get the return-path (bounce address) of this message.
       getReturnPathin file Message.php, method Swift_Mime_Message::getReturnPath()
        Get the return-path (bounce-detect) address.
       getSenderin file Message.php, method Swift_Mime_Message::getSender()
        Get the sender address for this message.
       getSenderin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getSender()
        Get the sender of this message.
       getSizein file Attachment.php, method Swift_Mime_Attachment::getSize()
        Get the file size of this attachment.
       getSleepTimein file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::getSleepTime()
        Get the number of seconds to sleep for during a restart.
       getSourcein file EventObject.php, method Swift_Events_EventObject::getSource()
        Get the source object of this event.
       getSourcein file Event.php, method Swift_Events_Event::getSource()
        Get the source object of this event.
       getStringin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::getString()
        Get data back out of the cache as a string.
       getStringin file KeyCache.php, method Swift_KeyCache::getString()
        Get data back out of the cache as a string.
       getStringin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::getString()
        Get data back out of the cache as a string.
       getStringin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::getString()
        Get data back out of the cache as a string.
       getSubjectin file Message.php, method Swift_Mime_Message::getSubject()
        Get the subject of the message.
       getSubjectin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getSubject()
        Get the subject of this message.
       getSuccessCodesin file CommandEvent.php, method Swift_Events_CommandEvent::getSuccessCodes()
        Get the numeric response codes which indicate success for this command.
       getThresholdin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::getThreshold()
        Get the number of emails to send before restarting.
       getTimeoutin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getTimeout()
        Get the connection timeout.
       getTimestampin file DateHeader.php, method Swift_Mime_Headers_DateHeader::getTimestamp()
        Get the UNIX timestamp of the Date in this Header.
       getTimestampin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::getTimestamp()
        Get the current UNIX timestamp
       getTimestampin file Timer.php, method Swift_Plugins_Timer::getTimestamp()
        Get the current UNIX timestamp.
       getToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getTo()
        Get the To addresses of this message.
       getToin file Message.php, method Swift_Mime_Message::getTo()
        Get the To addresses for this message.
       getTokenAsEncodedWordin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord()
        Get a token as an encoded word for safe insertion into headers.
       getTransportin file YiiMail.php, method YiiMail::getTransport()
        Gets the SwiftMailer transport class instance, initializing it if it has
       getTransportin file Mailer.php, method Swift_Mailer::getTransport()
        The Transport used to send messages.
       getTransportin file TransportChangeEvent.php, method Swift_Events_TransportChangeEvent::getTransport()
        Get the Transport.
       getTransportin file SendEvent.php, method Swift_Events_SendEvent::getTransport()
        Get the Transport used to send the Message.
       getTransportsin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::getTransports()
        Get $transports to delegate to.
       getUsernamein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getUsername()
        Get the username to authenticate with.
       getValuein file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getValue()
        Get the (unencoded) value of this header.
       GenericFixedWidthReader.phpprocedural page GenericFixedWidthReader.php
    h  + top
       hasin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::has()
        Returns true if at least one header with the given $name exists.
       hasin file DependencyContainer.php, method Swift_DependencyContainer::has()
        Test if an item is registered in this container with the given name.
       hasin file HeaderSet.php, method Swift_Mime_HeaderSet::has()
        Returns true if at least one header with the given $name exists.
       hasKeyin file KeyCache.php, method Swift_KeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasKeyin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasKeyin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasKeyin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasNextin file RecipientIterator.php, method Swift_Mailer_RecipientIterator::hasNext()
        Returns true only if there are more recipients to send to.
       hasNextin file ArrayRecipientIterator.php, method Swift_Mailer_ArrayRecipientIterator::hasNext()
        Returns true only if there are more recipients to send to.
       Header.phpprocedural page Header.php
       HeaderEncoder.phpprocedural page HeaderEncoder.php
       HeaderFactory.phpprocedural page HeaderFactory.php
       HeaderSet.phpprocedural page HeaderSet.php
       HitReporter.phpprocedural page HitReporter.php
       HtmlReporter.phpprocedural page HtmlReporter.php
    i  + top
       importByteStreamin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::importByteStream()
        Overwrite this character stream using the byte sequence in the byte stream.
       importByteStreamin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::importByteStream()
       importByteStreamin file CharacterStream.php, method Swift_CharacterStream::importByteStream()
        Overwrite this character stream using the byte sequence in the byte stream.
       importFromByteStreamin file KeyCache.php, method Swift_KeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       importFromByteStreamin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       importFromByteStreamin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       importFromByteStreamin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       importStringin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::importString()
       importStringin file CharacterStream.php, method Swift_CharacterStream::importString()
        Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
       importStringin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::importString()
        Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
       initin file YiiMail.php, method YiiMail::init()
        Calls the registerScripts() method.
       initializein file IoBuffer.php, method Swift_Transport_IoBuffer::initialize()
        Perform any initialization needed, using the given $params.
       initializein file StreamBuffer.php, method Swift_Transport_StreamBuffer::initialize()
        Perform any initialization needed, using the given $params.
       initializeGrammarin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::initializeGrammar()
        Initialize some RFC 2822 (and friends) ABNF grammar definitions.
       isStartedin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::isStarted()
        Test if an SMTP connection has been established.
       isStartedin file Transport.php, method Swift_Transport::isStarted()
        Test if this Transport mechanism has started.
       isStartedin file MailTransport.php, method Swift_Transport_MailTransport::isStarted()
        Not used.
       isStartedin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::isStarted()
        Test if this Transport mechanism has started.
       isValidin file ResponseEvent.php, method Swift_Events_ResponseEvent::isValid()
        Get the success status of this Event.
       Image.phpprocedural page Image.php
       InputByteStream.phpprocedural page InputByteStream.php
       IoException.phpprocedural page IoException.php
       IdentificationHeader.phpprocedural page IdentificationHeader.php
       IoBuffer.phpprocedural page IoBuffer.php
    k  + top
       KeyCacheInputStream.phpprocedural page KeyCacheInputStream.php
       KeyCache.phpprocedural page KeyCache.php
    l  + top
       $loggingin file YiiMail.php, variable YiiMail::$logging
       LEVEL_ALTERNATIVEin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_ALTERNATIVE
        An entity which nests with the same precedence as a mime part
       LEVEL_MIXEDin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_MIXED
        An entity which nests with the same precedence as an attachment
       LEVEL_RELATEDin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_RELATED
        An entity which nests with the same precedence as embedded content
       LEVEL_TOPin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_TOP
        Main message document; there can only be one of these
       listItemsin file DependencyContainer.php, method Swift_DependencyContainer::listItems()
        List the names of all items stored in the Container.
       login file YiiMail.php, method YiiMail::log()
        Logs a YiiMailMessage in a (hopefully) readable way using Yii::log (as long as $this->logging is set to true).
       lookupin file DependencyContainer.php, method Swift_DependencyContainer::lookup()
        Lookup the item with the given $itemName.
       LoadBalancedTransport.phpprocedural page LoadBalancedTransport.php
       Logger.phpprocedural page Logger.php
       LoggerPlugin.phpprocedural page LoggerPlugin.php
       LoginAuthenticator.phpprocedural page LoginAuthenticator.php
       LoadBalancedTransport.phpprocedural page LoadBalancedTransport.php
    m  + top
       $mailerin file YiiMail.php, variable YiiMail::$mailer
       $messagein file YiiMailMessage.php, variable YiiMailMessage::$message
       mailin file MailInvoker.php, method Swift_Transport_MailInvoker::mail()
        Send mail via the mail() function.
       mailin file SimpleMailInvoker.php, method Swift_Transport_SimpleMailInvoker::mail()
        Send mail via the mail() function.
       MAP_TYPE_FIXED_LENin file CharacterReader.php, class constant Swift_CharacterReader::MAP_TYPE_FIXED_LEN
       MAP_TYPE_INVALIDin file CharacterReader.php, class constant Swift_CharacterReader::MAP_TYPE_INVALID
       MAP_TYPE_POSITIONSin file CharacterReader.php, class constant Swift_CharacterReader::MAP_TYPE_POSITIONS
       MESSAGES_PER_MINUTEin file ThrottlerPlugin.php, class constant Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE
        Flag for throttling in emails per minute
       MODE_APPENDin file KeyCache.php, class constant Swift_KeyCache::MODE_APPEND
        Mode for appending data to the end of existing cached data
       MODE_WRITEin file KeyCache.php, class constant Swift_KeyCache::MODE_WRITE
        Mode for replacing existing cached data
       Mailer.phpprocedural page Mailer.php
       MailTransport.phpprocedural page MailTransport.php
       Message.phpprocedural page Message.php
       MailboxHeader.phpprocedural page MailboxHeader.php
       Message.phpprocedural page Message.php
       MimeEntity.phpprocedural page MimeEntity.php
       MimePart.phpprocedural page MimePart.php
       MimePart.phpprocedural page MimePart.php
       MailInvoker.phpprocedural page MailInvoker.php
       MailTransport.phpprocedural page MailTransport.php
    n  + top
       newInstancein file MimePart.php, method Swift_MimePart::newInstance()
        Create a new MimePart.
       newInstancein file Message.php, method Swift_Message::newInstance()
        Create a new Message.
       newInstancein file MailTransport.php, method Swift_MailTransport::newInstance()
        Create a new MailTransport instance.
       newInstancein file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::newInstance()
        Create a new PopBeforeSmtpPlugin for $host and $port.
       newInstancein file SendmailTransport.php, method Swift_SendmailTransport::newInstance()
        Create a new SendmailTransport instance.
       newInstancein file SmtpTransport.php, method Swift_SmtpTransport::newInstance()
        Create a new SmtpTransport instance.
       newInstancein file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::newInstance()
        Create a new instance of this HeaderSet.
       newInstancein file LoadBalancedTransport.php, method Swift_LoadBalancedTransport::newInstance()
        Create a new LoadBalancedTransport instance.
       newInstancein file Mailer.php, method Swift_Mailer::newInstance()
        Create a new Mailer instance.
       newInstancein file HeaderSet.php, method Swift_Mime_HeaderSet::newInstance()
        Create a new instance of this HeaderSet.
       newInstancein file FailoverTransport.php, method Swift_FailoverTransport::newInstance()
        Create a new FailoverTransport instance.
       newInstancein file EmbeddedFile.php, method Swift_EmbeddedFile::newInstance()
        Create a new EmbeddedFile.
       newInstancein file Attachment.php, method Swift_Attachment::newInstance()
        Create a new Attachment.
       newInstancein file Image.php, method Swift_Image::newInstance()
        Create a new Image.
       nextRecipientin file RecipientIterator.php, method Swift_Mailer_RecipientIterator::nextRecipient()
        Returns an array where the keys are the addresses of recipients and the values are the names.
       nextRecipientin file ArrayRecipientIterator.php, method Swift_Mailer_ArrayRecipientIterator::nextRecipient()
        Returns an array where the keys are the addresses of recipients and the values are the names.
       normalizeMailboxesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::normalizeMailboxes()
        Normalizes a user-input list of mailboxes into consistent key=>value pairs.
       notifyin file Reporter.php, method Swift_Plugins_Reporter::notify()
        Notifies this ReportNotifier that $address failed or succeeded.
       notifyin file HitReporter.php, method Swift_Plugins_Reporters_HitReporter::notify()
        Notifies this ReportNotifier that $address failed or succeeded.
       notifyin file HtmlReporter.php, method Swift_Plugins_Reporters_HtmlReporter::notify()
        Notifies this ReportNotifier that $address failed or succeeded.
       NgCharacterStream.phpprocedural page NgCharacterStream.php
       NullKeyCache.phpprocedural page NullKeyCache.php
    o  + top
       onCommandin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::onCommand()
        Not used.
       onCommandin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::onCommand()
        Runs when a command is due to be sent.
       OutputByteStream.phpprocedural page OutputByteStream.php
    p  + top
       POSITION_ENDin file DiskKeyCache.php, class constant Swift_KeyCache_DiskKeyCache::POSITION_END
        Signal to place pointer at end of file
       POSITION_STARTin file DiskKeyCache.php, class constant Swift_KeyCache_DiskKeyCache::POSITION_START
        Signal to place pointer at start of file
       PlainContentEncoder.phpprocedural page PlainContentEncoder.php
       ParameterizedHeader.phpprocedural page ParameterizedHeader.php
       PathHeader.phpprocedural page PathHeader.php
       ParameterizedHeader.phpprocedural page ParameterizedHeader.php
       Pop3Connection.phpprocedural page Pop3Connection.php
       Pop3Exception.phpprocedural page Pop3Exception.php
       PopBeforeSmtpPlugin.phpprocedural page PopBeforeSmtpPlugin.php
       PlainAuthenticator.phpprocedural page PlainAuthenticator.php
    q  + top
       QpEncoder.phpprocedural page QpEncoder.php
       QpContentEncoder.phpprocedural page QpContentEncoder.php
       QpHeaderEncoder.phpprocedural page QpHeaderEncoder.php
    r  + top
       readin file FileByteStream.php, method Swift_ByteStream_FileByteStream::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       readin file OutputByteStream.php, method Swift_OutputByteStream::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       readin file StreamBuffer.php, method Swift_Transport_StreamBuffer::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       readin file CharacterStream.php, method Swift_CharacterStream::read()
        Read $length characters from the stream and move the internal pointer $length further into the stream.
       readin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::read()
       readin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::read()
        Read $length characters from the stream and move the internal pointer $length further into the stream.
       readin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       readBytesin file CharacterStream.php, method Swift_CharacterStream::readBytes()
        Read $length characters from the stream and return a 1-dimensional array containing there octet values.
       readBytesin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::readBytes()
       readBytesin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::readBytes()
        Read $length characters from the stream and return a 1-dimensional array containing there octet values.
       readLinein file StreamBuffer.php, method Swift_Transport_StreamBuffer::readLine()
        Get a line of output (including any CRLF).
       readLinein file IoBuffer.php, method Swift_Transport_IoBuffer::readLine()
        Get a line of output (including any CRLF).
       registerin file DependencyContainer.php, method Swift_DependencyContainer::register()
        Register a new dependency with $itemName.
       registerAutoloadin file Swift.php, method Swift::registerAutoload()
        Configure autoloading using Swift Mailer.
       registerPluginin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::registerPlugin()
        Register a plugin.
       registerPluginin file Transport.php, method Swift_Transport::registerPlugin()
        Register a plugin in the Transport.
       registerPluginin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::registerPlugin()
        Register a plugin.
       registerPluginin file Mailer.php, method Swift_Mailer::registerPlugin()
        Register a plugin using a known unique key (e.g. myPlugin).
       registerPluginin file MailTransport.php, method Swift_Transport_MailTransport::registerPlugin()
        Register a plugin.
       registerScriptsin file YiiMail.php, method YiiMail::registerScripts()
        Registers swiftMailer autoloader and includes the required files
       removein file HeaderSet.php, method Swift_Mime_HeaderSet::remove()
        Remove the header with the given $name if it's set.
       removein file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::remove()
        Remove the header with the given $name if it's set.
       removeAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::removeAddresses()
        Remove one or more addresses from this Header.
       removeAllin file HeaderSet.php, method Swift_Mime_HeaderSet::removeAll()
        Remove all headers with the given $name.
       removeAllin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::removeAll()
        Remove all headers with the given $name.
       removeFilterin file Filterable.php, method Swift_Filterable::removeFilter()
        Remove an existing filter using $key.
       removeFilterin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::removeFilter()
        Remove an already present StreamFilter based on its $key.
       resetin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::reset()
        Reset the internal counters to zero.
       resetin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::reset()
        Reset the current mail transaction.
       resetStatein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::resetState()
        Not used.
       resetStatein file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::resetState()
        Tells this handler to clear any buffers and reset its state.
       responseReceivedin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::responseReceived()
        Invoked immediately following a response coming back.
       responseReceivedin file ResponseListener.php, method Swift_Events_ResponseListener::responseReceived()
        Invoked immediately following a response coming back.
       responseReceivedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::responseReceived()
        Invoked immediately following a response coming back.
       RESULT_FAILin file Reporter.php, class constant Swift_Plugins_Reporter::RESULT_FAIL
        The recipient could not be accepted
       RESULT_FAILEDin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_FAILED
        Sending failed
       RESULT_PASSin file Reporter.php, class constant Swift_Plugins_Reporter::RESULT_PASS
        The recipient was accepted for delivery
       RESULT_PENDINGin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_PENDING
        Sending has yet to occur
       RESULT_SUCCESSin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_SUCCESS
        Sending was successful
       RESULT_TENTATIVEin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_TENTATIVE
        Sending worked, but there were some failures
       Rfc2231Encoder.phpprocedural page Rfc2231Encoder.php
       ResponseEvent.phpprocedural page ResponseEvent.php
       ResponseListener.phpprocedural page ResponseListener.php
       RecipientIterator.phpprocedural page RecipientIterator.php
       Replacements.phpprocedural page Replacements.php
       Reporter.phpprocedural page Reporter.php
       ReporterPlugin.phpprocedural page ReporterPlugin.php
       ReplacementFilterFactory.phpprocedural page ReplacementFilterFactory.php
       RfcComplianceException.phpprocedural page RfcComplianceException.php
    s  + top
       sendin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::send()
        Send the given Message.
       sendin file YiiMail.php, method YiiMail::send()
        Send a YiiMailMessage as it would be sent in a mail client.
       sendin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::send()
        Send the given Message.
       sendin file Transport.php, method Swift_Transport::send()
        Send the given Message.
       sendin file FailoverTransport.php, method Swift_Transport_FailoverTransport::send()
        Send the given Message.
       sendin file Mailer.php, method Swift_Mailer::send()
        Send the given Message like it would be sent in a mail client.
       sendin file SendmailTransport.php, method Swift_Transport_SendmailTransport::send()
        Send the given Message.
       sendin file MailTransport.php, method Swift_Transport_MailTransport::send()
        Send the given Message.
       sendPerformedin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file ReporterPlugin.php, method Swift_Plugins_ReporterPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file SendListener.php, method Swift_Events_SendListener::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::sendPerformed()
        Invoked when a Message is sent.
       sendSimplein file YiiMail.php, method YiiMail::sendSimple()
        Sends a message in an extremly simple but less extensive way.
       setin file HeaderSet.php, method Swift_Mime_HeaderSet::set()
        Set a header in the HeaderSet.
       setin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::set()
        Set a header in the HeaderSet.
       setAddressin file PathHeader.php, method Swift_Mime_Headers_PathHeader::setAddress()
        Set the Address which should appear in this Header.
       setAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::setAddresses()
        Makes this Header represent a list of plain email addresses with no names.
       setAlwaysDisplayedin file HeaderSet.php, method Swift_Mime_HeaderSet::setAlwaysDisplayed()
        Set a list of header names which must always be displayed when set.
       setAlwaysDisplayedin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::setAlwaysDisplayed()
        Set a list of header names which must always be displayed when set.
       setAuthenticatorsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setAuthenticators()
        Set the Authenticators which can process a login request.
       setAuthModein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setAuthMode()
        Set the auth mode to use to authenticate.
       setBccin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setBcc()
        Set the Bcc addresses of this message.
       setBccin file Message.php, method Swift_Mime_Message::setBcc()
        Set the Bcc address(es).
       setBodyin file MimeEntity.php, method Swift_Mime_MimeEntity::setBody()
        Set the body content of this entity as a string.
       setBodyin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setBody()
        Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.
       setBodyin file YiiMailMessage.php, method YiiMailMessage::setBody()
        Set the body of this entity, either as a string, or array of view variables if a view is set, or as an instance of Swift_OutputByteStream.
       setBodyin file MimePart.php, method Swift_Mime_MimePart::setBody()
        Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.
       setBoundaryin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setBoundary()
        Set the boundary used to separate children in this entity.
       setCachedValuein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setCachedValue()
        Set a value into the cache.
       setCcin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setCc()
        Set the Cc addresses of this message.
       setCcin file Message.php, method Swift_Mime_Message::setCc()
        Set the Cc address(es).
       setCharacterReaderFactoryin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::setCharacterReaderFactory()
        Set the CharacterReaderFactory for multi charset support.
       setCharacterReaderFactoryin file CharacterStream.php, method Swift_CharacterStream::setCharacterReaderFactory()
        Set the CharacterReaderFactory for multi charset support.
       setCharacterReaderFactoryin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::setCharacterReaderFactory()
        Set the CharacterReaderFactory for multi charset support.
       setCharacterSetin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::setCharacterSet()
        Set the character set used in this CharacterStream.
       setCharacterSetin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::setCharacterSet()
        Set the character set used in this CharacterStream.
       setCharacterSetin file CharacterStream.php, method Swift_CharacterStream::setCharacterSet()
        Set the character set used in this CharacterStream.
       setCharsetin file MimePart.php, method Swift_Mime_MimePart::setCharset()
        Set the character set of this entity.
       setCharsetin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::setCharset()
        Set the character set used in this Header.
       setCharsetin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::setCharset()
        Set the charset used by these headers.
       setCharsetin file Header.php, method Swift_Mime_Header::setCharset()
        Set the charset used when rendering the Header.
       setCharsetin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setCharset()
        Set the character set used in this Header.
       setChildrenin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setChildren()
        Set all children of this entity.
       setChildrenin file MimeEntity.php, method Swift_Mime_MimeEntity::setChildren()
        Set all children nested inside this entity.
       setCommandin file SendmailTransport.php, method Swift_Transport_SendmailTransport::setCommand()
        Set the command to invoke.
       setConnectionin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setConnection()
        Set a Pop3Connection to delegate to instead of connecting directly.
       setContentTypein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setContentType()
        Set the Content-type of this entity.
       setDatein file SimpleMessage.php, method Swift_Mime_SimpleMessage::setDate()
        Set the date at which this message was created.
       setDatein file Message.php, method Swift_Mime_Message::setDate()
        Set the origination date of the message as a UNIX timestamp.
       setDelSpin file MimePart.php, method Swift_Mime_MimePart::setDelSp()
        Turn delsp on or off for this entity.
       setDescriptionin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setDescription()
        Set the description of this entity.
       setDispositionin file Attachment.php, method Swift_Mime_Attachment::setDisposition()
        Set the Content-Disposition of this attachment.
       setEncoderin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setEncoder()
        Set the encoder used for the body of this entity.
       setEncoderin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setEncoder()
        Set the encoder used for encoding the header.
       setEncryptionin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setEncryption()
        Set the encryption type (tls or ssl)
       setExtensionHandlersin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setExtensionHandlers()
        Set ESMTP extension handlers.
       setExtraParamsin file MailTransport.php, method Swift_Transport_MailTransport::setExtraParams()
        Set the additional parameters used on the mail() function.
       setFailedRecipientsin file SendEvent.php, method Swift_Events_SendEvent::setFailedRecipients()
        Set the array of addresses that failed in sending.
       setFieldBodyModelin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file PathHeader.php, method Swift_Mime_Headers_PathHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file DateHeader.php, method Swift_Mime_Headers_DateHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file Header.php, method Swift_Mime_Header::setFieldBodyModel()
        Set the model for the field body.
       setFieldNamein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setFieldName()
        Set the name of this Header field.
       setFilein file Attachment.php, method Swift_Mime_Attachment::setFile()
        Set the file that this attachment is for.
       setFilenamein file Attachment.php, method Swift_Mime_Attachment::setFilename()
        Set the filename of this attachment.
       setFormatin file MimePart.php, method Swift_Mime_MimePart::setFormat()
        Set the format of this entity (flowed or fixed).
       setFromin file Message.php, method Swift_Mime_Message::setFrom()
        Set the From address of this message.
       setFromin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setFrom()
        Set the from address of this message.
       setHostin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setHost()
        Set the host to connect to.
       setIdin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::setId()
        Set the ID used in the value of this header.
       setIdin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setId()
        Set the CID of this entity.
       setIdsin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::setIds()
        Set a collection of IDs to use in the value of this Header.
       setItemKeyin file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setItemKey()
        Set the itemKey which will be written to.
       setItemKeyin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setItemKey()
        Set the itemKey which will be written to.
       setKeyCachein file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setKeyCache()
        Set the KeyCache to wrap.
       setKeyCachein file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setKeyCache()
        Set the KeyCache to wrap.
       setKeywordParamsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setKeywordParams()
        Set the parameters which the EHLO greeting indicated.
       setKeywordParamsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::setKeywordParams()
        Set the parameters which the EHLO greeting indicated.
       setLanguagein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setLanguage()
        Set the language used in this Header.
       setLocalDomainin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::setLocalDomain()
        Set the name of the local domain which Swift will identify itself as.
       setMaxLineLengthin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setMaxLineLength()
        Set the maximum line length of lines in this body.
       setMaxLineLengthin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setMaxLineLength()
        Set the maximum length of lines in the header (excluding EOL).
       setNameAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::setNameAddresses()
        Set a list of mailboxes to be shown in this Header.
       setNsKeyin file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setNsKey()
        Set the nsKey which will be written to.
       setNsKeyin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setNsKey()
        Set the nsKey which will be written to.
       setParamin file IoBuffer.php, method Swift_Transport_IoBuffer::setParam()
        Set an individual param on the buffer (e.g. switching to SSL).
       setParamin file StreamBuffer.php, method Swift_Transport_StreamBuffer::setParam()
        Set an individual param on the buffer (e.g. switching to SSL).
       setParameterin file ParameterizedHeader.php, method Swift_Mime_ParameterizedHeader::setParameter()
        Set the value of $parameter.
       setParameterin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::setParameter()
        Set the value of $parameter.
       setParametersin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::setParameters()
        Set an associative array of parameter names mapped to values.
       setPasswordin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setPassword()
        Set the password to authenticate with.
       setPasswordin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setPassword()
        Set the password to use when connecting (if needed).
       setPointerin file CharacterStream.php, method Swift_CharacterStream::setPointer()
        Move the internal pointer to $charOffset in the stream.
       setPointerin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::setPointer()
        Move the internal pointer to $charOffset in the stream.
       setPointerin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::setPointer()
       setPortin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setPort()
        Set the port to connect to.
       setPriorityin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setPriority()
        Set the priority of this message.
       setReadPointerin file StreamBuffer.php, method Swift_Transport_StreamBuffer::setReadPointer()
        Not implemented
       setReadPointerin file FileByteStream.php, method Swift_ByteStream_FileByteStream::setReadPointer()
        Move the internal read pointer to $byteOffset in the stream.
       setReadPointerin file OutputByteStream.php, method Swift_OutputByteStream::setReadPointer()
        Move the internal read pointer to $byteOffset in the stream.
       setReadPointerin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::setReadPointer()
        Move the internal read pointer to $byteOffset in the stream.
       setReadReceiptToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setReadReceiptTo()
        Ask for a delivery receipt from the recipient to be sent to $addresses
       setReplyToin file Message.php, method Swift_Mime_Message::setReplyTo()
        Set the Reply-To address(es).
       setReplyToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setReplyTo()
        Set the reply-to address of this message.
       setResultin file SendEvent.php, method Swift_Events_SendEvent::setResult()
        Set the result of sending.
       setReturnPathin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setReturnPath()
        Set the return-path (the bounce address) of this message.
       setReturnPathin file Message.php, method Swift_Mime_Message::setReturnPath()
        Set the return-path (bounce-detect) address.
       setSenderin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setSender()
        Set the sender of this message.
       setSenderin file Message.php, method Swift_Mime_Message::setSender()
        Set the sender of this message.
       setSizein file Attachment.php, method Swift_Mime_Attachment::setSize()
        Set the file size of this attachment.
       setSleepTimein file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::setSleepTime()
        Set the number of seconds to sleep for during a restart.
       setStringin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setStringin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setStringin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setStringin file KeyCache.php, method Swift_KeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setSubjectin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setSubject()
        Set the subject of this message.
       setSubjectin file Message.php, method Swift_Mime_Message::setSubject()
        Set the subject of the message.
       setThresholdin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::setThreshold()
        Set the number of emails to send before restarting.
       setTimeoutin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setTimeout()
        Set the connection timeout.
       setTimeoutin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setTimeout()
        Set the connection timeout in seconds (default 10).
       setTimestampin file DateHeader.php, method Swift_Mime_Headers_DateHeader::setTimestamp()
        Set the UNIX timestamp of the Date in this Header.
       setToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setTo()
        Set the to addresses of this message.
       setToin file Message.php, method Swift_Mime_Message::setTo()
        Set the To address(es).
       setTransportsin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::setTransports()
        Set $transports to delegate to.
       setUsernamein file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setUsername()
        Set the username to use when connecting (if needed).
       setUsernamein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setUsername()
        Set the username to authenticate with.
       setValuein file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::setValue()
        Set the (unencoded) value of this header.
       setWriteThroughStreamin file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setWriteThroughStream()
        Specify a stream to write through for each write().
       setWriteThroughStreamin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setWriteThroughStream()
        Specify a stream to write through for each write().
       setWriteTranslationsin file StreamBuffer.php, method Swift_Transport_StreamBuffer::setWriteTranslations()
        Set an array of string replacements which should be made on data written to the buffer. This could replace LF with CRLF for example.
       setWriteTranslationsin file IoBuffer.php, method Swift_Transport_IoBuffer::setWriteTranslations()
        Set an array of string replacements which should be made on data written to the buffer. This could replace LF with CRLF for example.
       shouldBufferin file StringReplacementFilter.php, method Swift_StreamFilters_StringReplacementFilter::shouldBuffer()
        Returns true if based on the buffer passed more bytes should be buffered.
       shouldBufferin file ByteArrayReplacementFilter.php, method Swift_StreamFilters_ByteArrayReplacementFilter::shouldBuffer()
        Returns true if based on the buffer passed more bytes should be buffered.
       shouldBufferin file StreamFilter.php, method Swift_StreamFilter::shouldBuffer()
        Based on the buffer given, this returns true if more buffering is needed.
       sleepin file Sleeper.php, method Swift_Plugins_Sleeper::sleep()
        Sleep for $seconds.
       sleepin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::sleep()
        Sleep for $seconds.
       sleepin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::sleep()
        Sleep for $seconds.
       startin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::start()
        Start this Transport mechanism.
       startin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::start()
        Start the SMTP connection.
       startin file MailTransport.php, method Swift_Transport_MailTransport::start()
        Not used.
       startin file SendmailTransport.php, method Swift_Transport_SendmailTransport::start()
        Start the standalone SMTP session if running in -bs mode.
       startin file Transport.php, method Swift_Transport::start()
        Start this Transport mechanism.
       stopin file MailTransport.php, method Swift_Transport_MailTransport::stop()
        Not used.
       stopin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::stop()
        Stop the SMTP connection.
       stopin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::stop()
        Stop this Transport mechanism.
       stopin file Transport.php, method Swift_Transport::stop()
        Stop this Transport mechanism.
       Swiftin file Swift.php, class Swift
        General utility class in Swift Mailer, not to be instantiated.
       Swift_Attachmentin file Attachment.php, class Swift_Attachment
        Attachment class for attaching files to a Swift_Mime_Message.
       Swift_ByteStream_AbstractFilterableInputStreamin file AbstractFilterableInputStream.php, class Swift_ByteStream_AbstractFilterableInputStream
        Provides the base functionality for an InputStream supporting filters.
       Swift_ByteStream_ArrayByteStreamin file ArrayByteStream.php, class Swift_ByteStream_ArrayByteStream
        Allows reading and writing of bytes to and from an array.
       Swift_ByteStream_FileByteStreamin file FileByteStream.php, class Swift_ByteStream_FileByteStream
        Allows reading and writing of bytes to and from a file.
       Swift_CharacterReaderin file CharacterReader.php, class Swift_CharacterReader
        Analyzes characters for a specific character set.
       Swift_CharacterReaderFactoryin file CharacterReaderFactory.php, class Swift_CharacterReaderFactory
        A factory for creating CharacterReaders.
       Swift_CharacterReaderFactory_SimpleCharacterReaderFactoryin file SimpleCharacterReaderFactory.php, class Swift_CharacterReaderFactory_SimpleCharacterReaderFactory
        Standard factory for creating CharacterReaders.
       Swift_CharacterReader_GenericFixedWidthReaderin file GenericFixedWidthReader.php, class Swift_CharacterReader_GenericFixedWidthReader
        Provides fixed-width byte sizes for reading fixed-width character sets.
       Swift_CharacterReader_UsAsciiReaderin file UsAsciiReader.php, class Swift_CharacterReader_UsAsciiReader
        Analyzes US-ASCII characters.
       Swift_CharacterReader_Utf8Readerin file Utf8Reader.php, class Swift_CharacterReader_Utf8Reader
        Analyzes UTF-8 characters.
       Swift_CharacterStreamin file CharacterStream.php, class Swift_CharacterStream
        An abstract means of reading and writing data in terms of characters as opposed to bytes.
       Swift_CharacterStream_ArrayCharacterStreamin file ArrayCharacterStream.php, class Swift_CharacterStream_ArrayCharacterStream
        A CharacterStream implementation which stores characters in an internal array.
       Swift_CharacterStream_NgCharacterStreamin file NgCharacterStream.php, class Swift_CharacterStream_NgCharacterStream
        A CharacterStream implementation which stores characters in an internal array.
       Swift_DependencyContainerin file DependencyContainer.php, class Swift_DependencyContainer
        Dependency Injection container.
       Swift_DependencyExceptionin file DependencyException.php, class Swift_DependencyException
        DependencyException thrown when a requested dependeny is missing.
       Swift_EmbeddedFilein file EmbeddedFile.php, class Swift_EmbeddedFile
        An embedded file, in a multipart message.
       Swift_Encoderin file Encoder.php, class Swift_Encoder
        Interface for all Encoder schemes.
       Swift_Encoder_Base64Encoderin file Base64Encoder.php, class Swift_Encoder_Base64Encoder
        Handles Base 64 Encoding in Swift Mailer.
       Swift_Encoder_QpEncoderin file QpEncoder.php, class Swift_Encoder_QpEncoder
        Handles Quoted Printable (QP) Encoding in Swift Mailer.
       Swift_Encoder_Rfc2231Encoderin file Rfc2231Encoder.php, class Swift_Encoder_Rfc2231Encoder
        Handles RFC 2231 specified Encoding in Swift Mailer.
       Swift_Encodingin file Encoding.php, class Swift_Encoding
        Provides quick access to each encoding type.
       Swift_Events_CommandEventin file CommandEvent.php, class Swift_Events_CommandEvent
        Generated when a command is sent over an SMTP connection.
       Swift_Events_CommandListenerin file CommandListener.php, class Swift_Events_CommandListener
        Listens for Transports to send commands to the server.
       Swift_Events_Eventin file Event.php, class Swift_Events_Event
        The minimum interface for an Event.
       Swift_Events_EventDispatcherin file EventDispatcher.php, class Swift_Events_EventDispatcher
        Interface for the EventDispatcher which handles the event dispatching layer.
       Swift_Events_EventListenerin file EventListener.php, class Swift_Events_EventListener
        An identity interface which all EventListeners must extend.
       Swift_Events_EventObjectin file EventObject.php, class Swift_Events_EventObject
        A base Event which all Event classes inherit from.
       Swift_Events_ResponseEventin file ResponseEvent.php, class Swift_Events_ResponseEvent
        Generated when a response is received on a SMTP connection.
       Swift_Events_ResponseListenerin file ResponseListener.php, class Swift_Events_ResponseListener
        Listens for responses from a remote SMTP server.
       Swift_Events_SendEventin file SendEvent.php, class Swift_Events_SendEvent
        Generated when a message is being sent.
       Swift_Events_SendListenerin file SendListener.php, class Swift_Events_SendListener
        Listens for Messages being sent from within the Transport system.
       Swift_Events_SimpleEventDispatcherin file SimpleEventDispatcher.php, class Swift_Events_SimpleEventDispatcher
        The EventDispatcher which handles the event dispatching layer.
       Swift_Events_TransportChangeEventin file TransportChangeEvent.php, class Swift_Events_TransportChangeEvent
        Generated when the state of a Transport is changed (i.e. stopped/started).
       Swift_Events_TransportChangeListenerin file TransportChangeListener.php, class Swift_Events_TransportChangeListener
        Listens for changes within the Transport system.
       Swift_Events_TransportExceptionEventin file TransportExceptionEvent.php, class Swift_Events_TransportExceptionEvent
        Generated when a TransportException is thrown from the Transport system.
       Swift_Events_TransportExceptionListenerin file TransportExceptionListener.php, class Swift_Events_TransportExceptionListener
        Listens for Exceptions thrown from within the Transport system.
       Swift_FailoverTransportin file FailoverTransport.php, class Swift_FailoverTransport
        Contains a list of redundant Transports so when one fails, the next is used.
       Swift_FileStreamin file FileStream.php, class Swift_FileStream
        An OutputByteStream which specifically reads from a file.
       Swift_Filterablein file Filterable.php, class Swift_Filterable
        Allows StreamFilters to operate on a stream.
       Swift_Imagein file Image.php, class Swift_Image
        An image, embedded in a multipart message.
       Swift_InputByteStreamin file InputByteStream.php, class Swift_InputByteStream
        An abstract means of writing data.
       Swift_IoExceptionin file IoException.php, class Swift_IoException
        I/O Exception class.
       Swift_KeyCachein file KeyCache.php, class Swift_KeyCache
        Provides a mechanism for storing data using two keys.
       Swift_KeyCache_ArrayKeyCachein file ArrayKeyCache.php, class Swift_KeyCache_ArrayKeyCache
        A basic KeyCache backed by an array.
       Swift_KeyCache_DiskKeyCachein file DiskKeyCache.php, class Swift_KeyCache_DiskKeyCache
        A KeyCache which streams to and from disk.
       Swift_KeyCache_KeyCacheInputStreamin file KeyCacheInputStream.php, class Swift_KeyCache_KeyCacheInputStream
        Writes data to a KeyCache using a stream.
       Swift_KeyCache_NullKeyCachein file NullKeyCache.php, class Swift_KeyCache_NullKeyCache
        A null KeyCache that does not cache at all.
       Swift_KeyCache_SimpleKeyCacheInputStreamin file SimpleKeyCacheInputStream.php, class Swift_KeyCache_SimpleKeyCacheInputStream
        Writes data to a KeyCache using a stream.
       Swift_LoadBalancedTransportin file LoadBalancedTransport.php, class Swift_LoadBalancedTransport
        Redudantly and rotationally uses several Transport implementations when sending.
       Swift_Mailerin file Mailer.php, class Swift_Mailer
        Swift Mailer class.
       Swift_Mailer_ArrayRecipientIteratorin file ArrayRecipientIterator.php, class Swift_Mailer_ArrayRecipientIterator
        Wraps a standard PHP array in an interator.
       Swift_Mailer_RecipientIteratorin file RecipientIterator.php, class Swift_Mailer_RecipientIterator
        Provides an abstract way of specifying recipients for batch sending.
       Swift_MailTransportin file MailTransport.php, class Swift_MailTransport
        Sends Messages using the mail() function.
       Swift_Messagein file Message.php, class Swift_Message
        The Message class for building emails.
       Swift_MimePartin file MimePart.php, class Swift_MimePart
        A MIME part, in a multipart message.
       Swift_Mime_Attachmentin file Attachment.php, class Swift_Mime_Attachment
        An attachment, in a multipart message.
       Swift_Mime_CharsetObserverin file CharsetObserver.php, class Swift_Mime_CharsetObserver
        Observes changes in an Mime entity's character set.
       Swift_Mime_ContentEncoderin file ContentEncoder.php, class Swift_Mime_ContentEncoder
        Interface for all Transfer Encoding schemes.
       Swift_Mime_ContentEncoder_Base64ContentEncoderin file Base64ContentEncoder.php, class Swift_Mime_ContentEncoder_Base64ContentEncoder
        Handles Base 64 Transfer Encoding in Swift Mailer.
       Swift_Mime_ContentEncoder_PlainContentEncoderin file PlainContentEncoder.php, class Swift_Mime_ContentEncoder_PlainContentEncoder
        Handles binary/7/8-bit Transfer Encoding in Swift Mailer.
       Swift_Mime_ContentEncoder_QpContentEncoderin file QpContentEncoder.php, class Swift_Mime_ContentEncoder_QpContentEncoder
        Handles Quoted Printable (QP) Transfer Encoding in Swift Mailer.
       Swift_Mime_EmbeddedFilein file EmbeddedFile.php, class Swift_Mime_EmbeddedFile
        An embedded file, in a multipart message.
       Swift_Mime_EncodingObserverin file EncodingObserver.php, class Swift_Mime_EncodingObserver
        Observes changes for a Mime entity's ContentEncoder.
       Swift_Mime_Headerin file Header.php, class Swift_Mime_Header
        A MIME Header.
       Swift_Mime_HeaderEncoderin file HeaderEncoder.php, class Swift_Mime_HeaderEncoder
        Interface for all Header Encoding schemes.
       Swift_Mime_HeaderEncoder_Base64HeaderEncoderin file Base64HeaderEncoder.php, class Swift_Mime_HeaderEncoder_Base64HeaderEncoder
        Handles Base64 (B) Header Encoding in Swift Mailer.
       Swift_Mime_HeaderEncoder_QpHeaderEncoderin file QpHeaderEncoder.php, class Swift_Mime_HeaderEncoder_QpHeaderEncoder
        Handles Quoted Printable (Q) Header Encoding in Swift Mailer.
       Swift_Mime_HeaderFactoryin file HeaderFactory.php, class Swift_Mime_HeaderFactory
        Creates MIME headers.
       Swift_Mime_HeaderSetin file HeaderSet.php, class Swift_Mime_HeaderSet
        A collection of MIME headers.
       Swift_Mime_Headers_AbstractHeaderin file AbstractHeader.php, class Swift_Mime_Headers_AbstractHeader
        An abstract base MIME Header.
       Swift_Mime_Headers_DateHeaderin file DateHeader.php, class Swift_Mime_Headers_DateHeader
        A Date MIME Header for Swift Mailer.
       Swift_Mime_Headers_IdentificationHeaderin file IdentificationHeader.php, class Swift_Mime_Headers_IdentificationHeader
        An ID MIME Header for something like Message-ID or Content-ID.
       Swift_Mime_Headers_MailboxHeaderin file MailboxHeader.php, class Swift_Mime_Headers_MailboxHeader
        A Mailbox Address MIME Header for something like From or Sender.
       Swift_Mime_Headers_ParameterizedHeaderin file ParameterizedHeader.php, class Swift_Mime_Headers_ParameterizedHeader
        An abstract base MIME Header.
       Swift_Mime_Headers_PathHeaderin file PathHeader.php, class Swift_Mime_Headers_PathHeader
        A Path Header in Swift Mailer, such a Return-Path.
       Swift_Mime_Headers_UnstructuredHeaderin file UnstructuredHeader.php, class Swift_Mime_Headers_UnstructuredHeader
        A Simple MIME Header.
       Swift_Mime_Messagein file Message.php, class Swift_Mime_Message
        A Message (RFC 2822) object.
       Swift_Mime_MimeEntityin file MimeEntity.php, class Swift_Mime_MimeEntity
        A MIME entity, such as an attachment.
       Swift_Mime_MimePartin file MimePart.php, class Swift_Mime_MimePart
        A MIME part, in a multipart message.
       Swift_Mime_ParameterizedHeaderin file ParameterizedHeader.php, class Swift_Mime_ParameterizedHeader
        A MIME Header with parameters.
       Swift_Mime_SimpleHeaderFactoryin file SimpleHeaderFactory.php, class Swift_Mime_SimpleHeaderFactory
        Creates MIME headers.
       Swift_Mime_SimpleHeaderSetin file SimpleHeaderSet.php, class Swift_Mime_SimpleHeaderSet
        A collection of MIME headers.
       Swift_Mime_SimpleMessagein file SimpleMessage.php, class Swift_Mime_SimpleMessage
        The default email message class.
       Swift_Mime_SimpleMimeEntityin file SimpleMimeEntity.php, class Swift_Mime_SimpleMimeEntity
        A MIME entity, in a multipart message.
       Swift_OutputByteStreamin file OutputByteStream.php, class Swift_OutputByteStream
        An abstract means of reading data.
       Swift_Plugins_AntiFloodPluginin file AntiFloodPlugin.php, class Swift_Plugins_AntiFloodPlugin
        Reduces network flooding when sending large amounts of mail.
       Swift_Plugins_BandwidthMonitorPluginin file BandwidthMonitorPlugin.php, class Swift_Plugins_BandwidthMonitorPlugin
        Reduces network flooding when sending large amounts of mail.
       Swift_Plugins_DecoratorPluginin file DecoratorPlugin.php, class Swift_Plugins_DecoratorPlugin
        Allows customization of Messages on-the-fly.
       Swift_Plugins_Decorator_Replacementsin file Replacements.php, class Swift_Plugins_Decorator_Replacements
        Allows customization of Messages on-the-fly.
       Swift_Plugins_Loggerin file Logger.php, class Swift_Plugins_Logger
        Logs events in the Transport system.
       Swift_Plugins_LoggerPluginin file LoggerPlugin.php, class Swift_Plugins_LoggerPlugin
        Does real time logging of Transport level information.
       Swift_Plugins_Loggers_ArrayLoggerin file ArrayLogger.php, class Swift_Plugins_Loggers_ArrayLogger
        Logs to an Array backend.
       Swift_Plugins_Loggers_EchoLoggerin file EchoLogger.php, class Swift_Plugins_Loggers_EchoLogger
        Prints all log messages in real time.
       Swift_Plugins_PopBeforeSmtpPluginin file PopBeforeSmtpPlugin.php, class Swift_Plugins_PopBeforeSmtpPlugin
        Makes sure a connection to a POP3 host has been established prior to connecting to SMTP.
       Swift_Plugins_Pop_Pop3Connectionin file Pop3Connection.php, class Swift_Plugins_Pop_Pop3Connection
        Pop3Connection interface for connecting and disconnecting to a POP3 host.
       Swift_Plugins_Pop_Pop3Exceptionin file Pop3Exception.php, class Swift_Plugins_Pop_Pop3Exception
        Pop3Exception thrown when an error occurs connecting to a POP3 host.
       Swift_Plugins_Reporterin file Reporter.php, class Swift_Plugins_Reporter
        The Reporter plugin sends pass/fail notification to a Reporter.
       Swift_Plugins_ReporterPluginin file ReporterPlugin.php, class Swift_Plugins_ReporterPlugin
        Does real time reporting of pass/fail for each recipient.
       Swift_Plugins_Reporters_HitReporterin file HitReporter.php, class Swift_Plugins_Reporters_HitReporter
        A reporter which "collects" failures for the Reporter plugin.
       Swift_Plugins_Reporters_HtmlReporterin file HtmlReporter.php, class Swift_Plugins_Reporters_HtmlReporter
        A HTML output reporter for the Reporter plugin.
       Swift_Plugins_Sleeperin file Sleeper.php, class Swift_Plugins_Sleeper
        Sleeps for a duration of time.
       Swift_Plugins_ThrottlerPluginin file ThrottlerPlugin.php, class Swift_Plugins_ThrottlerPlugin
        Throttles the rate at which emails are sent.
       Swift_Plugins_Timerin file Timer.php, class Swift_Plugins_Timer
        Provides timestamp data.
       Swift_ReplacementFilterFactoryin file ReplacementFilterFactory.php, class Swift_ReplacementFilterFactory
        Creates StreamFilters.
       Swift_RfcComplianceExceptionin file RfcComplianceException.php, class Swift_RfcComplianceException
        RFC Compliance Exception class.
       Swift_SendmailTransportin file SendmailTransport.php, class Swift_SendmailTransport
        SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
       Swift_SmtpTransportin file SmtpTransport.php, class Swift_SmtpTransport
        Sends Messages over SMTP with ESMTP support.
       Swift_StreamFilterin file StreamFilter.php, class Swift_StreamFilter
        Processes bytes as they pass through a stream and performs filtering.
       Swift_StreamFilters_ByteArrayReplacementFilterin file ByteArrayReplacementFilter.php, class Swift_StreamFilters_ByteArrayReplacementFilter
        Processes bytes as they pass through a buffer and replaces sequences in it.
       Swift_StreamFilters_StringReplacementFilterin file StringReplacementFilter.php, class Swift_StreamFilters_StringReplacementFilter
        Processes bytes as they pass through a buffer and replaces sequences in it.
       Swift_StreamFilters_StringReplacementFilterFactoryin file StringReplacementFilterFactory.php, class Swift_StreamFilters_StringReplacementFilterFactory
        Creates filters for replacing needles in a string buffer.
       Swift_SwiftExceptionin file SwiftException.php, class Swift_SwiftException
        Base Exception class.
       Swift_Transportin file Transport.php, class Swift_Transport
        Sends Messages via an abstract Transport subsystem.
       Swift_TransportExceptionin file TransportException.php, class Swift_TransportException
        TransportException thrown when an error occurs in the Transport subsystem.
       Swift_Transport_AbstractSmtpTransportin file AbstractSmtpTransport.php, class Swift_Transport_AbstractSmtpTransport
        Sends Messages over SMTP.
       Swift_Transport_EsmtpHandlerin file EsmtpHandler.php, class Swift_Transport_EsmtpHandler
        An ESMTP handler.
       Swift_Transport_EsmtpTransportin file EsmtpTransport.php, class Swift_Transport_EsmtpTransport
        Sends Messages over SMTP with ESMTP support.
       Swift_Transport_Esmtp_Authenticatorin file Authenticator.php, class Swift_Transport_Esmtp_Authenticator
        An Authentication mechanism.
       Swift_Transport_Esmtp_AuthHandlerin file AuthHandler.php, class Swift_Transport_Esmtp_AuthHandler
        An ESMTP handler for AUTH support.
       Swift_Transport_Esmtp_Auth_CramMd5Authenticatorin file CramMd5Authenticator.php, class Swift_Transport_Esmtp_Auth_CramMd5Authenticator
        Handles CRAM-MD5 authentication.
       Swift_Transport_Esmtp_Auth_LoginAuthenticatorin file LoginAuthenticator.php, class Swift_Transport_Esmtp_Auth_LoginAuthenticator
        Handles LOGIN authentication.
       Swift_Transport_Esmtp_Auth_PlainAuthenticatorin file PlainAuthenticator.php, class Swift_Transport_Esmtp_Auth_PlainAuthenticator
        Handles PLAIN authentication.
       Swift_Transport_FailoverTransportin file FailoverTransport.php, class Swift_Transport_FailoverTransport
        Contains a list of redundant Transports so when one fails, the next is used.
       Swift_Transport_IoBufferin file IoBuffer.php, class Swift_Transport_IoBuffer
        Buffers input and output to a resource.
       Swift_Transport_LoadBalancedTransportin file LoadBalancedTransport.php, class Swift_Transport_LoadBalancedTransport
        Redudantly and rotationally uses several Transports when sending.
       Swift_Transport_MailInvokerin file MailInvoker.php, class Swift_Transport_MailInvoker
        This interface intercepts calls to the mail() function.
       Swift_Transport_MailTransportin file MailTransport.php, class Swift_Transport_MailTransport
        Sends Messages using the mail() function.
       Swift_Transport_SendmailTransportin file SendmailTransport.php, class Swift_Transport_SendmailTransport
        SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
       Swift_Transport_SimpleMailInvokerin file SimpleMailInvoker.php, class Swift_Transport_SimpleMailInvoker
        This is the implementation class for Swift_Transport_MailInvoker.
       Swift_Transport_SmtpAgentin file SmtpAgent.php, class Swift_Transport_SmtpAgent
        Wraps an IoBuffer to send/receive SMTP commands/responses.
       Swift_Transport_StreamBufferin file StreamBuffer.php, class Swift_Transport_StreamBuffer
        A generic IoBuffer implementation supporting remote sockets and local processes.
       SimpleCharacterReaderFactory.phpprocedural page SimpleCharacterReaderFactory.php
       SendEvent.phpprocedural page SendEvent.php
       SendListener.phpprocedural page SendListener.php
       SimpleEventDispatcher.phpprocedural page SimpleEventDispatcher.php
       SimpleKeyCacheInputStream.phpprocedural page SimpleKeyCacheInputStream.php
       SimpleHeaderFactory.phpprocedural page SimpleHeaderFactory.php
       SimpleHeaderSet.phpprocedural page SimpleHeaderSet.php
       SimpleMessage.phpprocedural page SimpleMessage.php
       SimpleMimeEntity.phpprocedural page SimpleMimeEntity.php
       Sleeper.phpprocedural page Sleeper.php
       SendmailTransport.phpprocedural page SendmailTransport.php
       SmtpTransport.phpprocedural page SmtpTransport.php
       StreamFilter.phpprocedural page StreamFilter.php
       StringReplacementFilter.phpprocedural page StringReplacementFilter.php
       StringReplacementFilterFactory.phpprocedural page StringReplacementFilterFactory.php
       SwiftException.phpprocedural page SwiftException.php
       SendmailTransport.phpprocedural page SendmailTransport.php
       SimpleMailInvoker.phpprocedural page SimpleMailInvoker.php
       SmtpAgent.phpprocedural page SmtpAgent.php
       StreamBuffer.phpprocedural page StreamBuffer.php
       Swift.phpprocedural page Swift.php
    t  + top
       $transportin file YiiMail.php, variable YiiMail::$transport
       $transportOptionsin file YiiMail.php, variable YiiMail::$transportOptions
       $transportTypein file YiiMail.php, variable YiiMail::$transportType
       terminatein file IoBuffer.php, method Swift_Transport_IoBuffer::terminate()
        Perform any shutdown logic needed.
       terminatein file StreamBuffer.php, method Swift_Transport_StreamBuffer::terminate()
        Perform any shutdown logic needed.
       toByteStreamin file MimeEntity.php, method Swift_Mime_MimeEntity::toByteStream()
        Get this entire entity as a ByteStream.
       toByteStreamin file SimpleMessage.php, method Swift_Mime_SimpleMessage::toByteStream()
        Write this message to a Swift_InputByteStream.
       toByteStreamin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::toByteStream()
        Write this entire entity to a Swift_InputByteStream.
       tokenNeedsEncodingin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding()
        Test if a token needs to be encoded or not.
       toStringin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::toString()
        Get this entire entity as a string.
       toStringin file HeaderSet.php, method Swift_Mime_HeaderSet::toString()
        Returns a string with a representation of all headers.
       toStringin file SimpleMessage.php, method Swift_Mime_SimpleMessage::toString()
        Get this message as a complete string.
       toStringin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::toString()
        Returns a string with a representation of all headers.
       toStringin file MimeEntity.php, method Swift_Mime_MimeEntity::toString()
        Get this entire entity in its string form.
       toStringin file Header.php, method Swift_Mime_Header::toString()
        Get this Header rendered as a compliant string.
       toStringin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::toString()
        Get this Header rendered as a RFC 2822 compliant string.
       toTokensin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::toTokens()
        Generate a list of all tokens in the final header.
       toTokensin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::toTokens()
        Generate a list of all tokens in the final header.
       transportStartedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::transportStarted()
        Not used.
       transportStartedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::transportStarted()
        Invoked immediately after the Transport is started.
       transportStartedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::transportStarted()
        Invoked immediately after the Transport is started.
       transportStoppedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::transportStopped()
        Invoked immediately after the Transport is stopped.
       transportStoppedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::transportStopped()
        Not used.
       transportStoppedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::transportStopped()
        Invoked immediately after the Transport is stopped.
       TYPE_ALIASin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_ALIAS
        Constant for aliases
       TYPE_DATEin file Header.php, class constant Swift_Mime_Header::TYPE_DATE
        Date and time headers
       TYPE_IDin file Header.php, class constant Swift_Mime_Header::TYPE_ID
        Identification headers
       TYPE_INSTANCEin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_INSTANCE
        Constant for new instance types
       TYPE_MAILBOXin file Header.php, class constant Swift_Mime_Header::TYPE_MAILBOX
        Mailbox and address headers
       TYPE_PARAMETERIZEDin file Header.php, class constant Swift_Mime_Header::TYPE_PARAMETERIZED
        Parameterized headers (text + params)
       TYPE_PATHin file Header.php, class constant Swift_Mime_Header::TYPE_PATH
        Address path headers
       TYPE_PROCESSin file IoBuffer.php, class constant Swift_Transport_IoBuffer::TYPE_PROCESS
        A process buffer with I/O support
       TYPE_SHAREDin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_SHARED
        Constant for shared instance types
       TYPE_SOCKETin file IoBuffer.php, class constant Swift_Transport_IoBuffer::TYPE_SOCKET
        A socket buffer over TCP
       TYPE_TEXTin file Header.php, class constant Swift_Mime_Header::TYPE_TEXT
        Text headers
       TYPE_VALUEin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_VALUE
        Constant for literal value types
       TransportChangeEvent.phpprocedural page TransportChangeEvent.php
       TransportChangeListener.phpprocedural page TransportChangeListener.php
       TransportExceptionEvent.phpprocedural page TransportExceptionEvent.php
       TransportExceptionListener.phpprocedural page TransportExceptionListener.php
       ThrottlerPlugin.phpprocedural page ThrottlerPlugin.php
       Timer.phpprocedural page Timer.php
       Transport.phpprocedural page Transport.php
       TransportException.phpprocedural page TransportException.php
    u  + top
       unbindin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::unbind()
        Not used.
       unbindin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::unbind()
        Remove an already bound stream.
       unbindin file InputByteStream.php, method Swift_InputByteStream::unbind()
        Remove an already bound stream.
       unbindin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::unbind()
        Remove an already bound stream.
       unbindin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::unbind()
        Remove an already bound stream.
       UsAsciiReader.phpprocedural page UsAsciiReader.php
       Utf8Reader.phpprocedural page Utf8Reader.php
       UnstructuredHeader.phpprocedural page UnstructuredHeader.php
    v  + top
       $viewin file YiiMailMessage.php, variable YiiMailMessage::$view
       $viewPathin file YiiMail.php, variable YiiMail::$viewPath
       validateByteSequencein file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
       validateByteSequencein file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
       validateByteSequencein file CharacterReader.php, method Swift_CharacterReader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
       validateByteSequencein file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
       VERSIONin file Swift.php, class constant Swift::VERSION
        Swift Mailer Version number generated during dist release process
    w  + top
       withDependenciesin file DependencyContainer.php, method Swift_DependencyContainer::withDependencies()
        Specify a list of injected dependencies for the previously registered item.
       writein file InputByteStream.php, method Swift_InputByteStream::write()
        Writes $bytes to the end of the stream.
       writein file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::write()
        Writes $bytes to the end of the stream.
       writein file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::write()
       writein file CharacterStream.php, method Swift_CharacterStream::write()
        Write $chars to the end of the stream.
       writein file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::write()
        Writes $bytes to the end of the stream.
       writein file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::write()
        Write $chars to the end of the stream.
       writein file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::write()
        Called when a message is sent so that the outgoing counter can be increased.
       writein file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::write()
        Writes $bytes to the end of the stream.
    y  + top
       YiiMailin file YiiMail.php, class YiiMail
        YiiMail is an application component used for sending email.
       YiiMail.phpprocedural page YiiMail.php
       YiiMailMessagein file YiiMailMessage.php, class YiiMailMessage
        Any requests to set or get attributes or call methods on this class that are not found in that class are redirected to the Swift_Mime_Message object.
       YiiMailMessage.phpprocedural page YiiMailMessage.php
    _  + top
       $_bufferin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_buffer
        Input-Output buffer for sending/receiving SMTP commands and responses
       $_charStreamin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_charStream
        The CharacterStream used for reading characters (as opposed to bytes).
       $_domainin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_domain
        The domain name to use in HELO command
       $_eventDispatcherin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_eventDispatcher
        The event dispatching layer
       $_filterin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_filter
        A filter used if input should be canonicalized.
       $_qpMapin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_qpMap
        Pre-computed QP for HUGE optmization.
       $_safeMapin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_safeMap
        A map of non-encoded ascii characters.
       $_startedin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_started
        Connection status
       $_transportsin file LoadBalancedTransport.php, variable Swift_Transport_LoadBalancedTransport::$_transports
        The Transports which are used in rotation.
       $_userCharsetin file MimePart.php, variable Swift_Mime_MimePart::$_userCharset
        The charset last specified by the user
       $_userContentTypein file SimpleMimeEntity.php, variable Swift_Mime_SimpleMimeEntity::$_userContentType
       $_userDelSpin file MimePart.php, variable Swift_Mime_MimePart::$_userDelSp
        The delsp parameter last specified by the user
       $_userFormatin file MimePart.php, variable Swift_Mime_MimePart::$_userFormat
        The format parameter last specified by the user
       _assertResponseCodein file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_assertResponseCode()
        Throws an Exception if a response code is incorrect
       _clearCachein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_clearCache()
        Empty the KeyCache for this entity.
       _commitin file FileByteStream.php, method Swift_ByteStream_FileByteStream::_commit()
        Just write the bytes to the file
       _commitin file StreamBuffer.php, method Swift_Transport_StreamBuffer::_commit()
        Write this bytes to the stream
       _commitin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::_commit()
        Commit the given bytes to the storage medium immediately.
       _doDataCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doDataCommand()
        Send the DATA command
       _doHeloCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doHeloCommand()
        Send the HELO welcome
       _doHeloCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_doHeloCommand()
        Overridden to perform EHLO instead
       _doMailFromCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doMailFromCommand()
        Send the MAIL FROM command
       _doMailFromCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_doMailFromCommand()
        Overridden to add Extension support
       _doRcptToCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_doRcptToCommand()
        Overridden to add Extension support
       _doRcptToCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doRcptToCommand()
        Send the RCPT TO command
       _encodeByteSequencein file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::_encodeByteSequence()
        Encode the given byte array into a verbatim QP form.
       _encodeByteSequencein file QpEncoder.php, method Swift_Encoder_QpEncoder::_encodeByteSequence()
        Encode the given byte array into a verbatim QP form.
       _fixHeadersin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_fixHeaders()
        Re-evaluate what content type and encoding should be used on this entity.
       _fixHeadersin file MimePart.php, method Swift_Mime_MimePart::_fixHeaders()
        Fix the content-type and encoding of this entity
       _flushin file FileByteStream.php, method Swift_ByteStream_FileByteStream::_flush()
        Not used
       _flushin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::_flush()
        Flush any buffers/content with immediate effect.
       _flushin file StreamBuffer.php, method Swift_Transport_StreamBuffer::_flush()
        Flush the stream contents
       _getAuthenticatorsForAgentin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::_getAuthenticatorsForAgent()
        Returns the authenticator list for the given agent.
       _getBufferParamsin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_getBufferParams()
        Get the params to initialize the buffer
       _getBufferParamsin file SendmailTransport.php, method Swift_Transport_SendmailTransport::_getBufferParams()
        Get the params to initialize the buffer
       _getBufferParamsin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_getBufferParams()
        Return an array of params for the Buffer
       _getCachein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getCache()
        Get the KeyCache used in this entity.
       _getFullResponsein file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_getFullResponse()
        Get an entire multi-line response using its sequence number
       _getHeaderFieldModelin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel()
        Get the model data (usually an array or a string) for $field.
       _getHeaderParameterin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getHeaderParameter()
        Get the parameter value of $parameter on $field header.
       _getIdFieldin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getIdField()
        Get the name of the header that provides the ID of this entity
       _getIdFieldin file SimpleMessage.php, method Swift_Mime_SimpleMessage::_getIdField()
       _getNextTransportin file FailoverTransport.php, method Swift_Transport_FailoverTransport::_getNextTransport()
       _getNextTransportin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::_getNextTransport()
        Rotates the transport list around and returns the first instance.
       _getReversePathin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_getReversePath()
        Determine the best-use reverse path for this message
       _killCurrentTransportin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::_killCurrentTransport()
        Tag the currently used (top of stack) transport as dead/useless.
       _killCurrentTransportin file FailoverTransport.php, method Swift_Transport_FailoverTransport::_killCurrentTransport()
       _nextSequencein file QpEncoder.php, method Swift_Encoder_QpEncoder::_nextSequence()
        Get the next sequence of bytes to read from the char stream.
       _readGreetingin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_readGreeting()
        Read the opening SMTP greeting
       _setHeaderFieldModelin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel()
        Set the model data for $field.
       _setHeaderParameterin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_setHeaderParameter()
        Set the parameter value of $parameter on $field header.
       _setNestingLevelin file MimePart.php, method Swift_Mime_MimePart::_setNestingLevel()
        Set the nesting level of this entity
       _standardizein file QpEncoder.php, method Swift_Encoder_QpEncoder::_standardize()
        Make sure CRLF is correct and HT/SPACE are in valid places.
       _streamMessagein file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_streamMessage()
        Stream the contents of the message over the buffer
       _throwExceptionin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_throwException()
        Throw a TransportException, first sending it to any listeners
       __callin file YiiMailMessage.php, method YiiMailMessage::__call()
        Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
       __callin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::__call()
        Mixin handling method for ESMTP handlers
       __clonein file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::__clone()
        Any implementation should be cloneable, allowing the clone to access a separate $nsKey and $itemKey.
       __clonein file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::__clone()
        Any implementation should be cloneable, allowing the clone to access a separate $nsKey and $itemKey.
       __constructin file ResponseEvent.php, method Swift_Events_ResponseEvent::__construct()
        Create a new ResponseEvent for $source and $response.
       __constructin file QpEncoder.php, method Swift_Encoder_QpEncoder::__construct()
        Creates a new QpEncoder for the given CharacterStream.
       __constructin file Rfc2231Encoder.php, method Swift_Encoder_Rfc2231Encoder::__construct()
        Creates a new Rfc2231Encoder using the given character stream instance.
       __constructin file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::__construct()
        Creates a new QpHeaderEncoder for the given CharacterStream.
       __constructin file ReporterPlugin.php, method Swift_Plugins_ReporterPlugin::__construct()
        Create a new ReporterPlugin using $reporter.
       __constructin file SimpleMessage.php, method Swift_Mime_SimpleMessage::__construct()
        Create a new SimpleMessage with $headers, $encoder and $cache.
       __constructin file SwiftException.php, method Swift_SwiftException::__construct()
        Create a new SwiftException with $message.
       __constructin file StringReplacementFilter.php, method Swift_StreamFilters_StringReplacementFilter::__construct()
        Create a new StringReplacementFilter with $search and $replace.
       __constructin file StreamBuffer.php, method Swift_Transport_StreamBuffer::__construct()
        Create a new StreamBuffer using $replacementFactory for transformations.
       __constructin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::__construct()
        Create a new ThrottlerPlugin.
       __constructin file TransportException.php, method Swift_TransportException::__construct()
        Create a new TransportException with $message.
       __constructin file YiiMailMessage.php, method YiiMailMessage::__construct()
        You may optionally set some message info using the paramaters of this constructor.
       __constructin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::__construct()
        Creates a new SimpleHeader with $name.
       __constructin file TransportExceptionEvent.php, method Swift_Events_TransportExceptionEvent::__construct()
        Create a new TransportExceptionEvent for $transport.
       __constructin file SmtpTransport.php, method Swift_SmtpTransport::__construct()
        Create a new SmtpTransport, optionally with $host, $port and $security.
       __constructin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::__construct()
        Create a new SimpleMimeEntity with $headers, $encoder and $cache.
       __constructin file SendmailTransport.php, method Swift_Transport_SendmailTransport::__construct()
        Create a new SendmailTransport with $buf for I/O.
       __constructin file SendmailTransport.php, method Swift_SendmailTransport::__construct()
        Create a new SendmailTransport, optionally using $command for sending.
       __constructin file SendEvent.php, method Swift_Events_SendEvent::__construct()
        Create a new SendEvent for $source and $message.
       __constructin file SimpleCharacterReaderFactory.php, method Swift_CharacterReaderFactory_SimpleCharacterReaderFactory::__construct()
        Creates a new CharacterReaderFactory.
       __constructin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::__construct()
        Create a new EventDispatcher.
       __constructin file QpContentEncoder.php, method Swift_Mime_ContentEncoder_QpContentEncoder::__construct()
        Creates a new QpContentEncoder for the given CharacterStream.
       __constructin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::__construct()
        Create a new SimpleHeaderSet with the given $factory.
       __constructin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::__construct()
        Creates a new SimpleHeaderFactory using $encoder and $paramEncoder.
       __constructin file RfcComplianceException.php, method Swift_RfcComplianceException::__construct()
        Create a new RfcComplianceException with $message.
       __constructin file MailTransport.php, method Swift_MailTransport::__construct()
        Create a new MailTransport, optionally specifying $extraParams.
       __constructin file DependencyContainer.php, method Swift_DependencyContainer::__construct()
        Constructor should not be used.
       __constructin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::__construct()
        Create a new DecoratorPlugin with $replacements.
       __constructin file DateHeader.php, method Swift_Mime_Headers_DateHeader::__construct()
        Creates a new DateHeader with $name and $timestamp.
       __constructin file CommandEvent.php, method Swift_Events_CommandEvent::__construct()
        Create a new CommandEvent for $source with $command.
       __constructin file DependencyException.php, method Swift_DependencyException::__construct()
        Create a new DependencyException with $message.
       __constructin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::__construct()
        Create a new DiskKeyCache with the given $stream for cloning to make InputByteStreams, and the given $path to save to.
       __constructin file EmbeddedFile.php, method Swift_Mime_EmbeddedFile::__construct()
        Creates a new Attachment with $headers and $encoder.
       __constructin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::__construct()
        Create a new PopBeforeSmtpPlugin for $host and $port.
       __constructin file EmbeddedFile.php, method Swift_EmbeddedFile::__construct()
        Create a new EmbeddedFile.
       __constructin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::__construct()
        Create a new EchoLogger.
       __constructin file ByteArrayReplacementFilter.php, method Swift_StreamFilters_ByteArrayReplacementFilter::__construct()
        Create a new ByteArrayReplacementFilter with $search and $replace.
       __constructin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::__construct()
        Create a new AuthHandler with $authenticators for support.
       __constructin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::__construct()
        Create a new CharacterStream with the given $chars, if set.
       __constructin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::__construct()
        Create a new ArrayByteStream.
       __constructin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::__construct()
        Create a new AntiFloodPlugin with $threshold and $sleep time.
       __constructin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::__construct()
        Creates a new EsmtpTransport using the given I/O buffer.
       __constructin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::__construct()
        Create a new ArrayKeyCache with the given $stream for cloning to make InputByteStreams.
       __constructin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::__construct()
        Create a new ArrayLogger with a maximum of $size entries.
       __constructin file Attachment.php, method Swift_Attachment::__construct()
        Create a new Attachment.
       __constructin file Attachment.php, method Swift_Mime_Attachment::__construct()
        Create a new Attachment with $headers, $encoder and $cache.
       __constructin file ArrayRecipientIterator.php, method Swift_Mailer_ArrayRecipientIterator::__construct()
        Create a new ArrayRecipientIterator from $recipients.
       __constructin file EventObject.php, method Swift_Events_EventObject::__construct()
        Create a new EventObject originating at $source.
       __constructin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::__construct()
        Creates a new EsmtpTransport using the given I/O buffer.
       __constructin file Message.php, method Swift_Message::__construct()
        Create a new Message.
       __constructin file MimePart.php, method Swift_MimePart::__construct()
        Create a new MimePart.
       __constructin file MailTransport.php, method Swift_Transport_MailTransport::__construct()
        Create a new MailTransport with the $log.
       __constructin file Mailer.php, method Swift_Mailer::__construct()
        Create a new Mailer using $transport for delivery.
       __constructin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::__construct()
        Creates a new MailboxHeader with $name.
       __constructin file MimePart.php, method Swift_Mime_MimePart::__construct()
        Create a new MimePart with $headers, $encoder and $cache.
       __constructin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::__construct()
        The constructor
       __constructin file Pop3Exception.php, method Swift_Plugins_Pop_Pop3Exception::__construct()
        Create a new Pop3Exception with $message.
       __constructin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::__construct()
        Creates a new PlainContentEncoder with $name (probably 7bit or 8bit).
       __constructin file PathHeader.php, method Swift_Mime_Headers_PathHeader::__construct()
        Creates a new PathHeader with the given $name.
       __constructin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::__construct()
        Creates a new ParameterizedHeader with $name.
       __constructin file LoadBalancedTransport.php, method Swift_LoadBalancedTransport::__construct()
        Creates a new LoadBalancedTransport with $transports.
       __constructin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::__construct()
        Create a new LoggerPlugin using $logger.
       __constructin file FailoverTransport.php, method Swift_Transport_FailoverTransport::__construct()
        Creates a new FailoverTransport.
       __constructin file FailoverTransport.php, method Swift_FailoverTransport::__construct()
        Creates a new FailoverTransport with $transports.
       __constructin file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::__construct()
        Creates a new GenericFixedWidthReader using $width bytes per character.
       __constructin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::__construct()
        Creates a new IdentificationHeader with the given $name and $id.
       __constructin file Image.php, method Swift_Image::__construct()
        Create a new EmbeddedFile.
       __constructin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::__construct()
        Creates a new LoadBalancedTransport.
       __constructin file IoException.php, method Swift_IoException::__construct()
        Create a new IoException with $message.
       __constructin file FileByteStream.php, method Swift_ByteStream_FileByteStream::__construct()
        Create a new FileByteStream for $path.
       __destructin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::__destruct()
        Destructor.
       __destructin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::__destruct()
        Destructor.
       __destructin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::__destruct()
        Empties it's own contents from the cache.
       __getin file YiiMailMessage.php, method YiiMailMessage::__get()
        Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
       __setin file YiiMailMessage.php, method YiiMailMessage::__set()
        Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
       __toStringin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::__toString()
        Returns a string representation of this object.
       __toStringin file SimpleMessage.php, method Swift_Mime_SimpleMessage::__toString()
        Returns a string representation of this object.
       __toStringin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::__toString()
        Returns a string representation of this object.
       __toStringin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::__toString()
        Returns a string representation of this object.
    + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/elementindex_Swift.html b/www/protected/extensions/yii-mail/doc/elementindex_Swift.html new file mode 100644 index 0000000..89fadd8 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/elementindex_Swift.html @@ -0,0 +1,4472 @@ + + + + + + + + +

    Element Index, Package Swift

    +Indexes by package:
    + +Index of all elements +
    + a + b + c + d + e + f + g + h + i + k + l + m + n + o + p + q + r + s + t + u + v + w + _ + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    _  + top
       __constructin file RfcComplianceException.php, method Swift_RfcComplianceException::__construct()
        Create a new RfcComplianceException with $message.
       __constructin file StringReplacementFilter.php, method Swift_StreamFilters_StringReplacementFilter::__construct()
        Create a new StringReplacementFilter with $search and $replace.
       __constructin file SwiftException.php, method Swift_SwiftException::__construct()
        Create a new SwiftException with $message.
       __constructin file Mailer.php, method Swift_Mailer::__construct()
        Create a new Mailer using $transport for delivery.
       __constructin file IoException.php, method Swift_IoException::__construct()
        Create a new IoException with $message.
       __constructin file DependencyContainer.php, method Swift_DependencyContainer::__construct()
        Constructor should not be used.
       __constructin file DependencyException.php, method Swift_DependencyException::__construct()
        Create a new DependencyException with $message.
       __constructin file ByteArrayReplacementFilter.php, method Swift_StreamFilters_ByteArrayReplacementFilter::__construct()
        Create a new ByteArrayReplacementFilter with $search and $replace.
       _commitin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::_commit()
        Commit the given bytes to the storage medium immediately.
       _commitin file FileByteStream.php, method Swift_ByteStream_FileByteStream::_commit()
        Just write the bytes to the file
       _flushin file FileByteStream.php, method Swift_ByteStream_FileByteStream::_flush()
        Not used
       _flushin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::_flush()
        Flush any buffers/content with immediate effect.
       __constructin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::__construct()
        Create a new ArrayByteStream.
       __constructin file FileByteStream.php, method Swift_ByteStream_FileByteStream::__construct()
        Create a new FileByteStream for $path.
       __constructin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::__construct()
        The constructor
       __constructin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::__construct()
        Create a new CharacterStream with the given $chars, if set.
       $_charStreamin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_charStream
        The CharacterStream used for reading characters (as opposed to bytes).
       $_filterin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_filter
        A filter used if input should be canonicalized.
       $_qpMapin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_qpMap
        Pre-computed QP for HUGE optmization.
       $_safeMapin file QpEncoder.php, variable Swift_Encoder_QpEncoder::$_safeMap
        A map of non-encoded ascii characters.
       _encodeByteSequencein file QpEncoder.php, method Swift_Encoder_QpEncoder::_encodeByteSequence()
        Encode the given byte array into a verbatim QP form.
       _nextSequencein file QpEncoder.php, method Swift_Encoder_QpEncoder::_nextSequence()
        Get the next sequence of bytes to read from the char stream.
       _standardizein file QpEncoder.php, method Swift_Encoder_QpEncoder::_standardize()
        Make sure CRLF is correct and HT/SPACE are in valid places.
       __constructin file Rfc2231Encoder.php, method Swift_Encoder_Rfc2231Encoder::__construct()
        Creates a new Rfc2231Encoder using the given character stream instance.
       __constructin file SimpleCharacterReaderFactory.php, method Swift_CharacterReaderFactory_SimpleCharacterReaderFactory::__construct()
        Creates a new CharacterReaderFactory.
       __constructin file QpEncoder.php, method Swift_Encoder_QpEncoder::__construct()
        Creates a new QpEncoder for the given CharacterStream.
       __constructin file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::__construct()
        Creates a new GenericFixedWidthReader using $width bytes per character.
       __constructin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::__construct()
        Create a new EventDispatcher.
       __constructin file TransportExceptionEvent.php, method Swift_Events_TransportExceptionEvent::__construct()
        Create a new TransportExceptionEvent for $transport.
       __constructin file SendEvent.php, method Swift_Events_SendEvent::__construct()
        Create a new SendEvent for $source and $message.
       __constructin file ResponseEvent.php, method Swift_Events_ResponseEvent::__construct()
        Create a new ResponseEvent for $source and $response.
       __constructin file EventObject.php, method Swift_Events_EventObject::__construct()
        Create a new EventObject originating at $source.
       __constructin file CommandEvent.php, method Swift_Events_CommandEvent::__construct()
        Create a new CommandEvent for $source with $command.
       __clonein file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::__clone()
        Any implementation should be cloneable, allowing the clone to access a separate $nsKey and $itemKey.
       __clonein file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::__clone()
        Any implementation should be cloneable, allowing the clone to access a separate $nsKey and $itemKey.
       __constructin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::__construct()
        Create a new DiskKeyCache with the given $stream for cloning to make InputByteStreams, and the given $path to save to.
       __constructin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::__construct()
        Create a new ArrayKeyCache with the given $stream for cloning to make InputByteStreams.
       __destructin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::__destruct()
        Destructor.
       __constructin file ArrayRecipientIterator.php, method Swift_Mailer_ArrayRecipientIterator::__construct()
        Create a new ArrayRecipientIterator from $recipients.
       $_userCharsetin file MimePart.php, variable Swift_Mime_MimePart::$_userCharset
        The charset last specified by the user
       $_userContentTypein file SimpleMimeEntity.php, variable Swift_Mime_SimpleMimeEntity::$_userContentType
       $_userDelSpin file MimePart.php, variable Swift_Mime_MimePart::$_userDelSp
        The delsp parameter last specified by the user
       $_userFormatin file MimePart.php, variable Swift_Mime_MimePart::$_userFormat
        The format parameter last specified by the user
       _clearCachein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_clearCache()
        Empty the KeyCache for this entity.
       _encodeByteSequencein file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::_encodeByteSequence()
        Encode the given byte array into a verbatim QP form.
       _fixHeadersin file MimePart.php, method Swift_Mime_MimePart::_fixHeaders()
        Fix the content-type and encoding of this entity
       _fixHeadersin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_fixHeaders()
        Re-evaluate what content type and encoding should be used on this entity.
       _getCachein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getCache()
        Get the KeyCache used in this entity.
       _getHeaderFieldModelin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getHeaderFieldModel()
        Get the model data (usually an array or a string) for $field.
       _getHeaderParameterin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getHeaderParameter()
        Get the parameter value of $parameter on $field header.
       _getIdFieldin file SimpleMessage.php, method Swift_Mime_SimpleMessage::_getIdField()
       _getIdFieldin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_getIdField()
        Get the name of the header that provides the ID of this entity
       _setHeaderFieldModelin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_setHeaderFieldModel()
        Set the model data for $field.
       _setHeaderParameterin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::_setHeaderParameter()
        Set the parameter value of $parameter on $field header.
       _setNestingLevelin file MimePart.php, method Swift_Mime_MimePart::_setNestingLevel()
        Set the nesting level of this entity
       __constructin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::__construct()
        Create a new SimpleHeaderSet with the given $factory.
       __constructin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::__construct()
        Creates a new SimpleHeaderFactory using $encoder and $paramEncoder.
       __constructin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::__construct()
        Create a new SimpleMimeEntity with $headers, $encoder and $cache.
       __constructin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::__construct()
        Creates a new SimpleHeader with $name.
       __constructin file SimpleMessage.php, method Swift_Mime_SimpleMessage::__construct()
        Create a new SimpleMessage with $headers, $encoder and $cache.
       __constructin file QpContentEncoder.php, method Swift_Mime_ContentEncoder_QpContentEncoder::__construct()
        Creates a new QpContentEncoder for the given CharacterStream.
       __constructin file Message.php, method Swift_Message::__construct()
        Create a new Message.
       __constructin file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::__construct()
        Creates a new QpHeaderEncoder for the given CharacterStream.
       __constructin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::__construct()
        Creates a new MailboxHeader with $name.
       __constructin file Image.php, method Swift_Image::__construct()
        Create a new EmbeddedFile.
       __constructin file EmbeddedFile.php, method Swift_Mime_EmbeddedFile::__construct()
        Creates a new Attachment with $headers and $encoder.
       __constructin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::__construct()
        Creates a new IdentificationHeader with the given $name and $id.
       __constructin file MimePart.php, method Swift_MimePart::__construct()
        Create a new MimePart.
       __constructin file MimePart.php, method Swift_Mime_MimePart::__construct()
        Create a new MimePart with $headers, $encoder and $cache.
       __constructin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::__construct()
        Creates a new PlainContentEncoder with $name (probably 7bit or 8bit).
       __constructin file Attachment.php, method Swift_Mime_Attachment::__construct()
        Create a new Attachment with $headers, $encoder and $cache.
       __constructin file Attachment.php, method Swift_Attachment::__construct()
        Create a new Attachment.
       __constructin file PathHeader.php, method Swift_Mime_Headers_PathHeader::__construct()
        Creates a new PathHeader with the given $name.
       __constructin file DateHeader.php, method Swift_Mime_Headers_DateHeader::__construct()
        Creates a new DateHeader with $name and $timestamp.
       __constructin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::__construct()
        Creates a new ParameterizedHeader with $name.
       __constructin file EmbeddedFile.php, method Swift_EmbeddedFile::__construct()
        Create a new EmbeddedFile.
       __destructin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::__destruct()
        Empties it's own contents from the cache.
       __toStringin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::__toString()
        Returns a string representation of this object.
       __toStringin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::__toString()
        Returns a string representation of this object.
       __toStringin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::__toString()
        Returns a string representation of this object.
       __toStringin file SimpleMessage.php, method Swift_Mime_SimpleMessage::__toString()
        Returns a string representation of this object.
       __constructin file ReporterPlugin.php, method Swift_Plugins_ReporterPlugin::__construct()
        Create a new ReporterPlugin using $reporter.
       __constructin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::__construct()
        Create a new ThrottlerPlugin.
       __constructin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::__construct()
        Create a new PopBeforeSmtpPlugin for $host and $port.
       __constructin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::__construct()
        Create a new LoggerPlugin using $logger.
       __constructin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::__construct()
        Create a new DecoratorPlugin with $replacements.
       __constructin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::__construct()
        Create a new AntiFloodPlugin with $threshold and $sleep time.
       $_bufferin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_buffer
        Input-Output buffer for sending/receiving SMTP commands and responses
       $_domainin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_domain
        The domain name to use in HELO command
       $_eventDispatcherin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_eventDispatcher
        The event dispatching layer
       $_startedin file AbstractSmtpTransport.php, variable Swift_Transport_AbstractSmtpTransport::$_started
        Connection status
       $_transportsin file LoadBalancedTransport.php, variable Swift_Transport_LoadBalancedTransport::$_transports
        The Transports which are used in rotation.
       _assertResponseCodein file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_assertResponseCode()
        Throws an Exception if a response code is incorrect
       _commitin file StreamBuffer.php, method Swift_Transport_StreamBuffer::_commit()
        Write this bytes to the stream
       _doDataCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doDataCommand()
        Send the DATA command
       _doHeloCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_doHeloCommand()
        Overridden to perform EHLO instead
       _doHeloCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doHeloCommand()
        Send the HELO welcome
       _doMailFromCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_doMailFromCommand()
        Overridden to add Extension support
       _doMailFromCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doMailFromCommand()
        Send the MAIL FROM command
       _doRcptToCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_doRcptToCommand()
        Overridden to add Extension support
       _doRcptToCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_doRcptToCommand()
        Send the RCPT TO command
       _flushin file StreamBuffer.php, method Swift_Transport_StreamBuffer::_flush()
        Flush the stream contents
       _getAuthenticatorsForAgentin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::_getAuthenticatorsForAgent()
        Returns the authenticator list for the given agent.
       _getBufferParamsin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::_getBufferParams()
        Get the params to initialize the buffer
       _getBufferParamsin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_getBufferParams()
        Return an array of params for the Buffer
       _getBufferParamsin file SendmailTransport.php, method Swift_Transport_SendmailTransport::_getBufferParams()
        Get the params to initialize the buffer
       _getFullResponsein file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_getFullResponse()
        Get an entire multi-line response using its sequence number
       _getNextTransportin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::_getNextTransport()
        Rotates the transport list around and returns the first instance.
       _getNextTransportin file FailoverTransport.php, method Swift_Transport_FailoverTransport::_getNextTransport()
       _getReversePathin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_getReversePath()
        Determine the best-use reverse path for this message
       _killCurrentTransportin file FailoverTransport.php, method Swift_Transport_FailoverTransport::_killCurrentTransport()
       _killCurrentTransportin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::_killCurrentTransport()
        Tag the currently used (top of stack) transport as dead/useless.
       _readGreetingin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_readGreeting()
        Read the opening SMTP greeting
       _streamMessagein file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_streamMessage()
        Stream the contents of the message over the buffer
       _throwExceptionin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::_throwException()
        Throw a TransportException, first sending it to any listeners
       __callin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::__call()
        Mixin handling method for ESMTP handlers
       __constructin file SendmailTransport.php, method Swift_SendmailTransport::__construct()
        Create a new SendmailTransport, optionally using $command for sending.
       __constructin file SendmailTransport.php, method Swift_Transport_SendmailTransport::__construct()
        Create a new SendmailTransport with $buf for I/O.
       __constructin file SmtpTransport.php, method Swift_SmtpTransport::__construct()
        Create a new SmtpTransport, optionally with $host, $port and $security.
       __constructin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::__construct()
        Creates a new EsmtpTransport using the given I/O buffer.
       __constructin file TransportException.php, method Swift_TransportException::__construct()
        Create a new TransportException with $message.
       __constructin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::__construct()
        Create a new EchoLogger.
       __constructin file Pop3Exception.php, method Swift_Plugins_Pop_Pop3Exception::__construct()
        Create a new Pop3Exception with $message.
       __constructin file StreamBuffer.php, method Swift_Transport_StreamBuffer::__construct()
        Create a new StreamBuffer using $replacementFactory for transformations.
       __constructin file LoadBalancedTransport.php, method Swift_LoadBalancedTransport::__construct()
        Creates a new LoadBalancedTransport with $transports.
       __constructin file FailoverTransport.php, method Swift_FailoverTransport::__construct()
        Creates a new FailoverTransport with $transports.
       __constructin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::__construct()
        Create a new AuthHandler with $authenticators for support.
       __constructin file FailoverTransport.php, method Swift_Transport_FailoverTransport::__construct()
        Creates a new FailoverTransport.
       __constructin file MailTransport.php, method Swift_Transport_MailTransport::__construct()
        Create a new MailTransport with the $log.
       __constructin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::__construct()
        Creates a new LoadBalancedTransport.
       __constructin file MailTransport.php, method Swift_MailTransport::__construct()
        Create a new MailTransport, optionally specifying $extraParams.
       __constructin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::__construct()
        Create a new ArrayLogger with a maximum of $size entries.
       __constructin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::__construct()
        Creates a new EsmtpTransport using the given I/O buffer.
       __destructin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::__destruct()
        Destructor.
    a  + top
       addConstructorLookupin file DependencyContainer.php, method Swift_DependencyContainer::addConstructorLookup()
        Specify a dependency lookup for the constructor of the previously registered item.
       addConstructorValuein file DependencyContainer.php, method Swift_DependencyContainer::addConstructorValue()
        Specify a literal (non looked up) value for the constructor of the previously registered item.
       addFilterin file Filterable.php, method Swift_Filterable::addFilter()
        Add a new StreamFilter, referenced by $key.
       asAliasOfin file DependencyContainer.php, method Swift_DependencyContainer::asAliasOf()
        Specify the previously registered item as an alias of another item.
       asNewInstanceOfin file DependencyContainer.php, method Swift_DependencyContainer::asNewInstanceOf()
        Specify the previously registered item as a new instance of $className.
       asSharedInstanceOfin file DependencyContainer.php, method Swift_DependencyContainer::asSharedInstanceOf()
        Specify the previously registered item as a shared instance of $className.
       asValuein file DependencyContainer.php, method Swift_DependencyContainer::asValue()
        Specify the previously registered item as a literal value.
       autoloadin file Swift.php, method Swift::autoload()
        Internal autoloader for spl_autoload_register().
       addFilterin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::addFilter()
        Add a StreamFilter to this InputByteStream.
       AbstractFilterableInputStream.phpprocedural page AbstractFilterableInputStream.php
       ArrayByteStream.phpprocedural page ArrayByteStream.php
       ArrayCharacterStream.phpprocedural page ArrayCharacterStream.php
       ArrayKeyCache.phpprocedural page ArrayKeyCache.php
       ArrayRecipientIterator.phpprocedural page ArrayRecipientIterator.php
       addBccin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addBcc()
        Add a Bcc: address to this message.
       addCcin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addCc()
        Add a Cc: address to this message.
       addDateHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addDateHeader()
        Add a new Date header using $timestamp (UNIX time).
       addDateHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addDateHeader()
        Add a new Date header using $timestamp (UNIX time).
       addFromin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addFrom()
        Add a From: address to this message.
       addIdHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addIdHeader()
        Add a new ID header for Message-ID or Content-ID.
       addIdHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addIdHeader()
        Add a new ID header for Message-ID or Content-ID.
       addMailboxHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addMailboxHeader()
        Add a new Mailbox Header with a list of $addresses.
       addMailboxHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addMailboxHeader()
        Add a new Mailbox Header with a list of $addresses.
       addParameterizedHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addParameterizedHeader()
        Add a new ParameterizedHeader with $name, $value and $params.
       addParameterizedHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addParameterizedHeader()
        Add a new ParameterizedHeader with $name, $value and $params.
       addPartin file Message.php, method Swift_Message::addPart()
        Add a MimePart to this Message.
       addPathHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addPathHeader()
        Add a new Path header with an address (path) in it.
       addPathHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addPathHeader()
        Add a new Path header with an address (path) in it.
       addReplyToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addReplyTo()
        Add a Reply-To: address to this message.
       addTextHeaderin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::addTextHeader()
        Add a new basic text header with $name and $value.
       addTextHeaderin file HeaderSet.php, method Swift_Mime_HeaderSet::addTextHeader()
        Add a new basic text header with $name and $value.
       addToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::addTo()
        Add a To: address to this message.
       attachin file SimpleMessage.php, method Swift_Mime_SimpleMessage::attach()
        Attach a Swift_Mime_MimeEntity such as an Attachment or MimePart.
       Attachment.phpprocedural page Attachment.php
       Attachment.phpprocedural page Attachment.php
       AbstractHeader.phpprocedural page AbstractHeader.php
       addin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::add()
        Add a log entry.
       AntiFloodPlugin.phpprocedural page AntiFloodPlugin.php
       addin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::add()
        Add a log entry.
       addin file Logger.php, method Swift_Plugins_Logger::add()
        Add a log entry.
       addin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::add()
        Add a log entry.
       afterEhloin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::afterEhlo()
        Runs immediately after a EHLO has been issued.
       afterEhloin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::afterEhlo()
        Runs immediately after a EHLO has been issued.
       authenticatein file PlainAuthenticator.php, method Swift_Transport_Esmtp_Auth_PlainAuthenticator::authenticate()
        Try to authenticate the user with $username and $password.
       authenticatein file LoginAuthenticator.php, method Swift_Transport_Esmtp_Auth_LoginAuthenticator::authenticate()
        Try to authenticate the user with $username and $password.
       authenticatein file Authenticator.php, method Swift_Transport_Esmtp_Authenticator::authenticate()
        Try to authenticate the user with $username and $password.
       authenticatein file CramMd5Authenticator.php, method Swift_Transport_Esmtp_Auth_CramMd5Authenticator::authenticate()
        Try to authenticate the user with $username and $password.
       ArrayLogger.phpprocedural page ArrayLogger.php
       AbstractSmtpTransport.phpprocedural page AbstractSmtpTransport.php
       Authenticator.phpprocedural page Authenticator.php
       AuthHandler.phpprocedural page AuthHandler.php
    b  + top
       batchSendin file Mailer.php, method Swift_Mailer::batchSend()
        Send the given Message to all recipients individually.
       ByteArrayReplacementFilter.phpprocedural page ByteArrayReplacementFilter.php
       bindin file InputByteStream.php, method Swift_InputByteStream::bind()
        Attach $is to this stream.
       bindin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::bind()
        Attach $is to this stream.
       bindin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::bind()
        Attach $is to this stream.
       Base64Encoder.phpprocedural page Base64Encoder.php
       beforeSendPerformedin file SendListener.php, method Swift_Events_SendListener::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeTransportStartedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::beforeTransportStarted()
        Invoked just before a Transport is started.
       beforeTransportStoppedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::beforeTransportStopped()
        Invoked just before a Transport is stopped.
       bindEventListenerin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::bindEventListener()
        Bind an event listener to this dispatcher.
       bindEventListenerin file EventDispatcher.php, method Swift_Events_EventDispatcher::bindEventListener()
        Bind an event listener to this dispatcher.
       bubbleCancelledin file Event.php, method Swift_Events_Event::bubbleCancelled()
        Returns true if this Event will not bubble any further up the stack.
       bubbleCancelledin file EventObject.php, method Swift_Events_EventObject::bubbleCancelled()
        Returns true if this Event will not bubble any further up the stack.
       bindin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::bind()
        Not used.
       Base64ContentEncoder.phpprocedural page Base64ContentEncoder.php
       Base64HeaderEncoder.phpprocedural page Base64HeaderEncoder.php
       beforeSendPerformedin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeSendPerformedin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeSendPerformedin file ReporterPlugin.php, method Swift_Plugins_ReporterPlugin::beforeSendPerformed()
        Not used.
       beforeSendPerformedin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::beforeSendPerformed()
        Invoked immediately before the Message is sent.
       beforeSendPerformedin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::beforeSendPerformed()
        Not used.
       beforeTransportStartedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::beforeTransportStarted()
        Invoked just before a Transport is started.
       beforeTransportStartedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::beforeTransportStarted()
        Invoked just before a Transport is started.
       beforeTransportStoppedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::beforeTransportStopped()
        Not used.
       beforeTransportStoppedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::beforeTransportStopped()
        Invoked just before a Transport is stopped.
       bindin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::bind()
        Attach $is to this stream.
       bindSmtpin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::bindSmtp()
        Bind this plugin to a specific SMTP transport instance.
       BYTES_PER_MINUTEin file ThrottlerPlugin.php, class constant Swift_Plugins_ThrottlerPlugin::BYTES_PER_MINUTE
        Flag for throttling in bytes per minute
       BandwidthMonitorPlugin.phpprocedural page BandwidthMonitorPlugin.php
    c  + top
       createDependenciesForin file DependencyContainer.php, method Swift_DependencyContainer::createDependenciesFor()
        Create an array of arguments passed to the constructor of $itemName.
       createFilterin file StringReplacementFilterFactory.php, method Swift_StreamFilters_StringReplacementFilterFactory::createFilter()
        Create a new StreamFilter to replace $search with $replace in a string.
       createFilterin file ReplacementFilterFactory.php, method Swift_ReplacementFilterFactory::createFilter()
        Create a filter to replace $search with $replace.
       commitin file InputByteStream.php, method Swift_InputByteStream::commit()
        For any bytes that are currently buffered inside the stream, force them off the buffer.
       commitin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::commit()
        Not used.
       commitin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::commit()
        For any bytes that are currently buffered inside the stream, force them off the buffer.
       CharacterStream.phpprocedural page CharacterStream.php
       charsetChangedin file Base64Encoder.php, method Swift_Encoder_Base64Encoder::charsetChanged()
        Does nothing.
       charsetChangedin file Rfc2231Encoder.php, method Swift_Encoder_Rfc2231Encoder::charsetChanged()
        Updates the charset used.
       charsetChangedin file QpEncoder.php, method Swift_Encoder_QpEncoder::charsetChanged()
        Updates the charset used.
       CharacterReader.phpprocedural page CharacterReader.php
       CharacterReaderFactory.phpprocedural page CharacterReaderFactory.php
       cancelBubblein file Event.php, method Swift_Events_Event::cancelBubble()
        Prevent this Event from bubbling any further up the stack.
       cancelBubblein file EventObject.php, method Swift_Events_EventObject::cancelBubble()
        Prevent this Event from bubbling any further up the stack.
       commandSentin file CommandListener.php, method Swift_Events_CommandListener::commandSent()
        Invoked immediately following a command being sent.
       createCommandEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createCommandEvent()
        Create a new CommandEvent for $source and $command.
       createCommandEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createCommandEvent()
        Create a new CommandEvent for $source and $command.
       createResponseEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createResponseEvent()
        Create a new ResponseEvent for $source and $response.
       createResponseEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createResponseEvent()
        Create a new ResponseEvent for $source and $response.
       createSendEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createSendEvent()
        Create a new SendEvent for $source and $message.
       createSendEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createSendEvent()
        Create a new SendEvent for $source and $message.
       createTransportChangeEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createTransportChangeEvent()
        Create a new TransportChangeEvent for $source.
       createTransportChangeEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createTransportChangeEvent()
        Create a new TransportChangeEvent for $source.
       createTransportExceptionEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::createTransportExceptionEvent()
        Create a new TransportExceptionEvent for $source.
       createTransportExceptionEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::createTransportExceptionEvent()
        Create a new TransportExceptionEvent for $source.
       CommandEvent.phpprocedural page CommandEvent.php
       CommandListener.phpprocedural page CommandListener.php
       clearAllin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearAllin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearAllin file KeyCache.php, method Swift_KeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearAllin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::clearAll()
        Clear all data in the namespace $nsKey if it exists.
       clearKeyin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       clearKeyin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       clearKeyin file KeyCache.php, method Swift_KeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       clearKeyin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::clearKey()
        Clear data for $itemKey in the namespace $nsKey if it exists.
       commitin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::commit()
        Not used.
       charsetChangedin file MimePart.php, method Swift_Mime_MimePart::charsetChanged()
        Receive notification that the charset has changed on this document, or a parent document.
       charsetChangedin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::charsetChanged()
        Notify this observer that the entity's charset has changed.
       charsetChangedin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::charsetChanged()
        Not used.
       charsetChangedin file CharsetObserver.php, method Swift_Mime_CharsetObserver::charsetChanged()
        Notify this observer that the entity's charset has changed.
       charsetChangedin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::charsetChanged()
        Receive notification that the charset of this entity, or a parent entity has changed.
       charsetChangedin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::charsetChanged()
        Notify this observer that the entity's charset has changed.
       clearCachedValueIfin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::clearCachedValueIf()
        Clear the cached value if $condition is met.
       createDateHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createDateHeader()
        Create a new Date header using $timestamp (UNIX time).
       createDateHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createDateHeader()
        Create a new Date header using $timestamp (UNIX time).
       createDisplayNameStringin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::createDisplayNameString()
        Produces a compliant, formatted display-name based on the string given.
       createIdHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createIdHeader()
        Create a new ID header for Message-ID or Content-ID.
       createIdHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createIdHeader()
        Create a new ID header for Message-ID or Content-ID.
       createMailboxHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createMailboxHeader()
        Create a new Mailbox Header with a list of $addresses.
       createMailboxHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createMailboxHeader()
        Create a new Mailbox Header with a list of $addresses.
       createMailboxListStringin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::createMailboxListString()
        Creates a string form of all the mailboxes in the passed array.
       createParameterizedHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createParameterizedHeader()
        Create a new ParameterizedHeader with $name, $value and $params.
       createParameterizedHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createParameterizedHeader()
        Create a new ParameterizedHeader with $name, $value and $params.
       createPathHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createPathHeader()
        Create a new Path header with an address (path) in it.
       createPathHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createPathHeader()
        Create a new Path header with an address (path) in it.
       createPhrasein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::createPhrase()
        Produces a compliant, formatted RFC 2822 'phrase' based on the string given.
       createTextHeaderin file SimpleHeaderFactory.php, method Swift_Mime_SimpleHeaderFactory::createTextHeader()
        Create a new basic text header with $name and $value.
       createTextHeaderin file HeaderFactory.php, method Swift_Mime_HeaderFactory::createTextHeader()
        Create a new basic text header with $name and $value.
       CharsetObserver.phpprocedural page CharsetObserver.php
       ContentEncoder.phpprocedural page ContentEncoder.php
       clearin file HitReporter.php, method Swift_Plugins_Reporters_HitReporter::clear()
        Clear the buffer (empty the list).
       clearin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::clear()
        Clear the log contents.
       commandSentin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::commandSent()
        Invoked immediately following a command being sent.
       commandSentin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::commandSent()
        Invoked immediately following a command being sent.
       commitin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::commit()
        Not used.
       connectin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::connect()
        Connect to the POP3 host and authenticate.
       connectin file Pop3Connection.php, method Swift_Plugins_Pop_Pop3Connection::connect()
        Connect to the POP3 host and throw an Exception if it fails.
       clearin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::clear()
        Not implemented.
       clearin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::clear()
        Clear the log contents.
       clearin file Logger.php, method Swift_Plugins_Logger::clear()
        Clear the log contents.
       CramMd5Authenticator.phpprocedural page CramMd5Authenticator.php
    d  + top
       DependencyContainer.phpprocedural page DependencyContainer.php
       DependencyException.phpprocedural page DependencyException.php
       dispatchEventin file SimpleEventDispatcher.php, method Swift_Events_SimpleEventDispatcher::dispatchEvent()
        Dispatch the given Event to all suitable listeners.
       dispatchEventin file EventDispatcher.php, method Swift_Events_EventDispatcher::dispatchEvent()
        Dispatch the given Event to all suitable listeners.
       DiskKeyCache.phpprocedural page DiskKeyCache.php
       defineOrderingin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::defineOrdering()
        Define a list of Header names as an array in the correct order.
       defineOrderingin file HeaderSet.php, method Swift_Mime_HeaderSet::defineOrdering()
        Define a list of Header names as an array in the correct order.
       detachin file SimpleMessage.php, method Swift_Mime_SimpleMessage::detach()
        Remove an already attached entity.
       DateHeader.phpprocedural page DateHeader.php
       disconnectin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::disconnect()
        Disconnect from the POP3 host.
       disconnectin file Pop3Connection.php, method Swift_Plugins_Pop_Pop3Connection::disconnect()
        Disconnect from the POP3 host and throw an Exception if it fails.
       dumpin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::dump()
        Get this log as a string.
       DecoratorPlugin.phpprocedural page DecoratorPlugin.php
       dumpin file Logger.php, method Swift_Plugins_Logger::dump()
        Get this log as a string.
       dumpin file EchoLogger.php, method Swift_Plugins_Loggers_EchoLogger::dump()
        Not implemented.
       dumpin file ArrayLogger.php, method Swift_Plugins_Loggers_ArrayLogger::dump()
        Get this log as a string.
    e  + top
       encodeStringin file Rfc2231Encoder.php, method Swift_Encoder_Rfc2231Encoder::encodeString()
        Takes an unencoded string and produces a string encoded according to RFC 2231 from it.
       encodeStringin file QpEncoder.php, method Swift_Encoder_QpEncoder::encodeString()
        Takes an unencoded string and produces a QP encoded string from it.
       encodeStringin file Encoder.php, method Swift_Encoder::encodeString()
        Encode a given string to produce an encoded string.
       encodeStringin file Base64Encoder.php, method Swift_Encoder_Base64Encoder::encodeString()
        Takes an unencoded string and produces a Base64 encoded string from it.
       Encoder.phpprocedural page Encoder.php
       Encoding.phpprocedural page Encoding.php
       exceptionThrownin file TransportExceptionListener.php, method Swift_Events_TransportExceptionListener::exceptionThrown()
        Invoked as a TransportException is thrown in the Transport system.
       Event.phpprocedural page Event.php
       EventDispatcher.phpprocedural page EventDispatcher.php
       EventListener.phpprocedural page EventListener.php
       EventObject.phpprocedural page EventObject.php
       exportToByteStreamin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       exportToByteStreamin file KeyCache.php, method Swift_KeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       exportToByteStreamin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       exportToByteStreamin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::exportToByteStream()
        Get data back out of the cache as a ByteStream.
       embedin file SimpleMessage.php, method Swift_Mime_SimpleMessage::embed()
        Attach a Swift_Mime_MimeEntity and return it's CID source.
       encodeByteStreamin file QpContentEncoder.php, method Swift_Mime_ContentEncoder_QpContentEncoder::encodeByteStream()
        Encode stream $in to stream $out.
       encodeByteStreamin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::encodeByteStream()
        Encode stream $in to stream $out.
       encodeByteStreamin file ContentEncoder.php, method Swift_Mime_ContentEncoder::encodeByteStream()
        Encode $in to $out.
       encodeByteStreamin file Base64ContentEncoder.php, method Swift_Mime_ContentEncoder_Base64ContentEncoder::encodeByteStream()
        Encode stream $in to stream $out.
       encoderChangedin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::encoderChanged()
        Receive notification that the encoder of this entity or a parent entity has changed.
       encoderChangedin file EncodingObserver.php, method Swift_Mime_EncodingObserver::encoderChanged()
        Notify this observer that the observed entity's ContentEncoder has changed.
       encodeStringin file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::encodeString()
        Takes an unencoded string and produces a Q encoded string from it.
       encodeStringin file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::encodeString()
        Encode a given string to produce an encoded string.
       encodeWordsin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::encodeWords()
        Encode needed word tokens within a string of input.
       escapeSpecialsin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::escapeSpecials()
        Escape special characters in a string (convert to quoted-pairs).
       EmbeddedFile.phpprocedural page EmbeddedFile.php
       EmbeddedFile.phpprocedural page EmbeddedFile.php
       EncodingObserver.phpprocedural page EncodingObserver.php
       exceptionThrownin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::exceptionThrown()
        Invoked as a TransportException is thrown in the Transport system.
       executeCommandin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::executeCommand()
        Run a command against the buffer, expecting the given response codes.
       executeCommandin file SmtpAgent.php, method Swift_Transport_SmtpAgent::executeCommand()
        Run a command against the buffer, expecting the given response codes.
       executeCommandin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::executeCommand()
        Run a command against the buffer, expecting the given response codes.
       exposeMixinMethodsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::exposeMixinMethods()
        Returns an array of method names which are exposed to the Esmtp class.
       exposeMixinMethodsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::exposeMixinMethods()
        Returns an array of method names which are exposed to the Esmtp class.
       EchoLogger.phpprocedural page EchoLogger.php
       EsmtpHandler.phpprocedural page EsmtpHandler.php
       EsmtpTransport.phpprocedural page EsmtpTransport.php
    f  + top
       filterin file StreamFilter.php, method Swift_StreamFilter::filter()
        Filters $buffer and returns the changes.
       filterin file ByteArrayReplacementFilter.php, method Swift_StreamFilters_ByteArrayReplacementFilter::filter()
        Perform the actual replacements on $buffer and return the result.
       filterin file StringReplacementFilter.php, method Swift_StreamFilters_StringReplacementFilter::filter()
        Perform the actual replacements on $buffer and return the result.
       Filterable.phpprocedural page Filterable.php
       flushBuffersin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       flushBuffersin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       flushBuffersin file InputByteStream.php, method Swift_InputByteStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       FileByteStream.phpprocedural page FileByteStream.php
       FileStream.phpprocedural page FileStream.php
       flushContentsin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::flushContents()
       flushContentsin file CharacterStream.php, method Swift_CharacterStream::flushContents()
        Empty the stream and reset the internal pointer.
       flushContentsin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::flushContents()
        Empty the stream and reset the internal pointer.
       flushBuffersin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::flushBuffers()
        Flush the contents of the stream (empty it) and set the internal pointer to the beginning.
       fromPathin file Image.php, method Swift_Image::fromPath()
        Create a new Image from a filesystem path.
       fromPathin file EmbeddedFile.php, method Swift_EmbeddedFile::fromPath()
        Create a new EmbeddedFile from a filesystem path.
       fromPathin file Attachment.php, method Swift_Attachment::fromPath()
        Create a new Attachment from a filesystem path.
       flushBuffersin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::flushBuffers()
        Not used.
       FailoverTransport.phpprocedural page FailoverTransport.php
       FailoverTransport.phpprocedural page FailoverTransport.php
    g  + top
       getInstancein file DependencyContainer.php, method Swift_DependencyContainer::getInstance()
        Returns a singleton of the DependencyContainer.
       getTransportin file Mailer.php, method Swift_Mailer::getTransport()
        The Transport used to send messages.
       getPathin file FileStream.php, method Swift_FileStream::getPath()
        Get the complete path to the file.
       getPathin file FileByteStream.php, method Swift_ByteStream_FileByteStream::getPath()
        Get the complete path to the file.
       get7BitEncodingin file Encoding.php, method Swift_Encoding::get7BitEncoding()
        Get the Encoder that provides 7-bit encoding.
       get8BitEncodingin file Encoding.php, method Swift_Encoding::get8BitEncoding()
        Get the Encoder that provides 8-bit encoding.
       getBase64Encodingin file Encoding.php, method Swift_Encoding::getBase64Encoding()
        Get the Encoder that provides Base64 encoding.
       getCharPositionsin file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::getCharPositions()
        Returns the complete charactermap
       getCharPositionsin file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::getCharPositions()
        Returns the complete charactermap
       getCharPositionsin file CharacterReader.php, method Swift_CharacterReader::getCharPositions()
        Returns the complete charactermap
       getCharPositionsin file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::getCharPositions()
        Returns the complete charactermap
       getInitialByteSizein file CharacterReader.php, method Swift_CharacterReader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getInitialByteSizein file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getInitialByteSizein file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getInitialByteSizein file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::getInitialByteSize()
        Returns the number of bytes which should be read to start each character.
       getMapTypein file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::getMapType()
        Returns mapType
       getMapTypein file CharacterReader.php, method Swift_CharacterReader::getMapType()
        Returns mapType
       getMapTypein file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::getMapType()
        Returns mapType
       getMapTypein file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::getMapType()
        Returns mapType
       getQpEncodingin file Encoding.php, method Swift_Encoding::getQpEncoding()
        Get the Encoder that provides Quoted-Printable (QP) encoding.
       getReaderForin file SimpleCharacterReaderFactory.php, method Swift_CharacterReaderFactory_SimpleCharacterReaderFactory::getReaderFor()
        Returns a CharacterReader suitable for the charset applied.
       getReaderForin file CharacterReaderFactory.php, method Swift_CharacterReaderFactory::getReaderFor()
        Returns a CharacterReader suitable for the charset applied.
       GenericFixedWidthReader.phpprocedural page GenericFixedWidthReader.php
       getCommandin file CommandEvent.php, method Swift_Events_CommandEvent::getCommand()
        Get the command which was sent to the server.
       getExceptionin file TransportExceptionEvent.php, method Swift_Events_TransportExceptionEvent::getException()
        Get the TransportException thrown.
       getFailedRecipientsin file SendEvent.php, method Swift_Events_SendEvent::getFailedRecipients()
        Get an recipient addresses which were not accepted for delivery.
       getMessagein file SendEvent.php, method Swift_Events_SendEvent::getMessage()
        Get the Message being sent.
       getResponsein file ResponseEvent.php, method Swift_Events_ResponseEvent::getResponse()
        Get the response which was received from the server.
       getResultin file SendEvent.php, method Swift_Events_SendEvent::getResult()
        Get the result of this Event.
       getSourcein file EventObject.php, method Swift_Events_EventObject::getSource()
        Get the source object of this event.
       getSourcein file Event.php, method Swift_Events_Event::getSource()
        Get the source object of this event.
       getSuccessCodesin file CommandEvent.php, method Swift_Events_CommandEvent::getSuccessCodes()
        Get the numeric response codes which indicate success for this command.
       getTransportin file SendEvent.php, method Swift_Events_SendEvent::getTransport()
        Get the Transport used to send the Message.
       getTransportin file TransportChangeEvent.php, method Swift_Events_TransportChangeEvent::getTransport()
        Get the Transport.
       getInputByteStreamin file KeyCache.php, method Swift_KeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getInputByteStreamin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getInputByteStreamin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getInputByteStreamin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::getInputByteStream()
        Provides a ByteStream which when written to, writes data to $itemKey.
       getStringin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::getString()
        Get data back out of the cache as a string.
       getStringin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::getString()
        Get data back out of the cache as a string.
       getStringin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::getString()
        Get data back out of the cache as a string.
       getStringin file KeyCache.php, method Swift_KeyCache::getString()
        Get data back out of the cache as a string.
       generateIdin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::generateId()
        Generate a new Content-ID or Message-ID for this MIME entity.
       generateIdin file Message.php, method Swift_Mime_Message::generateId()
        Generates a valid Message-ID and switches to it.
       generateTokenLinesin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::generateTokenLines()
        Generates tokens from the given string which include CRLF as individual tokens.
       getin file HeaderSet.php, method Swift_Mime_HeaderSet::get()
        Get the header with the given $name.
       getin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::get()
        Get the header with the given $name.
       getAddressin file PathHeader.php, method Swift_Mime_Headers_PathHeader::getAddress()
        Get the address which is used in this Header (if any).
       getAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getAddresses()
        Get all email addresses in this Header.
       getAllin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::getAll()
        Get all headers with the given $name.
       getAllin file HeaderSet.php, method Swift_Mime_HeaderSet::getAll()
        Get all headers with the given $name.
       getBccin file Message.php, method Swift_Mime_Message::getBcc()
        Get the Bcc addresses for this message.
       getBccin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getBcc()
        Get the Bcc addresses of this message.
       getBodyin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getBody()
        Get the body of this entity as a string.
       getBodyin file MimeEntity.php, method Swift_Mime_MimeEntity::getBody()
        Get the body content of this entity as a string.
       getBoundaryin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getBoundary()
        Get the boundary used to separate children in this entity.
       getCachedValuein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getCachedValue()
        Get the value in the cache.
       getCcin file Message.php, method Swift_Mime_Message::getCc()
        Get the Cc addresses for this message.
       getCcin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getCc()
        Get the Cc address of this message.
       getCharsetin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getCharset()
        Get the character set used in this Header.
       getCharsetin file MimePart.php, method Swift_Mime_MimePart::getCharset()
        Get the character set of this entity.
       getChildrenin file MimeEntity.php, method Swift_Mime_MimeEntity::getChildren()
        Get all children nested inside this entity.
       getChildrenin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getChildren()
        Get all children added to this entity.
       getContentTypein file MimeEntity.php, method Swift_Mime_MimeEntity::getContentType()
        Get the qualified content-type of this mime entity.
       getContentTypein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getContentType()
        Get the Content-type of this entity.
       getDatein file SimpleMessage.php, method Swift_Mime_SimpleMessage::getDate()
        Get the date at which this message was created.
       getDatein file Message.php, method Swift_Mime_Message::getDate()
        Get the origination date of the message as a UNIX timestamp.
       getDelSpin file MimePart.php, method Swift_Mime_MimePart::getDelSp()
        Test if delsp is being used for this entity.
       getDescriptionin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getDescription()
        Get the description of this entity.
       getDispositionin file Attachment.php, method Swift_Mime_Attachment::getDisposition()
        Get the Content-Disposition of this attachment.
       getEncodableWordTokensin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getEncodableWordTokens()
        Splits a string into tokens in blocks of words which can be encoded quickly.
       getEncoderin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getEncoder()
        Get the encoder used for encoding this Header.
       getEncoderin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getEncoder()
        Get the encoder used for the body of this entity.
       getFieldBodyin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getFieldBody()
        Get the value of this header prepared for rendering.
       getFieldBodyin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getFieldBody()
        Get the value of this header prepared for rendering.
       getFieldBodyin file PathHeader.php, method Swift_Mime_Headers_PathHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyin file DateHeader.php, method Swift_Mime_Headers_DateHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyin file Header.php, method Swift_Mime_Header::getFieldBody()
        Get the field body, prepared for folding into a final header value.
       getFieldBodyin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getFieldBody()
        Get the string value of the body in this Header.
       getFieldBodyModelin file Header.php, method Swift_Mime_Header::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file PathHeader.php, method Swift_Mime_Headers_PathHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file DateHeader.php, method Swift_Mime_Headers_DateHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldBodyModelin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getFieldBodyModel()
        Get the model for the field body.
       getFieldNamein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getFieldName()
        Get the name of this header (e.g. charset).
       getFieldNamein file Header.php, method Swift_Mime_Header::getFieldName()
        Get the name of this header (e.g. Subject).
       getFieldTypein file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file DateHeader.php, method Swift_Mime_Headers_DateHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file Header.php, method Swift_Mime_Header::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file PathHeader.php, method Swift_Mime_Headers_PathHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFieldTypein file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getFieldType()
        Get the type of Header that this instance represents.
       getFilenamein file Attachment.php, method Swift_Mime_Attachment::getFilename()
        Get the filename of this attachment when downloaded.
       getFormatin file MimePart.php, method Swift_Mime_MimePart::getFormat()
        Get the format of this entity (i.e. flowed or fixed).
       getFromin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getFrom()
        Get the from address of this message.
       getFromin file Message.php, method Swift_Mime_Message::getFrom()
        Get the From address(es) of this message.
       getGrammarin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getGrammar()
        Get the grammar defined for $name token.
       getHeadersin file MimeEntity.php, method Swift_Mime_MimeEntity::getHeaders()
        Get the collection of Headers in this Mime entity.
       getHeadersin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getHeaders()
        Get the Swift_Mime_HeaderSet for this entity.
       getIdin file MimeEntity.php, method Swift_Mime_MimeEntity::getId()
        Returns a unique ID for this entity.
       getIdin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getId()
        Get the ID used in the value of this Header.
       getIdin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getId()
        Get the CID of this entity.
       getIdsin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::getIds()
        Get the list of IDs used in this Header.
       getLanguagein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getLanguage()
        Get the language used in this Header.
       getMaxLineLengthin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getMaxLineLength()
        Get the maximum line length of the body of this entity.
       getMaxLineLengthin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getMaxLineLength()
        Get the maximum permitted length of lines in this Header.
       getNamein file QpContentEncoder.php, method Swift_Mime_ContentEncoder_QpContentEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file QpHeaderEncoder.php, method Swift_Mime_HeaderEncoder_QpHeaderEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file PlainContentEncoder.php, method Swift_Mime_ContentEncoder_PlainContentEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file HeaderEncoder.php, method Swift_Mime_HeaderEncoder::getName()
        Get the MIME name of this content encoding scheme.
       getNamein file Base64HeaderEncoder.php, method Swift_Mime_HeaderEncoder_Base64HeaderEncoder::getName()
        Get the name of this encoding scheme.
       getNamein file ContentEncoder.php, method Swift_Mime_ContentEncoder::getName()
        Get the MIME name of this content encoding scheme.
       getNamein file Base64ContentEncoder.php, method Swift_Mime_ContentEncoder_Base64ContentEncoder::getName()
        Get the name of this encoding scheme.
       getNameAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getNameAddresses()
        Get all mailboxes in this Header as key=>value pairs.
       getNameAddressStringsin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::getNameAddressStrings()
        Get the full mailbox list of this Header as an array of valid RFC 2822 strings.
       getNestingLevelin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::getNestingLevel()
        Get the nesting level of this entity.
       getNestingLevelin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getNestingLevel()
        Always returns LEVEL_TOP for a message instance.
       getNestingLevelin file MimePart.php, method Swift_Mime_MimePart::getNestingLevel()
        Get the nesting level of this entity.
       getNestingLevelin file MimeEntity.php, method Swift_Mime_MimeEntity::getNestingLevel()
        Get the level at which this entity shall be nested in final document.
       getNestingLevelin file EmbeddedFile.php, method Swift_Mime_EmbeddedFile::getNestingLevel()
        Get the nesting level of this EmbeddedFile.
       getNestingLevelin file Attachment.php, method Swift_Mime_Attachment::getNestingLevel()
        Get the nesting level used for this attachment.
       getParameterin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getParameter()
        Get the value of $parameter.
       getParameterin file ParameterizedHeader.php, method Swift_Mime_ParameterizedHeader::getParameter()
        Get the value of $parameter.
       getParametersin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::getParameters()
        Returns an associative array of parameter names mapped to values.
       getPriorityin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getPriority()
        Get the priority of this message.
       getReadReceiptToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getReadReceiptTo()
        Get the addresses to which a read-receipt will be sent.
       getReplyToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getReplyTo()
        Get the reply-to address of this message.
       getReplyToin file Message.php, method Swift_Mime_Message::getReplyTo()
        Get the Reply-To addresses for this message.
       getReturnPathin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getReturnPath()
        Get the return-path (bounce address) of this message.
       getReturnPathin file Message.php, method Swift_Mime_Message::getReturnPath()
        Get the return-path (bounce-detect) address.
       getSenderin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getSender()
        Get the sender of this message.
       getSenderin file Message.php, method Swift_Mime_Message::getSender()
        Get the sender address for this message.
       getSizein file Attachment.php, method Swift_Mime_Attachment::getSize()
        Get the file size of this attachment.
       getSubjectin file Message.php, method Swift_Mime_Message::getSubject()
        Get the subject of the message.
       getSubjectin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getSubject()
        Get the subject of this message.
       getTimestampin file DateHeader.php, method Swift_Mime_Headers_DateHeader::getTimestamp()
        Get the UNIX timestamp of the Date in this Header.
       getToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::getTo()
        Get the To addresses of this message.
       getToin file Message.php, method Swift_Mime_Message::getTo()
        Get the To addresses for this message.
       getTokenAsEncodedWordin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::getTokenAsEncodedWord()
        Get a token as an encoded word for safe insertion into headers.
       getValuein file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::getValue()
        Get the (unencoded) value of this header.
       getBytesInin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::getBytesIn()
        Get the total number of bytes received from the server.
       getBytesOutin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::getBytesOut()
        Get the total number of bytes sent to the server.
       getFailedRecipientsin file HitReporter.php, method Swift_Plugins_Reporters_HitReporter::getFailedRecipients()
        Get an array of addresses for which delivery failed.
       getReplacementsForin file Replacements.php, method Swift_Plugins_Decorator_Replacements::getReplacementsFor()
        Return the array of replacements for $address.
       getReplacementsForin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::getReplacementsFor()
        Find a map of replacements for the address.
       getSleepTimein file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::getSleepTime()
        Get the number of seconds to sleep for during a restart.
       getThresholdin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::getThreshold()
        Get the number of emails to send before restarting.
       getTimestampin file Timer.php, method Swift_Plugins_Timer::getTimestamp()
        Get the current UNIX timestamp.
       getTimestampin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::getTimestamp()
        Get the current UNIX timestamp
       getAuthenticatorsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getAuthenticators()
        Get the Authenticators which can process a login request.
       getAuthKeywordin file LoginAuthenticator.php, method Swift_Transport_Esmtp_Auth_LoginAuthenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthKeywordin file PlainAuthenticator.php, method Swift_Transport_Esmtp_Auth_PlainAuthenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthKeywordin file Authenticator.php, method Swift_Transport_Esmtp_Authenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthKeywordin file CramMd5Authenticator.php, method Swift_Transport_Esmtp_Auth_CramMd5Authenticator::getAuthKeyword()
        Get the name of the AUTH mechanism this Authenticator handles.
       getAuthModein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getAuthMode()
        Get the auth mode to use to authenticate.
       getBufferin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::getBuffer()
        Get the IoBuffer where read/writes are occurring.
       getBufferin file SmtpAgent.php, method Swift_Transport_SmtpAgent::getBuffer()
        Get the IoBuffer where read/writes are occurring.
       getCommandin file SendmailTransport.php, method Swift_Transport_SendmailTransport::getCommand()
        Get the sendmail command which will be invoked.
       getEncryptionin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getEncryption()
        Get the encryption type.
       getExtensionHandlersin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getExtensionHandlers()
        Get ESMTP extension handlers.
       getExtraParamsin file MailTransport.php, method Swift_Transport_MailTransport::getExtraParams()
        Get the additional parameters used on the mail() function.
       getHandledKeywordin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getHandledKeyword()
        Get the name of the ESMTP extension this handles.
       getHandledKeywordin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getHandledKeyword()
        Get the name of the ESMTP extension this handles.
       getHostin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getHost()
        Get the host to connect to.
       getLocalDomainin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::getLocalDomain()
        Get the name of the domain Swift will identify as.
       getMailParamsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getMailParams()
        Get params which are appended to MAIL FROM:<>.
       getMailParamsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getMailParams()
        Not used.
       getPasswordin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getPassword()
        Get the password to authenticate with.
       getPortin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getPort()
        Get the port to connect to.
       getPriorityOverin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getPriorityOver()
        Returns +1, -1 or 0 according to the rules for usort().
       getPriorityOverin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getPriorityOver()
        Returns +1, -1 or 0 according to the rules for usort().
       getRcptParamsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getRcptParams()
        Not used.
       getRcptParamsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::getRcptParams()
        Get params which are appended to RCPT TO:<>.
       getTimeoutin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::getTimeout()
        Get the connection timeout.
       getTransportsin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::getTransports()
        Get $transports to delegate to.
       getUsernamein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::getUsername()
        Get the username to authenticate with.
    h  + top
       hasin file DependencyContainer.php, method Swift_DependencyContainer::has()
        Test if an item is registered in this container with the given name.
       hasKeyin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasKeyin file KeyCache.php, method Swift_KeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasKeyin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasKeyin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::hasKey()
        Check if the given $itemKey exists in the namespace $nsKey.
       hasNextin file RecipientIterator.php, method Swift_Mailer_RecipientIterator::hasNext()
        Returns true only if there are more recipients to send to.
       hasNextin file ArrayRecipientIterator.php, method Swift_Mailer_ArrayRecipientIterator::hasNext()
        Returns true only if there are more recipients to send to.
       hasin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::has()
        Returns true if at least one header with the given $name exists.
       hasin file HeaderSet.php, method Swift_Mime_HeaderSet::has()
        Returns true if at least one header with the given $name exists.
       Header.phpprocedural page Header.php
       HeaderEncoder.phpprocedural page HeaderEncoder.php
       HeaderFactory.phpprocedural page HeaderFactory.php
       HeaderSet.phpprocedural page HeaderSet.php
       HitReporter.phpprocedural page HitReporter.php
       HtmlReporter.phpprocedural page HtmlReporter.php
    i  + top
       IoException.phpprocedural page IoException.php
       InputByteStream.phpprocedural page InputByteStream.php
       importByteStreamin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::importByteStream()
       importByteStreamin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::importByteStream()
        Overwrite this character stream using the byte sequence in the byte stream.
       importByteStreamin file CharacterStream.php, method Swift_CharacterStream::importByteStream()
        Overwrite this character stream using the byte sequence in the byte stream.
       importStringin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::importString()
       importStringin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::importString()
        Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
       importStringin file CharacterStream.php, method Swift_CharacterStream::importString()
        Import a string a bytes into this CharacterStream, overwriting any existing data in the stream.
       isValidin file ResponseEvent.php, method Swift_Events_ResponseEvent::isValid()
        Get the success status of this Event.
       importFromByteStreamin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       importFromByteStreamin file KeyCache.php, method Swift_KeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       importFromByteStreamin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       importFromByteStreamin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::importFromByteStream()
        Set a ByteStream into the cache under $itemKey for the namespace $nsKey.
       initializeGrammarin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::initializeGrammar()
        Initialize some RFC 2822 (and friends) ABNF grammar definitions.
       Image.phpprocedural page Image.php
       IdentificationHeader.phpprocedural page IdentificationHeader.php
       initializein file StreamBuffer.php, method Swift_Transport_StreamBuffer::initialize()
        Perform any initialization needed, using the given $params.
       initializein file IoBuffer.php, method Swift_Transport_IoBuffer::initialize()
        Perform any initialization needed, using the given $params.
       isStartedin file Transport.php, method Swift_Transport::isStarted()
        Test if this Transport mechanism has started.
       isStartedin file MailTransport.php, method Swift_Transport_MailTransport::isStarted()
        Not used.
       isStartedin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::isStarted()
        Test if this Transport mechanism has started.
       isStartedin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::isStarted()
        Test if an SMTP connection has been established.
       IoBuffer.phpprocedural page IoBuffer.php
    k  + top
       KeyCacheInputStream.phpprocedural page KeyCacheInputStream.php
       KeyCache.phpprocedural page KeyCache.php
    l  + top
       listItemsin file DependencyContainer.php, method Swift_DependencyContainer::listItems()
        List the names of all items stored in the Container.
       lookupin file DependencyContainer.php, method Swift_DependencyContainer::lookup()
        Lookup the item with the given $itemName.
       LEVEL_ALTERNATIVEin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_ALTERNATIVE
        An entity which nests with the same precedence as a mime part
       LEVEL_MIXEDin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_MIXED
        An entity which nests with the same precedence as an attachment
       LEVEL_RELATEDin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_RELATED
        An entity which nests with the same precedence as embedded content
       LEVEL_TOPin file MimeEntity.php, class constant Swift_Mime_MimeEntity::LEVEL_TOP
        Main message document; there can only be one of these
       LoggerPlugin.phpprocedural page LoggerPlugin.php
       LoadBalancedTransport.phpprocedural page LoadBalancedTransport.php
       Logger.phpprocedural page Logger.php
       LoginAuthenticator.phpprocedural page LoginAuthenticator.php
       LoadBalancedTransport.phpprocedural page LoadBalancedTransport.php
    m  + top
       Mailer.phpprocedural page Mailer.php
       MAP_TYPE_FIXED_LENin file CharacterReader.php, class constant Swift_CharacterReader::MAP_TYPE_FIXED_LEN
       MAP_TYPE_INVALIDin file CharacterReader.php, class constant Swift_CharacterReader::MAP_TYPE_INVALID
       MAP_TYPE_POSITIONSin file CharacterReader.php, class constant Swift_CharacterReader::MAP_TYPE_POSITIONS
       MODE_APPENDin file KeyCache.php, class constant Swift_KeyCache::MODE_APPEND
        Mode for appending data to the end of existing cached data
       MODE_WRITEin file KeyCache.php, class constant Swift_KeyCache::MODE_WRITE
        Mode for replacing existing cached data
       Message.phpprocedural page Message.php
       MailboxHeader.phpprocedural page MailboxHeader.php
       Message.phpprocedural page Message.php
       MimeEntity.phpprocedural page MimeEntity.php
       MimePart.phpprocedural page MimePart.php
       MimePart.phpprocedural page MimePart.php
       MESSAGES_PER_MINUTEin file ThrottlerPlugin.php, class constant Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE
        Flag for throttling in emails per minute
       mailin file MailInvoker.php, method Swift_Transport_MailInvoker::mail()
        Send mail via the mail() function.
       mailin file SimpleMailInvoker.php, method Swift_Transport_SimpleMailInvoker::mail()
        Send mail via the mail() function.
       MailTransport.phpprocedural page MailTransport.php
       MailInvoker.phpprocedural page MailInvoker.php
       MailTransport.phpprocedural page MailTransport.php
    n  + top
       newInstancein file Mailer.php, method Swift_Mailer::newInstance()
        Create a new Mailer instance.
       NgCharacterStream.phpprocedural page NgCharacterStream.php
       NullKeyCache.phpprocedural page NullKeyCache.php
       nextRecipientin file RecipientIterator.php, method Swift_Mailer_RecipientIterator::nextRecipient()
        Returns an array where the keys are the addresses of recipients and the values are the names.
       nextRecipientin file ArrayRecipientIterator.php, method Swift_Mailer_ArrayRecipientIterator::nextRecipient()
        Returns an array where the keys are the addresses of recipients and the values are the names.
       newInstancein file MimePart.php, method Swift_MimePart::newInstance()
        Create a new MimePart.
       newInstancein file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::newInstance()
        Create a new instance of this HeaderSet.
       newInstancein file Message.php, method Swift_Message::newInstance()
        Create a new Message.
       newInstancein file Image.php, method Swift_Image::newInstance()
        Create a new Image.
       newInstancein file EmbeddedFile.php, method Swift_EmbeddedFile::newInstance()
        Create a new EmbeddedFile.
       newInstancein file HeaderSet.php, method Swift_Mime_HeaderSet::newInstance()
        Create a new instance of this HeaderSet.
       newInstancein file Attachment.php, method Swift_Attachment::newInstance()
        Create a new Attachment.
       normalizeMailboxesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::normalizeMailboxes()
        Normalizes a user-input list of mailboxes into consistent key=>value pairs.
       newInstancein file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::newInstance()
        Create a new PopBeforeSmtpPlugin for $host and $port.
       notifyin file Reporter.php, method Swift_Plugins_Reporter::notify()
        Notifies this ReportNotifier that $address failed or succeeded.
       notifyin file HtmlReporter.php, method Swift_Plugins_Reporters_HtmlReporter::notify()
        Notifies this ReportNotifier that $address failed or succeeded.
       notifyin file HitReporter.php, method Swift_Plugins_Reporters_HitReporter::notify()
        Notifies this ReportNotifier that $address failed or succeeded.
       newInstancein file SmtpTransport.php, method Swift_SmtpTransport::newInstance()
        Create a new SmtpTransport instance.
       newInstancein file SendmailTransport.php, method Swift_SendmailTransport::newInstance()
        Create a new SendmailTransport instance.
       newInstancein file MailTransport.php, method Swift_MailTransport::newInstance()
        Create a new MailTransport instance.
       newInstancein file LoadBalancedTransport.php, method Swift_LoadBalancedTransport::newInstance()
        Create a new LoadBalancedTransport instance.
       newInstancein file FailoverTransport.php, method Swift_FailoverTransport::newInstance()
        Create a new FailoverTransport instance.
    o  + top
       OutputByteStream.phpprocedural page OutputByteStream.php
       onCommandin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::onCommand()
        Runs when a command is due to be sent.
       onCommandin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::onCommand()
        Not used.
    p  + top
       POSITION_ENDin file DiskKeyCache.php, class constant Swift_KeyCache_DiskKeyCache::POSITION_END
        Signal to place pointer at end of file
       POSITION_STARTin file DiskKeyCache.php, class constant Swift_KeyCache_DiskKeyCache::POSITION_START
        Signal to place pointer at start of file
       PlainContentEncoder.phpprocedural page PlainContentEncoder.php
       ParameterizedHeader.phpprocedural page ParameterizedHeader.php
       PathHeader.phpprocedural page PathHeader.php
       ParameterizedHeader.phpprocedural page ParameterizedHeader.php
       Pop3Connection.phpprocedural page Pop3Connection.php
       PopBeforeSmtpPlugin.phpprocedural page PopBeforeSmtpPlugin.php
       Pop3Exception.phpprocedural page Pop3Exception.php
       PlainAuthenticator.phpprocedural page PlainAuthenticator.php
    q  + top
       QpEncoder.phpprocedural page QpEncoder.php
       QpContentEncoder.phpprocedural page QpContentEncoder.php
       QpHeaderEncoder.phpprocedural page QpHeaderEncoder.php
    r  + top
       registerin file DependencyContainer.php, method Swift_DependencyContainer::register()
        Register a new dependency with $itemName.
       registerAutoloadin file Swift.php, method Swift::registerAutoload()
        Configure autoloading using Swift Mailer.
       registerPluginin file Mailer.php, method Swift_Mailer::registerPlugin()
        Register a plugin using a known unique key (e.g. myPlugin).
       removeFilterin file Filterable.php, method Swift_Filterable::removeFilter()
        Remove an existing filter using $key.
       ReplacementFilterFactory.phpprocedural page ReplacementFilterFactory.php
       RfcComplianceException.phpprocedural page RfcComplianceException.php
       readin file OutputByteStream.php, method Swift_OutputByteStream::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       readin file FileByteStream.php, method Swift_ByteStream_FileByteStream::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       readin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       removeFilterin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::removeFilter()
        Remove an already present StreamFilter based on its $key.
       readin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::read()
       readin file CharacterStream.php, method Swift_CharacterStream::read()
        Read $length characters from the stream and move the internal pointer $length further into the stream.
       readin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::read()
        Read $length characters from the stream and move the internal pointer $length further into the stream.
       readBytesin file CharacterStream.php, method Swift_CharacterStream::readBytes()
        Read $length characters from the stream and return a 1-dimensional array containing there octet values.
       readBytesin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::readBytes()
       readBytesin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::readBytes()
        Read $length characters from the stream and return a 1-dimensional array containing there octet values.
       Rfc2231Encoder.phpprocedural page Rfc2231Encoder.php
       responseReceivedin file ResponseListener.php, method Swift_Events_ResponseListener::responseReceived()
        Invoked immediately following a response coming back.
       RESULT_FAILEDin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_FAILED
        Sending failed
       RESULT_PENDINGin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_PENDING
        Sending has yet to occur
       RESULT_SUCCESSin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_SUCCESS
        Sending was successful
       RESULT_TENTATIVEin file SendEvent.php, class constant Swift_Events_SendEvent::RESULT_TENTATIVE
        Sending worked, but there were some failures
       ResponseEvent.phpprocedural page ResponseEvent.php
       ResponseListener.phpprocedural page ResponseListener.php
       RecipientIterator.phpprocedural page RecipientIterator.php
       removein file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::remove()
        Remove the header with the given $name if it's set.
       removein file HeaderSet.php, method Swift_Mime_HeaderSet::remove()
        Remove the header with the given $name if it's set.
       removeAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::removeAddresses()
        Remove one or more addresses from this Header.
       removeAllin file HeaderSet.php, method Swift_Mime_HeaderSet::removeAll()
        Remove all headers with the given $name.
       removeAllin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::removeAll()
        Remove all headers with the given $name.
       resetin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::reset()
        Reset the internal counters to zero.
       responseReceivedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::responseReceived()
        Invoked immediately following a response coming back.
       responseReceivedin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::responseReceived()
        Invoked immediately following a response coming back.
       RESULT_FAILin file Reporter.php, class constant Swift_Plugins_Reporter::RESULT_FAIL
        The recipient could not be accepted
       RESULT_PASSin file Reporter.php, class constant Swift_Plugins_Reporter::RESULT_PASS
        The recipient was accepted for delivery
       Replacements.phpprocedural page Replacements.php
       Reporter.phpprocedural page Reporter.php
       ReporterPlugin.phpprocedural page ReporterPlugin.php
       readin file StreamBuffer.php, method Swift_Transport_StreamBuffer::read()
        Reads $length bytes from the stream into a string and moves the pointer through the stream by $length. If less bytes exist than are requested the remaining bytes are given instead. If no bytes are remaining at all, boolean false is returned.
       readLinein file StreamBuffer.php, method Swift_Transport_StreamBuffer::readLine()
        Get a line of output (including any CRLF).
       readLinein file IoBuffer.php, method Swift_Transport_IoBuffer::readLine()
        Get a line of output (including any CRLF).
       registerPluginin file Transport.php, method Swift_Transport::registerPlugin()
        Register a plugin in the Transport.
       registerPluginin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::registerPlugin()
        Register a plugin.
       registerPluginin file MailTransport.php, method Swift_Transport_MailTransport::registerPlugin()
        Register a plugin.
       registerPluginin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::registerPlugin()
        Register a plugin.
       resetin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::reset()
        Reset the current mail transaction.
       resetStatein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::resetState()
        Not used.
       resetStatein file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::resetState()
        Tells this handler to clear any buffers and reset its state.
    s  + top
       sendin file Mailer.php, method Swift_Mailer::send()
        Send the given Message like it would be sent in a mail client.
       shouldBufferin file StringReplacementFilter.php, method Swift_StreamFilters_StringReplacementFilter::shouldBuffer()
        Returns true if based on the buffer passed more bytes should be buffered.
       shouldBufferin file ByteArrayReplacementFilter.php, method Swift_StreamFilters_ByteArrayReplacementFilter::shouldBuffer()
        Returns true if based on the buffer passed more bytes should be buffered.
       shouldBufferin file StreamFilter.php, method Swift_StreamFilter::shouldBuffer()
        Based on the buffer given, this returns true if more buffering is needed.
       Swiftin file Swift.php, class Swift
        General utility class in Swift Mailer, not to be instantiated.
       Swift_DependencyContainerin file DependencyContainer.php, class Swift_DependencyContainer
        Dependency Injection container.
       Swift_DependencyExceptionin file DependencyException.php, class Swift_DependencyException
        DependencyException thrown when a requested dependeny is missing.
       Swift_Filterablein file Filterable.php, class Swift_Filterable
        Allows StreamFilters to operate on a stream.
       Swift_IoExceptionin file IoException.php, class Swift_IoException
        I/O Exception class.
       Swift_Mailerin file Mailer.php, class Swift_Mailer
        Swift Mailer class.
       Swift_ReplacementFilterFactoryin file ReplacementFilterFactory.php, class Swift_ReplacementFilterFactory
        Creates StreamFilters.
       Swift_RfcComplianceExceptionin file RfcComplianceException.php, class Swift_RfcComplianceException
        RFC Compliance Exception class.
       Swift_StreamFilterin file StreamFilter.php, class Swift_StreamFilter
        Processes bytes as they pass through a stream and performs filtering.
       Swift_StreamFilters_ByteArrayReplacementFilterin file ByteArrayReplacementFilter.php, class Swift_StreamFilters_ByteArrayReplacementFilter
        Processes bytes as they pass through a buffer and replaces sequences in it.
       Swift_StreamFilters_StringReplacementFilterin file StringReplacementFilter.php, class Swift_StreamFilters_StringReplacementFilter
        Processes bytes as they pass through a buffer and replaces sequences in it.
       Swift_StreamFilters_StringReplacementFilterFactoryin file StringReplacementFilterFactory.php, class Swift_StreamFilters_StringReplacementFilterFactory
        Creates filters for replacing needles in a string buffer.
       Swift_SwiftExceptionin file SwiftException.php, class Swift_SwiftException
        Base Exception class.
       StreamFilter.phpprocedural page StreamFilter.php
       StringReplacementFilter.phpprocedural page StringReplacementFilter.php
       StringReplacementFilterFactory.phpprocedural page StringReplacementFilterFactory.php
       SwiftException.phpprocedural page SwiftException.php
       Swift.phpprocedural page Swift.php
       setReadPointerin file OutputByteStream.php, method Swift_OutputByteStream::setReadPointer()
        Move the internal read pointer to $byteOffset in the stream.
       setReadPointerin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::setReadPointer()
        Move the internal read pointer to $byteOffset in the stream.
       setReadPointerin file FileByteStream.php, method Swift_ByteStream_FileByteStream::setReadPointer()
        Move the internal read pointer to $byteOffset in the stream.
       Swift_ByteStream_AbstractFilterableInputStreamin file AbstractFilterableInputStream.php, class Swift_ByteStream_AbstractFilterableInputStream
        Provides the base functionality for an InputStream supporting filters.
       Swift_ByteStream_ArrayByteStreamin file ArrayByteStream.php, class Swift_ByteStream_ArrayByteStream
        Allows reading and writing of bytes to and from an array.
       Swift_ByteStream_FileByteStreamin file FileByteStream.php, class Swift_ByteStream_FileByteStream
        Allows reading and writing of bytes to and from a file.
       Swift_FileStreamin file FileStream.php, class Swift_FileStream
        An OutputByteStream which specifically reads from a file.
       Swift_InputByteStreamin file InputByteStream.php, class Swift_InputByteStream
        An abstract means of writing data.
       Swift_OutputByteStreamin file OutputByteStream.php, class Swift_OutputByteStream
        An abstract means of reading data.
       setCharacterReaderFactoryin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::setCharacterReaderFactory()
        Set the CharacterReaderFactory for multi charset support.
       setCharacterReaderFactoryin file CharacterStream.php, method Swift_CharacterStream::setCharacterReaderFactory()
        Set the CharacterReaderFactory for multi charset support.
       setCharacterReaderFactoryin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::setCharacterReaderFactory()
        Set the CharacterReaderFactory for multi charset support.
       setCharacterSetin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::setCharacterSet()
        Set the character set used in this CharacterStream.
       setCharacterSetin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::setCharacterSet()
        Set the character set used in this CharacterStream.
       setCharacterSetin file CharacterStream.php, method Swift_CharacterStream::setCharacterSet()
        Set the character set used in this CharacterStream.
       setPointerin file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::setPointer()
       setPointerin file CharacterStream.php, method Swift_CharacterStream::setPointer()
        Move the internal pointer to $charOffset in the stream.
       setPointerin file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::setPointer()
        Move the internal pointer to $charOffset in the stream.
       Swift_CharacterStreamin file CharacterStream.php, class Swift_CharacterStream
        An abstract means of reading and writing data in terms of characters as opposed to bytes.
       Swift_CharacterStream_ArrayCharacterStreamin file ArrayCharacterStream.php, class Swift_CharacterStream_ArrayCharacterStream
        A CharacterStream implementation which stores characters in an internal array.
       Swift_CharacterStream_NgCharacterStreamin file NgCharacterStream.php, class Swift_CharacterStream_NgCharacterStream
        A CharacterStream implementation which stores characters in an internal array.
       Swift_CharacterReaderin file CharacterReader.php, class Swift_CharacterReader
        Analyzes characters for a specific character set.
       Swift_CharacterReaderFactoryin file CharacterReaderFactory.php, class Swift_CharacterReaderFactory
        A factory for creating CharacterReaders.
       Swift_CharacterReaderFactory_SimpleCharacterReaderFactoryin file SimpleCharacterReaderFactory.php, class Swift_CharacterReaderFactory_SimpleCharacterReaderFactory
        Standard factory for creating CharacterReaders.
       Swift_CharacterReader_GenericFixedWidthReaderin file GenericFixedWidthReader.php, class Swift_CharacterReader_GenericFixedWidthReader
        Provides fixed-width byte sizes for reading fixed-width character sets.
       Swift_CharacterReader_UsAsciiReaderin file UsAsciiReader.php, class Swift_CharacterReader_UsAsciiReader
        Analyzes US-ASCII characters.
       Swift_CharacterReader_Utf8Readerin file Utf8Reader.php, class Swift_CharacterReader_Utf8Reader
        Analyzes UTF-8 characters.
       Swift_Encoderin file Encoder.php, class Swift_Encoder
        Interface for all Encoder schemes.
       Swift_Encoder_Base64Encoderin file Base64Encoder.php, class Swift_Encoder_Base64Encoder
        Handles Base 64 Encoding in Swift Mailer.
       Swift_Encoder_QpEncoderin file QpEncoder.php, class Swift_Encoder_QpEncoder
        Handles Quoted Printable (QP) Encoding in Swift Mailer.
       Swift_Encoder_Rfc2231Encoderin file Rfc2231Encoder.php, class Swift_Encoder_Rfc2231Encoder
        Handles RFC 2231 specified Encoding in Swift Mailer.
       Swift_Encodingin file Encoding.php, class Swift_Encoding
        Provides quick access to each encoding type.
       SimpleCharacterReaderFactory.phpprocedural page SimpleCharacterReaderFactory.php
       sendPerformedin file SendListener.php, method Swift_Events_SendListener::sendPerformed()
        Invoked immediately after the Message is sent.
       setFailedRecipientsin file SendEvent.php, method Swift_Events_SendEvent::setFailedRecipients()
        Set the array of addresses that failed in sending.
       setResultin file SendEvent.php, method Swift_Events_SendEvent::setResult()
        Set the result of sending.
       Swift_Events_CommandEventin file CommandEvent.php, class Swift_Events_CommandEvent
        Generated when a command is sent over an SMTP connection.
       Swift_Events_CommandListenerin file CommandListener.php, class Swift_Events_CommandListener
        Listens for Transports to send commands to the server.
       Swift_Events_Eventin file Event.php, class Swift_Events_Event
        The minimum interface for an Event.
       Swift_Events_EventDispatcherin file EventDispatcher.php, class Swift_Events_EventDispatcher
        Interface for the EventDispatcher which handles the event dispatching layer.
       Swift_Events_EventListenerin file EventListener.php, class Swift_Events_EventListener
        An identity interface which all EventListeners must extend.
       Swift_Events_EventObjectin file EventObject.php, class Swift_Events_EventObject
        A base Event which all Event classes inherit from.
       Swift_Events_ResponseEventin file ResponseEvent.php, class Swift_Events_ResponseEvent
        Generated when a response is received on a SMTP connection.
       Swift_Events_ResponseListenerin file ResponseListener.php, class Swift_Events_ResponseListener
        Listens for responses from a remote SMTP server.
       Swift_Events_SendEventin file SendEvent.php, class Swift_Events_SendEvent
        Generated when a message is being sent.
       Swift_Events_SendListenerin file SendListener.php, class Swift_Events_SendListener
        Listens for Messages being sent from within the Transport system.
       Swift_Events_SimpleEventDispatcherin file SimpleEventDispatcher.php, class Swift_Events_SimpleEventDispatcher
        The EventDispatcher which handles the event dispatching layer.
       Swift_Events_TransportChangeEventin file TransportChangeEvent.php, class Swift_Events_TransportChangeEvent
        Generated when the state of a Transport is changed (i.e. stopped/started).
       Swift_Events_TransportChangeListenerin file TransportChangeListener.php, class Swift_Events_TransportChangeListener
        Listens for changes within the Transport system.
       Swift_Events_TransportExceptionEventin file TransportExceptionEvent.php, class Swift_Events_TransportExceptionEvent
        Generated when a TransportException is thrown from the Transport system.
       Swift_Events_TransportExceptionListenerin file TransportExceptionListener.php, class Swift_Events_TransportExceptionListener
        Listens for Exceptions thrown from within the Transport system.
       SendEvent.phpprocedural page SendEvent.php
       SendListener.phpprocedural page SendListener.php
       SimpleEventDispatcher.phpprocedural page SimpleEventDispatcher.php
       setItemKeyin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setItemKey()
        Set the itemKey which will be written to.
       setItemKeyin file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setItemKey()
        Set the itemKey which will be written to.
       setKeyCachein file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setKeyCache()
        Set the KeyCache to wrap.
       setKeyCachein file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setKeyCache()
        Set the KeyCache to wrap.
       setNsKeyin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setNsKey()
        Set the nsKey which will be written to.
       setNsKeyin file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setNsKey()
        Set the nsKey which will be written to.
       setStringin file ArrayKeyCache.php, method Swift_KeyCache_ArrayKeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setStringin file DiskKeyCache.php, method Swift_KeyCache_DiskKeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setStringin file NullKeyCache.php, method Swift_KeyCache_NullKeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setStringin file KeyCache.php, method Swift_KeyCache::setString()
        Set a string into the cache under $itemKey for the namespace $nsKey.
       setWriteThroughStreamin file KeyCacheInputStream.php, method Swift_KeyCache_KeyCacheInputStream::setWriteThroughStream()
        Specify a stream to write through for each write().
       setWriteThroughStreamin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::setWriteThroughStream()
        Specify a stream to write through for each write().
       Swift_KeyCachein file KeyCache.php, class Swift_KeyCache
        Provides a mechanism for storing data using two keys.
       Swift_KeyCache_ArrayKeyCachein file ArrayKeyCache.php, class Swift_KeyCache_ArrayKeyCache
        A basic KeyCache backed by an array.
       Swift_KeyCache_DiskKeyCachein file DiskKeyCache.php, class Swift_KeyCache_DiskKeyCache
        A KeyCache which streams to and from disk.
       Swift_KeyCache_KeyCacheInputStreamin file KeyCacheInputStream.php, class Swift_KeyCache_KeyCacheInputStream
        Writes data to a KeyCache using a stream.
       Swift_KeyCache_NullKeyCachein file NullKeyCache.php, class Swift_KeyCache_NullKeyCache
        A null KeyCache that does not cache at all.
       Swift_KeyCache_SimpleKeyCacheInputStreamin file SimpleKeyCacheInputStream.php, class Swift_KeyCache_SimpleKeyCacheInputStream
        Writes data to a KeyCache using a stream.
       SimpleKeyCacheInputStream.phpprocedural page SimpleKeyCacheInputStream.php
       Swift_Mailer_ArrayRecipientIteratorin file ArrayRecipientIterator.php, class Swift_Mailer_ArrayRecipientIterator
        Wraps a standard PHP array in an interator.
       Swift_Mailer_RecipientIteratorin file RecipientIterator.php, class Swift_Mailer_RecipientIterator
        Provides an abstract way of specifying recipients for batch sending.
       setin file HeaderSet.php, method Swift_Mime_HeaderSet::set()
        Set a header in the HeaderSet.
       setin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::set()
        Set a header in the HeaderSet.
       setAddressin file PathHeader.php, method Swift_Mime_Headers_PathHeader::setAddress()
        Set the Address which should appear in this Header.
       setAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::setAddresses()
        Makes this Header represent a list of plain email addresses with no names.
       setAlwaysDisplayedin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::setAlwaysDisplayed()
        Set a list of header names which must always be displayed when set.
       setAlwaysDisplayedin file HeaderSet.php, method Swift_Mime_HeaderSet::setAlwaysDisplayed()
        Set a list of header names which must always be displayed when set.
       setBccin file Message.php, method Swift_Mime_Message::setBcc()
        Set the Bcc address(es).
       setBccin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setBcc()
        Set the Bcc addresses of this message.
       setBodyin file MimePart.php, method Swift_Mime_MimePart::setBody()
        Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.
       setBodyin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setBody()
        Set the body of this entity, either as a string, or as an instance of Swift_OutputByteStream.
       setBodyin file MimeEntity.php, method Swift_Mime_MimeEntity::setBody()
        Set the body content of this entity as a string.
       setBoundaryin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setBoundary()
        Set the boundary used to separate children in this entity.
       setCachedValuein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setCachedValue()
        Set a value into the cache.
       setCcin file Message.php, method Swift_Mime_Message::setCc()
        Set the Cc address(es).
       setCcin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setCc()
        Set the Cc addresses of this message.
       setCharsetin file Header.php, method Swift_Mime_Header::setCharset()
        Set the charset used when rendering the Header.
       setCharsetin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::setCharset()
        Set the character set used in this Header.
       setCharsetin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::setCharset()
        Set the charset used by these headers.
       setCharsetin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setCharset()
        Set the character set used in this Header.
       setCharsetin file MimePart.php, method Swift_Mime_MimePart::setCharset()
        Set the character set of this entity.
       setChildrenin file MimeEntity.php, method Swift_Mime_MimeEntity::setChildren()
        Set all children nested inside this entity.
       setChildrenin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setChildren()
        Set all children of this entity.
       setContentTypein file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setContentType()
        Set the Content-type of this entity.
       setDatein file SimpleMessage.php, method Swift_Mime_SimpleMessage::setDate()
        Set the date at which this message was created.
       setDatein file Message.php, method Swift_Mime_Message::setDate()
        Set the origination date of the message as a UNIX timestamp.
       setDelSpin file MimePart.php, method Swift_Mime_MimePart::setDelSp()
        Turn delsp on or off for this entity.
       setDescriptionin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setDescription()
        Set the description of this entity.
       setDispositionin file Attachment.php, method Swift_Mime_Attachment::setDisposition()
        Set the Content-Disposition of this attachment.
       setEncoderin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setEncoder()
        Set the encoder used for the body of this entity.
       setEncoderin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setEncoder()
        Set the encoder used for encoding the header.
       setFieldBodyModelin file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file PathHeader.php, method Swift_Mime_Headers_PathHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file Header.php, method Swift_Mime_Header::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file DateHeader.php, method Swift_Mime_Headers_DateHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldBodyModelin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::setFieldBodyModel()
        Set the model for the field body.
       setFieldNamein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setFieldName()
        Set the name of this Header field.
       setFilein file Attachment.php, method Swift_Mime_Attachment::setFile()
        Set the file that this attachment is for.
       setFilenamein file Attachment.php, method Swift_Mime_Attachment::setFilename()
        Set the filename of this attachment.
       setFormatin file MimePart.php, method Swift_Mime_MimePart::setFormat()
        Set the format of this entity (flowed or fixed).
       setFromin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setFrom()
        Set the from address of this message.
       setFromin file Message.php, method Swift_Mime_Message::setFrom()
        Set the From address of this message.
       setIdin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setId()
        Set the CID of this entity.
       setIdin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::setId()
        Set the ID used in the value of this header.
       setIdsin file IdentificationHeader.php, method Swift_Mime_Headers_IdentificationHeader::setIds()
        Set a collection of IDs to use in the value of this Header.
       setLanguagein file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setLanguage()
        Set the language used in this Header.
       setMaxLineLengthin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::setMaxLineLength()
        Set the maximum length of lines in the header (excluding EOL).
       setMaxLineLengthin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::setMaxLineLength()
        Set the maximum line length of lines in this body.
       setNameAddressesin file MailboxHeader.php, method Swift_Mime_Headers_MailboxHeader::setNameAddresses()
        Set a list of mailboxes to be shown in this Header.
       setParameterin file ParameterizedHeader.php, method Swift_Mime_ParameterizedHeader::setParameter()
        Set the value of $parameter.
       setParameterin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::setParameter()
        Set the value of $parameter.
       setParametersin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::setParameters()
        Set an associative array of parameter names mapped to values.
       setPriorityin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setPriority()
        Set the priority of this message.
       setReadReceiptToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setReadReceiptTo()
        Ask for a delivery receipt from the recipient to be sent to $addresses
       setReplyToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setReplyTo()
        Set the reply-to address of this message.
       setReplyToin file Message.php, method Swift_Mime_Message::setReplyTo()
        Set the Reply-To address(es).
       setReturnPathin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setReturnPath()
        Set the return-path (the bounce address) of this message.
       setReturnPathin file Message.php, method Swift_Mime_Message::setReturnPath()
        Set the return-path (bounce-detect) address.
       setSenderin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setSender()
        Set the sender of this message.
       setSenderin file Message.php, method Swift_Mime_Message::setSender()
        Set the sender of this message.
       setSizein file Attachment.php, method Swift_Mime_Attachment::setSize()
        Set the file size of this attachment.
       setSubjectin file Message.php, method Swift_Mime_Message::setSubject()
        Set the subject of the message.
       setSubjectin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setSubject()
        Set the subject of this message.
       setTimestampin file DateHeader.php, method Swift_Mime_Headers_DateHeader::setTimestamp()
        Set the UNIX timestamp of the Date in this Header.
       setToin file SimpleMessage.php, method Swift_Mime_SimpleMessage::setTo()
        Set the to addresses of this message.
       setToin file Message.php, method Swift_Mime_Message::setTo()
        Set the To address(es).
       setValuein file UnstructuredHeader.php, method Swift_Mime_Headers_UnstructuredHeader::setValue()
        Set the (unencoded) value of this header.
       Swift_Attachmentin file Attachment.php, class Swift_Attachment
        Attachment class for attaching files to a Swift_Mime_Message.
       Swift_EmbeddedFilein file EmbeddedFile.php, class Swift_EmbeddedFile
        An embedded file, in a multipart message.
       Swift_Imagein file Image.php, class Swift_Image
        An image, embedded in a multipart message.
       Swift_Messagein file Message.php, class Swift_Message
        The Message class for building emails.
       Swift_MimePartin file MimePart.php, class Swift_MimePart
        A MIME part, in a multipart message.
       Swift_Mime_Attachmentin file Attachment.php, class Swift_Mime_Attachment
        An attachment, in a multipart message.
       Swift_Mime_CharsetObserverin file CharsetObserver.php, class Swift_Mime_CharsetObserver
        Observes changes in an Mime entity's character set.
       Swift_Mime_ContentEncoderin file ContentEncoder.php, class Swift_Mime_ContentEncoder
        Interface for all Transfer Encoding schemes.
       Swift_Mime_ContentEncoder_Base64ContentEncoderin file Base64ContentEncoder.php, class Swift_Mime_ContentEncoder_Base64ContentEncoder
        Handles Base 64 Transfer Encoding in Swift Mailer.
       Swift_Mime_ContentEncoder_PlainContentEncoderin file PlainContentEncoder.php, class Swift_Mime_ContentEncoder_PlainContentEncoder
        Handles binary/7/8-bit Transfer Encoding in Swift Mailer.
       Swift_Mime_ContentEncoder_QpContentEncoderin file QpContentEncoder.php, class Swift_Mime_ContentEncoder_QpContentEncoder
        Handles Quoted Printable (QP) Transfer Encoding in Swift Mailer.
       Swift_Mime_EmbeddedFilein file EmbeddedFile.php, class Swift_Mime_EmbeddedFile
        An embedded file, in a multipart message.
       Swift_Mime_EncodingObserverin file EncodingObserver.php, class Swift_Mime_EncodingObserver
        Observes changes for a Mime entity's ContentEncoder.
       Swift_Mime_Headerin file Header.php, class Swift_Mime_Header
        A MIME Header.
       Swift_Mime_HeaderEncoderin file HeaderEncoder.php, class Swift_Mime_HeaderEncoder
        Interface for all Header Encoding schemes.
       Swift_Mime_HeaderEncoder_Base64HeaderEncoderin file Base64HeaderEncoder.php, class Swift_Mime_HeaderEncoder_Base64HeaderEncoder
        Handles Base64 (B) Header Encoding in Swift Mailer.
       Swift_Mime_HeaderEncoder_QpHeaderEncoderin file QpHeaderEncoder.php, class Swift_Mime_HeaderEncoder_QpHeaderEncoder
        Handles Quoted Printable (Q) Header Encoding in Swift Mailer.
       Swift_Mime_HeaderFactoryin file HeaderFactory.php, class Swift_Mime_HeaderFactory
        Creates MIME headers.
       Swift_Mime_HeaderSetin file HeaderSet.php, class Swift_Mime_HeaderSet
        A collection of MIME headers.
       Swift_Mime_Headers_AbstractHeaderin file AbstractHeader.php, class Swift_Mime_Headers_AbstractHeader
        An abstract base MIME Header.
       Swift_Mime_Headers_DateHeaderin file DateHeader.php, class Swift_Mime_Headers_DateHeader
        A Date MIME Header for Swift Mailer.
       Swift_Mime_Headers_IdentificationHeaderin file IdentificationHeader.php, class Swift_Mime_Headers_IdentificationHeader
        An ID MIME Header for something like Message-ID or Content-ID.
       Swift_Mime_Headers_MailboxHeaderin file MailboxHeader.php, class Swift_Mime_Headers_MailboxHeader
        A Mailbox Address MIME Header for something like From or Sender.
       Swift_Mime_Headers_ParameterizedHeaderin file ParameterizedHeader.php, class Swift_Mime_Headers_ParameterizedHeader
        An abstract base MIME Header.
       Swift_Mime_Headers_PathHeaderin file PathHeader.php, class Swift_Mime_Headers_PathHeader
        A Path Header in Swift Mailer, such a Return-Path.
       Swift_Mime_Headers_UnstructuredHeaderin file UnstructuredHeader.php, class Swift_Mime_Headers_UnstructuredHeader
        A Simple MIME Header.
       Swift_Mime_Messagein file Message.php, class Swift_Mime_Message
        A Message (RFC 2822) object.
       Swift_Mime_MimeEntityin file MimeEntity.php, class Swift_Mime_MimeEntity
        A MIME entity, such as an attachment.
       Swift_Mime_MimePartin file MimePart.php, class Swift_Mime_MimePart
        A MIME part, in a multipart message.
       Swift_Mime_ParameterizedHeaderin file ParameterizedHeader.php, class Swift_Mime_ParameterizedHeader
        A MIME Header with parameters.
       Swift_Mime_SimpleHeaderFactoryin file SimpleHeaderFactory.php, class Swift_Mime_SimpleHeaderFactory
        Creates MIME headers.
       Swift_Mime_SimpleHeaderSetin file SimpleHeaderSet.php, class Swift_Mime_SimpleHeaderSet
        A collection of MIME headers.
       Swift_Mime_SimpleMessagein file SimpleMessage.php, class Swift_Mime_SimpleMessage
        The default email message class.
       Swift_Mime_SimpleMimeEntityin file SimpleMimeEntity.php, class Swift_Mime_SimpleMimeEntity
        A MIME entity, in a multipart message.
       SimpleHeaderFactory.phpprocedural page SimpleHeaderFactory.php
       SimpleHeaderSet.phpprocedural page SimpleHeaderSet.php
       SimpleMessage.phpprocedural page SimpleMessage.php
       SimpleMimeEntity.phpprocedural page SimpleMimeEntity.php
       sendPerformedin file DecoratorPlugin.php, method Swift_Plugins_DecoratorPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file ReporterPlugin.php, method Swift_Plugins_ReporterPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::sendPerformed()
        Invoked when a Message is sent.
       sendPerformedin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       sendPerformedin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::sendPerformed()
        Invoked immediately after the Message is sent.
       setConnectionin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setConnection()
        Set a Pop3Connection to delegate to instead of connecting directly.
       setPasswordin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setPassword()
        Set the password to use when connecting (if needed).
       setSleepTimein file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::setSleepTime()
        Set the number of seconds to sleep for during a restart.
       setThresholdin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::setThreshold()
        Set the number of emails to send before restarting.
       setTimeoutin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setTimeout()
        Set the connection timeout in seconds (default 10).
       setUsernamein file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::setUsername()
        Set the username to use when connecting (if needed).
       sleepin file Sleeper.php, method Swift_Plugins_Sleeper::sleep()
        Sleep for $seconds.
       sleepin file AntiFloodPlugin.php, method Swift_Plugins_AntiFloodPlugin::sleep()
        Sleep for $seconds.
       sleepin file ThrottlerPlugin.php, method Swift_Plugins_ThrottlerPlugin::sleep()
        Sleep for $seconds.
       Swift_Plugins_AntiFloodPluginin file AntiFloodPlugin.php, class Swift_Plugins_AntiFloodPlugin
        Reduces network flooding when sending large amounts of mail.
       Swift_Plugins_BandwidthMonitorPluginin file BandwidthMonitorPlugin.php, class Swift_Plugins_BandwidthMonitorPlugin
        Reduces network flooding when sending large amounts of mail.
       Swift_Plugins_DecoratorPluginin file DecoratorPlugin.php, class Swift_Plugins_DecoratorPlugin
        Allows customization of Messages on-the-fly.
       Swift_Plugins_Decorator_Replacementsin file Replacements.php, class Swift_Plugins_Decorator_Replacements
        Allows customization of Messages on-the-fly.
       Swift_Plugins_LoggerPluginin file LoggerPlugin.php, class Swift_Plugins_LoggerPlugin
        Does real time logging of Transport level information.
       Swift_Plugins_PopBeforeSmtpPluginin file PopBeforeSmtpPlugin.php, class Swift_Plugins_PopBeforeSmtpPlugin
        Makes sure a connection to a POP3 host has been established prior to connecting to SMTP.
       Swift_Plugins_Pop_Pop3Connectionin file Pop3Connection.php, class Swift_Plugins_Pop_Pop3Connection
        Pop3Connection interface for connecting and disconnecting to a POP3 host.
       Swift_Plugins_Reporterin file Reporter.php, class Swift_Plugins_Reporter
        The Reporter plugin sends pass/fail notification to a Reporter.
       Swift_Plugins_ReporterPluginin file ReporterPlugin.php, class Swift_Plugins_ReporterPlugin
        Does real time reporting of pass/fail for each recipient.
       Swift_Plugins_Reporters_HitReporterin file HitReporter.php, class Swift_Plugins_Reporters_HitReporter
        A reporter which "collects" failures for the Reporter plugin.
       Swift_Plugins_Reporters_HtmlReporterin file HtmlReporter.php, class Swift_Plugins_Reporters_HtmlReporter
        A HTML output reporter for the Reporter plugin.
       Swift_Plugins_Sleeperin file Sleeper.php, class Swift_Plugins_Sleeper
        Sleeps for a duration of time.
       Swift_Plugins_ThrottlerPluginin file ThrottlerPlugin.php, class Swift_Plugins_ThrottlerPlugin
        Throttles the rate at which emails are sent.
       Swift_Plugins_Timerin file Timer.php, class Swift_Plugins_Timer
        Provides timestamp data.
       Sleeper.phpprocedural page Sleeper.php
       sendin file FailoverTransport.php, method Swift_Transport_FailoverTransport::send()
        Send the given Message.
       sendin file SendmailTransport.php, method Swift_Transport_SendmailTransport::send()
        Send the given Message.
       sendin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::send()
        Send the given Message.
       sendin file MailTransport.php, method Swift_Transport_MailTransport::send()
        Send the given Message.
       sendin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::send()
        Send the given Message.
       sendin file Transport.php, method Swift_Transport::send()
        Send the given Message.
       setAuthenticatorsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setAuthenticators()
        Set the Authenticators which can process a login request.
       setAuthModein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setAuthMode()
        Set the auth mode to use to authenticate.
       setCommandin file SendmailTransport.php, method Swift_Transport_SendmailTransport::setCommand()
        Set the command to invoke.
       setEncryptionin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setEncryption()
        Set the encryption type (tls or ssl)
       setExtensionHandlersin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setExtensionHandlers()
        Set ESMTP extension handlers.
       setExtraParamsin file MailTransport.php, method Swift_Transport_MailTransport::setExtraParams()
        Set the additional parameters used on the mail() function.
       setHostin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setHost()
        Set the host to connect to.
       setKeywordParamsin file EsmtpHandler.php, method Swift_Transport_EsmtpHandler::setKeywordParams()
        Set the parameters which the EHLO greeting indicated.
       setKeywordParamsin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setKeywordParams()
        Set the parameters which the EHLO greeting indicated.
       setLocalDomainin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::setLocalDomain()
        Set the name of the local domain which Swift will identify itself as.
       setParamin file StreamBuffer.php, method Swift_Transport_StreamBuffer::setParam()
        Set an individual param on the buffer (e.g. switching to SSL).
       setParamin file IoBuffer.php, method Swift_Transport_IoBuffer::setParam()
        Set an individual param on the buffer (e.g. switching to SSL).
       setPasswordin file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setPassword()
        Set the password to authenticate with.
       setPortin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setPort()
        Set the port to connect to.
       setReadPointerin file StreamBuffer.php, method Swift_Transport_StreamBuffer::setReadPointer()
        Not implemented
       setTimeoutin file EsmtpTransport.php, method Swift_Transport_EsmtpTransport::setTimeout()
        Set the connection timeout.
       setTransportsin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::setTransports()
        Set $transports to delegate to.
       setUsernamein file AuthHandler.php, method Swift_Transport_Esmtp_AuthHandler::setUsername()
        Set the username to authenticate with.
       setWriteTranslationsin file StreamBuffer.php, method Swift_Transport_StreamBuffer::setWriteTranslations()
        Set an array of string replacements which should be made on data written to the buffer. This could replace LF with CRLF for example.
       setWriteTranslationsin file IoBuffer.php, method Swift_Transport_IoBuffer::setWriteTranslations()
        Set an array of string replacements which should be made on data written to the buffer. This could replace LF with CRLF for example.
       startin file MailTransport.php, method Swift_Transport_MailTransport::start()
        Not used.
       startin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::start()
        Start this Transport mechanism.
       startin file SendmailTransport.php, method Swift_Transport_SendmailTransport::start()
        Start the standalone SMTP session if running in -bs mode.
       startin file Transport.php, method Swift_Transport::start()
        Start this Transport mechanism.
       startin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::start()
        Start the SMTP connection.
       stopin file AbstractSmtpTransport.php, method Swift_Transport_AbstractSmtpTransport::stop()
        Stop the SMTP connection.
       stopin file LoadBalancedTransport.php, method Swift_Transport_LoadBalancedTransport::stop()
        Stop this Transport mechanism.
       stopin file Transport.php, method Swift_Transport::stop()
        Stop this Transport mechanism.
       stopin file MailTransport.php, method Swift_Transport_MailTransport::stop()
        Not used.
       Swift_FailoverTransportin file FailoverTransport.php, class Swift_FailoverTransport
        Contains a list of redundant Transports so when one fails, the next is used.
       Swift_LoadBalancedTransportin file LoadBalancedTransport.php, class Swift_LoadBalancedTransport
        Redudantly and rotationally uses several Transport implementations when sending.
       Swift_MailTransportin file MailTransport.php, class Swift_MailTransport
        Sends Messages using the mail() function.
       Swift_Plugins_Loggerin file Logger.php, class Swift_Plugins_Logger
        Logs events in the Transport system.
       Swift_Plugins_Loggers_ArrayLoggerin file ArrayLogger.php, class Swift_Plugins_Loggers_ArrayLogger
        Logs to an Array backend.
       Swift_Plugins_Loggers_EchoLoggerin file EchoLogger.php, class Swift_Plugins_Loggers_EchoLogger
        Prints all log messages in real time.
       Swift_Plugins_Pop_Pop3Exceptionin file Pop3Exception.php, class Swift_Plugins_Pop_Pop3Exception
        Pop3Exception thrown when an error occurs connecting to a POP3 host.
       Swift_SendmailTransportin file SendmailTransport.php, class Swift_SendmailTransport
        SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
       Swift_SmtpTransportin file SmtpTransport.php, class Swift_SmtpTransport
        Sends Messages over SMTP with ESMTP support.
       Swift_Transportin file Transport.php, class Swift_Transport
        Sends Messages via an abstract Transport subsystem.
       Swift_TransportExceptionin file TransportException.php, class Swift_TransportException
        TransportException thrown when an error occurs in the Transport subsystem.
       Swift_Transport_AbstractSmtpTransportin file AbstractSmtpTransport.php, class Swift_Transport_AbstractSmtpTransport
        Sends Messages over SMTP.
       Swift_Transport_EsmtpHandlerin file EsmtpHandler.php, class Swift_Transport_EsmtpHandler
        An ESMTP handler.
       Swift_Transport_EsmtpTransportin file EsmtpTransport.php, class Swift_Transport_EsmtpTransport
        Sends Messages over SMTP with ESMTP support.
       Swift_Transport_Esmtp_Authenticatorin file Authenticator.php, class Swift_Transport_Esmtp_Authenticator
        An Authentication mechanism.
       Swift_Transport_Esmtp_AuthHandlerin file AuthHandler.php, class Swift_Transport_Esmtp_AuthHandler
        An ESMTP handler for AUTH support.
       Swift_Transport_Esmtp_Auth_CramMd5Authenticatorin file CramMd5Authenticator.php, class Swift_Transport_Esmtp_Auth_CramMd5Authenticator
        Handles CRAM-MD5 authentication.
       Swift_Transport_Esmtp_Auth_LoginAuthenticatorin file LoginAuthenticator.php, class Swift_Transport_Esmtp_Auth_LoginAuthenticator
        Handles LOGIN authentication.
       Swift_Transport_Esmtp_Auth_PlainAuthenticatorin file PlainAuthenticator.php, class Swift_Transport_Esmtp_Auth_PlainAuthenticator
        Handles PLAIN authentication.
       Swift_Transport_FailoverTransportin file FailoverTransport.php, class Swift_Transport_FailoverTransport
        Contains a list of redundant Transports so when one fails, the next is used.
       Swift_Transport_IoBufferin file IoBuffer.php, class Swift_Transport_IoBuffer
        Buffers input and output to a resource.
       Swift_Transport_LoadBalancedTransportin file LoadBalancedTransport.php, class Swift_Transport_LoadBalancedTransport
        Redudantly and rotationally uses several Transports when sending.
       Swift_Transport_MailInvokerin file MailInvoker.php, class Swift_Transport_MailInvoker
        This interface intercepts calls to the mail() function.
       Swift_Transport_MailTransportin file MailTransport.php, class Swift_Transport_MailTransport
        Sends Messages using the mail() function.
       Swift_Transport_SendmailTransportin file SendmailTransport.php, class Swift_Transport_SendmailTransport
        SendmailTransport for sending mail through a sendmail/postfix (etc..) binary.
       Swift_Transport_SimpleMailInvokerin file SimpleMailInvoker.php, class Swift_Transport_SimpleMailInvoker
        This is the implementation class for Swift_Transport_MailInvoker.
       Swift_Transport_SmtpAgentin file SmtpAgent.php, class Swift_Transport_SmtpAgent
        Wraps an IoBuffer to send/receive SMTP commands/responses.
       Swift_Transport_StreamBufferin file StreamBuffer.php, class Swift_Transport_StreamBuffer
        A generic IoBuffer implementation supporting remote sockets and local processes.
       SendmailTransport.phpprocedural page SendmailTransport.php
       SmtpTransport.phpprocedural page SmtpTransport.php
       SendmailTransport.phpprocedural page SendmailTransport.php
       SimpleMailInvoker.phpprocedural page SimpleMailInvoker.php
       SmtpAgent.phpprocedural page SmtpAgent.php
       StreamBuffer.phpprocedural page StreamBuffer.php
    t  + top
       TYPE_ALIASin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_ALIAS
        Constant for aliases
       TYPE_INSTANCEin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_INSTANCE
        Constant for new instance types
       TYPE_SHAREDin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_SHARED
        Constant for shared instance types
       TYPE_VALUEin file DependencyContainer.php, class constant Swift_DependencyContainer::TYPE_VALUE
        Constant for literal value types
       transportStartedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::transportStarted()
        Invoked immediately after the Transport is started.
       transportStoppedin file TransportChangeListener.php, method Swift_Events_TransportChangeListener::transportStopped()
        Invoked immediately after the Transport is stopped.
       TransportChangeEvent.phpprocedural page TransportChangeEvent.php
       TransportChangeListener.phpprocedural page TransportChangeListener.php
       TransportExceptionEvent.phpprocedural page TransportExceptionEvent.php
       TransportExceptionListener.phpprocedural page TransportExceptionListener.php
       toByteStreamin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::toByteStream()
        Write this entire entity to a Swift_InputByteStream.
       toByteStreamin file MimeEntity.php, method Swift_Mime_MimeEntity::toByteStream()
        Get this entire entity as a ByteStream.
       toByteStreamin file SimpleMessage.php, method Swift_Mime_SimpleMessage::toByteStream()
        Write this message to a Swift_InputByteStream.
       tokenNeedsEncodingin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::tokenNeedsEncoding()
        Test if a token needs to be encoded or not.
       toStringin file HeaderSet.php, method Swift_Mime_HeaderSet::toString()
        Returns a string with a representation of all headers.
       toStringin file SimpleHeaderSet.php, method Swift_Mime_SimpleHeaderSet::toString()
        Returns a string with a representation of all headers.
       toStringin file SimpleMessage.php, method Swift_Mime_SimpleMessage::toString()
        Get this message as a complete string.
       toStringin file MimeEntity.php, method Swift_Mime_MimeEntity::toString()
        Get this entire entity in its string form.
       toStringin file SimpleMimeEntity.php, method Swift_Mime_SimpleMimeEntity::toString()
        Get this entire entity as a string.
       toStringin file Header.php, method Swift_Mime_Header::toString()
        Get this Header rendered as a compliant string.
       toStringin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::toString()
        Get this Header rendered as a RFC 2822 compliant string.
       toTokensin file ParameterizedHeader.php, method Swift_Mime_Headers_ParameterizedHeader::toTokens()
        Generate a list of all tokens in the final header.
       toTokensin file AbstractHeader.php, method Swift_Mime_Headers_AbstractHeader::toTokens()
        Generate a list of all tokens in the final header.
       TYPE_DATEin file Header.php, class constant Swift_Mime_Header::TYPE_DATE
        Date and time headers
       TYPE_IDin file Header.php, class constant Swift_Mime_Header::TYPE_ID
        Identification headers
       TYPE_MAILBOXin file Header.php, class constant Swift_Mime_Header::TYPE_MAILBOX
        Mailbox and address headers
       TYPE_PARAMETERIZEDin file Header.php, class constant Swift_Mime_Header::TYPE_PARAMETERIZED
        Parameterized headers (text + params)
       TYPE_PATHin file Header.php, class constant Swift_Mime_Header::TYPE_PATH
        Address path headers
       TYPE_TEXTin file Header.php, class constant Swift_Mime_Header::TYPE_TEXT
        Text headers
       transportStartedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::transportStarted()
        Invoked immediately after the Transport is started.
       transportStartedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::transportStarted()
        Not used.
       transportStoppedin file LoggerPlugin.php, method Swift_Plugins_LoggerPlugin::transportStopped()
        Invoked immediately after the Transport is stopped.
       transportStoppedin file PopBeforeSmtpPlugin.php, method Swift_Plugins_PopBeforeSmtpPlugin::transportStopped()
        Not used.
       ThrottlerPlugin.phpprocedural page ThrottlerPlugin.php
       Timer.phpprocedural page Timer.php
       terminatein file StreamBuffer.php, method Swift_Transport_StreamBuffer::terminate()
        Perform any shutdown logic needed.
       terminatein file IoBuffer.php, method Swift_Transport_IoBuffer::terminate()
        Perform any shutdown logic needed.
       TYPE_PROCESSin file IoBuffer.php, class constant Swift_Transport_IoBuffer::TYPE_PROCESS
        A process buffer with I/O support
       TYPE_SOCKETin file IoBuffer.php, class constant Swift_Transport_IoBuffer::TYPE_SOCKET
        A socket buffer over TCP
       Transport.phpprocedural page Transport.php
       TransportException.phpprocedural page TransportException.php
    u  + top
       unbindin file InputByteStream.php, method Swift_InputByteStream::unbind()
        Remove an already bound stream.
       unbindin file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::unbind()
        Remove an already bound stream.
       unbindin file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::unbind()
        Remove an already bound stream.
       UsAsciiReader.phpprocedural page UsAsciiReader.php
       Utf8Reader.phpprocedural page Utf8Reader.php
       unbindin file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::unbind()
        Not used.
       UnstructuredHeader.phpprocedural page UnstructuredHeader.php
       unbindin file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::unbind()
        Remove an already bound stream.
    v  + top
       VERSIONin file Swift.php, class constant Swift::VERSION
        Swift Mailer Version number generated during dist release process
       validateByteSequencein file Utf8Reader.php, method Swift_CharacterReader_Utf8Reader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
       validateByteSequencein file UsAsciiReader.php, method Swift_CharacterReader_UsAsciiReader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
       validateByteSequencein file GenericFixedWidthReader.php, method Swift_CharacterReader_GenericFixedWidthReader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
       validateByteSequencein file CharacterReader.php, method Swift_CharacterReader::validateByteSequence()
        Returns an integer which specifies how many more bytes to read.
    w  + top
       withDependenciesin file DependencyContainer.php, method Swift_DependencyContainer::withDependencies()
        Specify a list of injected dependencies for the previously registered item.
       writein file InputByteStream.php, method Swift_InputByteStream::write()
        Writes $bytes to the end of the stream.
       writein file ArrayByteStream.php, method Swift_ByteStream_ArrayByteStream::write()
        Writes $bytes to the end of the stream.
       writein file AbstractFilterableInputStream.php, method Swift_ByteStream_AbstractFilterableInputStream::write()
        Writes $bytes to the end of the stream.
       writein file NgCharacterStream.php, method Swift_CharacterStream_NgCharacterStream::write()
       writein file CharacterStream.php, method Swift_CharacterStream::write()
        Write $chars to the end of the stream.
       writein file ArrayCharacterStream.php, method Swift_CharacterStream_ArrayCharacterStream::write()
        Write $chars to the end of the stream.
       writein file SimpleKeyCacheInputStream.php, method Swift_KeyCache_SimpleKeyCacheInputStream::write()
        Writes $bytes to the end of the stream.
       writein file BandwidthMonitorPlugin.php, method Swift_Plugins_BandwidthMonitorPlugin::write()
        Called when a message is sent so that the outgoing counter can be increased.
    + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/elementindex_Yii-Mail.html b/www/protected/extensions/yii-mail/doc/elementindex_Yii-Mail.html new file mode 100644 index 0000000..eb6d819 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/elementindex_Yii-Mail.html @@ -0,0 +1,246 @@ + + + + + + + + +

    Element Index, Package Yii-Mail

    +Indexes by package:
    + +Index of all elements +
    + b + d + g + i + l + m + r + s + t + v + y + _ + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    _  + top
       __callin file YiiMailMessage.php, method YiiMailMessage::__call()
        Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
       __constructin file YiiMailMessage.php, method YiiMailMessage::__construct()
        You may optionally set some message info using the paramaters of this constructor.
       __getin file YiiMailMessage.php, method YiiMailMessage::__get()
        Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
       __setin file YiiMailMessage.php, method YiiMailMessage::__set()
        Any requests to set or get attributes or call methods on this class that are not found are redirected to the Swift_Mime_Message object.
    b  + top
       batchSendin file YiiMail.php, method YiiMail::batchSend()
        Send the given YiiMailMessage to all recipients individually.
    d  + top
       $dryRunin file YiiMail.php, variable YiiMail::$dryRun
    g  + top
       getMailerin file YiiMail.php, method YiiMail::getMailer()
        Gets the SwiftMailer Swift_Mailer class instance
       getTransportin file YiiMail.php, method YiiMail::getTransport()
        Gets the SwiftMailer transport class instance, initializing it if it has
    i  + top
       initin file YiiMail.php, method YiiMail::init()
        Calls the registerScripts() method.
    l  + top
       $loggingin file YiiMail.php, variable YiiMail::$logging
       login file YiiMail.php, method YiiMail::log()
        Logs a YiiMailMessage in a (hopefully) readable way using Yii::log (as long as $this->logging is set to true).
    m  + top
       $mailerin file YiiMail.php, variable YiiMail::$mailer
       $messagein file YiiMailMessage.php, variable YiiMailMessage::$message
    r  + top
       registerScriptsin file YiiMail.php, method YiiMail::registerScripts()
        Registers swiftMailer autoloader and includes the required files
    s  + top
       sendin file YiiMail.php, method YiiMail::send()
        Send a YiiMailMessage as it would be sent in a mail client.
       sendSimplein file YiiMail.php, method YiiMail::sendSimple()
        Sends a message in an extremly simple but less extensive way.
       setBodyin file YiiMailMessage.php, method YiiMailMessage::setBody()
        Set the body of this entity, either as a string, or array of view variables if a view is set, or as an instance of Swift_OutputByteStream.
    t  + top
       $transportin file YiiMail.php, variable YiiMail::$transport
       $transportOptionsin file YiiMail.php, variable YiiMail::$transportOptions
       $transportTypein file YiiMail.php, variable YiiMail::$transportType
    v  + top
       $viewin file YiiMailMessage.php, variable YiiMailMessage::$view
       $viewPathin file YiiMail.php, variable YiiMail::$viewPath
    y  + top
       YiiMailin file YiiMail.php, class YiiMail
        YiiMail is an application component used for sending email.
       YiiMail.phpprocedural page YiiMail.php
       YiiMailMessagein file YiiMailMessage.php, class YiiMailMessage
        Any requests to set or get attributes or call methods on this class that are not found in that class are redirected to the Swift_Mime_Message object.
       YiiMailMessage.phpprocedural page YiiMailMessage.php
    + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/errors.html b/www/protected/extensions/yii-mail/doc/errors.html new file mode 100644 index 0000000..cc1242a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/errors.html @@ -0,0 +1,658 @@ + + + + + phpDocumentor Parser Errors and Warnings + + + Post-parsing
    +AbstractHeader.php
    +AbstractSmtpTransport.php
    +AntiFloodPlugin.php
    +ArrayByteStream.php
    +ArrayCharacterStream.php
    +ArrayKeyCache.php
    +ArrayLogger.php
    +ArrayRecipientIterator.php
    +Attachment.php
    +Authenticator.php
    +AuthHandler.php
    +BandwidthMonitorPlugin.php
    +Base64ContentEncoder.php
    +Base64Encoder.php
    +Base64HeaderEncoder.php
    +ByteArrayReplacementFilter.php
    +CharacterReader.php
    +CharacterReaderFactory.php
    +CharacterStream.php
    +CharsetObserver.php
    +CommandEvent.php
    +CommandListener.php
    +ContentEncoder.php
    +CramMd5Authenticator.php
    +DateHeader.php
    +DecoratorPlugin.php
    +DependencyContainer.php
    +DependencyException.php
    +DiskKeyCache.php
    +EchoLogger.php
    +EmbeddedFile.php
    +Encoder.php
    +Encoding.php
    +EncodingObserver.php
    +EsmtpHandler.php
    +EsmtpTransport.php
    +Event.php
    +EventDispatcher.php
    +EventListener.php
    +EventObject.php
    +FailoverTransport.php
    +FileByteStream.php
    +FileStream.php
    +Filterable.php
    +GenericFixedWidthReader.php
    +Header.php
    +HeaderEncoder.php
    +HeaderFactory.php
    +HeaderSet.php
    +HitReporter.php
    +HtmlReporter.php
    +IdentificationHeader.php
    +Image.php
    +InputByteStream.php
    +IoBuffer.php
    +IoException.php
    +KeyCache.php
    +KeyCacheInputStream.php
    +LoadBalancedTransport.php
    +Logger.php
    +LoggerPlugin.php
    +LoginAuthenticator.php
    +MailboxHeader.php
    +Mailer.php
    +MailInvoker.php
    +MailTransport.php
    +Message.php
    +MimeEntity.php
    +MimePart.php
    +NgCharacterStream.php
    +NullKeyCache.php
    +OutputByteStream.php
    +ParameterizedHeader.php
    +PathHeader.php
    +PlainAuthenticator.php
    +PlainContentEncoder.php
    +Pop3Connection.php
    +Pop3Exception.php
    +PopBeforeSmtpPlugin.php
    +QpContentEncoder.php
    +QpEncoder.php
    +QpHeaderEncoder.php
    +RecipientIterator.php
    +ReplacementFilterFactory.php
    +Replacements.php
    +Reporter.php
    +ReporterPlugin.php
    +ResponseEvent.php
    +ResponseListener.php
    +Rfc2231Encoder.php
    +RfcComplianceException.php
    +SendEvent.php
    +SendListener.php
    +SendmailTransport.php
    +SimpleCharacterReaderFactory.php
    +SimpleEventDispatcher.php
    +SimpleHeaderFactory.php
    +SimpleHeaderSet.php
    +SimpleKeyCacheInputStream.php
    +SimpleMailInvoker.php
    +SimpleMessage.php
    +SimpleMimeEntity.php
    +Sleeper.php
    +SmtpAgent.php
    +SmtpTransport.php
    +StreamBuffer.php
    +StreamFilter.php
    +StringReplacementFilter.php
    +StringReplacementFilterFactory.php
    +Swift.php
    +SwiftException.php
    +ThrottlerPlugin.php
    +Timer.php
    +Transport.php
    +TransportChangeEvent.php
    +TransportChangeListener.php
    +TransportException.php
    +TransportExceptionEvent.php
    +TransportExceptionListener.php
    +UnstructuredHeader.php
    +UsAsciiReader.php
    +Utf8Reader.php
    +YiiMail.php
    +YiiMailMessage.php
    + +

    Post-parsing

    +

    Warnings:


    +Warning - Class YiiMailMessage parent CComponent not found
    +Warning - Class YiiMail parent CApplicationComponent not found
    + +

    AbstractFilterableInputStream.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_ByteStream_AbstractFilterableInputStream", use another DocBlock to document the file
    + +

    AbstractHeader.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Mime_Headers_AbstractHeader", use another DocBlock to document the file
    + +

    AbstractSmtpTransport.php

    +

    Warnings:


    +Warning on line 27 - DocBlock would be page-level, but precedes class "Swift_Transport_AbstractSmtpTransport", use another DocBlock to document the file
    + +

    AntiFloodPlugin.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Plugins_AntiFloodPlugin", use another DocBlock to document the file
    + +

    ArrayByteStream.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_ByteStream_ArrayByteStream", use another DocBlock to document the file
    + +

    ArrayCharacterStream.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_CharacterStream_ArrayCharacterStream", use another DocBlock to document the file
    + +

    ArrayKeyCache.php

    +

    Warnings:


    +Warning on line 23 - DocBlock would be page-level, but precedes class "Swift_KeyCache_ArrayKeyCache", use another DocBlock to document the file
    + +

    ArrayLogger.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Plugins_Loggers_ArrayLogger", use another DocBlock to document the file
    + +

    ArrayRecipientIterator.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Mailer_ArrayRecipientIterator", use another DocBlock to document the file
    + +

    Attachment.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Attachment", use another DocBlock to document the file
    +Warning on line 23 - DocBlock would be page-level, but precedes class "Swift_Mime_Attachment", use another DocBlock to document the file
    + +

    Authenticator.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Transport_Esmtp_Authenticator", use another DocBlock to document the file
    + +

    AuthHandler.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Transport_Esmtp_AuthHandler", use another DocBlock to document the file
    + +

    BandwidthMonitorPlugin.php

    +

    Warnings:


    +Warning on line 27 - DocBlock would be page-level, but precedes class "Swift_Plugins_BandwidthMonitorPlugin", use another DocBlock to document the file
    + +

    Base64ContentEncoder.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_Mime_ContentEncoder_Base64ContentEncoder", use another DocBlock to document the file
    + +

    Base64Encoder.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Encoder_Base64Encoder", use another DocBlock to document the file
    + +

    Base64HeaderEncoder.php

    +

    Warnings:


    +Warning on line 35 - File "/repository/skiclubz/trunk/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php" has no page-level DocBlock, use @package in the first DocBlock to create one
    + +

    ByteArrayReplacementFilter.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_StreamFilters_ByteArrayReplacementFilter", use another DocBlock to document the file
    + +

    CharacterReader.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_CharacterReader", use another DocBlock to document the file
    +Warning on line 38 - Unknown tag "@int" used
    + +

    CharacterReaderFactory.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_CharacterReaderFactory", use another DocBlock to document the file
    + +

    CharacterStream.php

    +

    Warnings:


    +Warning on line 85 - File "/repository/skiclubz/trunk/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterStream.php" has no page-level DocBlock, use @package in the first DocBlock to create one
    + +

    CharsetObserver.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Mime_CharsetObserver", use another DocBlock to document the file
    + +

    CommandEvent.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Events_CommandEvent", use another DocBlock to document the file
    + +

    CommandListener.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Events_CommandListener", use another DocBlock to document the file
    + +

    ContentEncoder.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Mime_ContentEncoder", use another DocBlock to document the file
    + +

    CramMd5Authenticator.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Transport_Esmtp_Auth_CramMd5Authenticator", use another DocBlock to document the file
    + +

    DateHeader.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Mime_Headers_DateHeader", use another DocBlock to document the file
    + +

    DecoratorPlugin.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_Plugins_DecoratorPlugin", use another DocBlock to document the file
    + +

    DependencyContainer.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_DependencyContainer", use another DocBlock to document the file
    + +

    DependencyException.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_DependencyException", use another DocBlock to document the file
    + +

    DiskKeyCache.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_KeyCache_DiskKeyCache", use another DocBlock to document the file
    + +

    EchoLogger.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_Plugins_Loggers_EchoLogger", use another DocBlock to document the file
    + +

    EmbeddedFile.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_EmbeddedFile", use another DocBlock to document the file
    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Mime_EmbeddedFile", use another DocBlock to document the file
    + +

    Encoder.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Encoder", use another DocBlock to document the file
    + +

    Encoding.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Encoding", use another DocBlock to document the file
    + +

    EncodingObserver.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Mime_EncodingObserver", use another DocBlock to document the file
    + +

    EsmtpHandler.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Transport_EsmtpHandler", use another DocBlock to document the file
    + +

    EsmtpTransport.php

    +

    Warnings:


    +Warning on line 27 - DocBlock would be page-level, but precedes class "Swift_Transport_EsmtpTransport", use another DocBlock to document the file
    + +

    Event.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_Events_Event", use another DocBlock to document the file
    + +

    EventDispatcher.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Events_EventDispatcher", use another DocBlock to document the file
    + +

    EventListener.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Events_EventListener", use another DocBlock to document the file
    + +

    EventObject.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Events_EventObject", use another DocBlock to document the file
    + +

    FailoverTransport.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_FailoverTransport", use another DocBlock to document the file
    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Transport_FailoverTransport", use another DocBlock to document the file
    + +

    FileByteStream.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_ByteStream_FileByteStream", use another DocBlock to document the file
    + +

    FileStream.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_FileStream", use another DocBlock to document the file
    + +

    Filterable.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_Filterable", use another DocBlock to document the file
    + +

    GenericFixedWidthReader.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_CharacterReader_GenericFixedWidthReader", use another DocBlock to document the file
    +Warning on line 63 - Unknown tag "@int" used
    + +

    Header.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Mime_Header", use another DocBlock to document the file
    + +

    HeaderEncoder.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Mime_HeaderEncoder", use another DocBlock to document the file
    + +

    HeaderFactory.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Mime_HeaderFactory", use another DocBlock to document the file
    + +

    HeaderSet.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Mime_HeaderSet", use another DocBlock to document the file
    + +

    HitReporter.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Plugins_Reporters_HitReporter", use another DocBlock to document the file
    + +

    HtmlReporter.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Plugins_Reporters_HtmlReporter", use another DocBlock to document the file
    + +

    IdentificationHeader.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Mime_Headers_IdentificationHeader", use another DocBlock to document the file
    + +

    Image.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Image", use another DocBlock to document the file
    + +

    InputByteStream.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_InputByteStream", use another DocBlock to document the file
    + +

    IoBuffer.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Transport_IoBuffer", use another DocBlock to document the file
    + +

    IoException.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_IoException", use another DocBlock to document the file
    + +

    KeyCache.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_KeyCache", use another DocBlock to document the file
    + +

    KeyCacheInputStream.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_KeyCache_KeyCacheInputStream", use another DocBlock to document the file
    + +

    LoadBalancedTransport.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_LoadBalancedTransport", use another DocBlock to document the file
    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Transport_LoadBalancedTransport", use another DocBlock to document the file
    + +

    Logger.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Plugins_Logger", use another DocBlock to document the file
    + +

    LoggerPlugin.php

    +

    Warnings:


    +Warning on line 33 - DocBlock would be page-level, but precedes class "Swift_Plugins_LoggerPlugin", use another DocBlock to document the file
    + +

    LoginAuthenticator.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Transport_Esmtp_Auth_LoginAuthenticator", use another DocBlock to document the file
    + +

    MailboxHeader.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Mime_Headers_MailboxHeader", use another DocBlock to document the file
    + +

    Mailer.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Mailer", use another DocBlock to document the file
    + +

    MailInvoker.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_Transport_MailInvoker", use another DocBlock to document the file
    + +

    MailTransport.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_MailTransport", use another DocBlock to document the file
    +Warning on line 31 - DocBlock would be page-level, but precedes class "Swift_Transport_MailTransport", use another DocBlock to document the file
    + +

    Message.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Mime_Message", use another DocBlock to document the file
    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Message", use another DocBlock to document the file
    + +

    MimeEntity.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Mime_MimeEntity", use another DocBlock to document the file
    + +

    MimePart.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_MimePart", use another DocBlock to document the file
    +Warning on line 23 - DocBlock would be page-level, but precedes class "Swift_Mime_MimePart", use another DocBlock to document the file
    + +

    NgCharacterStream.php

    +

    Warnings:


    +Warning on line 33 - DocBlock would be page-level, but precedes class "Swift_CharacterStream_NgCharacterStream", use another DocBlock to document the file
    + +

    NullKeyCache.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_KeyCache_NullKeyCache", use another DocBlock to document the file
    + +

    OutputByteStream.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_OutputByteStream", use another DocBlock to document the file
    + +

    ParameterizedHeader.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Mime_ParameterizedHeader", use another DocBlock to document the file
    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_Mime_Headers_ParameterizedHeader", use another DocBlock to document the file
    + +

    PathHeader.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Mime_Headers_PathHeader", use another DocBlock to document the file
    + +

    PlainAuthenticator.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Transport_Esmtp_Auth_PlainAuthenticator", use another DocBlock to document the file
    + +

    PlainContentEncoder.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Mime_ContentEncoder_PlainContentEncoder", use another DocBlock to document the file
    + +

    Pop3Connection.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Plugins_Pop_Pop3Connection", use another DocBlock to document the file
    + +

    Pop3Exception.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Plugins_Pop_Pop3Exception", use another DocBlock to document the file
    + +

    PopBeforeSmtpPlugin.php

    +

    Warnings:


    +Warning on line 23 - DocBlock would be page-level, but precedes class "Swift_Plugins_PopBeforeSmtpPlugin", use another DocBlock to document the file
    + +

    QpContentEncoder.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_Mime_ContentEncoder_QpContentEncoder", use another DocBlock to document the file
    + +

    QpEncoder.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Encoder_QpEncoder", use another DocBlock to document the file
    + +

    QpHeaderEncoder.php

    +

    Warnings:


    +Warning on line 98 - File "/repository/skiclubz/trunk/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php" has no page-level DocBlock, use @package in the first DocBlock to create one
    + +

    RecipientIterator.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Mailer_RecipientIterator", use another DocBlock to document the file
    + +

    ReplacementFilterFactory.php

    +

    Warnings:


    +Warning on line 16 - DocBlock would be page-level, but precedes class "Swift_ReplacementFilterFactory", use another DocBlock to document the file
    + +

    Replacements.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Plugins_Decorator_Replacements", use another DocBlock to document the file
    + +

    Reporter.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Plugins_Reporter", use another DocBlock to document the file
    + +

    ReporterPlugin.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Plugins_ReporterPlugin", use another DocBlock to document the file
    + +

    ResponseEvent.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Events_ResponseEvent", use another DocBlock to document the file
    + +

    ResponseListener.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Events_ResponseListener", use another DocBlock to document the file
    + +

    Rfc2231Encoder.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Encoder_Rfc2231Encoder", use another DocBlock to document the file
    + +

    RfcComplianceException.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_RfcComplianceException", use another DocBlock to document the file
    + +

    SendEvent.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Events_SendEvent", use another DocBlock to document the file
    + +

    SendListener.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Events_SendListener", use another DocBlock to document the file
    + +

    SendmailTransport.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_SendmailTransport", use another DocBlock to document the file
    +Warning on line 28 - DocBlock would be page-level, but precedes class "Swift_Transport_SendmailTransport", use another DocBlock to document the file
    + +

    SimpleCharacterReaderFactory.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_CharacterReaderFactory_SimpleCharacterReaderFactory", use another DocBlock to document the file
    + +

    SimpleEventDispatcher.php

    +

    Warnings:


    +Warning on line 27 - DocBlock would be page-level, but precedes class "Swift_Events_SimpleEventDispatcher", use another DocBlock to document the file
    + +

    SimpleHeaderFactory.php

    +

    Warnings:


    +Warning on line 27 - DocBlock would be page-level, but precedes class "Swift_Mime_SimpleHeaderFactory", use another DocBlock to document the file
    + +

    SimpleHeaderSet.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Mime_SimpleHeaderSet", use another DocBlock to document the file
    + +

    SimpleKeyCacheInputStream.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_KeyCache_SimpleKeyCacheInputStream", use another DocBlock to document the file
    + +

    SimpleMailInvoker.php

    +

    Warnings:


    +Warning on line 30 - DocBlock would be page-level, but precedes class "Swift_Transport_SimpleMailInvoker", use another DocBlock to document the file
    + +

    SimpleMessage.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_Mime_SimpleMessage", use another DocBlock to document the file
    + +

    SimpleMimeEntity.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Mime_SimpleMimeEntity", use another DocBlock to document the file
    + +

    Sleeper.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Plugins_Sleeper", use another DocBlock to document the file
    + +

    SmtpAgent.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Transport_SmtpAgent", use another DocBlock to document the file
    + +

    SmtpTransport.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_SmtpTransport", use another DocBlock to document the file
    + +

    StreamBuffer.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_Transport_StreamBuffer", use another DocBlock to document the file
    + +

    StreamFilter.php

    +

    Warnings:


    +Warning on line 16 - DocBlock would be page-level, but precedes class "Swift_StreamFilter", use another DocBlock to document the file
    + +

    StringReplacementFilter.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift_StreamFilters_StringReplacementFilter", use another DocBlock to document the file
    + +

    StringReplacementFilterFactory.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_StreamFilters_StringReplacementFilterFactory", use another DocBlock to document the file
    + +

    Swift.php

    +

    Warnings:


    +Warning on line 18 - DocBlock would be page-level, but precedes class "Swift", use another DocBlock to document the file
    + +

    SwiftException.php

    +

    Warnings:


    +Warning on line 16 - DocBlock would be page-level, but precedes class "Swift_SwiftException", use another DocBlock to document the file
    + +

    ThrottlerPlugin.php

    +

    Warnings:


    +Warning on line 24 - DocBlock would be page-level, but precedes class "Swift_Plugins_ThrottlerPlugin", use another DocBlock to document the file
    + +

    Timer.php

    +

    Warnings:


    +Warning on line 17 - DocBlock would be page-level, but precedes class "Swift_Plugins_Timer", use another DocBlock to document the file
    + +

    Transport.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Transport", use another DocBlock to document the file
    + +

    TransportChangeEvent.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_Events_TransportChangeEvent", use another DocBlock to document the file
    + +

    TransportChangeListener.php

    +

    Warnings:


    +Warning on line 22 - DocBlock would be page-level, but precedes class "Swift_Events_TransportChangeListener", use another DocBlock to document the file
    + +

    TransportException.php

    +

    Warnings:


    +Warning on line 19 - DocBlock would be page-level, but precedes class "Swift_TransportException", use another DocBlock to document the file
    + +

    TransportExceptionEvent.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_Events_TransportExceptionEvent", use another DocBlock to document the file
    + +

    TransportExceptionListener.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Events_TransportExceptionListener", use another DocBlock to document the file
    + +

    UnstructuredHeader.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_Mime_Headers_UnstructuredHeader", use another DocBlock to document the file
    + +

    UsAsciiReader.php

    +

    Warnings:


    +Warning on line 20 - DocBlock would be page-level, but precedes class "Swift_CharacterReader_UsAsciiReader", use another DocBlock to document the file
    +Warning on line 46 - Unknown tag "@int" used
    + +

    Utf8Reader.php

    +

    Warnings:


    +Warning on line 21 - DocBlock would be page-level, but precedes class "Swift_CharacterReader_Utf8Reader", use another DocBlock to document the file
    +Warning on line 147 - Unknown tag "@int" used
    + +

    YiiMail.php

    +

    Warnings:


    +Warning on line 45 - no @package tag was used in a DocBlock for class YiiMail
    + +

    YiiMailMessage.php

    +

    Warnings:


    +Warning on line 35 - no @package tag was used in a DocBlock for class YiiMailMessage
    +
    +
    + Documentation generated on Fri, 12 Nov 2010 20:45:32 +0000 by phpDocumentor 1.4.3 +
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/index.html b/www/protected/extensions/yii-mail/doc/index.html new file mode 100644 index 0000000..7c37868 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/index.html @@ -0,0 +1,24 @@ + + + + + + Yii-Mail & Swift Mailer Documentation + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/li_Swift.html b/www/protected/extensions/yii-mail/doc/li_Swift.html new file mode 100644 index 0000000..41ffba5 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/li_Swift.html @@ -0,0 +1,1369 @@ + + + + + + + + + + + + + +

    Navigation: Swift

    + +
    + +
    +phpDocumentor v 1.4.3
    +
    +HTML layout inspired by PHPEdit
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/li_Yii-Mail.html b/www/protected/extensions/yii-mail/doc/li_Yii-Mail.html new file mode 100644 index 0000000..326d5d5 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/li_Yii-Mail.html @@ -0,0 +1,149 @@ + + + + + + + + + + + + + +

    Navigation: Yii-Mail

    + +
    + +
    +phpDocumentor v 1.4.3
    +
    +HTML layout inspired by PHPEdit
    + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/media/images/Class.gif b/www/protected/extensions/yii-mail/doc/media/images/Class.gif new file mode 100644 index 0000000..ada36bb Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Class.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Constant.gif b/www/protected/extensions/yii-mail/doc/media/images/Constant.gif new file mode 100644 index 0000000..d9ca9cf Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Constant.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Constants.gif b/www/protected/extensions/yii-mail/doc/media/images/Constants.gif new file mode 100644 index 0000000..eba8d08 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Constants.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Constructor.gif b/www/protected/extensions/yii-mail/doc/media/images/Constructor.gif new file mode 100644 index 0000000..f153cfb Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Constructor.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Destructor.gif b/www/protected/extensions/yii-mail/doc/media/images/Destructor.gif new file mode 100644 index 0000000..bf3d62b Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Destructor.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Disk.gif b/www/protected/extensions/yii-mail/doc/media/images/Disk.gif new file mode 100644 index 0000000..7ab08fd Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Disk.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/FolderClosed.gif b/www/protected/extensions/yii-mail/doc/media/images/FolderClosed.gif new file mode 100644 index 0000000..68c6563 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/FolderClosed.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/FolderOpened.gif b/www/protected/extensions/yii-mail/doc/media/images/FolderOpened.gif new file mode 100644 index 0000000..8b012d5 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/FolderOpened.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Functions.gif b/www/protected/extensions/yii-mail/doc/media/images/Functions.gif new file mode 100644 index 0000000..bc2def8 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Functions.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/GhostClass.gif b/www/protected/extensions/yii-mail/doc/media/images/GhostClass.gif new file mode 100644 index 0000000..4412454 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/GhostClass.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/I.png b/www/protected/extensions/yii-mail/doc/media/images/I.png new file mode 100644 index 0000000..e8512fb Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/I.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/L.png b/www/protected/extensions/yii-mail/doc/media/images/L.png new file mode 100644 index 0000000..eb334ed Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/L.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Lminus.png b/www/protected/extensions/yii-mail/doc/media/images/Lminus.png new file mode 100644 index 0000000..f7c43c0 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Lminus.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Lplus.png b/www/protected/extensions/yii-mail/doc/media/images/Lplus.png new file mode 100644 index 0000000..848ec2f Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Lplus.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/PrivateDataMember.gif b/www/protected/extensions/yii-mail/doc/media/images/PrivateDataMember.gif new file mode 100644 index 0000000..346380d Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/PrivateDataMember.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/PrivateMethod.gif b/www/protected/extensions/yii-mail/doc/media/images/PrivateMethod.gif new file mode 100644 index 0000000..dcd2b20 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/PrivateMethod.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/PrivateProperty.gif b/www/protected/extensions/yii-mail/doc/media/images/PrivateProperty.gif new file mode 100644 index 0000000..a21fffa Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/PrivateProperty.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/ProtectedDataMember.gif b/www/protected/extensions/yii-mail/doc/media/images/ProtectedDataMember.gif new file mode 100644 index 0000000..882fa7d Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/ProtectedDataMember.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/ProtectedMethod.gif b/www/protected/extensions/yii-mail/doc/media/images/ProtectedMethod.gif new file mode 100644 index 0000000..b25197b Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/ProtectedMethod.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/ProtectedProperty.gif b/www/protected/extensions/yii-mail/doc/media/images/ProtectedProperty.gif new file mode 100644 index 0000000..94892fe Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/ProtectedProperty.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/PublicDataMember.gif b/www/protected/extensions/yii-mail/doc/media/images/PublicDataMember.gif new file mode 100644 index 0000000..5a799e0 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/PublicDataMember.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/PublicMethod.gif b/www/protected/extensions/yii-mail/doc/media/images/PublicMethod.gif new file mode 100644 index 0000000..571fd9c Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/PublicMethod.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/PublicProperty.gif b/www/protected/extensions/yii-mail/doc/media/images/PublicProperty.gif new file mode 100644 index 0000000..634ff5c Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/PublicProperty.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/T.png b/www/protected/extensions/yii-mail/doc/media/images/T.png new file mode 100644 index 0000000..3017325 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/T.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Tminus.png b/www/protected/extensions/yii-mail/doc/media/images/Tminus.png new file mode 100644 index 0000000..2260e42 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Tminus.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Tplus.png b/www/protected/extensions/yii-mail/doc/media/images/Tplus.png new file mode 100644 index 0000000..2c8d8f4 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Tplus.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Types.gif b/www/protected/extensions/yii-mail/doc/media/images/Types.gif new file mode 100644 index 0000000..7c13fd5 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Types.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Variable.gif b/www/protected/extensions/yii-mail/doc/media/images/Variable.gif new file mode 100644 index 0000000..63b3f55 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Variable.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/Vars.gif b/www/protected/extensions/yii-mail/doc/media/images/Vars.gif new file mode 100644 index 0000000..3963c3c Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/Vars.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/blank.png b/www/protected/extensions/yii-mail/doc/media/images/blank.png new file mode 100644 index 0000000..cee9cd3 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/blank.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/classFolder.gif b/www/protected/extensions/yii-mail/doc/media/images/classFolder.gif new file mode 100644 index 0000000..5492345 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/classFolder.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/error.gif b/www/protected/extensions/yii-mail/doc/media/images/error.gif new file mode 100644 index 0000000..e323ff0 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/error.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/file.png b/www/protected/extensions/yii-mail/doc/media/images/file.png new file mode 100644 index 0000000..0bb2427 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/file.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/foldericon.png b/www/protected/extensions/yii-mail/doc/media/images/foldericon.png new file mode 100644 index 0000000..2684748 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/foldericon.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/minus.gif b/www/protected/extensions/yii-mail/doc/media/images/minus.gif new file mode 100644 index 0000000..9e998f1 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/minus.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/msgError.gif b/www/protected/extensions/yii-mail/doc/media/images/msgError.gif new file mode 100644 index 0000000..93c6d36 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/msgError.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/msgFatalError.gif b/www/protected/extensions/yii-mail/doc/media/images/msgFatalError.gif new file mode 100644 index 0000000..6257bbe Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/msgFatalError.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/msgHint.gif b/www/protected/extensions/yii-mail/doc/media/images/msgHint.gif new file mode 100644 index 0000000..0b23fbf Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/msgHint.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/msgInformation.gif b/www/protected/extensions/yii-mail/doc/media/images/msgInformation.gif new file mode 100644 index 0000000..1cc5c9b Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/msgInformation.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/msgWarning.gif b/www/protected/extensions/yii-mail/doc/media/images/msgWarning.gif new file mode 100644 index 0000000..e075778 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/msgWarning.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/openfoldericon.png b/www/protected/extensions/yii-mail/doc/media/images/openfoldericon.png new file mode 100644 index 0000000..15fcd56 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/openfoldericon.png differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/plus.gif b/www/protected/extensions/yii-mail/doc/media/images/plus.gif new file mode 100644 index 0000000..cade83c Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/plus.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/images/spacer.gif b/www/protected/extensions/yii-mail/doc/media/images/spacer.gif new file mode 100644 index 0000000..1fa6d01 Binary files /dev/null and b/www/protected/extensions/yii-mail/doc/media/images/spacer.gif differ diff --git a/www/protected/extensions/yii-mail/doc/media/lib/classTree.js b/www/protected/extensions/yii-mail/doc/media/lib/classTree.js new file mode 100644 index 0000000..e1f94e6 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/media/lib/classTree.js @@ -0,0 +1,454 @@ +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/Class.gif', + openRootIcon : 'media/images/Class.gif', + folderIcon : 'media/images/Class.gif', + openFolderIcon : 'media/images/Class.gif', + fileIcon : 'media/images/Class.gif', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "
    "; + str += "" + this.text + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "
    "; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "
    "; + str += indent; + str += "" + str += "" + label + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "
    "; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/doc/media/lib/tab.webfx.css b/www/protected/extensions/yii-mail/doc/media/lib/tab.webfx.css new file mode 100644 index 0000000..337fd8a --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/media/lib/tab.webfx.css @@ -0,0 +1,86 @@ +/* + +bright: rgb(234,242,255); +normal: rgb(120,172,255); +dark: rgb(0,66,174); + +*/ + + + + +.dynamic-tab-pane-control.tab-pane { + position: relative; + width: 100%; +} + +.dynamic-tab-pane-control .tab-row .tab { + font-family: Verdana, Helvetica, Arial; + font-size: 12px; + cursor: Default; + display: inline; + margin: 1px -5px 1px 5px; + float: left; + padding: 3px 6px 3px 6px; + background: rgb(234,242,255); + border: 1px solid; + border-color: rgb(120,172,255); + border-left: 0; + border-bottom: 0; + border-top: 0; + + cursor: hand; + cursor: pointer; + + z-index: 1; + position: relative; + top: 0; +} + +.dynamic-tab-pane-control .tab-row .tab.selected { + border: 1px solid rgb(120,172,255); + border-bottom: 0; + z-index: 3; + padding: 2px 6px 5px 6px; + margin: 1px -6px -2px 0px; + top: -2px; + background: white; +} + +.dynamic-tab-pane-control .tab-row .tab a { + font-family: Verdana, Helvetica, Arial; + font-size: 13px; + color: rgb(0,66,174); + text-decoration: none; + cursor: hand; + cursor: pointer; +} + +.dynamic-tab-pane-control .tab-row .hover a { + color: rgb(0,66,174); +} + +.dynamic-tab-pane-control .tab-row .tab.selected a { + font-weight: bold; +} + +.dynamic-tab-pane-control .tab-page { + clear: both; + border: 1px solid rgb(120,172,255); + background: White; + z-index: 2; + position: relative; + top: -2px; + color: Black; + font-family: Verdana, Helvetica, Arial; + font-size: 13px; + padding: 10px; +} + +.dynamic-tab-pane-control .tab-row { + z-index: 1; + white-space: nowrap; + background: rgb(234,242,255); + height: 1.85em; + width: 100%; +} diff --git a/www/protected/extensions/yii-mail/doc/media/lib/tabpane.js b/www/protected/extensions/yii-mail/doc/media/lib/tabpane.js new file mode 100644 index 0000000..4f50473 --- /dev/null +++ b/www/protected/extensions/yii-mail/doc/media/lib/tabpane.js @@ -0,0 +1,308 @@ +/* + * Tab Pane + * + * This script was created by Erik Arvidsson (erik(at)eae.net) + * for WebFX (http://webfx.eae.net) + * Copyright 2002 + * + * For usage see license at http://webfx.eae.net/license.html + * + * Version: 1.0 + * Created: 2002-01-?? First working version + * Updated: 2002-02-17 Cleaned up for 1.0 public version + * + * Dependencies: *.css - a css file to define the layout + * + */ + + +// This function is used to define if the browser supports the needed +// features +function hasSupport() { + + if (typeof hasSupport.support != "undefined") + return hasSupport.support; + + var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent ); + + hasSupport.support = ( typeof document.implementation != "undefined" && + document.implementation.hasFeature( "html", "1.0" ) || ie55 ) + + // IE55 has a serious DOM1 bug... Patch it! + if ( ie55 ) { + document._getElementsByTagName = document.getElementsByTagName; + document.getElementsByTagName = function ( sTagName ) { + if ( sTagName == "*" ) + return document.all; + else + return document._getElementsByTagName( sTagName ); + }; + } + + return hasSupport.support; +} + +/////////////////////////////////////////////////////////////////////////////////// +// The constructor for tab panes +// +// el : HTMLElement The html element used to represent the tab pane +// bUseCookie : Boolean Optional. Default is true. Used to determine whether to us +// persistance using cookies or not +// +function WebFXTabPane( el, bUseCookie ) { + if ( !hasSupport() || el == null ) return; + + this.element = el; + this.element.tabPane = this; + this.pages = []; + this.selectedIndex = null; + this.useCookie = bUseCookie != null ? bUseCookie : false; + + // add class name tag to class name + this.element.className = this.classNameTag + " " + this.element.className; + + // add tab row + this.tabRow = document.createElement( "div" ); + this.tabRow.className = "tab-row"; + el.insertBefore( this.tabRow, el.firstChild ); + + var tabIndex = 0; + if ( this.useCookie ) { + tabIndex = Number( WebFXTabPane.getCookie( "webfxtab_" + this.element.id ) ); + if ( isNaN( tabIndex ) ) + tabIndex = 0; + } + + this.selectedIndex = tabIndex; + + // loop through child nodes and add them + var cs = el.childNodes; + var n; + for (var i = 0; i < cs.length; i++) { + if (cs[i].nodeType == 1 && cs[i].className == "tab-page") { + this.addTabPage( cs[i] ); + } + } +} + +WebFXTabPane.prototype = { + + classNameTag: "dynamic-tab-pane-control", + + setSelectedIndex: function ( n ) { + if (this.selectedIndex != n) { + if (this.selectedIndex != null && this.pages[ this.selectedIndex ] != null ) + this.pages[ this.selectedIndex ].hide(); + this.selectedIndex = n; + this.pages[ this.selectedIndex ].show(); + + if ( this.useCookie ) + WebFXTabPane.setCookie( "webfxtab_" + this.element.id, n ); // session cookie + } + }, + + getSelectedIndex: function () { + return this.selectedIndex; + }, + + addTabPage: function ( oElement ) { + if ( !hasSupport() ) return; + + if ( oElement.tabPage == this ) // already added + return oElement.tabPage; + + var n = this.pages.length; + var tp = this.pages[n] = new WebFXTabPage( oElement, this, n ); + tp.tabPane = this; + + // move the tab out of the box + this.tabRow.appendChild( tp.tab ); + + if ( n == this.selectedIndex ) + tp.show(); + else + tp.hide(); + + return tp; + } +}; + +// Cookie handling +WebFXTabPane.setCookie = function ( sName, sValue, nDays ) { + var expires = ""; + if ( nDays ) { + var d = new Date(); + d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 ); + expires = "; expires=" + d.toGMTString(); + } + + document.cookie = sName + "=" + sValue + expires + "; path=/"; +}; + +WebFXTabPane.getCookie = function (sName) { + var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" ); + var res = re.exec( document.cookie ); + return res != null ? res[3] : null; +}; + +WebFXTabPane.removeCookie = function ( name ) { + setCookie( name, "", -1 ); +}; + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +// The constructor for tab pages. This one should not be used. +// Use WebFXTabPage.addTabPage instead +// +// el : HTMLElement The html element used to represent the tab pane +// tabPane : WebFXTabPane The parent tab pane +// nindex : Number The index of the page in the parent pane page array +// +function WebFXTabPage( el, tabPane, nIndex ) { + if ( !hasSupport() || el == null ) return; + + this.element = el; + this.element.tabPage = this; + this.index = nIndex; + + var cs = el.childNodes; + for (var i = 0; i < cs.length; i++) { + if (cs[i].nodeType == 1 && cs[i].className == "tab") { + this.tab = cs[i]; + break; + } + } + + // insert a tag around content to support keyboard navigation + var a = document.createElement( "A" ); + a.href = "javascript:void 0;"; + while ( this.tab.hasChildNodes() ) + a.appendChild( this.tab.firstChild ); + this.tab.appendChild( a ); + + + anchor = ''; + if ( document.URL.indexOf( '#' ) != -1 ) { + anchor = document.URL.substr( document.URL.indexOf( '#' ) + 1); + } + j = 0; + if ( anchor.length > 0 ) { + finalList = new Array(); + listOfAnchors = el.getElementsByTagName('A'); + for (i=0; i + + + + + + +

    Packages

    + + + \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift.php new file mode 100644 index 0000000..77abbbf --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift.php @@ -0,0 +1,57 @@ +createDependenciesFor('mime.attachment') + ); + + $this->setBody($data); + $this->setFilename($filename); + if ($contentType) + { + $this->setContentType($contentType); + } + } + + /** + * Create a new Attachment. + * @param string|Swift_OutputByteStream $data + * @param string $filename + * @param string $contentType + * @return Swift_Mime_Attachment + */ + public static function newInstance($data = null, $filename = null, + $contentType = null) + { + return new self($data, $filename, $contentType); + } + + /** + * Create a new Attachment from a filesystem path. + * @param string $path + * @param string $contentType optional + * @return Swift_Mime_Attachment + */ + public static function fromPath($path, $contentType = null) + { + return self::newInstance()->setFile( + new Swift_ByteStream_FileByteStream($path), + $contentType + ); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php new file mode 100644 index 0000000..71bc3f1 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php @@ -0,0 +1,178 @@ +_filters[$key] = $filter; + } + + /** + * Remove an already present StreamFilter based on its $key. + * @param string $key + */ + public function removeFilter($key) + { + unset($this->_filters[$key]); + } + + /** + * Writes $bytes to the end of the stream. + * @param string $bytes + * @throws Swift_IoException + */ + public function write($bytes) + { + $this->_writeBuffer .= $bytes; + foreach ($this->_filters as $filter) + { + if ($filter->shouldBuffer($this->_writeBuffer)) + { + return; + } + } + $this->_doWrite($this->_writeBuffer); + return ++$this->_sequence; + } + + /** + * For any bytes that are currently buffered inside the stream, force them + * off the buffer. + * + * @throws Swift_IoException + */ + public function commit() + { + $this->_doWrite($this->_writeBuffer); + } + + /** + * Attach $is to this stream. + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + */ + public function bind(Swift_InputByteStream $is) + { + $this->_mirrors[] = $is; + } + + /** + * Remove an already bound stream. + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + */ + public function unbind(Swift_InputByteStream $is) + { + foreach ($this->_mirrors as $k => $stream) + { + if ($is === $stream) + { + if ($this->_writeBuffer !== '') + { + $stream->write($this->_filter($this->_writeBuffer)); + } + unset($this->_mirrors[$k]); + } + } + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + * @throws Swift_IoException + */ + public function flushBuffers() + { + if ($this->_writeBuffer !== '') + { + $this->_doWrite($this->_writeBuffer); + } + $this->_flush(); + + foreach ($this->_mirrors as $stream) + { + $stream->flushBuffers(); + } + } + + // -- Private methods + + /** Run $bytes through all filters */ + private function _filter($bytes) + { + foreach ($this->_filters as $filter) + { + $bytes = $filter->filter($bytes); + } + return $bytes; + } + + /** Just write the bytes to the stream */ + private function _doWrite($bytes) + { + $this->_commit($this->_filter($bytes)); + + foreach ($this->_mirrors as $stream) + { + $stream->write($bytes); + } + + $this->_writeBuffer = ''; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/ArrayByteStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/ArrayByteStream.php new file mode 100644 index 0000000..f918889 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/ArrayByteStream.php @@ -0,0 +1,190 @@ +_array = $stack; + $this->_arraySize = count($stack); + } + elseif (is_string($stack)) + { + $this->write($stack); + } + else + { + $this->_array = array(); + } + } + + /** + * Reads $length bytes from the stream into a string and moves the pointer + * through the stream by $length. If less bytes exist than are requested the + * remaining bytes are given instead. If no bytes are remaining at all, boolean + * false is returned. + * @param int $length + * @return string + */ + public function read($length) + { + if ($this->_offset == $this->_arraySize) + { + return false; + } + + // Don't use array slice + $end = $length + $this->_offset; + $end = $this->_arraySize<$end + ?$this->_arraySize + :$end; + $ret = ''; + for (; $this->_offset < $end; ++$this->_offset) + { + $ret .= $this->_array[$this->_offset]; + } + return $ret; + } + + /** + * Writes $bytes to the end of the stream. + * @param string $bytes + */ + public function write($bytes) + { + $to_add = str_split($bytes); + foreach ($to_add as $value) + { + $this->_array[] = $value; + } + $this->_arraySize = count($this->_array); + + foreach ($this->_mirrors as $stream) + { + $stream->write($bytes); + } + } + + /** + * Not used. + */ + public function commit() + { + } + + /** + * Attach $is to this stream. + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + */ + public function bind(Swift_InputByteStream $is) + { + $this->_mirrors[] = $is; + } + + /** + * Remove an already bound stream. + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + */ + public function unbind(Swift_InputByteStream $is) + { + foreach ($this->_mirrors as $k => $stream) + { + if ($is === $stream) + { + unset($this->_mirrors[$k]); + } + } + } + + /** + * Move the internal read pointer to $byteOffset in the stream. + * @param int $byteOffset + * @return boolean + */ + public function setReadPointer($byteOffset) + { + if ($byteOffset > $this->_arraySize) + { + $byteOffset = $this->_arraySize; + } + elseif ($byteOffset < 0) + { + $byteOffset = 0; + } + + $this->_offset = $byteOffset; + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + */ + public function flushBuffers() + { + $this->_offset = 0; + $this->_array = array(); + $this->_arraySize = 0; + + foreach ($this->_mirrors as $stream) + { + $stream->flushBuffers(); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/FileByteStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/FileByteStream.php new file mode 100644 index 0000000..14773c2 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ByteStream/FileByteStream.php @@ -0,0 +1,177 @@ +_path = $path; + $this->_mode = $writable ? 'w+b' : 'rb'; + $this->_quotes = get_magic_quotes_runtime(); + } + + /** + * Get the complete path to the file. + * @return string + */ + public function getPath() + { + return $this->_path; + } + + /** + * Reads $length bytes from the stream into a string and moves the pointer + * through the stream by $length. If less bytes exist than are requested the + * remaining bytes are given instead. If no bytes are remaining at all, boolean + * false is returned. + * @param int $length + * @return string + * @throws Swift_IoException + */ + public function read($length) + { + $fp = $this->_getReadHandle(); + if (!feof($fp)) + { + if ($this->_quotes) + { + set_magic_quotes_runtime(0); + } + $bytes = fread($fp, $length); + if ($this->_quotes) + { + set_magic_quotes_runtime(1); + } + $this->_offset = ftell($fp); + return $bytes; + } + else + { + return false; + } + } + + /** + * Move the internal read pointer to $byteOffset in the stream. + * @param int $byteOffset + * @return boolean + */ + public function setReadPointer($byteOffset) + { + if (isset($this->_reader)) + { + fseek($this->_reader, $byteOffset, SEEK_SET); + } + $this->_offset = $byteOffset; + } + + // -- Private methods + + /** Just write the bytes to the file */ + protected function _commit($bytes) + { + fwrite($this->_getWriteHandle(), $bytes); + $this->_resetReadHandle(); + } + + /** Not used */ + protected function _flush() + { + } + + /** Get the resource for reading */ + private function _getReadHandle() + { + if (!isset($this->_reader)) + { + if (!$this->_reader = fopen($this->_path, 'rb')) + { + throw new Swift_IoException( + 'Unable to open file for reading [' . $this->_path . ']' + ); + } + fseek($this->_reader, $this->_offset, SEEK_SET); + } + return $this->_reader; + } + + /** Get the resource for writing */ + private function _getWriteHandle() + { + if (!isset($this->_writer)) + { + if (!$this->_writer = fopen($this->_path, $this->_mode)) + { + throw new Swift_IoException( + 'Unable to open file for writing [' . $this->_path . ']' + ); + } + } + return $this->_writer; + } + + /** Force a reload of the resource for writing */ + private function _resetWriteHandle() + { + if (isset($this->_writer)) + { + fclose($this->_writer); + $this->_writer = null; + } + } + + /** Force a reload of the resource for reading */ + private function _resetReadHandle() + { + if (isset($this->_reader)) + { + fclose($this->_reader); + $this->_reader = null; + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader.php new file mode 100644 index 0000000..53d39ec --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader.php @@ -0,0 +1,60 @@ + + */ +interface Swift_CharacterReader +{ + const MAP_TYPE_INVALID = 0x01; + const MAP_TYPE_FIXED_LEN = 0x02; + const MAP_TYPE_POSITIONS = 0x03; + + /** + * Returns the complete charactermap + * + * @param string $string + * @param int $startOffset + * @param array $currentMap + * @param mixed $ignoredChars + * @return int + */ + public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars); + + /** + * Returns mapType + * @int mapType + */ + public function getMapType(); + + /** + * Returns an integer which specifies how many more bytes to read. + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * @param int[] $bytes + * @return int + */ + public function validateByteSequence($bytes, $size); + + /** + * Returns the number of bytes which should be read to start each character. + * For fixed width character sets this should be the number of + * octets-per-character. For multibyte character sets this will probably be 1. + * @return int + */ + public function getInitialByteSize(); + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php new file mode 100644 index 0000000..26b13ff --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php @@ -0,0 +1,96 @@ + + */ +class Swift_CharacterReader_GenericFixedWidthReader + implements Swift_CharacterReader +{ + + /** + * The number of bytes in a single character. + * @var int + * @access private + */ + private $_width; + + /** + * Creates a new GenericFixedWidthReader using $width bytes per character. + * @param int $width + */ + public function __construct($width) + { + $this->_width = $width; + } + + /** + * Returns the complete charactermap + * + * @param string $string + * @param int $startOffset + * @param array $currentMap + * @param mixed $ignoredChars + * @return $int + */ + public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) + { + $strlen = strlen($string); + // % and / are CPU intensive, so, maybe find a better way + $ignored = $strlen%$this->_width; + $ignoredChars = substr($string, - $ignored); + $currentMap = $this->_width; + return ($strlen - $ignored)/$this->_width; + + } + + /** + * Returns mapType + * @int mapType + */ + public function getMapType() + { + return self::MAP_TYPE_FIXED_LEN; + } + + /** + * Returns an integer which specifies how many more bytes to read. + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * @param string $bytes + * @return int + */ + public function validateByteSequence($bytes, $size) + { + $needed = $this->_width - $size; + return ($needed > -1) + ? $needed + : -1 + ; + } + + /** + * Returns the number of bytes which should be read to start each character. + * @return int + */ + public function getInitialByteSize() + { + return $this->_width; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/UsAsciiReader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/UsAsciiReader.php new file mode 100644 index 0000000..3e0228a --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/UsAsciiReader.php @@ -0,0 +1,83 @@ +"\x07F") + { // Invalid char + $currentMap[$i+$startOffset]=$string[$i]; + } + } + return $strlen; + } + + /** + * Returns mapType + * @int mapType + */ + public function getMapType() + { + return self::MAP_TYPE_INVALID; + } + + /** + * Returns an integer which specifies how many more bytes to read. + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * @param string $bytes + * @return int + */ + public function validateByteSequence($bytes, $size) + { + $byte = reset($bytes); + if (1 == count($bytes) && $byte >= 0x00 && $byte <= 0x7F) + { + return 0; + } + else + { + return -1; + } + } + + /** + * Returns the number of bytes which should be read to start each character. + * @return int + */ + public function getInitialByteSize() + { + return 1; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/Utf8Reader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/Utf8Reader.php new file mode 100644 index 0000000..54ea9a4 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReader/Utf8Reader.php @@ -0,0 +1,183 @@ + + */ +class Swift_CharacterReader_Utf8Reader + implements Swift_CharacterReader +{ + + /** Pre-computed for optimization */ + private static $length_map=array( +//N=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x0N + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x1N + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x2N + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x3N + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x4N + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x5N + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x6N + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //0x7N + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x8N + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0x9N + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0xAN + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //0xBN + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, //0xCN + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, //0xDN + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, //0xEN + 4,4,4,4,4,4,4,4,5,5,5,5,6,6,0,0 //0xFN + ); + private static $s_length_map=array( + "\x00"=>1, "\x01"=>1, "\x02"=>1, "\x03"=>1, "\x04"=>1, "\x05"=>1, "\x06"=>1, "\x07"=>1, + "\x08"=>1, "\x09"=>1, "\x0a"=>1, "\x0b"=>1, "\x0c"=>1, "\x0d"=>1, "\x0e"=>1, "\x0f"=>1, + "\x10"=>1, "\x11"=>1, "\x12"=>1, "\x13"=>1, "\x14"=>1, "\x15"=>1, "\x16"=>1, "\x17"=>1, + "\x18"=>1, "\x19"=>1, "\x1a"=>1, "\x1b"=>1, "\x1c"=>1, "\x1d"=>1, "\x1e"=>1, "\x1f"=>1, + "\x20"=>1, "\x21"=>1, "\x22"=>1, "\x23"=>1, "\x24"=>1, "\x25"=>1, "\x26"=>1, "\x27"=>1, + "\x28"=>1, "\x29"=>1, "\x2a"=>1, "\x2b"=>1, "\x2c"=>1, "\x2d"=>1, "\x2e"=>1, "\x2f"=>1, + "\x30"=>1, "\x31"=>1, "\x32"=>1, "\x33"=>1, "\x34"=>1, "\x35"=>1, "\x36"=>1, "\x37"=>1, + "\x38"=>1, "\x39"=>1, "\x3a"=>1, "\x3b"=>1, "\x3c"=>1, "\x3d"=>1, "\x3e"=>1, "\x3f"=>1, + "\x40"=>1, "\x41"=>1, "\x42"=>1, "\x43"=>1, "\x44"=>1, "\x45"=>1, "\x46"=>1, "\x47"=>1, + "\x48"=>1, "\x49"=>1, "\x4a"=>1, "\x4b"=>1, "\x4c"=>1, "\x4d"=>1, "\x4e"=>1, "\x4f"=>1, + "\x50"=>1, "\x51"=>1, "\x52"=>1, "\x53"=>1, "\x54"=>1, "\x55"=>1, "\x56"=>1, "\x57"=>1, + "\x58"=>1, "\x59"=>1, "\x5a"=>1, "\x5b"=>1, "\x5c"=>1, "\x5d"=>1, "\x5e"=>1, "\x5f"=>1, + "\x60"=>1, "\x61"=>1, "\x62"=>1, "\x63"=>1, "\x64"=>1, "\x65"=>1, "\x66"=>1, "\x67"=>1, + "\x68"=>1, "\x69"=>1, "\x6a"=>1, "\x6b"=>1, "\x6c"=>1, "\x6d"=>1, "\x6e"=>1, "\x6f"=>1, + "\x70"=>1, "\x71"=>1, "\x72"=>1, "\x73"=>1, "\x74"=>1, "\x75"=>1, "\x76"=>1, "\x77"=>1, + "\x78"=>1, "\x79"=>1, "\x7a"=>1, "\x7b"=>1, "\x7c"=>1, "\x7d"=>1, "\x7e"=>1, "\x7f"=>1, + "\x80"=>0, "\x81"=>0, "\x82"=>0, "\x83"=>0, "\x84"=>0, "\x85"=>0, "\x86"=>0, "\x87"=>0, + "\x88"=>0, "\x89"=>0, "\x8a"=>0, "\x8b"=>0, "\x8c"=>0, "\x8d"=>0, "\x8e"=>0, "\x8f"=>0, + "\x90"=>0, "\x91"=>0, "\x92"=>0, "\x93"=>0, "\x94"=>0, "\x95"=>0, "\x96"=>0, "\x97"=>0, + "\x98"=>0, "\x99"=>0, "\x9a"=>0, "\x9b"=>0, "\x9c"=>0, "\x9d"=>0, "\x9e"=>0, "\x9f"=>0, + "\xa0"=>0, "\xa1"=>0, "\xa2"=>0, "\xa3"=>0, "\xa4"=>0, "\xa5"=>0, "\xa6"=>0, "\xa7"=>0, + "\xa8"=>0, "\xa9"=>0, "\xaa"=>0, "\xab"=>0, "\xac"=>0, "\xad"=>0, "\xae"=>0, "\xaf"=>0, + "\xb0"=>0, "\xb1"=>0, "\xb2"=>0, "\xb3"=>0, "\xb4"=>0, "\xb5"=>0, "\xb6"=>0, "\xb7"=>0, + "\xb8"=>0, "\xb9"=>0, "\xba"=>0, "\xbb"=>0, "\xbc"=>0, "\xbd"=>0, "\xbe"=>0, "\xbf"=>0, + "\xc0"=>2, "\xc1"=>2, "\xc2"=>2, "\xc3"=>2, "\xc4"=>2, "\xc5"=>2, "\xc6"=>2, "\xc7"=>2, + "\xc8"=>2, "\xc9"=>2, "\xca"=>2, "\xcb"=>2, "\xcc"=>2, "\xcd"=>2, "\xce"=>2, "\xcf"=>2, + "\xd0"=>2, "\xd1"=>2, "\xd2"=>2, "\xd3"=>2, "\xd4"=>2, "\xd5"=>2, "\xd6"=>2, "\xd7"=>2, + "\xd8"=>2, "\xd9"=>2, "\xda"=>2, "\xdb"=>2, "\xdc"=>2, "\xdd"=>2, "\xde"=>2, "\xdf"=>2, + "\xe0"=>3, "\xe1"=>3, "\xe2"=>3, "\xe3"=>3, "\xe4"=>3, "\xe5"=>3, "\xe6"=>3, "\xe7"=>3, + "\xe8"=>3, "\xe9"=>3, "\xea"=>3, "\xeb"=>3, "\xec"=>3, "\xed"=>3, "\xee"=>3, "\xef"=>3, + "\xf0"=>4, "\xf1"=>4, "\xf2"=>4, "\xf3"=>4, "\xf4"=>4, "\xf5"=>4, "\xf6"=>4, "\xf7"=>4, + "\xf8"=>5, "\xf9"=>5, "\xfa"=>5, "\xfb"=>5, "\xfc"=>6, "\xfd"=>6, "\xfe"=>0, "\xff"=>0, + ); + + /** + * Returns the complete charactermap + * + * @param string $string + * @param int $startOffset + * @param array $currentMap + * @param mixed $ignoredChars + */ + public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) + { + if (!isset($currentMap['i']) || !isset($currentMap['p'])) + { + $currentMap['p'] = $currentMap['i'] = array(); + } + $strlen=strlen($string); + $charPos=count($currentMap['p']); + $foundChars=0; + $invalid=false; + for ($i=0; $i<$strlen; ++$i) + { + $char=$string[$i]; + $size=self::$s_length_map[$char]; + if ($size==0) + { + /* char is invalid, we must wait for a resync */ + $invalid=true; + continue; + } + else + { + if ($invalid==true) + { + /* We mark the chars as invalid and start a new char */ + $currentMap['p'][$charPos+$foundChars]=$startOffset+$i; + $currentMap['i'][$charPos+$foundChars]=true; + ++$foundChars; + $invalid=false; + } + if (($i+$size) > $strlen){ + $ignoredChars=substr($string, $i); + break; + } + for ($j=1; $j<$size; ++$j) + { + $char=$string[$i+$j]; + if ($char>"\x7F" && $char<"\xC0") + { + // Valid - continue parsing + } + else + { + /* char is invalid, we must wait for a resync */ + $invalid=true; + continue 2; + } + } + /* Ok we got a complete char here */ + $lastChar=$currentMap['p'][$charPos+$foundChars]=$startOffset+$i+$size; + $i+=$j-1; + ++$foundChars; + } + } + return $foundChars; + } + + /** + * Returns mapType + * @int mapType + */ + public function getMapType() + { + return self::MAP_TYPE_POSITIONS; + } + + /** + * Returns an integer which specifies how many more bytes to read. + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * @param string $bytes + * @return int + */ + public function validateByteSequence($bytes, $size) + { + if ($size<1){ + return -1; + } + $needed = self::$length_map[$bytes[0]] - $size; + return ($needed > -1) + ? $needed + : -1 + ; + } + + /** + * Returns the number of bytes which should be read to start each character. + * @return int + */ + public function getInitialByteSize() + { + return 1; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReaderFactory.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReaderFactory.php new file mode 100644 index 0000000..9e01de1 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterReaderFactory.php @@ -0,0 +1,29 @@ + $prefix . 'GenericFixedWidthReader', + 'constructor' => array(1) + ); + + $doubleByte = array( + 'class' => $prefix . 'GenericFixedWidthReader', + 'constructor' => array(2) + ); + + $fourBytes = array( + 'class' => $prefix . 'GenericFixedWidthReader', + 'constructor' => array(4) + ); + + //Utf-8 + $this->_map['utf-?8'] = array( + 'class' => $prefix . 'Utf8Reader', + 'constructor' => array() + ); + + //7-8 bit charsets + $this->_map['(us-)?ascii'] = $singleByte; + $this->_map['(iso|iec)-?8859-?[0-9]+'] = $singleByte; + $this->_map['windows-?125[0-9]'] = $singleByte; + $this->_map['cp-?[0-9]+'] = $singleByte; + $this->_map['ansi'] = $singleByte; + $this->_map['macintosh'] = $singleByte; + $this->_map['koi-?7'] = $singleByte; + $this->_map['koi-?8-?.+'] = $singleByte; + $this->_map['mik'] = $singleByte; + $this->_map['(cork|t1)'] = $singleByte; + $this->_map['v?iscii'] = $singleByte; + + //16 bits + $this->_map['(ucs-?2|utf-?16)'] = $doubleByte; + + //32 bits + $this->_map['(ucs-?4|utf-?32)'] = $fourBytes; + + //Fallback + $this->_map['.*'] = $singleByte; + } + + /** + * Returns a CharacterReader suitable for the charset applied. + * @param string $charset + * @return Swift_CharacterReader + */ + public function getReaderFor($charset) + { + $charset = trim(strtolower($charset)); + foreach ($this->_map as $pattern => $spec) + { + $re = '/^' . $pattern . '$/D'; + if (preg_match($re, $charset)) + { + if (!array_key_exists($pattern, $this->_loaded)) + { + $reflector = new ReflectionClass($spec['class']); + if ($reflector->getConstructor()) + { + $reader = $reflector->newInstanceArgs($spec['constructor']); + } + else + { + $reader = $reflector->newInstance(); + } + $this->_loaded[$pattern] = $reader; + } + return $this->_loaded[$pattern]; + } + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterStream.php new file mode 100644 index 0000000..bf91528 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterStream.php @@ -0,0 +1,86 @@ +setCharacterReaderFactory($factory); + $this->setCharacterSet($charset); + } + + /** + * Set the character set used in this CharacterStream. + * @param string $charset + */ + public function setCharacterSet($charset) + { + $this->_charset = $charset; + $this->_charReader = null; + } + + /** + * Set the CharacterReaderFactory for multi charset support. + * @param Swift_CharacterReaderFactory $factory + */ + public function setCharacterReaderFactory( + Swift_CharacterReaderFactory $factory) + { + $this->_charReaderFactory = $factory; + } + + /** + * Overwrite this character stream using the byte sequence in the byte stream. + * @param Swift_OutputByteStream $os output stream to read from + */ + public function importByteStream(Swift_OutputByteStream $os) + { + if (!isset($this->_charReader)) + { + $this->_charReader = $this->_charReaderFactory + ->getReaderFor($this->_charset); + } + + $startLength = $this->_charReader->getInitialByteSize(); + while (false !== $bytes = $os->read($startLength)) + { + $c = array(); + for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) + { + $c[] = self::$_byteMap[$bytes[$i]]; + } + $size = count($c); + $need = $this->_charReader + ->validateByteSequence($c, $size); + if ($need > 0 && + false !== $bytes = $os->read($need)) + { + for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) + { + $c[] = self::$_byteMap[$bytes[$i]]; + } + } + $this->_array[] = $c; + ++$this->_array_size; + } + } + + /** + * Import a string a bytes into this CharacterStream, overwriting any existing + * data in the stream. + * @param string $string + */ + public function importString($string) + { + $this->flushContents(); + $this->write($string); + } + + /** + * Read $length characters from the stream and move the internal pointer + * $length further into the stream. + * @param int $length + * @return string + */ + public function read($length) + { + if ($this->_offset == $this->_array_size) + { + return false; + } + + // Don't use array slice + $arrays = array(); + $end = $length + $this->_offset; + for ($i = $this->_offset; $i < $end; ++$i) + { + if (!isset($this->_array[$i])) + { + break; + } + $arrays[] = $this->_array[$i]; + } + $this->_offset += $i - $this->_offset; // Limit function calls + $chars = false; + foreach ($arrays as $array) + { + $chars .= implode('', array_map('chr', $array)); + } + return $chars; + } + + /** + * Read $length characters from the stream and return a 1-dimensional array + * containing there octet values. + * @param int $length + * @return int[] + */ + public function readBytes($length) + { + if ($this->_offset == $this->_array_size) + { + return false; + } + $arrays = array(); + $end = $length + $this->_offset; + for ($i = $this->_offset; $i < $end; ++$i) + { + if (!isset($this->_array[$i])) + { + break; + } + $arrays[] = $this->_array[$i]; + } + $this->_offset += ($i - $this->_offset); // Limit function calls + return call_user_func_array('array_merge', $arrays); + } + + /** + * Write $chars to the end of the stream. + * @param string $chars + */ + public function write($chars) + { + if (!isset($this->_charReader)) + { + $this->_charReader = $this->_charReaderFactory->getReaderFor( + $this->_charset); + } + + $startLength = $this->_charReader->getInitialByteSize(); + + $fp = fopen('php://memory', 'w+b'); + fwrite($fp, $chars); + unset($chars); + fseek($fp, 0, SEEK_SET); + + $buffer = array(0); + $buf_pos = 1; + $buf_len = 1; + $has_datas = true; + do + { + $bytes = array(); + // Buffer Filing + if ($buf_len - $buf_pos < $startLength) + { + $buf = array_splice($buffer, $buf_pos); + $new = $this->_reloadBuffer($fp, 100); + if ($new) + { + $buffer = array_merge($buf, $new); + $buf_len = count($buffer); + $buf_pos = 0; + } + else + { + $has_datas = false; + } + } + if ($buf_len - $buf_pos > 0) + { + $size = 0; + for ($i = 0; $i < $startLength && isset($buffer[$buf_pos]); ++$i) + { + ++$size; + $bytes[] = $buffer[$buf_pos++]; + } + $need = $this->_charReader->validateByteSequence( + $bytes, $size); + if ($need > 0) + { + if ($buf_len - $buf_pos < $need) + { + $new = $this->_reloadBuffer($fp, $need); + + if ($new) + { + $buffer = array_merge($buffer, $new); + $buf_len = count($buffer); + } + } + for ($i = 0; $i < $need && isset($buffer[$buf_pos]); ++$i) + { + $bytes[] = $buffer[$buf_pos++]; + } + } + $this->_array[] = $bytes; + ++$this->_array_size; + } + } + while ($has_datas); + + fclose($fp); + } + + /** + * Move the internal pointer to $charOffset in the stream. + * @param int $charOffset + */ + public function setPointer($charOffset) + { + if ($charOffset > $this->_array_size) + { + $charOffset = $this->_array_size; + } + elseif ($charOffset < 0) + { + $charOffset = 0; + } + $this->_offset = $charOffset; + } + + /** + * Empty the stream and reset the internal pointer. + */ + public function flushContents() + { + $this->_offset = 0; + $this->_array = array(); + $this->_array_size = 0; + } + + private function _reloadBuffer($fp, $len) + { + if (!feof($fp) && ($bytes = fread($fp, $len)) !== false) + { + $buf = array(); + for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) + { + $buf[] = self::$_byteMap[$bytes[$i]]; + } + return $buf; + } + return false; + } + + private static function _initializeMaps() + { + if (!isset(self::$_charMap)) + { + self::$_charMap = array(); + for ($byte = 0; $byte < 256; ++$byte) + { + self::$_charMap[$byte] = chr($byte); + } + self::$_byteMap = array_flip(self::$_charMap); + } + } +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterStream/NgCharacterStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterStream/NgCharacterStream.php new file mode 100644 index 0000000..f090aa7 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/CharacterStream/NgCharacterStream.php @@ -0,0 +1,300 @@ +. + + */ + +//@require 'Swift/CharacterStream.php'; +//@require 'Swift/OutputByteStream.php'; + + +/** + * A CharacterStream implementation which stores characters in an internal array. + * @package Swift + * @subpackage CharacterStream + * @author Xavier De Cock + */ + +Class Swift_CharacterStream_NgCharacterStream + implements Swift_CharacterStream +{ + + /** + * The char reader (lazy-loaded) for the current charset. + * @var Swift_CharacterReader + * @access private + */ + private $_charReader; + + /** + * A factory for creatiing CharacterReader instances. + * @var Swift_CharacterReaderFactory + * @access private + */ + private $_charReaderFactory; + + /** + * The character set this stream is using. + * @var string + * @access private + */ + private $_charset; + + /** + * The datas stored as is + * + * @var string + */ + private $_datas = ""; + + /** + * Number of bytes in the stream + * + * @var int + */ + private $_datasSize = 0; + + /** + * Map + * + * @var mixed + */ + private $_map; + + /** + * Map Type + * + * @var int + */ + private $_mapType = 0; + + /** + * Number of characters in the stream + * + * @var int + */ + private $_charCount = 0; + + /** + * Position in the stream + * + * @var unknown_type + */ + private $_currentPos = 0; + + /** + * The constructor + * + * @param Swift_CharacterReaderFactory $factory + * @param unknown_type $charset + */ + public function __construct(Swift_CharacterReaderFactory $factory, + $charset) + { + $this->setCharacterReaderFactory($factory); + $this->setCharacterSet($charset); + } + + /* -- Changing parameters of the stream -- */ + + /** + * Set the character set used in this CharacterStream. + * @param string $charset + */ + public function setCharacterSet($charset) + { + $this->_charset = $charset; + $this->_charReader = null; + $this->_mapType = 0; + } + + /** + * Set the CharacterReaderFactory for multi charset support. + * @param Swift_CharacterReaderFactory $factory + */ + public function setCharacterReaderFactory( + Swift_CharacterReaderFactory $factory) + { + $this->_charReaderFactory = $factory; + } + + /** + * @see Swift_CharacterStream::flushContents() + * + */ + public function flushContents() + { + $this->_datas = null; + $this->_map = null; + $this->_charCount = 0; + $this->_currentPos = 0; + $this->_datasSize = 0; + } + + /** + * @see Swift_CharacterStream::importByteStream() + * + * @param Swift_OutputByteStream $os + */ + public function importByteStream(Swift_OutputByteStream $os) + { + $this->flushContents(); + $blocks=512; + $os->setReadPointer(0); + while(false!==($read = $os->read($blocks))) + $this->write($read); + } + + /** + * @see Swift_CharacterStream::importString() + * + * @param string $string + */ + public function importString($string) + { + $this->flushContents(); + $this->write($string); + } + + /** + * @see Swift_CharacterStream::read() + * + * @param int $length + * @return string + */ + public function read($length) + { + if ($this->_currentPos>=$this->_charCount) + { + return false; + } + $ret=false; + $length = ($this->_currentPos+$length > $this->_charCount) + ? $this->_charCount - $this->_currentPos + : $length; + switch ($this->_mapType) + { + case Swift_CharacterReader::MAP_TYPE_FIXED_LEN: + $len = $length*$this->_map; + $ret = substr($this->_datas, + $this->_currentPos * $this->_map, + $len); + $this->_currentPos += $length; + break; + + case Swift_CharacterReader::MAP_TYPE_INVALID: + $end = $this->_currentPos + $length; + $end = $end > $this->_charCount + ?$this->_charCount + :$end; + $ret = ''; + for (; $this->_currentPos < $length; ++$this->_currentPos) + { + if (isset ($this->_map[$this->_currentPos])) + { + $ret .= '?'; + } + else + { + $ret .= $this->_datas[$this->_currentPos]; + } + } + break; + + case Swift_CharacterReader::MAP_TYPE_POSITIONS: + $end = $this->_currentPos + $length; + $end = $end > $this->_charCount + ?$this->_charCount + :$end; + $ret = ''; + $start = 0; + if ($this->_currentPos>0) + { + $start = $this->_map['p'][$this->_currentPos-1]; + } + $to = $start; + for (; $this->_currentPos < $end; ++$this->_currentPos) + { + if (isset($this->_map['i'][$this->_currentPos])) { + $ret .= substr($this->_datas, $start, $to - $start).'?'; + $start = $this->_map['p'][$this->_currentPos]; + } else { + $to = $this->_map['p'][$this->_currentPos]; + } + } + $ret .= substr($this->_datas, $start, $to - $start); + break; + } + return $ret; + } + + /** + * @see Swift_CharacterStream::readBytes() + * + * @param int $length + * @return int[] + */ + public function readBytes($length) + { + $read=$this->read($length); + if ($read!==false) + { + $ret = array_map('ord', str_split($read, 1)); + return $ret; + } + return false; + } + + /** + * @see Swift_CharacterStream::setPointer() + * + * @param int $charOffset + */ + public function setPointer($charOffset) + { + if ($this->_charCount<$charOffset){ + $charOffset=$this->_charCount; + } + $this->_currentPos = $charOffset; + } + + /** + * @see Swift_CharacterStream::write() + * + * @param string $chars + */ + public function write($chars) + { + if (!isset($this->_charReader)) + { + $this->_charReader = $this->_charReaderFactory->getReaderFor( + $this->_charset); + $this->_map = array(); + $this->_mapType = $this->_charReader->getMapType(); + } + $ignored=''; + $this->_datas .= $chars; + $this->_charCount += $this->_charReader->getCharPositions(substr($this->_datas, $this->_datasSize), $this->_datasSize, $this->_map, $ignored); + if ($ignored!==false) { + $this->_datasSize=strlen($this->_datas)-strlen($ignored); + } + else + { + $this->_datasSize=strlen($this->_datas); + } + } +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/DependencyContainer.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/DependencyContainer.php new file mode 100644 index 0000000..b6ba554 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/DependencyContainer.php @@ -0,0 +1,349 @@ +_store); + } + + /** + * Test if an item is registered in this container with the given name. + * @param string $itemName + * @return boolean + * @see register() + */ + public function has($itemName) + { + return array_key_exists($itemName, $this->_store) + && isset($this->_store[$itemName]['lookupType']); + } + + /** + * Lookup the item with the given $itemName. + * @param string $itemName + * @return mixed + * @throws Swift_DependencyException If the dependency is not found + * @see register() + */ + public function lookup($itemName) + { + if (!$this->has($itemName)) + { + throw new Swift_DependencyException( + 'Cannot lookup dependency "' . $itemName . '" since it is not registered.' + ); + } + + switch ($this->_store[$itemName]['lookupType']) + { + case self::TYPE_ALIAS: + return $this->_createAlias($itemName); + case self::TYPE_VALUE: + return $this->_getValue($itemName); + case self::TYPE_INSTANCE: + return $this->_createNewInstance($itemName); + case self::TYPE_SHARED: + return $this->_createSharedInstance($itemName); + } + } + + /** + * Create an array of arguments passed to the constructor of $itemName. + * @param string $itemName + * @return array + */ + public function createDependenciesFor($itemName) + { + $args = array(); + if (isset($this->_store[$itemName]['args'])) + { + $args = $this->_resolveArgs($this->_store[$itemName]['args']); + } + return $args; + } + + /** + * Register a new dependency with $itemName. + * This method returns the current DependencyContainer instance because it + * requires the use of the fluid interface to set the specific details for the + * dependency. + * + * @param string $itemName + * @return Swift_DependencyContainer + * @see asNewInstanceOf(), asSharedInstanceOf(), asValue() + */ + public function register($itemName) + { + $this->_store[$itemName] = array(); + $this->_endPoint =& $this->_store[$itemName]; + return $this; + } + + /** + * Specify the previously registered item as a literal value. + * {@link register()} must be called before this will work. + * + * @param mixed $value + * @return Swift_DependencyContainer + */ + public function asValue($value) + { + $endPoint =& $this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_VALUE; + $endPoint['value'] = $value; + return $this; + } + + /** + * Specify the previously registered item as an alias of another item. + * @param string $lookup + * @return Swift_DependencyContainer + */ + public function asAliasOf($lookup) + { + $endPoint =& $this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_ALIAS; + $endPoint['ref'] = $lookup; + return $this; + } + + /** + * Specify the previously registered item as a new instance of $className. + * {@link register()} must be called before this will work. + * Any arguments can be set with {@link withDependencies()}, + * {@link addConstructorValue()} or {@link addConstructorLookup()}. + * + * @param string $className + * @return Swift_DependencyContainer + * @see withDependencies(), addConstructorValue(), addConstructorLookup() + */ + public function asNewInstanceOf($className) + { + $endPoint =& $this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_INSTANCE; + $endPoint['className'] = $className; + return $this; + } + + /** + * Specify the previously registered item as a shared instance of $className. + * {@link register()} must be called before this will work. + * @param string $className + * @return Swift_DependencyContainer + */ + public function asSharedInstanceOf($className) + { + $endPoint =& $this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_SHARED; + $endPoint['className'] = $className; + return $this; + } + + /** + * Specify a list of injected dependencies for the previously registered item. + * This method takes an array of lookup names. + * + * @param array $lookups + * @return Swift_DependencyContainer + * @see addConstructorValue(), addConstructorLookup() + */ + public function withDependencies(array $lookups) + { + $endPoint =& $this->_getEndPoint(); + $endPoint['args'] = array(); + foreach ($lookups as $lookup) + { + $this->addConstructorLookup($lookup); + } + return $this; + } + + /** + * Specify a literal (non looked up) value for the constructor of the + * previously registered item. + * + * @param mixed $value + * @return Swift_DependencyContainer + * @see withDependencies(), addConstructorLookup() + */ + public function addConstructorValue($value) + { + $endPoint =& $this->_getEndPoint(); + if (!isset($endPoint['args'])) + { + $endPoint['args'] = array(); + } + $endPoint['args'][] = array('type' => 'value', 'item' => $value); + return $this; + } + + /** + * Specify a dependency lookup for the constructor of the previously + * registered item. + * + * @param string $lookup + * @return Swift_DependencyContainer + * @see withDependencies(), addConstructorValue() + */ + public function addConstructorLookup($lookup) + { + $endPoint =& $this->_getEndPoint(); + if (!isset($this->_endPoint['args'])) + { + $endPoint['args'] = array(); + } + $endPoint['args'][] = array('type' => 'lookup', 'item' => $lookup); + return $this; + } + + // -- Private methods + + /** Get the literal value with $itemName */ + private function _getValue($itemName) + { + return $this->_store[$itemName]['value']; + } + + /** Resolve an alias to another item */ + private function _createAlias($itemName) + { + return $this->lookup($this->_store[$itemName]['ref']); + } + + /** Create a fresh instance of $itemName */ + private function _createNewInstance($itemName) + { + $reflector = new ReflectionClass($this->_store[$itemName]['className']); + if ($reflector->getConstructor()) + { + return $reflector->newInstanceArgs( + $this->createDependenciesFor($itemName) + ); + } + else + { + return $reflector->newInstance(); + } + } + + /** Create and register a shared instance of $itemName */ + private function _createSharedInstance($itemName) + { + if (!isset($this->_store[$itemName]['instance'])) + { + $this->_store[$itemName]['instance'] = $this->_createNewInstance($itemName); + } + return $this->_store[$itemName]['instance']; + } + + /** Get the current endpoint in the store */ + private function &_getEndPoint() + { + if (!isset($this->_endPoint)) + { + throw new BadMethodCallException( + 'Component must first be registered by calling register()' + ); + } + return $this->_endPoint; + } + + /** Get an argument list with dependencies resolved */ + private function _resolveArgs(array $args) + { + $resolved = array(); + foreach ($args as $argDefinition) + { + switch ($argDefinition['type']) + { + case 'lookup': + $resolved[] = $this->_lookupRecursive($argDefinition['item']); + break; + case 'value': + $resolved[] = $argDefinition['item']; + break; + } + } + return $resolved; + } + + /** Resolve a single dependency with an collections */ + private function _lookupRecursive($item) + { + if (is_array($item)) + { + $collection = array(); + foreach ($item as $k => $v) + { + $collection[$k] = $this->_lookupRecursive($v); + } + return $collection; + } + else + { + return $this->lookup($item); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/DependencyException.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/DependencyException.php new file mode 100644 index 0000000..bb1681c --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/DependencyException.php @@ -0,0 +1,30 @@ +createDependenciesFor('mime.embeddedfile') + ); + + $this->setBody($data); + $this->setFilename($filename); + if ($contentType) + { + $this->setContentType($contentType); + } + } + + /** + * Create a new EmbeddedFile. + * @param string|Swift_OutputByteStream $data + * @param string $filename + * @param string $contentType + * @return Swift_Mime_EmbeddedFile + */ + public static function newInstance($data = null, $filename = null, + $contentType = null) + { + return new self($data, $filename, $contentType); + } + + /** + * Create a new EmbeddedFile from a filesystem path. + * @param string $path + * @return Swift_Mime_EmbeddedFile + */ + public static function fromPath($path) + { + return self::newInstance()->setFile( + new Swift_ByteStream_FileByteStream($path) + ); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder.php new file mode 100644 index 0000000..32aa96a --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder.php @@ -0,0 +1,32 @@ += $maxLineLength || 76 < $maxLineLength) + { + $maxLineLength = 76; + } + + $encodedString = base64_encode($string); + $firstLine = ''; + + if (0 != $firstLineOffset) + { + $firstLine = substr( + $encodedString, 0, $maxLineLength - $firstLineOffset + ) . "\r\n"; + $encodedString = substr( + $encodedString, $maxLineLength - $firstLineOffset + ); + } + + return $firstLine . trim(chunk_split($encodedString, $maxLineLength, "\r\n")); + } + + /** + * Does nothing. + */ + public function charsetChanged($charset) + { + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder/QpEncoder.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder/QpEncoder.php new file mode 100644 index 0000000..6914f6c --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder/QpEncoder.php @@ -0,0 +1,263 @@ + '=00', 1 => '=01', 2 => '=02', 3 => '=03', 4 => '=04', + 5 => '=05', 6 => '=06', 7 => '=07', 8 => '=08', 9 => '=09', + 10 => '=0A', 11 => '=0B', 12 => '=0C', 13 => '=0D', 14 => '=0E', + 15 => '=0F', 16 => '=10', 17 => '=11', 18 => '=12', 19 => '=13', + 20 => '=14', 21 => '=15', 22 => '=16', 23 => '=17', 24 => '=18', + 25 => '=19', 26 => '=1A', 27 => '=1B', 28 => '=1C', 29 => '=1D', + 30 => '=1E', 31 => '=1F', 32 => '=20', 33 => '=21', 34 => '=22', + 35 => '=23', 36 => '=24', 37 => '=25', 38 => '=26', 39 => '=27', + 40 => '=28', 41 => '=29', 42 => '=2A', 43 => '=2B', 44 => '=2C', + 45 => '=2D', 46 => '=2E', 47 => '=2F', 48 => '=30', 49 => '=31', + 50 => '=32', 51 => '=33', 52 => '=34', 53 => '=35', 54 => '=36', + 55 => '=37', 56 => '=38', 57 => '=39', 58 => '=3A', 59 => '=3B', + 60 => '=3C', 61 => '=3D', 62 => '=3E', 63 => '=3F', 64 => '=40', + 65 => '=41', 66 => '=42', 67 => '=43', 68 => '=44', 69 => '=45', + 70 => '=46', 71 => '=47', 72 => '=48', 73 => '=49', 74 => '=4A', + 75 => '=4B', 76 => '=4C', 77 => '=4D', 78 => '=4E', 79 => '=4F', + 80 => '=50', 81 => '=51', 82 => '=52', 83 => '=53', 84 => '=54', + 85 => '=55', 86 => '=56', 87 => '=57', 88 => '=58', 89 => '=59', + 90 => '=5A', 91 => '=5B', 92 => '=5C', 93 => '=5D', 94 => '=5E', + 95 => '=5F', 96 => '=60', 97 => '=61', 98 => '=62', 99 => '=63', + 100 => '=64', 101 => '=65', 102 => '=66', 103 => '=67', 104 => '=68', + 105 => '=69', 106 => '=6A', 107 => '=6B', 108 => '=6C', 109 => '=6D', + 110 => '=6E', 111 => '=6F', 112 => '=70', 113 => '=71', 114 => '=72', + 115 => '=73', 116 => '=74', 117 => '=75', 118 => '=76', 119 => '=77', + 120 => '=78', 121 => '=79', 122 => '=7A', 123 => '=7B', 124 => '=7C', + 125 => '=7D', 126 => '=7E', 127 => '=7F', 128 => '=80', 129 => '=81', + 130 => '=82', 131 => '=83', 132 => '=84', 133 => '=85', 134 => '=86', + 135 => '=87', 136 => '=88', 137 => '=89', 138 => '=8A', 139 => '=8B', + 140 => '=8C', 141 => '=8D', 142 => '=8E', 143 => '=8F', 144 => '=90', + 145 => '=91', 146 => '=92', 147 => '=93', 148 => '=94', 149 => '=95', + 150 => '=96', 151 => '=97', 152 => '=98', 153 => '=99', 154 => '=9A', + 155 => '=9B', 156 => '=9C', 157 => '=9D', 158 => '=9E', 159 => '=9F', + 160 => '=A0', 161 => '=A1', 162 => '=A2', 163 => '=A3', 164 => '=A4', + 165 => '=A5', 166 => '=A6', 167 => '=A7', 168 => '=A8', 169 => '=A9', + 170 => '=AA', 171 => '=AB', 172 => '=AC', 173 => '=AD', 174 => '=AE', + 175 => '=AF', 176 => '=B0', 177 => '=B1', 178 => '=B2', 179 => '=B3', + 180 => '=B4', 181 => '=B5', 182 => '=B6', 183 => '=B7', 184 => '=B8', + 185 => '=B9', 186 => '=BA', 187 => '=BB', 188 => '=BC', 189 => '=BD', + 190 => '=BE', 191 => '=BF', 192 => '=C0', 193 => '=C1', 194 => '=C2', + 195 => '=C3', 196 => '=C4', 197 => '=C5', 198 => '=C6', 199 => '=C7', + 200 => '=C8', 201 => '=C9', 202 => '=CA', 203 => '=CB', 204 => '=CC', + 205 => '=CD', 206 => '=CE', 207 => '=CF', 208 => '=D0', 209 => '=D1', + 210 => '=D2', 211 => '=D3', 212 => '=D4', 213 => '=D5', 214 => '=D6', + 215 => '=D7', 216 => '=D8', 217 => '=D9', 218 => '=DA', 219 => '=DB', + 220 => '=DC', 221 => '=DD', 222 => '=DE', 223 => '=DF', 224 => '=E0', + 225 => '=E1', 226 => '=E2', 227 => '=E3', 228 => '=E4', 229 => '=E5', + 230 => '=E6', 231 => '=E7', 232 => '=E8', 233 => '=E9', 234 => '=EA', + 235 => '=EB', 236 => '=EC', 237 => '=ED', 238 => '=EE', 239 => '=EF', + 240 => '=F0', 241 => '=F1', 242 => '=F2', 243 => '=F3', 244 => '=F4', + 245 => '=F5', 246 => '=F6', 247 => '=F7', 248 => '=F8', 249 => '=F9', + 250 => '=FA', 251 => '=FB', 252 => '=FC', 253 => '=FD', 254 => '=FE', + 255 => '=FF' + ); + + /** + * A map of non-encoded ascii characters. + * @var string[] + * @access protected + */ + protected static $_safeMap = array(); + + /** + * Creates a new QpEncoder for the given CharacterStream. + * @param Swift_CharacterStream $charStream to use for reading characters + * @param Swift_StreamFilter $filter if input should be canonicalized + */ + public function __construct(Swift_CharacterStream $charStream, + Swift_StreamFilter $filter = null) + { + $this->_charStream = $charStream; + if (empty(self::$_safeMap)) + { + foreach (array_merge( + array(0x09, 0x20), range(0x21, 0x3C), range(0x3E, 0x7E)) as $byte) + { + self::$_safeMap[$byte] = chr($byte); + } + } + $this->_filter = $filter; + } + + /** + * Takes an unencoded string and produces a QP encoded string from it. + * QP encoded strings have a maximum line length of 76 characters. + * If the first line needs to be shorter, indicate the difference with + * $firstLineOffset. + * @param string $string to encode + * @param int $firstLineOffset, optional + * @param int $maxLineLength, optional, 0 indicates the default of 76 chars + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, + $maxLineLength = 0) + { + if ($maxLineLength > 76 || $maxLineLength <= 0) + { + $maxLineLength = 76; + } + + $thisLineLength = $maxLineLength - $firstLineOffset; + + $lines = array(); + $lNo = 0; + $lines[$lNo] = ''; + $currentLine =& $lines[$lNo++]; + $size=$lineLen=0; + + $this->_charStream->flushContents(); + $this->_charStream->importString($string); + + //Fetching more than 4 chars at one is slower, as is fetching fewer bytes + // Conveniently 4 chars is the UTF-8 safe number since UTF-8 has up to 6 + // bytes per char and (6 * 4 * 3 = 72 chars per line) * =NN is 3 bytes + while (false !== $bytes = $this->_nextSequence()) + { + //If we're filtering the input + if (isset($this->_filter)) + { + //If we can't filter because we need more bytes + while ($this->_filter->shouldBuffer($bytes)) + { + //Then collect bytes into the buffer + if (false === $moreBytes = $this->_nextSequence(1)) + { + break; + } + + foreach ($moreBytes as $b) + { + $bytes[] = $b; + } + } + //And filter them + $bytes = $this->_filter->filter($bytes); + } + + $enc = $this->_encodeByteSequence($bytes, $size); + if ($currentLine && $lineLen+$size >= $thisLineLength) + { + $lines[$lNo] = ''; + $currentLine =& $lines[$lNo++]; + $thisLineLength = $maxLineLength; + $lineLen=0; + } + $lineLen+=$size; + $currentLine .= $enc; + } + + return $this->_standardize(implode("=\r\n", $lines)); + } + + /** + * Updates the charset used. + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_charStream->setCharacterSet($charset); + } + + // -- Protected methods + + /** + * Encode the given byte array into a verbatim QP form. + * @param int[] $bytes + * @return string + * @access protected + */ + protected function _encodeByteSequence(array $bytes, &$size) + { + $ret = ''; + $size=0; + foreach ($bytes as $b) + { + if (isset(self::$_safeMap[$b])) + { + $ret .= self::$_safeMap[$b]; + ++$size; + } + else + { + $ret .= self::$_qpMap[$b]; + $size+=3; + } + } + return $ret; + } + + /** + * Get the next sequence of bytes to read from the char stream. + * @param int $size number of bytes to read + * @return int[] + * @access protected + */ + protected function _nextSequence($size = 4) + { + return $this->_charStream->readBytes($size); + } + + /** + * Make sure CRLF is correct and HT/SPACE are in valid places. + * @param string $string + * @return string + * @access protected + */ + protected function _standardize($string) + { + $string = str_replace(array("\t=0D=0A", " =0D=0A", "=0D=0A"), + array("=09\r\n", "=20\r\n", "\r\n"), $string + ); + switch ($end = ord(substr($string, -1))) + { + case 0x09: + case 0x20: + $string = substr_replace($string, self::$_qpMap[$end], -1); + } + return $string; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder/Rfc2231Encoder.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder/Rfc2231Encoder.php new file mode 100644 index 0000000..febc6ba --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoder/Rfc2231Encoder.php @@ -0,0 +1,89 @@ +_charStream = $charStream; + } + + /** + * Takes an unencoded string and produces a string encoded according to + * RFC 2231 from it. + * @param string $string to encode + * @param int $firstLineOffset + * @param int $maxLineLength, optional, 0 indicates the default of 75 bytes + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, + $maxLineLength = 0) + { + $lines = array(); $lineCount = 0; + $lines[] = ''; + $currentLine =& $lines[$lineCount++]; + + if (0 >= $maxLineLength) + { + $maxLineLength = 75; + } + + $this->_charStream->flushContents(); + $this->_charStream->importString($string); + + $thisLineLength = $maxLineLength - $firstLineOffset; + + while (false !== $char = $this->_charStream->read(4)) + { + $encodedChar = rawurlencode($char); + if (0 != strlen($currentLine) + && strlen($currentLine . $encodedChar) > $thisLineLength) + { + $lines[] = ''; + $currentLine =& $lines[$lineCount++]; + $thisLineLength = $maxLineLength; + } + $currentLine .= $encodedChar; + } + + return implode("\r\n", $lines); + } + + /** + * Updates the charset used. + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_charStream->setCharacterSet($charset); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoding.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoding.php new file mode 100644 index 0000000..1849a82 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Encoding.php @@ -0,0 +1,70 @@ +lookup($key); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/CommandEvent.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/CommandEvent.php new file mode 100644 index 0000000..73eb585 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/CommandEvent.php @@ -0,0 +1,67 @@ +_command = $command; + $this->_successCodes = $successCodes; + } + + /** + * Get the command which was sent to the server. + * @return string + */ + public function getCommand() + { + return $this->_command; + } + + /** + * Get the numeric response codes which indicate success for this command. + * @return int[] + */ + public function getSuccessCodes() + { + return $this->_successCodes; + } + +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/CommandListener.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/CommandListener.php new file mode 100644 index 0000000..2fd7117 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/CommandListener.php @@ -0,0 +1,29 @@ +_source = $source; + } + + /** + * Get the source object of this event. + * @return object + */ + public function getSource() + { + return $this->_source; + } + + /** + * Prevent this Event from bubbling any further up the stack. + * @param boolean $cancel, optional + */ + public function cancelBubble($cancel = true) + { + $this->_bubbleCancelled = $cancel; + } + + /** + * Returns true if this Event will not bubble any further up the stack. + * @return boolean + */ + public function bubbleCancelled() + { + return $this->_bubbleCancelled; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/ResponseEvent.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/ResponseEvent.php new file mode 100644 index 0000000..addf9e7 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/ResponseEvent.php @@ -0,0 +1,65 @@ +_response = $response; + $this->_valid = $valid; + } + + /** + * Get the response which was received from the server. + * @return string + */ + public function getResponse() + { + return $this->_response; + } + + /** + * Get the success status of this Event. + * @return boolean + */ + public function isValid() + { + return $this->_valid; + } + +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/ResponseListener.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/ResponseListener.php new file mode 100644 index 0000000..092385b --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/ResponseListener.php @@ -0,0 +1,29 @@ +_message = $message; + $this->_result = self::RESULT_PENDING; + } + + /** + * Get the Transport used to send the Message. + * @return Swift_Transport + */ + public function getTransport() + { + return $this->getSource(); + } + + /** + * Get the Message being sent. + * @return Swift_Mime_Message + */ + public function getMessage() + { + return $this->_message; + } + + /** + * Set the array of addresses that failed in sending. + * @param array $recipients + */ + public function setFailedRecipients($recipients) + { + $this->_failedRecipients = $recipients; + } + + /** + * Get an recipient addresses which were not accepted for delivery. + * @return string[] + */ + public function getFailedRecipients() + { + return $this->_failedRecipients; + } + + /** + * Set the result of sending. + * @return int + */ + public function setResult($result) + { + $this->_result = $result; + } + + /** + * Get the result of this Event. + * The return value is a bitmask from + * {@link RESULT_PENDING, RESULT_SUCCESS, RESULT_TENTATIVE, RESULT_FAILED} + * @return int + */ + public function getResult() + { + return $this->_result; + } + +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/SendListener.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/SendListener.php new file mode 100644 index 0000000..a8f0cc3 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/SendListener.php @@ -0,0 +1,35 @@ +_eventMap = array( + 'Swift_Events_CommandEvent' => 'Swift_Events_CommandListener', + 'Swift_Events_ResponseEvent' => 'Swift_Events_ResponseListener', + 'Swift_Events_SendEvent' => 'Swift_Events_SendListener', + 'Swift_Events_TransportChangeEvent' => 'Swift_Events_TransportChangeListener', + 'Swift_Events_TransportExceptionEvent' => 'Swift_Events_TransportExceptionListener' + ); + } + + /** + * Create a new SendEvent for $source and $message. + * + * @param Swift_Transport $source + * @param Swift_Mime_Message + * @return Swift_Events_SendEvent + */ + public function createSendEvent(Swift_Transport $source, + Swift_Mime_Message $message) + { + return new Swift_Events_SendEvent($source, $message); + } + + /** + * Create a new CommandEvent for $source and $command. + * + * @param Swift_Transport $source + * @param string $command That will be executed + * @param array $successCodes That are needed + * @return Swift_Events_CommandEvent + */ + public function createCommandEvent(Swift_Transport $source, + $command, $successCodes = array()) + { + return new Swift_Events_CommandEvent($source, $command, $successCodes); + } + + /** + * Create a new ResponseEvent for $source and $response. + * + * @param Swift_Transport $source + * @param string $response + * @param boolean $valid If the response is valid + * @return Swift_Events_ResponseEvent + */ + public function createResponseEvent(Swift_Transport $source, + $response, $valid) + { + return new Swift_Events_ResponseEvent($source, $response, $valid); + } + + /** + * Create a new TransportChangeEvent for $source. + * + * @param Swift_Transport $source + * @return Swift_Events_TransportChangeEvent + */ + public function createTransportChangeEvent(Swift_Transport $source) + { + return new Swift_Events_TransportChangeEvent($source); + } + + /** + * Create a new TransportExceptionEvent for $source. + * + * @param Swift_Transport $source + * @param Swift_TransportException $ex + * @return Swift_Events_TransportExceptionEvent + */ + public function createTransportExceptionEvent(Swift_Transport $source, + Swift_TransportException $ex) + { + return new Swift_Events_TransportExceptionEvent($source, $ex); + } + + /** + * Bind an event listener to this dispatcher. + * + * @param Swift_Events_EventListener $listener + */ + public function bindEventListener(Swift_Events_EventListener $listener) + { + foreach ($this->_listeners as $l) + { + //Already loaded + if ($l === $listener) + { + return; + } + } + $this->_listeners[] = $listener; + } + + /** + * Dispatch the given Event to all suitable listeners. + * + * @param Swift_Events_EventObject $evt + * @param string $target method + */ + public function dispatchEvent(Swift_Events_EventObject $evt, $target) + { + $this->_prepareBubbleQueue($evt); + $this->_bubble($evt, $target); + } + + // -- Private methods + + /** Queue listeners on a stack ready for $evt to be bubbled up it */ + private function _prepareBubbleQueue(Swift_Events_EventObject $evt) + { + $this->_bubbleQueue = array(); + $evtClass = get_class($evt); + foreach ($this->_listeners as $listener) + { + if (array_key_exists($evtClass, $this->_eventMap) + && ($listener instanceof $this->_eventMap[$evtClass])) + { + $this->_bubbleQueue[] = $listener; + } + } + } + + /** Bubble $evt up the stack calling $target() on each listener */ + private function _bubble(Swift_Events_EventObject $evt, $target) + { + if (!$evt->bubbleCancelled() && $listener = array_shift($this->_bubbleQueue)) + { + $listener->$target($evt); + $this->_bubble($evt, $target); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportChangeEvent.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportChangeEvent.php new file mode 100644 index 0000000..f069a4c --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportChangeEvent.php @@ -0,0 +1,31 @@ +getSource(); + } + +} \ No newline at end of file diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportChangeListener.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportChangeListener.php new file mode 100644 index 0000000..ba729d0 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportChangeListener.php @@ -0,0 +1,53 @@ +_exception = $ex; + } + + /** + * Get the TransportException thrown. + * @return Swift_TransportException + */ + public function getException() + { + return $this->_exception; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportExceptionListener.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportExceptionListener.php new file mode 100644 index 0000000..d6dce94 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Events/TransportExceptionListener.php @@ -0,0 +1,30 @@ +createDependenciesFor('transport.failover') + ); + + $this->setTransports($transports); + } + + /** + * Create a new FailoverTransport instance. + * @param string $transports + * @return Swift_FailoverTransport + */ + public static function newInstance($transports = array()) + { + return new self($transports); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/FileStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/FileStream.php new file mode 100644 index 0000000..a7f894d --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/FileStream.php @@ -0,0 +1,28 @@ +setFile( + new Swift_ByteStream_FileByteStream($path) + ); + return $image; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/InputByteStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/InputByteStream.php new file mode 100644 index 0000000..e8f45f4 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/InputByteStream.php @@ -0,0 +1,72 @@ +_stream = $stream; + } + + /** + * Set a string into the cache under $itemKey for the namespace $nsKey. + * @param string $nsKey + * @param string $itemKey + * @param string $string + * @param int $mode + * @see MODE_WRITE, MODE_APPEND + */ + public function setString($nsKey, $itemKey, $string, $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) + { + case self::MODE_WRITE: + $this->_contents[$nsKey][$itemKey] = $string; + break; + case self::MODE_APPEND: + if (!$this->hasKey($nsKey, $itemKey)) + { + $this->_contents[$nsKey][$itemKey] = ''; + } + $this->_contents[$nsKey][$itemKey] .= $string; + break; + default: + throw new Swift_SwiftException( + 'Invalid mode [' . $mode . '] used to set nsKey='. + $nsKey . ', itemKey=' . $itemKey + ); + } + } + + /** + * Set a ByteStream into the cache under $itemKey for the namespace $nsKey. + * @param string $nsKey + * @param string $itemKey + * @param Swift_OutputByteStream $os + * @param int $mode + * @see MODE_WRITE, MODE_APPEND + */ + public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, + $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) + { + case self::MODE_WRITE: + $this->clearKey($nsKey, $itemKey); + case self::MODE_APPEND: + if (!$this->hasKey($nsKey, $itemKey)) + { + $this->_contents[$nsKey][$itemKey] = ''; + } + while (false !== $bytes = $os->read(8192)) + { + $this->_contents[$nsKey][$itemKey] .= $bytes; + } + break; + default: + throw new Swift_SwiftException( + 'Invalid mode [' . $mode . '] used to set nsKey='. + $nsKey . ', itemKey=' . $itemKey + ); + } + } + + /** + * Provides a ByteStream which when written to, writes data to $itemKey. + * NOTE: The stream will always write in append mode. + * @param string $nsKey + * @param string $itemKey + * @return Swift_InputByteStream + */ + public function getInputByteStream($nsKey, $itemKey, + Swift_InputByteStream $writeThrough = null) + { + $is = clone $this->_stream; + $is->setKeyCache($this); + $is->setNsKey($nsKey); + $is->setItemKey($itemKey); + if (isset($writeThrough)) + { + $is->setWriteThroughStream($writeThrough); + } + return $is; + } + + /** + * Get data back out of the cache as a string. + * @param string $nsKey + * @param string $itemKey + * @return string + */ + public function getString($nsKey, $itemKey) + { + $this->_prepareCache($nsKey); + if ($this->hasKey($nsKey, $itemKey)) + { + return $this->_contents[$nsKey][$itemKey]; + } + } + + /** + * Get data back out of the cache as a ByteStream. + * @param string $nsKey + * @param string $itemKey + * @param Swift_InputByteStream $is to write the data to + */ + public function exportToByteStream($nsKey, $itemKey, Swift_InputByteStream $is) + { + $this->_prepareCache($nsKey); + $is->write($this->getString($nsKey, $itemKey)); + } + + /** + * Check if the given $itemKey exists in the namespace $nsKey. + * @param string $nsKey + * @param string $itemKey + * @return boolean + */ + public function hasKey($nsKey, $itemKey) + { + $this->_prepareCache($nsKey); + return array_key_exists($itemKey, $this->_contents[$nsKey]); + } + + /** + * Clear data for $itemKey in the namespace $nsKey if it exists. + * @param string $nsKey + * @param string $itemKey + */ + public function clearKey($nsKey, $itemKey) + { + unset($this->_contents[$nsKey][$itemKey]); + } + + /** + * Clear all data in the namespace $nsKey if it exists. + * @param string $nsKey + */ + public function clearAll($nsKey) + { + unset($this->_contents[$nsKey]); + } + + // -- Private methods + + /** + * Initialize the namespace of $nsKey if needed. + * @param string $nsKey + * @access private + */ + private function _prepareCache($nsKey) + { + if (!array_key_exists($nsKey, $this->_contents)) + { + $this->_contents[$nsKey] = array(); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/KeyCache/DiskKeyCache.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/KeyCache/DiskKeyCache.php new file mode 100644 index 0000000..599fd6c --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/KeyCache/DiskKeyCache.php @@ -0,0 +1,316 @@ +_stream = $stream; + $this->_path = $path; + $this->_quotes = get_magic_quotes_runtime(); + } + + /** + * Set a string into the cache under $itemKey for the namespace $nsKey. + * @param string $nsKey + * @param string $itemKey + * @param string $string + * @param int $mode + * @throws Swift_IoException + * @see MODE_WRITE, MODE_APPEND + */ + public function setString($nsKey, $itemKey, $string, $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) + { + case self::MODE_WRITE: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + break; + case self::MODE_APPEND: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_END); + break; + default: + throw new Swift_SwiftException( + 'Invalid mode [' . $mode . '] used to set nsKey='. + $nsKey . ', itemKey=' . $itemKey + ); + break; + } + fwrite($fp, $string); + } + + /** + * Set a ByteStream into the cache under $itemKey for the namespace $nsKey. + * @param string $nsKey + * @param string $itemKey + * @param Swift_OutputByteStream $os + * @param int $mode + * @see MODE_WRITE, MODE_APPEND + * @throws Swift_IoException + */ + public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, + $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) + { + case self::MODE_WRITE: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + break; + case self::MODE_APPEND: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_END); + break; + default: + throw new Swift_SwiftException( + 'Invalid mode [' . $mode . '] used to set nsKey='. + $nsKey . ', itemKey=' . $itemKey + ); + break; + } + while (false !== $bytes = $os->read(8192)) + { + fwrite($fp, $bytes); + } + } + + /** + * Provides a ByteStream which when written to, writes data to $itemKey. + * NOTE: The stream will always write in append mode. + * @param string $nsKey + * @param string $itemKey + * @return Swift_InputByteStream + */ + public function getInputByteStream($nsKey, $itemKey, + Swift_InputByteStream $writeThrough = null) + { + $is = clone $this->_stream; + $is->setKeyCache($this); + $is->setNsKey($nsKey); + $is->setItemKey($itemKey); + if (isset($writeThrough)) + { + $is->setWriteThroughStream($writeThrough); + } + return $is; + } + + /** + * Get data back out of the cache as a string. + * @param string $nsKey + * @param string $itemKey + * @return string + * @throws Swift_IoException + */ + public function getString($nsKey, $itemKey) + { + $this->_prepareCache($nsKey); + if ($this->hasKey($nsKey, $itemKey)) + { + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + if ($this->_quotes) + { + set_magic_quotes_runtime(0); + } + $str = ''; + while (!feof($fp) && false !== $bytes = fread($fp, 8192)) + { + $str .= $bytes; + } + if ($this->_quotes) + { + set_magic_quotes_runtime(1); + } + return $str; + } + } + + /** + * Get data back out of the cache as a ByteStream. + * @param string $nsKey + * @param string $itemKey + * @param Swift_InputByteStream $is to write the data to + */ + public function exportToByteStream($nsKey, $itemKey, Swift_InputByteStream $is) + { + if ($this->hasKey($nsKey, $itemKey)) + { + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + if ($this->_quotes) + { + set_magic_quotes_runtime(0); + } + while (!feof($fp) && false !== $bytes = fread($fp, 8192)) + { + $is->write($bytes); + } + if ($this->_quotes) + { + set_magic_quotes_runtime(1); + } + } + } + + /** + * Check if the given $itemKey exists in the namespace $nsKey. + * @param string $nsKey + * @param string $itemKey + * @return boolean + */ + public function hasKey($nsKey, $itemKey) + { + return is_file($this->_path . '/' . $nsKey . '/' . $itemKey); + } + + /** + * Clear data for $itemKey in the namespace $nsKey if it exists. + * @param string $nsKey + * @param string $itemKey + */ + public function clearKey($nsKey, $itemKey) + { + if ($this->hasKey($nsKey, $itemKey)) + { + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_END); + fclose($fp); + unlink($this->_path . '/' . $nsKey . '/' . $itemKey); + } + unset($this->_keys[$nsKey][$itemKey]); + } + + /** + * Clear all data in the namespace $nsKey if it exists. + * @param string $nsKey + */ + public function clearAll($nsKey) + { + if (array_key_exists($nsKey, $this->_keys)) + { + foreach ($this->_keys[$nsKey] as $itemKey=>$null) + { + $this->clearKey($nsKey, $itemKey); + } + rmdir($this->_path . '/' . $nsKey); + unset($this->_keys[$nsKey]); + } + } + + // -- Private methods + + /** + * Initialize the namespace of $nsKey if needed. + * @param string $nsKey + * @access private + */ + private function _prepareCache($nsKey) + { + $cacheDir = $this->_path . '/' . $nsKey; + if (!is_dir($cacheDir)) + { + if (!mkdir($cacheDir)) + { + throw new Swift_IoException('Failed to create cache directory ' . $cacheDir); + } + $this->_keys[$nsKey] = array(); + } + } + + /** + * Get a file handle on the cache item. + * @param string $nsKey + * @param string $itemKey + * @param int $position + * @return resource + * @access private + */ + private function _getHandle($nsKey, $itemKey, $position) + { + if (!isset($this->_keys[$nsKey]) || !array_key_exists($itemKey, $this->_keys[$nsKey])) + { + $fp = fopen($this->_path . '/' . $nsKey . '/' . $itemKey, 'w+b'); + $this->_keys[$nsKey][$itemKey] = $fp; + } + if (self::POSITION_START == $position) + { + fseek($this->_keys[$nsKey][$itemKey], 0, SEEK_SET); + } + else + { + fseek($this->_keys[$nsKey][$itemKey], 0, SEEK_END); + } + return $this->_keys[$nsKey][$itemKey]; + } + + /** + * Destructor. + */ + public function __destruct() + { + foreach ($this->_keys as $nsKey=>$null) + { + $this->clearAll($nsKey); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/KeyCache/KeyCacheInputStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/KeyCache/KeyCacheInputStream.php new file mode 100644 index 0000000..a1f4440 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/KeyCache/KeyCacheInputStream.php @@ -0,0 +1,53 @@ +_keyCache = $keyCache; + } + + /** + * Specify a stream to write through for each write(). + * @param Swift_InputByteStream $is + */ + public function setWriteThroughStream(Swift_InputByteStream $is) + { + $this->_writeThrough = $is; + } + + /** + * Writes $bytes to the end of the stream. + * @param string $bytes + * @param Swift_InputByteStream $is, optional + */ + public function write($bytes, Swift_InputByteStream $is = null) + { + $this->_keyCache->setString( + $this->_nsKey, $this->_itemKey, $bytes, Swift_KeyCache::MODE_APPEND + ); + if (isset($is)) + { + $is->write($bytes); + } + if (isset($this->_writeThrough)) + { + $this->_writeThrough->write($bytes); + } + } + + /** + * Not used. + */ + public function commit() + { + } + + /** + * Not used. + */ + public function bind(Swift_InputByteStream $is) + { + } + + /** + * Not used. + */ + public function unbind(Swift_InputByteStream $is) + { + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + */ + public function flushBuffers() + { + $this->_keyCache->clearKey($this->_nsKey, $this->_itemKey); + } + + /** + * Set the nsKey which will be written to. + * @param string $nsKey + */ + public function setNsKey($nsKey) + { + $this->_nsKey = $nsKey; + } + + /** + * Set the itemKey which will be written to. + * @param string $itemKey + */ + public function setItemKey($itemKey) + { + $this->_itemKey = $itemKey; + } + + /** + * Any implementation should be cloneable, allowing the clone to access a + * separate $nsKey and $itemKey. + */ + public function __clone() + { + $this->_writeThrough = null; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/LoadBalancedTransport.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/LoadBalancedTransport.php new file mode 100644 index 0000000..14ae292 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/LoadBalancedTransport.php @@ -0,0 +1,48 @@ +createDependenciesFor('transport.loadbalanced') + ); + + $this->setTransports($transports); + } + + /** + * Create a new LoadBalancedTransport instance. + * @param string $transports + * @return Swift_LoadBalancedTransport + */ + public static function newInstance($transports = array()) + { + return new self($transports); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/MailTransport.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/MailTransport.php new file mode 100644 index 0000000..afe29c6 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/MailTransport.php @@ -0,0 +1,48 @@ +createDependenciesFor('transport.mail') + ); + + $this->setExtraParams($extraParams); + } + + /** + * Create a new MailTransport instance. + * @param string $extraParams To be passed to mail() + * @return Swift_MailTransport + */ + public static function newInstance($extraParams = '-f%s') + { + return new self($extraParams); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer.php new file mode 100644 index 0000000..c92feb4 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer.php @@ -0,0 +1,173 @@ +_transport = $transport; + } + + /** + * Create a new Mailer instance. + * + * @param Swift_Transport $transport + * @return Swift_Mailer + */ + public static function newInstance(Swift_Transport $transport) + { + return new self($transport); + } + + /** + * Send the given Message like it would be sent in a mail client. + * + * All recipients (with the exception of Bcc) will be able to see the other + * recipients this message was sent to. + * + * If you need to send to each recipient without disclosing details about the + * other recipients see {@link batchSend()}. + * + * Recipient/sender data will be retreived from the Message object. + * + * The return value is the number of recipients who were accepted for + * delivery. + * + * @param Swift_Mime_Message $message + * @param array &$failedRecipients, optional + * @return int + * @see batchSend() + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $failedRecipients = (array) $failedRecipients; + + if (!$this->_transport->isStarted()) + { + $this->_transport->start(); + } + + return $this->_transport->send($message, $failedRecipients); + } + + /** + * Send the given Message to all recipients individually. + * + * This differs from {@link send()} in the way headers are presented to the + * recipient. The only recipient in the "To:" field will be the individual + * recipient it was sent to. + * + * If an iterator is provided, recipients will be read from the iterator + * one-by-one, otherwise recipient data will be retreived from the Message + * object. + * + * Sender information is always read from the Message object. + * + * The return value is the number of recipients who were accepted for + * delivery. + * + * @param Swift_Mime_Message $message + * @param array &$failedRecipients, optional + * @param Swift_Mailer_RecipientIterator $it, optional + * @return int + * @see send() + */ + public function batchSend(Swift_Mime_Message $message, + &$failedRecipients = null, + Swift_Mailer_RecipientIterator $it = null) + { + $failedRecipients = (array) $failedRecipients; + + $sent = 0; + $to = $message->getTo(); + $cc = $message->getCc(); + $bcc = $message->getBcc(); + + if (!empty($cc)) + { + $message->setCc(array()); + } + if (!empty($bcc)) + { + $message->setBcc(array()); + } + + //Use an iterator if set + if (isset($it)) + { + while ($it->hasNext()) + { + $message->setTo($it->nextRecipient()); + $sent += $this->send($message, $failedRecipients); + } + } + else + { + foreach ($to as $address => $name) + { + $message->setTo(array($address => $name)); + $sent += $this->send($message, $failedRecipients); + } + } + + $message->setTo($to); + + if (!empty($cc)) + { + $message->setCc($cc); + } + if (!empty($bcc)) + { + $message->setBcc($bcc); + } + + return $sent; + } + + /** + * Register a plugin using a known unique key (e.g. myPlugin). + * + * @param Swift_Events_EventListener $plugin + * @param string $key + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_transport->registerPlugin($plugin); + } + + /** + * The Transport used to send messages. + * @return Swift_Transport + */ + public function getTransport() + { + return $this->_transport; + } +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer/ArrayRecipientIterator.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer/ArrayRecipientIterator.php new file mode 100644 index 0000000..65d60c1 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer/ArrayRecipientIterator.php @@ -0,0 +1,59 @@ +_recipients = $recipients; + } + + /** + * Returns true only if there are more recipients to send to. + * @return boolean + */ + public function hasNext() + { + return !empty($this->_recipients); + } + + /** + * Returns an array where the keys are the addresses of recipients and the + * values are the names. + * e.g. ('foo@bar' => 'Foo') or ('foo@bar' => NULL) + * @return array + */ + public function nextRecipient() + { + return array_splice($this->_recipients, 0, 1); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer/RecipientIterator.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer/RecipientIterator.php new file mode 100644 index 0000000..2713841 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mailer/RecipientIterator.php @@ -0,0 +1,34 @@ + 'Foo') or ('foo@bar' => NULL) + * @return array + */ + public function nextRecipient(); + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Message.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Message.php new file mode 100644 index 0000000..e8183ea --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Message.php @@ -0,0 +1,82 @@ +createDependenciesFor('mime.message') + ); + + if (!isset($charset)) + { + $charset = Swift_DependencyContainer::getInstance() + ->lookup('properties.charset'); + } + $this->setSubject($subject); + $this->setBody($body); + $this->setCharset($charset); + if ($contentType) + { + $this->setContentType($contentType); + } + } + + /** + * Create a new Message. + * @param string $subject + * @param string $body + * @param string $contentType + * @param string $charset + * @return Swift_Mime_Message + */ + public static function newInstance($subject = null, $body = null, + $contentType = null, $charset = null) + { + return new self($subject, $body, $contentType, $charset); + } + + /** + * Add a MimePart to this Message. + * @param string|Swift_OutputByteStream $body + * @param string $contentType + * @param string $charset + */ + public function addPart($body, $contentType = null, $charset = null) + { + return $this->attach(Swift_MimePart::newInstance( + $body, $contentType, $charset + )); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Attachment.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Attachment.php new file mode 100644 index 0000000..25ef68b --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Attachment.php @@ -0,0 +1,143 @@ +setDisposition('attachment'); + $this->setContentType('application/octet-stream'); + $this->_mimeTypes = $mimeTypes; + } + + /** + * Get the nesting level used for this attachment. + * Always returns {@link LEVEL_MIXED}. + * @return int + */ + public function getNestingLevel() + { + return self::LEVEL_MIXED; + } + + /** + * Get the Content-Disposition of this attachment. + * By default attachments have a disposition of "attachment". + * @return string + */ + public function getDisposition() + { + return $this->_getHeaderFieldModel('Content-Disposition'); + } + + /** + * Set the Content-Disposition of this attachment. + * @param string $disposition + */ + public function setDisposition($disposition) + { + if (!$this->_setHeaderFieldModel('Content-Disposition', $disposition)) + { + $this->getHeaders()->addParameterizedHeader( + 'Content-Disposition', $disposition + ); + } + return $this; + } + + /** + * Get the filename of this attachment when downloaded. + * @return string + */ + public function getFilename() + { + return $this->_getHeaderParameter('Content-Disposition', 'filename'); + } + + /** + * Set the filename of this attachment. + * @param string $filename + */ + public function setFilename($filename) + { + $this->_setHeaderParameter('Content-Disposition', 'filename', $filename); + $this->_setHeaderParameter('Content-Type', 'name', $filename); + return $this; + } + + /** + * Get the file size of this attachment. + * @return int + */ + public function getSize() + { + return $this->_getHeaderParameter('Content-Disposition', 'size'); + } + + /** + * Set the file size of this attachment. + * @param int $size + */ + public function setSize($size) + { + $this->_setHeaderParameter('Content-Disposition', 'size', $size); + return $this; + } + + /** + * Set the file that this attachment is for. + * @param Swift_FileStream $file + * @param string $contentType optional + */ + public function setFile(Swift_FileStream $file, $contentType = null) + { + $this->setFilename(basename($file->getPath())); + $this->setBody($file, $contentType); + if (!isset($contentType)) + { + $extension = strtolower(substr( + $file->getPath(), strrpos($file->getPath(), '.') + 1 + )); + + if (array_key_exists($extension, $this->_mimeTypes)) + { + $this->setContentType($this->_mimeTypes[$extension]); + } + } + return $this; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/CharsetObserver.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/CharsetObserver.php new file mode 100644 index 0000000..c26009f --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/CharsetObserver.php @@ -0,0 +1,26 @@ += $maxLineLength || 76 < $maxLineLength) + { + $maxLineLength = 76; + } + + $remainder = 0; + + while (false !== $bytes = $os->read(8190)) + { + $encoded = base64_encode($bytes); + $encodedTransformed = ''; + $thisMaxLineLength = $maxLineLength - $remainder - $firstLineOffset; + + while ($thisMaxLineLength < strlen($encoded)) + { + $encodedTransformed .= substr($encoded, 0, $thisMaxLineLength) . "\r\n"; + $firstLineOffset = 0; + $encoded = substr($encoded, $thisMaxLineLength); + $thisMaxLineLength = $maxLineLength; + $remainder = 0; + } + + if (0 < $remainingLength = strlen($encoded)) + { + $remainder += $remainingLength; + $encodedTransformed .= $encoded; + $encoded = null; + } + + $is->write($encodedTransformed); + } + } + + /** + * Get the name of this encoding scheme. + * Returns the string 'base64'. + * @return string + */ + public function getName() + { + return 'base64'; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php new file mode 100644 index 0000000..4a725d8 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php @@ -0,0 +1,175 @@ +_name = $name; + $this->_canonical = $canonical; + } + + /** + * Encode a given string to produce an encoded string. + * @param string $string + * @param int $firstLineOffset, ignored + * @param int $maxLineLength - 0 means no wrapping will occur + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, + $maxLineLength = 0) + { + if ($this->_canonical) + { + $string = $this->_canonicalize($string); + } + return $this->_safeWordWrap($string, $maxLineLength, "\r\n"); + } + + /** + * Encode stream $in to stream $out. + * @param Swift_OutputByteStream $in + * @param Swift_InputByteStream $out + * @param int $firstLineOffset, ignored + * @param int $maxLineLength, optional, 0 means no wrapping will occur + */ + public function encodeByteStream( + Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, + $maxLineLength = 0) + { + $leftOver = ''; + while (false !== $bytes = $os->read(8192)) + { + $toencode = $leftOver . $bytes; + if ($this->_canonical) + { + $toencode = $this->_canonicalize($toencode); + } + $wrapped = $this->_safeWordWrap($toencode, $maxLineLength, "\r\n"); + $lastLinePos = strrpos($wrapped, "\r\n"); + $leftOver = substr($wrapped, $lastLinePos); + $wrapped = substr($wrapped, 0, $lastLinePos); + + $is->write($wrapped); + } + if (strlen($leftOver)) + { + $is->write($leftOver); + } + } + + /** + * Get the name of this encoding scheme. + * @return string + */ + public function getName() + { + return $this->_name; + } + + /** + * Not used. + */ + public function charsetChanged($charset) + { + } + + // -- Private methods + + /** + * A safer (but weaker) wordwrap for unicode. + * @param string $string + * @param int $length + * @param string $le + * @return string + * @access private + */ + private function _safeWordwrap($string, $length = 75, $le = "\r\n") + { + if (0 >= $length) + { + return $string; + } + + $originalLines = explode($le, $string); + + $lines = array(); + $lineCount = 0; + + foreach ($originalLines as $originalLine) + { + $lines[] = ''; + $currentLine =& $lines[$lineCount++]; + + //$chunks = preg_split('/(?<=[\ \t,\.!\?\-&\+\/])/', $originalLine); + $chunks = preg_split('/(?<=\s)/', $originalLine); + + foreach ($chunks as $chunk) + { + if (0 != strlen($currentLine) + && strlen($currentLine . $chunk) > $length) + { + $lines[] = ''; + $currentLine =& $lines[$lineCount++]; + } + $currentLine .= $chunk; + } + } + + return implode("\r\n", $lines); + } + + /** + * Canonicalize string input (fix CRLF). + * @param string $string + * @return string + * @access private + */ + private function _canonicalize($string) + { + return str_replace( + array("\r\n", "\r", "\n"), + array("\n", "\n", "\r\n"), + $string + ); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php new file mode 100644 index 0000000..3beeb63 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php @@ -0,0 +1,117 @@ + 76 || $maxLineLength <= 0) + { + $maxLineLength = 76; + } + + $thisLineLength = $maxLineLength - $firstLineOffset; + + $this->_charStream->flushContents(); + $this->_charStream->importByteStream($os); + + $currentLine = ''; + $prepend = ''; + $size=$lineLen=0; + + while (false !== $bytes = $this->_nextSequence()) + { + //If we're filtering the input + if (isset($this->_filter)) + { + //If we can't filter because we need more bytes + while ($this->_filter->shouldBuffer($bytes)) + { + //Then collect bytes into the buffer + if (false === $moreBytes = $this->_nextSequence(1)) + { + break; + } + + foreach ($moreBytes as $b) + { + $bytes[] = $b; + } + } + //And filter them + $bytes = $this->_filter->filter($bytes); + } + + $enc = $this->_encodeByteSequence($bytes, $size); + if ($currentLine && $lineLen+$size >= $thisLineLength) + { + $is->write($prepend . $this->_standardize($currentLine)); + $currentLine = ''; + $prepend = "=\r\n"; + $thisLineLength = $maxLineLength; + $lineLen=0; + } + $lineLen+=$size; + $currentLine .= $enc; + } + if (strlen($currentLine)) + { + $is->write($prepend . $this->_standardize($currentLine)); + } + } + + /** + * Get the name of this encoding scheme. + * Returns the string 'quoted-printable'. + * @return string + */ + public function getName() + { + return 'quoted-printable'; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/EmbeddedFile.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/EmbeddedFile.php new file mode 100644 index 0000000..983b78d --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/EmbeddedFile.php @@ -0,0 +1,51 @@ +setDisposition('inline'); + $this->setId($this->getId()); + } + + /** + * Get the nesting level of this EmbeddedFile. + * Returns {@link LEVEL_RELATED}. + * @return int + */ + public function getNestingLevel() + { + return self::LEVEL_RELATED; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/EncodingObserver.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/EncodingObserver.php new file mode 100644 index 0000000..50472db --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/EncodingObserver.php @@ -0,0 +1,28 @@ +clearCachedValueIf($charset != $this->_charset); + $this->_charset = $charset; + if (isset($this->_encoder)) + { + $this->_encoder->charsetChanged($charset); + } + } + + /** + * Get the character set used in this Header. + * @return string + */ + public function getCharset() + { + return $this->_charset; + } + + /** + * Set the language used in this Header. + * For example, for US English, 'en-us'. + * This can be unspecified. + * @param string $lang + */ + public function setLanguage($lang) + { + $this->clearCachedValueIf($this->_lang != $lang); + $this->_lang = $lang; + } + + /** + * Get the language used in this Header. + * @return string + */ + public function getLanguage() + { + return $this->_lang; + } + + /** + * Set the encoder used for encoding the header. + * @param Swift_Mime_HeaderEncoder $encoder + */ + public function setEncoder(Swift_Mime_HeaderEncoder $encoder) + { + $this->_encoder = $encoder; + $this->setCachedValue(null); + } + + /** + * Get the encoder used for encoding this Header. + * @return Swift_Mime_HeaderEncoder + */ + public function getEncoder() + { + return $this->_encoder; + } + + /** + * Get the name of this header (e.g. charset). + * @return string + */ + public function getFieldName() + { + return $this->_name; + } + + /** + * Set the maximum length of lines in the header (excluding EOL). + * @param int $lineLength + */ + public function setMaxLineLength($lineLength) + { + $this->clearCachedValueIf($this->_lineLength != $lineLength); + $this->_lineLength = $lineLength; + } + + /** + * Get the maximum permitted length of lines in this Header. + * @return int + */ + public function getMaxLineLength() + { + return $this->_lineLength; + } + + /** + * Get this Header rendered as a RFC 2822 compliant string. + * @return string + * @throws Swift_RfcComplianceException + */ + public function toString() + { + return $this->_tokensToString($this->toTokens()); + } + + /** + * Returns a string representation of this object. + * + * @return string + * + * @see toString() + */ + public function __toString() + { + return $this->toString(); + } + + // -- Points of extension + + /** + * Set the name of this Header field. + * @param string $name + * @access protected + */ + protected function setFieldName($name) + { + $this->_name = $name; + } + + /** + * Initialize some RFC 2822 (and friends) ABNF grammar definitions. + * @access protected + */ + protected function initializeGrammar() + { + $this->_specials = array( + '(', ')', '<', '>', '[', ']', + ':', ';', '@', ',', '.', '"' + ); + + /*** Refer to RFC 2822 for ABNF grammar ***/ + + //All basic building blocks + $this->_grammar['NO-WS-CTL'] = '[\x01-\x08\x0B\x0C\x0E-\x19\x7F]'; + $this->_grammar['WSP'] = '[ \t]'; + $this->_grammar['CRLF'] = '(?:\r\n)'; + $this->_grammar['FWS'] = '(?:(?:' . $this->_grammar['WSP'] . '*' . + $this->_grammar['CRLF'] . ')?' . $this->_grammar['WSP'] . ')'; + $this->_grammar['text'] = '[\x00-\x08\x0B\x0C\x0E-\x7F]'; + $this->_grammar['quoted-pair'] = '(?:\\\\' . $this->_grammar['text'] . ')'; + $this->_grammar['ctext'] = '(?:' . $this->_grammar['NO-WS-CTL'] . + '|[\x21-\x27\x2A-\x5B\x5D-\x7E])'; + //Uses recursive PCRE (?1) -- could be a weak point?? + $this->_grammar['ccontent'] = '(?:' . $this->_grammar['ctext'] . '|' . + $this->_grammar['quoted-pair'] . '|(?1))'; + $this->_grammar['comment'] = '(\((?:' . $this->_grammar['FWS'] . '|' . + $this->_grammar['ccontent']. ')*' . $this->_grammar['FWS'] . '?\))'; + $this->_grammar['CFWS'] = '(?:(?:' . $this->_grammar['FWS'] . '?' . + $this->_grammar['comment'] . ')*(?:(?:' . $this->_grammar['FWS'] . '?' . + $this->_grammar['comment'] . ')|' . $this->_grammar['FWS'] . '))'; + $this->_grammar['qtext'] = '(?:' . $this->_grammar['NO-WS-CTL'] . + '|[\x21\x23-\x5B\x5D-\x7E])'; + $this->_grammar['qcontent'] = '(?:' . $this->_grammar['qtext'] . '|' . + $this->_grammar['quoted-pair'] . ')'; + $this->_grammar['quoted-string'] = '(?:' . $this->_grammar['CFWS'] . '?"' . + '(' . $this->_grammar['FWS'] . '?' . $this->_grammar['qcontent'] . ')*' . + $this->_grammar['FWS'] . '?"' . $this->_grammar['CFWS'] . '?)'; + $this->_grammar['atext'] = '[a-zA-Z0-9!#\$%&\'\*\+\-\/=\?\^_`\{\}\|~]'; + $this->_grammar['atom'] = '(?:' . $this->_grammar['CFWS'] . '?' . + $this->_grammar['atext'] . '+' . $this->_grammar['CFWS'] . '?)'; + $this->_grammar['dot-atom-text'] = '(?:' . $this->_grammar['atext'] . '+' . + '(\.' . $this->_grammar['atext'] . '+)*)'; + $this->_grammar['dot-atom'] = '(?:' . $this->_grammar['CFWS'] . '?' . + $this->_grammar['dot-atom-text'] . '+' . $this->_grammar['CFWS'] . '?)'; + $this->_grammar['word'] = '(?:' . $this->_grammar['atom'] . '|' . + $this->_grammar['quoted-string'] . ')'; + $this->_grammar['phrase'] = '(?:' . $this->_grammar['word'] . '+?)'; + $this->_grammar['no-fold-quote'] = '(?:"(?:' . $this->_grammar['qtext'] . + '|' . $this->_grammar['quoted-pair'] . ')*")'; + $this->_grammar['dtext'] = '(?:' . $this->_grammar['NO-WS-CTL'] . + '|[\x21-\x5A\x5E-\x7E])'; + $this->_grammar['no-fold-literal'] = '(?:\[(?:' . $this->_grammar['dtext'] . + '|' . $this->_grammar['quoted-pair'] . ')*\])'; + + //Message IDs + $this->_grammar['id-left'] = '(?:' . $this->_grammar['dot-atom-text'] . '|' . + $this->_grammar['no-fold-quote'] . ')'; + $this->_grammar['id-right'] = '(?:' . $this->_grammar['dot-atom-text'] . '|' . + $this->_grammar['no-fold-literal'] . ')'; + + //Addresses, mailboxes and paths + $this->_grammar['local-part'] = '(?:' . $this->_grammar['dot-atom'] . '|' . + $this->_grammar['quoted-string'] . ')'; + $this->_grammar['dcontent'] = '(?:' . $this->_grammar['dtext'] . '|' . + $this->_grammar['quoted-pair'] . ')'; + $this->_grammar['domain-literal'] = '(?:' . $this->_grammar['CFWS'] . '?\[(' . + $this->_grammar['FWS'] . '?' . $this->_grammar['dcontent'] . ')*?' . + $this->_grammar['FWS'] . '?\]' . $this->_grammar['CFWS'] . '?)'; + $this->_grammar['domain'] = '(?:' . $this->_grammar['dot-atom'] . '|' . + $this->_grammar['domain-literal'] . ')'; + $this->_grammar['addr-spec'] = '(?:' . $this->_grammar['local-part'] . '@' . + $this->_grammar['domain'] . ')'; + } + + /** + * Get the grammar defined for $name token. + * @param string $name execatly as written in the RFC + * @return string + */ + protected function getGrammar($name) + { + if (array_key_exists($name, $this->_grammar)) + { + return $this->_grammar[$name]; + } + else + { + throw new Swift_RfcComplianceException( + "No such grammar '" . $name . "' defined." + ); + } + } + + /** + * Escape special characters in a string (convert to quoted-pairs). + * @param string $token + * @param string[] $include additonal chars to escape + * @param string[] $exclude chars from escaping + * @return string + */ + protected function escapeSpecials($token, $include = array(), + $exclude = array()) + { + foreach ( + array_merge(array('\\'), array_diff($this->_specials, $exclude), $include) as $char) + { + $token = str_replace($char, '\\' . $char, $token); + } + return $token; + } + + /** + * Produces a compliant, formatted RFC 2822 'phrase' based on the string given. + * @param Swift_Mime_Header $header + * @param string $string as displayed + * @param string $charset of the text + * @param Swift_Mime_HeaderEncoder $encoder + * @param boolean $shorten the first line to make remove for header name + * @return string + */ + protected function createPhrase(Swift_Mime_Header $header, $string, $charset, + Swift_Mime_HeaderEncoder $encoder = null, $shorten = false) + { + //Treat token as exactly what was given + $phraseStr = $string; + //If it's not valid + if (!preg_match('/^' . $this->_grammar['phrase'] . '$/D', $phraseStr)) + { + // .. but it is just ascii text, try escaping some characters + // and make it a quoted-string + if (preg_match('/^' . $this->_grammar['text'] . '*$/D', $phraseStr)) + { + $phraseStr = $this->escapeSpecials( + $phraseStr, array('"'), $this->_specials + ); + $phraseStr = '"' . $phraseStr . '"'; + } + else // ... otherwise it needs encoding + { + //Determine space remaining on line if first line + if ($shorten) + { + $usedLength = strlen($header->getFieldName() . ': '); + } + else + { + $usedLength = 0; + } + $phraseStr = $this->encodeWords($header, $string, $usedLength); + } + } + + return $phraseStr; + } + + /** + * Encode needed word tokens within a string of input. + * @param string $input + * @param string $usedLength, optional + * @return string + */ + protected function encodeWords(Swift_Mime_Header $header, $input, + $usedLength = -1) + { + $value = ''; + + $tokens = $this->getEncodableWordTokens($input); + + foreach ($tokens as $token) + { + //See RFC 2822, Sect 2.2 (really 2.2 ??) + if ($this->tokenNeedsEncoding($token)) + { + //Don't encode starting WSP + $firstChar = substr($token, 0, 1); + switch($firstChar) + { + case ' ': + case "\t": + $value .= $firstChar; + $token = substr($token, 1); + } + + if (-1 == $usedLength) + { + $usedLength = strlen($header->getFieldName() . ': ') + strlen($value); + } + $value .= $this->getTokenAsEncodedWord($token, $usedLength); + + $header->setMaxLineLength(76); //Forefully override + } + else + { + $value .= $token; + } + } + + return $value; + } + + /** + * Test if a token needs to be encoded or not. + * @param string $token + * @return boolean + */ + protected function tokenNeedsEncoding($token) + { + return preg_match('~[\x00-\x08\x10-\x19\x7F-\xFF\r\n]~', $token); + } + + /** + * Splits a string into tokens in blocks of words which can be encoded quickly. + * @param string $string + * @return string[] + */ + protected function getEncodableWordTokens($string) + { + $tokens = array(); + + $encodedToken = ''; + //Split at all whitespace boundaries + foreach (preg_split('~(?=[\t ])~', $string) as $token) + { + if ($this->tokenNeedsEncoding($token)) + { + $encodedToken .= $token; + } + else + { + if (strlen($encodedToken) > 0) + { + $tokens[] = $encodedToken; + $encodedToken = ''; + } + $tokens[] = $token; + } + } + if (strlen($encodedToken)) + { + $tokens[] = $encodedToken; + } + + return $tokens; + } + + /** + * Get a token as an encoded word for safe insertion into headers. + * @param string $token to encode + * @param int $firstLineOffset, optional + * @return string + */ + protected function getTokenAsEncodedWord($token, $firstLineOffset = 0) + { + //Adjust $firstLineOffset to account for space needed for syntax + $charsetDecl = $this->_charset; + if (isset($this->_lang)) + { + $charsetDecl .= '*' . $this->_lang; + } + $encodingWrapperLength = strlen( + '=?' . $charsetDecl . '?' . $this->_encoder->getName() . '??=' + ); + + if ($firstLineOffset >= 75) //Does this logic need to be here? + { + $firstLineOffset = 0; + } + + $encodedTextLines = explode("\r\n", + $this->_encoder->encodeString( + $token, $firstLineOffset, 75 - $encodingWrapperLength + ) + ); + + foreach ($encodedTextLines as $lineNum => $line) + { + $encodedTextLines[$lineNum] = '=?' . $charsetDecl . + '?' . $this->_encoder->getName() . + '?' . $line . '?='; + } + + return implode("\r\n ", $encodedTextLines); + } + + /** + * Generates tokens from the given string which include CRLF as individual tokens. + * @param string $token + * @return string[] + * @access protected + */ + protected function generateTokenLines($token) + { + return preg_split('~(\r\n)~', $token, -1, PREG_SPLIT_DELIM_CAPTURE); + } + + /** + * Set a value into the cache. + * @param string $value + * @access protected + */ + protected function setCachedValue($value) + { + $this->_cachedValue = $value; + } + + /** + * Get the value in the cache. + * @return string + * @access protected + */ + protected function getCachedValue() + { + return $this->_cachedValue; + } + + /** + * Clear the cached value if $condition is met. + * @param boolean $condition + * @access protected + */ + protected function clearCachedValueIf($condition) + { + if ($condition) + { + $this->setCachedValue(null); + } + } + + // -- Private methods + + /** + * Generate a list of all tokens in the final header. + * @param string $string input, optional + * @return string[] + * @access private + */ + protected function toTokens($string = null) + { + if (is_null($string)) + { + $string = $this->getFieldBody(); + } + + $tokens = array(); + + //Generate atoms; split at all invisible boundaries followed by WSP + foreach (preg_split('~(?=[ \t])~', $string) as $token) + { + $tokens = array_merge($tokens, $this->generateTokenLines($token)); + } + + return $tokens; + } + + /** + * Takes an array of tokens which appear in the header and turns them into + * an RFC 2822 compliant string, adding FWSP where needed. + * @param string[] $tokens + * @return string + * @access private + */ + private function _tokensToString(array $tokens) + { + $lineCount = 0; + $headerLines = array(); + $headerLines[] = $this->_name . ': '; + $currentLine =& $headerLines[$lineCount++]; + + //Build all tokens back into compliant header + foreach ($tokens as $i => $token) + { + //Line longer than specified maximum or token was just a new line + if (("\r\n" == $token) || + ($i > 0 && strlen($currentLine . $token) > $this->_lineLength) + && 0 < strlen($currentLine)) + { + $headerLines[] = ''; + $currentLine =& $headerLines[$lineCount++]; + } + + //Append token to the line + if ("\r\n" != $token) + { + $currentLine .= $token; + } + } + + //Implode with FWS (RFC 2822, 2.2.3) + return implode("\r\n", $headerLines) . "\r\n"; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/DateHeader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/DateHeader.php new file mode 100644 index 0000000..598c0c5 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/DateHeader.php @@ -0,0 +1,118 @@ + + * + * + * @param string $name of Header + */ + public function __construct($name) + { + $this->setFieldName($name); + } + + /** + * Get the type of Header that this instance represents. + * @return int + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + */ + public function getFieldType() + { + return self::TYPE_DATE; + } + + /** + * Set the model for the field body. + * This method takes a UNIX timestamp. + * @param int $model + */ + public function setFieldBodyModel($model) + { + $this->setTimestamp($model); + } + + /** + * Get the model for the field body. + * This method returns a UNIX timestamp. + * @return mixed + */ + public function getFieldBodyModel() + { + return $this->getTimestamp(); + } + + /** + * Get the UNIX timestamp of the Date in this Header. + * @return int + */ + public function getTimestamp() + { + return $this->_timestamp; + } + + /** + * Set the UNIX timestamp of the Date in this Header. + * @param int $timestamp + */ + public function setTimestamp($timestamp) + { + if (!is_null($timestamp)) + { + $timestamp = (int) $timestamp; + } + $this->clearCachedValueIf($this->_timestamp != $timestamp); + $this->_timestamp = $timestamp; + } + + /** + * Get the string value of the body in this Header. + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * @return string + * @see toString() + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) + { + if (isset($this->_timestamp)) + { + $this->setCachedValue(date('r', $this->_timestamp)); + } + } + return $this->getCachedValue(); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/IdentificationHeader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/IdentificationHeader.php new file mode 100644 index 0000000..55ff737 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/IdentificationHeader.php @@ -0,0 +1,161 @@ +setFieldName($name); + $this->initializeGrammar(); + } + + /** + * Get the type of Header that this instance represents. + * @return int + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + */ + public function getFieldType() + { + return self::TYPE_ID; + } + + /** + * Set the model for the field body. + * This method takes a string ID, or an array of IDs + * @param mixed $model + * @throws Swift_RfcComplianceException + */ + public function setFieldBodyModel($model) + { + $this->setId($model); + } + + /** + * Get the model for the field body. + * This method returns an array of IDs + * @return array + */ + public function getFieldBodyModel() + { + return $this->getIds(); + } + + /** + * Set the ID used in the value of this header. + * @param string $id + * @throws Swift_RfcComplianceException + */ + public function setId($id) + { + return $this->setIds(array($id)); + } + + /** + * Get the ID used in the value of this Header. + * If multiple IDs are set only the first is returned. + * @return string + */ + public function getId() + { + if (count($this->_ids) > 0) + { + return $this->_ids[0]; + } + } + + /** + * Set a collection of IDs to use in the value of this Header. + * @param string[] $ids + * @throws Swift_RfcComplianceException + */ + public function setIds(array $ids) + { + $actualIds = array(); + + foreach ($ids as $k => $id) + { + if (preg_match( + '/^' . $this->getGrammar('id-left') . '@' . + $this->getGrammar('id-right') . '$/D', + $id + )) + { + $actualIds[] = $id; + } + else + { + throw new Swift_RfcComplianceException( + 'Invalid ID given <' . $id . '>' + ); + } + } + + $this->clearCachedValueIf($this->_ids != $actualIds); + $this->_ids = $actualIds; + } + + /** + * Get the list of IDs used in this Header. + * @return string[] + */ + public function getIds() + { + return $this->_ids; + } + + /** + * Get the string value of the body in this Header. + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * @return string + * @see toString() + * @throws Swift_RfcComplianceException + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) + { + $angleAddrs = array(); + + foreach ($this->_ids as $id) + { + $angleAddrs[] = '<' . $id . '>'; + } + + $this->setCachedValue(implode(' ', $angleAddrs)); + } + return $this->getCachedValue(); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/MailboxHeader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/MailboxHeader.php new file mode 100644 index 0000000..77d3bba --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/MailboxHeader.php @@ -0,0 +1,316 @@ +setFieldName($name); + $this->setEncoder($encoder); + $this->initializeGrammar(); + } + + /** + * Get the type of Header that this instance represents. + * @return int + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + */ + public function getFieldType() + { + return self::TYPE_MAILBOX; + } + + /** + * Set the model for the field body. + * This method takes a string, or an array of addresses. + * @param mixed $model + * @throws Swift_RfcComplianceException + */ + public function setFieldBodyModel($model) + { + $this->setNameAddresses($model); + } + + /** + * Get the model for the field body. + * This method returns an associative array like {@link getNameAddresses()} + * @return array + * @throws Swift_RfcComplianceException + */ + public function getFieldBodyModel() + { + return $this->getNameAddresses(); + } + + /** + * Set a list of mailboxes to be shown in this Header. + * The mailboxes can be a simple array of addresses, or an array of + * key=>value pairs where (email => personalName). + * Example: + * + * setNameAddresses(array( + * 'chris@swiftmailer.org' => 'Chris Corbyn', + * 'mark@swiftmailer.org' //No associated personal name + * )); + * ?> + * + * @param string|string[] $mailboxes + * @throws Swift_RfcComplianceException + * @see __construct() + * @see setAddresses() + * @see setValue() + */ + public function setNameAddresses($mailboxes) + { + $this->_mailboxes = $this->normalizeMailboxes((array) $mailboxes); + $this->setCachedValue(null); //Clear any cached value + } + + /** + * Get the full mailbox list of this Header as an array of valid RFC 2822 strings. + * Example: + * + * 'Chris Corbyn', + * 'mark@swiftmailer.org' => 'Mark Corbyn') + * ); + * print_r($header->getNameAddressStrings()); + * // array ( + * // 0 => Chris Corbyn , + * // 1 => Mark Corbyn + * // ) + * ?> + * + * @return string[] + * @throws Swift_RfcComplianceException + * @see getNameAddresses() + * @see toString() + */ + public function getNameAddressStrings() + { + return $this->_createNameAddressStrings($this->getNameAddresses()); + } + + /** + * Get all mailboxes in this Header as key=>value pairs. + * The key is the address and the value is the name (or null if none set). + * Example: + * + * 'Chris Corbyn', + * 'mark@swiftmailer.org' => 'Mark Corbyn') + * ); + * print_r($header->getNameAddresses()); + * // array ( + * // chris@swiftmailer.org => Chris Corbyn, + * // mark@swiftmailer.org => Mark Corbyn + * // ) + * ?> + * + * @return string[] + * @see getAddresses() + * @see getNameAddressStrings() + */ + public function getNameAddresses() + { + return $this->_mailboxes; + } + + /** + * Makes this Header represent a list of plain email addresses with no names. + * Example: + * + * setAddresses( + * array('one@domain.tld', 'two@domain.tld', 'three@domain.tld') + * ); + * ?> + * + * @param string[] $addresses + * @throws Swift_RfcComplianceException + * @see setNameAddresses() + * @see setValue() + */ + public function setAddresses($addresses) + { + return $this->setNameAddresses(array_values((array) $addresses)); + } + + /** + * Get all email addresses in this Header. + * @return string[] + * @see getNameAddresses() + */ + public function getAddresses() + { + return array_keys($this->_mailboxes); + } + + /** + * Remove one or more addresses from this Header. + * @param string|string[] $addresses + */ + public function removeAddresses($addresses) + { + $this->setCachedValue(null); + foreach ((array) $addresses as $address) + { + unset($this->_mailboxes[$address]); + } + } + + /** + * Get the string value of the body in this Header. + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * @return string + * @throws Swift_RfcComplianceException + * @see toString() + */ + public function getFieldBody() + { + //Compute the string value of the header only if needed + if (is_null($this->getCachedValue())) + { + $this->setCachedValue($this->createMailboxListString($this->_mailboxes)); + } + return $this->getCachedValue(); + } + + // -- Points of extension + + /** + * Normalizes a user-input list of mailboxes into consistent key=>value pairs. + * @param string[] $mailboxes + * @return string[] + * @access protected + */ + protected function normalizeMailboxes(array $mailboxes) + { + $actualMailboxes = array(); + + foreach ($mailboxes as $key => $value) + { + if (is_string($key)) //key is email addr + { + $address = $key; + $name = $value; + } + else + { + $address = $value; + $name = null; + } + $this->_assertValidAddress($address); + $actualMailboxes[$address] = $name; + } + + return $actualMailboxes; + } + + /** + * Produces a compliant, formatted display-name based on the string given. + * @param string $displayName as displayed + * @param boolean $shorten the first line to make remove for header name + * @return string + * @access protected + */ + protected function createDisplayNameString($displayName, $shorten = false) + { + return $this->createPhrase($this, $displayName, + $this->getCharset(), $this->getEncoder(), $shorten + ); + } + + /** + * Creates a string form of all the mailboxes in the passed array. + * @param string[] $mailboxes + * @return string + * @throws Swift_RfcComplianceException + * @access protected + */ + protected function createMailboxListString(array $mailboxes) + { + return implode(', ', $this->_createNameAddressStrings($mailboxes)); + } + + // -- Private methods + + /** + * Return an array of strings conforming the the name-addr spec of RFC 2822. + * @param string[] $mailboxes + * @return string[] + * @access private + */ + private function _createNameAddressStrings(array $mailboxes) + { + $strings = array(); + + foreach ($mailboxes as $email => $name) + { + $mailboxStr = $email; + if (!is_null($name)) + { + $nameStr = $this->createDisplayNameString($name, empty($strings)); + $mailboxStr = $nameStr . ' <' . $mailboxStr . '>'; + } + $strings[] = $mailboxStr; + } + + return $strings; + } + + /** + * Throws an Exception if the address passed does not comply with RFC 2822. + * @param string $address + * @throws Exception If invalid. + * @access protected + */ + private function _assertValidAddress($address) + { + if (!preg_match('/^' . $this->getGrammar('addr-spec') . '$/D', + $address)) + { + throw new Swift_RfcComplianceException( + 'Address in mailbox given [' . $address . + '] does not comply with RFC 2822, 3.6.2.' + ); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/ParameterizedHeader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/ParameterizedHeader.php new file mode 100644 index 0000000..974b44e --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/ParameterizedHeader.php @@ -0,0 +1,274 @@ +setFieldName($name); + $this->setEncoder($encoder); + $this->_paramEncoder = $paramEncoder; + $this->initializeGrammar(); + $this->_tokenRe = '(?:[\x21\x23-\x27\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7E]+)'; + } + + /** + * Get the type of Header that this instance represents. + * @return int + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + */ + public function getFieldType() + { + return self::TYPE_PARAMETERIZED; + } + + /** + * Set the character set used in this Header. + * @param string $charset + */ + public function setCharset($charset) + { + parent::setCharset($charset); + if (isset($this->_paramEncoder)) + { + $this->_paramEncoder->charsetChanged($charset); + } + } + + /** + * Set the value of $parameter. + * @param string $parameter + * @param string $value + */ + public function setParameter($parameter, $value) + { + $this->setParameters(array_merge($this->getParameters(), array($parameter => $value))); + } + + /** + * Get the value of $parameter. + * @return string + */ + public function getParameter($parameter) + { + $params = $this->getParameters(); + return array_key_exists($parameter, $params) + ? $params[$parameter] + : null; + } + + /** + * Set an associative array of parameter names mapped to values. + * @param string[] + */ + public function setParameters(array $parameters) + { + $this->clearCachedValueIf($this->_params != $parameters); + $this->_params = $parameters; + } + + /** + * Returns an associative array of parameter names mapped to values. + * @return string[] + */ + public function getParameters() + { + return $this->_params; + } + + /** + * Get the value of this header prepared for rendering. + * @return string + */ + public function getFieldBody() //TODO: Check caching here + { + $body = parent::getFieldBody(); + foreach ($this->_params as $name => $value) + { + if (!is_null($value)) + { + //Add the parameter + $body .= '; ' . $this->_createParameter($name, $value); + } + } + return $body; + } + + // -- Protected methods + + /** + * Generate a list of all tokens in the final header. + * This doesn't need to be overridden in theory, but it is for implementation + * reasons to prevent potential breakage of attributes. + * @return string[] + * @access protected + */ + protected function toTokens($string = null) + { + $tokens = parent::toTokens(parent::getFieldBody()); + + //Try creating any parameters + foreach ($this->_params as $name => $value) + { + if (!is_null($value)) + { + //Add the semi-colon separator + $tokens[count($tokens)-1] .= ';'; + $tokens = array_merge($tokens, $this->generateTokenLines( + ' ' . $this->_createParameter($name, $value) + )); + } + } + + return $tokens; + } + + // -- Private methods + + /** + * Render a RFC 2047 compliant header parameter from the $name and $value. + * @param string $name + * @param string $value + * @return string + * @access private + */ + private function _createParameter($name, $value) + { + $origValue = $value; + + $encoded = false; + //Allow room for parameter name, indices, "=" and DQUOTEs + $maxValueLength = $this->getMaxLineLength() - strlen($name . '=*N"";') - 1; + $firstLineOffset = 0; + + //If it's not already a valid parameter value... + if (!preg_match('/^' . $this->_tokenRe . '$/D', $value)) + { + //TODO: text, or something else?? + //... and it's not ascii + if (!preg_match('/^' . $this->getGrammar('text') . '*$/D', $value)) + { + $encoded = true; + //Allow space for the indices, charset and language + $maxValueLength = $this->getMaxLineLength() - strlen($name . '*N*="";') - 1; + $firstLineOffset = strlen( + $this->getCharset() . "'" . $this->getLanguage() . "'" + ); + } + } + + //Encode if we need to + if ($encoded || strlen($value) > $maxValueLength) + { + if (isset($this->_paramEncoder)) + { + $value = $this->_paramEncoder->encodeString( + $origValue, $firstLineOffset, $maxValueLength + ); + } + else //We have to go against RFC 2183/2231 in some areas for interoperability + { + $value = $this->getTokenAsEncodedWord($origValue); + $encoded = false; + } + } + + $valueLines = isset($this->_paramEncoder) ? explode("\r\n", $value) : array($value); + + //Need to add indices + if (count($valueLines) > 1) + { + $paramLines = array(); + foreach ($valueLines as $i => $line) + { + $paramLines[] = $name . '*' . $i . + $this->_getEndOfParameterValue($line, $encoded, $i == 0); + } + return implode(";\r\n ", $paramLines); + } + else + { + return $name . $this->_getEndOfParameterValue( + $valueLines[0], $encoded, true + ); + } + } + + /** + * Returns the parameter value from the "=" and beyond. + * @param string $value to append + * @param boolean $encoded + * @param boolean $firstLine + * @return string + * @access private + */ + private function _getEndOfParameterValue($value, $encoded = false, $firstLine = false) + { + if (!preg_match('/^' . $this->_tokenRe . '$/D', $value)) + { + $value = '"' . $value . '"'; + } + $prepend = '='; + if ($encoded) + { + $prepend = '*='; + if ($firstLine) + { + $prepend = '*=' . $this->getCharset() . "'" . $this->getLanguage() . + "'"; + } + } + return $prepend . $value; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/PathHeader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/PathHeader.php new file mode 100644 index 0000000..0a8a100 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/PathHeader.php @@ -0,0 +1,126 @@ +setFieldName($name); + $this->initializeGrammar(); + } + + /** + * Get the type of Header that this instance represents. + * @return int + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + */ + public function getFieldType() + { + return self::TYPE_PATH; + } + + /** + * Set the model for the field body. + * This method takes a string for an address. + * @param string $model + * @throws Swift_RfcComplianceException + */ + public function setFieldBodyModel($model) + { + $this->setAddress($model); + } + + /** + * Get the model for the field body. + * This method returns a string email address. + * @return mixed + */ + public function getFieldBodyModel() + { + return $this->getAddress(); + } + + /** + * Set the Address which should appear in this Header. + * @param string $address + * @throws Swift_RfcComplianceException + */ + public function setAddress($address) + { + if (is_null($address)) + { + $this->_address = null; + } + elseif ('' == $address + || preg_match('/^' . $this->getGrammar('addr-spec') . '$/D', $address)) + { + $this->_address = $address; + } + else + { + throw new Swift_RfcComplianceException( + 'Address set in PathHeader does not comply with addr-spec of RFC 2822.' + ); + } + $this->setCachedValue(null); + } + + /** + * Get the address which is used in this Header (if any). + * Null is returned if no address is set. + * @return string + */ + public function getAddress() + { + return $this->_address; + } + + /** + * Get the string value of the body in this Header. + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * @return string + * @see toString() + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) + { + if (isset($this->_address)) + { + $this->setCachedValue('<' . $this->_address . '>'); + } + } + return $this->getCachedValue(); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/UnstructuredHeader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/UnstructuredHeader.php new file mode 100644 index 0000000..fdcc21e --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Headers/UnstructuredHeader.php @@ -0,0 +1,108 @@ +setFieldName($name); + $this->setEncoder($encoder); + } + /** + * Get the type of Header that this instance represents. + * @return int + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + */ + public function getFieldType() + { + return self::TYPE_TEXT; + } + + /** + * Set the model for the field body. + * This method takes a string for the field value. + * @param string $model + */ + public function setFieldBodyModel($model) + { + $this->setValue($model); + } + + /** + * Get the model for the field body. + * This method returns a string. + * @return string + */ + public function getFieldBodyModel() + { + return $this->getValue(); + } + + /** + * Get the (unencoded) value of this header. + * @return string + */ + public function getValue() + { + return $this->_value; + } + + /** + * Set the (unencoded) value of this header. + * @param string $value + */ + public function setValue($value) + { + $this->clearCachedValueIf($this->_value != $value); + $this->_value = $value; + } + + /** + * Get the value of this header prepared for rendering. + * @return string + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) + { + $this->setCachedValue( + str_replace('\\', '\\\\', $this->encodeWords( + $this, $this->_value, -1, $this->getCharset(), $this->getEncoder() + )) + ); + } + return $this->getCachedValue(); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Message.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Message.php new file mode 100644 index 0000000..0496c08 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/Message.php @@ -0,0 +1,230 @@ + 'Real Name'). + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $address + * @param string $name optional + */ + public function setSender($address, $name = null); + + /** + * Get the sender address for this message. + * + * This has a higher significance than the From address. + * + * @return string + */ + public function getSender(); + + /** + * Set the From address of this message. + * + * It is permissible for multiple From addresses to be set using an array. + * + * If multiple From addresses are used, you SHOULD set the Sender address and + * according to RFC 2822, MUST set the sender address. + * + * An array can be used if display names are to be provided: i.e. + * array('email@address.com' => 'Real Name'). + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setFrom($addresses, $name = null); + + /** + * Get the From address(es) of this message. + * + * This method always returns an associative array where the keys are the + * addresses. + * + * @return string[] + */ + public function getFrom(); + + /** + * Set the Reply-To address(es). + * + * Any replies from the receiver will be sent to this address. + * + * It is permissible for multiple reply-to addresses to be set using an array. + * + * This method has the same synopsis as {@link setFrom()} and {@link setTo()}. + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setReplyTo($addresses, $name = null); + + /** + * Get the Reply-To addresses for this message. + * + * This method always returns an associative array where the keys provide the + * email addresses. + * + * @return string[] + */ + public function getReplyTo(); + + /** + * Set the To address(es). + * + * Recipients set in this field will receive a copy of this message. + * + * This method has the same synopsis as {@link setFrom()} and {@link setCc()}. + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setTo($addresses, $name = null); + + /** + * Get the To addresses for this message. + * + * This method always returns an associative array, whereby the keys provide + * the actual email addresses. + * + * @return string[] + */ + public function getTo(); + + /** + * Set the Cc address(es). + * + * Recipients set in this field will receive a 'carbon-copy' of this message. + * + * This method has the same synopsis as {@link setFrom()} and {@link setTo()}. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setCc($addresses, $name = null); + + /** + * Get the Cc addresses for this message. + * + * This method always returns an associative array, whereby the keys provide + * the actual email addresses. + * + * @return string[] + */ + public function getCc(); + + /** + * Set the Bcc address(es). + * + * Recipients set in this field will receive a 'blind-carbon-copy' of this + * message. + * + * In other words, they will get the message, but any other recipients of the + * message will have no such knowledge of their receipt of it. + * + * This method has the same synopsis as {@link setFrom()} and {@link setTo()}. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setBcc($addresses, $name = null); + + /** + * Get the Bcc addresses for this message. + * + * This method always returns an associative array, whereby the keys provide + * the actual email addresses. + * + * @return string[] + */ + public function getBcc(); + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/MimeEntity.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/MimeEntity.php new file mode 100644 index 0000000..2b08009 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/MimeEntity.php @@ -0,0 +1,108 @@ +setContentType('text/plain'); + if (!is_null($charset)) + { + $this->setCharset($charset); + } + } + + /** + * Set the body of this entity, either as a string, or as an instance of + * {@link Swift_OutputByteStream}. + * + * @param mixed $body + * @param string $contentType optional + * @param string $charset optional + */ + public function setBody($body, $contentType = null, $charset = null) + { + parent::setBody($body, $contentType); + if (isset($charset)) + { + $this->setCharset($charset); + } + return $this; + } + + /** + * Get the character set of this entity. + * + * @return string + */ + public function getCharset() + { + return $this->_getHeaderParameter('Content-Type', 'charset'); + } + + /** + * Set the character set of this entity. + * + * @param string $charset + */ + public function setCharset($charset) + { + $this->_setHeaderParameter('Content-Type', 'charset', $charset); + if ($charset !== $this->_userCharset) + { + $this->_clearCache(); + } + $this->_userCharset = $charset; + parent::charsetChanged($charset); + return $this; + } + + /** + * Get the format of this entity (i.e. flowed or fixed). + * + * @return string + */ + public function getFormat() + { + return $this->_getHeaderParameter('Content-Type', 'format'); + } + + /** + * Set the format of this entity (flowed or fixed). + * + * @param string $format + */ + public function setFormat($format) + { + $this->_setHeaderParameter('Content-Type', 'format', $format); + $this->_userFormat = $format; + return $this; + } + + /** + * Test if delsp is being used for this entity. + * + * @return boolean + */ + public function getDelSp() + { + return ($this->_getHeaderParameter('Content-Type', 'delsp') == 'yes') + ? true + : false; + } + + /** + * Turn delsp on or off for this entity. + * + * @param boolean $delsp + */ + public function setDelSp($delsp = true) + { + $this->_setHeaderParameter('Content-Type', 'delsp', $delsp ? 'yes' : null); + $this->_userDelSp = $delsp; + return $this; + } + + /** + * Get the nesting level of this entity. + * + * @return int + * @see LEVEL_TOP, LEVEL_ALTERNATIVE, LEVEL_MIXED, LEVEL_RELATED + */ + public function getNestingLevel() + { + return $this->_nestingLevel; + } + + /** + * Receive notification that the charset has changed on this document, or a + * parent document. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->setCharset($charset); + } + + // -- Protected methods + + /** Fix the content-type and encoding of this entity */ + protected function _fixHeaders() + { + parent::_fixHeaders(); + if (count($this->getChildren())) + { + $this->_setHeaderParameter('Content-Type', 'charset', null); + $this->_setHeaderParameter('Content-Type', 'format', null); + $this->_setHeaderParameter('Content-Type', 'delsp', null); + } + else + { + $this->setCharset($this->_userCharset); + $this->setFormat($this->_userFormat); + $this->setDelSp($this->_userDelSp); + } + } + + /** Set the nesting level of this entity */ + protected function _setNestingLevel($level) + { + $this->_nestingLevel = $level; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ParameterizedHeader.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ParameterizedHeader.php new file mode 100644 index 0000000..da65ca9 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/ParameterizedHeader.php @@ -0,0 +1,35 @@ +_encoder = $encoder; + $this->_paramEncoder = $paramEncoder; + $this->_charset = $charset; + } + + /** + * Create a new Mailbox Header with a list of $addresses. + * @param string $name + * @param array|string $addresses + * @return Swift_Mime_Header + */ + public function createMailboxHeader($name, $addresses = null) + { + $header = new Swift_Mime_Headers_MailboxHeader($name, $this->_encoder); + if (isset($addresses)) + { + $header->setFieldBodyModel($addresses); + } + $this->_setHeaderCharset($header); + return $header; + } + + /** + * Create a new Date header using $timestamp (UNIX time). + * @param string $name + * @param int $timestamp + * @return Swift_Mime_Header + */ + public function createDateHeader($name, $timestamp = null) + { + $header = new Swift_Mime_Headers_DateHeader($name); + if (isset($timestamp)) + { + $header->setFieldBodyModel($timestamp); + } + $this->_setHeaderCharset($header); + return $header; + } + + /** + * Create a new basic text header with $name and $value. + * @param string $name + * @param string $value + * @return Swift_Mime_Header + */ + public function createTextHeader($name, $value = null) + { + $header = new Swift_Mime_Headers_UnstructuredHeader($name, $this->_encoder); + if (isset($value)) + { + $header->setFieldBodyModel($value); + } + $this->_setHeaderCharset($header); + return $header; + } + + /** + * Create a new ParameterizedHeader with $name, $value and $params. + * @param string $name + * @param string $value + * @param array $params + * @return Swift_Mime_ParameterizedHeader + */ + public function createParameterizedHeader($name, $value = null, + $params = array()) + { + $header = new Swift_Mime_Headers_ParameterizedHeader($name, + $this->_encoder, (strtolower($name) == 'content-disposition') + ? $this->_paramEncoder + : null + ); + if (isset($value)) + { + $header->setFieldBodyModel($value); + } + foreach ($params as $k => $v) + { + $header->setParameter($k, $v); + } + $this->_setHeaderCharset($header); + return $header; + } + + /** + * Create a new ID header for Message-ID or Content-ID. + * @param string $name + * @param string|array $ids + * @return Swift_Mime_Header + */ + public function createIdHeader($name, $ids = null) + { + $header = new Swift_Mime_Headers_IdentificationHeader($name); + if (isset($ids)) + { + $header->setFieldBodyModel($ids); + } + $this->_setHeaderCharset($header); + return $header; + } + + /** + * Create a new Path header with an address (path) in it. + * @param string $name + * @param string $path + * @return Swift_Mime_Header + */ + public function createPathHeader($name, $path = null) + { + $header = new Swift_Mime_Headers_PathHeader($name); + if (isset($path)) + { + $header->setFieldBodyModel($path); + } + $this->_setHeaderCharset($header); + return $header; + } + + /** + * Notify this observer that the entity's charset has changed. + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_charset = $charset; + $this->_encoder->charsetChanged($charset); + $this->_paramEncoder->charsetChanged($charset); + } + + // -- Private methods + + /** Apply the charset to the Header */ + private function _setHeaderCharset(Swift_Mime_Header $header) + { + if (isset($this->_charset)) + { + $header->setCharset($this->_charset); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleHeaderSet.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleHeaderSet.php new file mode 100644 index 0000000..eeb0221 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleHeaderSet.php @@ -0,0 +1,396 @@ +_factory = $factory; + if (isset($charset)) + { + $this->setCharset($charset); + } + } + + /** + * Set the charset used by these headers. + * + * @param string $charset + */ + public function setCharset($charset) + { + $this->_charset = $charset; + $this->_factory->charsetChanged($charset); + $this->_notifyHeadersOfCharset($charset); + } + + /** + * Add a new Mailbox Header with a list of $addresses. + * + * @param string $name + * @param array|string $addresses + */ + public function addMailboxHeader($name, $addresses = null) + { + $this->_storeHeader($name, + $this->_factory->createMailboxHeader($name, $addresses)); + } + + /** + * Add a new Date header using $timestamp (UNIX time). + * + * @param string $name + * @param int $timestamp + */ + public function addDateHeader($name, $timestamp = null) + { + $this->_storeHeader($name, + $this->_factory->createDateHeader($name, $timestamp)); + } + + /** + * Add a new basic text header with $name and $value. + * + * @param string $name + * @param string $value + */ + public function addTextHeader($name, $value = null) + { + $this->_storeHeader($name, + $this->_factory->createTextHeader($name, $value)); + } + + /** + * Add a new ParameterizedHeader with $name, $value and $params. + * + * @param string $name + * @param string $value + * @param array $params + */ + public function addParameterizedHeader($name, $value = null, + $params = array()) + { + $this->_storeHeader($name, + $this->_factory->createParameterizedHeader($name, $value, + $params)); + } + + /** + * Add a new ID header for Message-ID or Content-ID. + * + * @param string $name + * @param string|array $ids + */ + public function addIdHeader($name, $ids = null) + { + $this->_storeHeader($name, $this->_factory->createIdHeader($name, $ids)); + } + + /** + * Add a new Path header with an address (path) in it. + * + * @param string $name + * @param string $path + */ + public function addPathHeader($name, $path = null) + { + $this->_storeHeader($name, $this->_factory->createPathHeader($name, $path)); + } + + /** + * Returns true if at least one header with the given $name exists. + * + * If multiple headers match, the actual one may be specified by $index. + * + * @param string $name + * @param int $index + * + * @return boolean + */ + public function has($name, $index = 0) + { + $lowerName = strtolower($name); + return array_key_exists($lowerName, $this->_headers) + && array_key_exists($index, $this->_headers[$lowerName]); + } + + /** + * Set a header in the HeaderSet. + * + * The header may be a previously fetched header via {@link get()} or it may + * be one that has been created separately. + * + * If $index is specified, the header will be inserted into the set at this + * offset. + * + * @param Swift_Mime_Header $header + * @param int $index + */ + public function set(Swift_Mime_Header $header, $index = 0) + { + $this->_storeHeader($header->getFieldName(), $header, $index); + } + + /** + * Get the header with the given $name. + * + * If multiple headers match, the actual one may be specified by $index. + * Returns NULL if none present. + * + * @param string $name + * @param int $index + * + * @return Swift_Mime_Header + */ + public function get($name, $index = 0) + { + if ($this->has($name, $index)) + { + $lowerName = strtolower($name); + return $this->_headers[$lowerName][$index]; + } + } + + /** + * Get all headers with the given $name. + * + * @param string $name + * + * @return array + */ + public function getAll($name = null) + { + if (!isset($name)) + { + $headers = array(); + foreach ($this->_headers as $collection) + { + $headers = array_merge($headers, $collection); + } + return $headers; + } + + $lowerName = strtolower($name); + if (!array_key_exists($lowerName, $this->_headers)) + { + return array(); + } + return $this->_headers[$lowerName]; + } + + /** + * Remove the header with the given $name if it's set. + * + * If multiple headers match, the actual one may be specified by $index. + * + * @param string $name + * @param int $index + */ + public function remove($name, $index = 0) + { + $lowerName = strtolower($name); + unset($this->_headers[$lowerName][$index]); + } + + /** + * Remove all headers with the given $name. + * + * @param string $name + */ + public function removeAll($name) + { + $lowerName = strtolower($name); + unset($this->_headers[$lowerName]); + } + + /** + * Create a new instance of this HeaderSet. + * + * @return Swift_Mime_HeaderSet + */ + public function newInstance() + { + return new self($this->_factory); + } + + /** + * Define a list of Header names as an array in the correct order. + * + * These Headers will be output in the given order where present. + * + * @param array $sequence + */ + public function defineOrdering(array $sequence) + { + $this->_order = array_flip(array_map('strtolower', $sequence)); + } + + /** + * Set a list of header names which must always be displayed when set. + * + * Usually headers without a field value won't be output unless set here. + * + * @param array $names + */ + public function setAlwaysDisplayed(array $names) + { + $this->_required = array_flip(array_map('strtolower', $names)); + } + + /** + * Notify this observer that the entity's charset has changed. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->setCharset($charset); + } + + /** + * Returns a string with a representation of all headers. + * + * @return string + */ + public function toString() + { + $string = ''; + $headers = $this->_headers; + if ($this->_canSort()) + { + uksort($headers, array($this, '_sortHeaders')); + } + foreach ($headers as $collection) + { + foreach ($collection as $header) + { + if ($this->_isDisplayed($header) || $header->getFieldBody() != '') + { + $string .= $header->toString(); + } + } + } + return $string; + } + + /** + * Returns a string representation of this object. + * + * @return string + * + * @see toString() + */ + public function __toString() + { + return $this->toString(); + } + + // -- Private methods + + /** Save a Header to the internal collection */ + private function _storeHeader($name, Swift_Mime_Header $header, $offset = null) + { + if (!isset($this->_headers[strtolower($name)])) + { + $this->_headers[strtolower($name)] = array(); + } + if (!isset($offset)) + { + $this->_headers[strtolower($name)][] = $header; + } + else + { + $this->_headers[strtolower($name)][$offset] = $header; + } + } + + /** Test if the headers can be sorted */ + private function _canSort() + { + return count($this->_order) > 0; + } + + /** uksort() algorithm for Header ordering */ + private function _sortHeaders($a, $b) + { + $lowerA = strtolower($a); + $lowerB = strtolower($b); + $aPos = array_key_exists($lowerA, $this->_order) + ? $this->_order[$lowerA] + : -1; + $bPos = array_key_exists($lowerB, $this->_order) + ? $this->_order[$lowerB] + : -1; + + if ($aPos == -1) + { + return 1; + } + elseif ($bPos == -1) + { + return -1; + } + + return ($aPos < $bPos) ? -1 : 1; + } + + /** Test if the given Header is always displayed */ + private function _isDisplayed(Swift_Mime_Header $header) + { + return array_key_exists(strtolower($header->getFieldName()), $this->_required); + } + + /** Notify all Headers of the new charset */ + private function _notifyHeadersOfCharset($charset) + { + foreach ($this->_headers as $headerGroup) + { + foreach ($headerGroup as $header) + { + $header->setCharset($charset); + } + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleMessage.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleMessage.php new file mode 100644 index 0000000..bbe1e8f --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleMessage.php @@ -0,0 +1,609 @@ +getHeaders()->defineOrdering(array( + 'Return-Path', + 'Sender', + 'Message-ID', + 'Date', + 'Subject', + 'From', + 'Reply-To', + 'To', + 'Cc', + 'Bcc', + 'MIME-Version', + 'Content-Type', + 'Content-Transfer-Encoding' + )); + $this->getHeaders()->setAlwaysDisplayed( + array('Date', 'Message-ID', 'From') + ); + $this->getHeaders()->addTextHeader('MIME-Version', '1.0'); + $this->setDate(time()); + $this->setId($this->getId()); + $this->getHeaders()->addMailboxHeader('From'); + } + + /** + * Always returns {@link LEVEL_TOP} for a message instance. + * @return int + */ + public function getNestingLevel() + { + return self::LEVEL_TOP; + } + + /** + * Set the subject of this message. + * @param string $subject + */ + public function setSubject($subject) + { + if (!$this->_setHeaderFieldModel('Subject', $subject)) + { + $this->getHeaders()->addTextHeader('Subject', $subject); + } + return $this; + } + + /** + * Get the subject of this message. + * @return string + */ + public function getSubject() + { + return $this->_getHeaderFieldModel('Subject'); + } + + /** + * Set the date at which this message was created. + * @param int $date + */ + public function setDate($date) + { + if (!$this->_setHeaderFieldModel('Date', $date)) + { + $this->getHeaders()->addDateHeader('Date', $date); + } + return $this; + } + + /** + * Get the date at which this message was created. + * @return int + */ + public function getDate() + { + return $this->_getHeaderFieldModel('Date'); + } + + /** + * Set the return-path (the bounce address) of this message. + * @param string $address + */ + public function setReturnPath($address) + { + if (!$this->_setHeaderFieldModel('Return-Path', $address)) + { + $this->getHeaders()->addPathHeader('Return-Path', $address); + } + return $this; + } + + /** + * Get the return-path (bounce address) of this message. + * @return string + */ + public function getReturnPath() + { + return $this->_getHeaderFieldModel('Return-Path'); + } + + /** + * Set the sender of this message. + * This does not override the From field, but it has a higher significance. + * @param string $sender + * @param string $name optional + */ + public function setSender($address, $name = null) + { + if (!is_array($address) && isset($name)) + { + $address = array($address => $name); + } + + if (!$this->_setHeaderFieldModel('Sender', (array) $address)) + { + $this->getHeaders()->addMailboxHeader('Sender', (array) $address); + } + return $this; + } + + /** + * Get the sender of this message. + * @return string + */ + public function getSender() + { + return $this->_getHeaderFieldModel('Sender'); + } + + /** + * Add a From: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + */ + public function addFrom($address, $name = null) + { + $current = $this->getFrom(); + $current[$address] = $name; + return $this->setFrom($current); + } + + /** + * Set the from address of this message. + * + * You may pass an array of addresses if this message is from multiple people. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param string $addresses + * @param string $name optional + */ + public function setFrom($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) + { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('From', (array) $addresses)) + { + $this->getHeaders()->addMailboxHeader('From', (array) $addresses); + } + return $this; + } + + /** + * Get the from address of this message. + * + * @return string + */ + public function getFrom() + { + return $this->_getHeaderFieldModel('From'); + } + + /** + * Add a Reply-To: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + */ + public function addReplyTo($address, $name = null) + { + $current = $this->getReplyTo(); + $current[$address] = $name; + return $this->setReplyTo($current); + } + + /** + * Set the reply-to address of this message. + * + * You may pass an array of addresses if replies will go to multiple people. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param string $addresses + * @param string $name optional + */ + public function setReplyTo($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) + { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('Reply-To', (array) $addresses)) + { + $this->getHeaders()->addMailboxHeader('Reply-To', (array) $addresses); + } + return $this; + } + + /** + * Get the reply-to address of this message. + * + * @return string + */ + public function getReplyTo() + { + return $this->_getHeaderFieldModel('Reply-To'); + } + + /** + * Add a To: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + */ + public function addTo($address, $name = null) + { + $current = $this->getTo(); + $current[$address] = $name; + return $this->setTo($current); + } + + /** + * Set the to addresses of this message. + * + * If multiple recipients will receive the message and array should be used. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param array $addresses + * @param string $name optional + */ + public function setTo($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) + { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('To', (array) $addresses)) + { + $this->getHeaders()->addMailboxHeader('To', (array) $addresses); + } + return $this; + } + + /** + * Get the To addresses of this message. + * + * @return array + */ + public function getTo() + { + return $this->_getHeaderFieldModel('To'); + } + + /** + * Add a Cc: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + */ + public function addCc($address, $name = null) + { + $current = $this->getCc(); + $current[$address] = $name; + return $this->setCc($current); + } + + /** + * Set the Cc addresses of this message. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param array $addresses + * @param string $name optional + */ + public function setCc($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) + { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('Cc', (array) $addresses)) + { + $this->getHeaders()->addMailboxHeader('Cc', (array) $addresses); + } + return $this; + } + + /** + * Get the Cc address of this message. + * + * @return array + */ + public function getCc() + { + return $this->_getHeaderFieldModel('Cc'); + } + + /** + * Add a Bcc: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + */ + public function addBcc($address, $name = null) + { + $current = $this->getBcc(); + $current[$address] = $name; + return $this->setBcc($current); + } + + /** + * Set the Bcc addresses of this message. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param array $addresses + * @param string $name optional + */ + public function setBcc($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) + { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('Bcc', (array) $addresses)) + { + $this->getHeaders()->addMailboxHeader('Bcc', (array) $addresses); + } + return $this; + } + + /** + * Get the Bcc addresses of this message. + * + * @return array + */ + public function getBcc() + { + return $this->_getHeaderFieldModel('Bcc'); + } + + /** + * Set the priority of this message. + * The value is an integer where 1 is the highest priority and 5 is the lowest. + * @param int $priority + */ + public function setPriority($priority) + { + $priorityMap = array( + 1 => 'Highest', + 2 => 'High', + 3 => 'Normal', + 4 => 'Low', + 5 => 'Lowest' + ); + $pMapKeys = array_keys($priorityMap); + if ($priority > max($pMapKeys)) + { + $priority = max($pMapKeys); + } + elseif ($priority < min($pMapKeys)) + { + $priority = min($pMapKeys); + } + if (!$this->_setHeaderFieldModel('X-Priority', + sprintf('%d (%s)', $priority, $priorityMap[$priority]))) + { + $this->getHeaders()->addTextHeader('X-Priority', + sprintf('%d (%s)', $priority, $priorityMap[$priority])); + } + return $this; + } + + /** + * Get the priority of this message. + * The returned value is an integer where 1 is the highest priority and 5 + * is the lowest. + * @return int + */ + public function getPriority() + { + list($priority) = sscanf($this->_getHeaderFieldModel('X-Priority'), + '%[1-5]' + ); + return isset($priority) ? $priority : 3; + } + + /** + * Ask for a delivery receipt from the recipient to be sent to $addresses + * @param array $addresses + */ + public function setReadReceiptTo($addresses) + { + if (!$this->_setHeaderFieldModel('Disposition-Notification-To', $addresses)) + { + $this->getHeaders() + ->addMailboxHeader('Disposition-Notification-To', $addresses); + } + return $this; + } + + /** + * Get the addresses to which a read-receipt will be sent. + * @return string + */ + public function getReadReceiptTo() + { + return $this->_getHeaderFieldModel('Disposition-Notification-To'); + } + + /** + * Attach a {@link Swift_Mime_MimeEntity} such as an Attachment or MimePart. + * @param Swift_Mime_MimeEntity $entity + */ + public function attach(Swift_Mime_MimeEntity $entity) + { + $this->setChildren(array_merge($this->getChildren(), array($entity))); + return $this; + } + + /** + * Remove an already attached entity. + * @param Swift_Mime_MimeEntity $entity + */ + public function detach(Swift_Mime_MimeEntity $entity) + { + $newChildren = array(); + foreach ($this->getChildren() as $child) + { + if ($entity !== $child) + { + $newChildren[] = $child; + } + } + $this->setChildren($newChildren); + return $this; + } + + /** + * Attach a {@link Swift_Mime_MimeEntity} and return it's CID source. + * This method should be used when embedding images or other data in a message. + * @param Swift_Mime_MimeEntity $entity + * @return string + */ + public function embed(Swift_Mime_MimeEntity $entity) + { + $this->attach($entity); + return 'cid:' . $entity->getId(); + } + + /** + * Get this message as a complete string. + * @return string + */ + public function toString() + { + if (count($children = $this->getChildren()) > 0 && $this->getBody() != '') + { + $this->setChildren(array_merge(array($this->_becomeMimePart()), $children)); + $string = parent::toString(); + $this->setChildren($children); + } + else + { + $string = parent::toString(); + } + return $string; + } + + /** + * Returns a string representation of this object. + * + * @return string + * + * @see toString() + */ + public function __toString() + { + return $this->toString(); + } + + /** + * Write this message to a {@link Swift_InputByteStream}. + * @param Swift_InputByteStream $is + */ + public function toByteStream(Swift_InputByteStream $is) + { + if (count($children = $this->getChildren()) > 0 && $this->getBody() != '') + { + $this->setChildren(array_merge(array($this->_becomeMimePart()), $children)); + parent::toByteStream($is); + $this->setChildren($children); + } + else + { + parent::toByteStream($is); + } + } + + // -- Protected methods + + /** @see Swift_Mime_SimpleMimeEntity::_getIdField() */ + protected function _getIdField() + { + return 'Message-ID'; + } + + // -- Private methods + + /** Turn the body of this message into a child of itself if needed */ + private function _becomeMimePart() + { + $part = new parent($this->getHeaders()->newInstance(), $this->getEncoder(), + $this->_getCache(), $this->_userCharset + ); + $part->setContentType($this->_userContentType); + $part->setBody($this->getBody()); + $part->setFormat($this->_userFormat); + $part->setDelSp($this->_userDelSp); + $part->_setNestingLevel($this->_getTopNestingLevel()); + return $part; + } + + /** Get the highest nesting level nested inside this message */ + private function _getTopNestingLevel() + { + $highestLevel = $this->getNestingLevel(); + foreach ($this->getChildren() as $child) + { + $childLevel = $child->getNestingLevel(); + if ($highestLevel < $childLevel) + { + $highestLevel = $childLevel; + } + } + return $highestLevel; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleMimeEntity.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleMimeEntity.php new file mode 100644 index 0000000..1615822 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Mime/SimpleMimeEntity.php @@ -0,0 +1,803 @@ + array(self::LEVEL_TOP, self::LEVEL_MIXED), + 'multipart/alternative' => array(self::LEVEL_MIXED, self::LEVEL_ALTERNATIVE), + 'multipart/related' => array(self::LEVEL_ALTERNATIVE, self::LEVEL_RELATED) + ); + + /** A set of filter rules to define what level an entity should be nested at */ + private $_compoundLevelFilters = array(); + + /** The nesting level of this entity */ + private $_nestingLevel = self::LEVEL_ALTERNATIVE; + + /** A KeyCache instance used during encoding and streaming */ + private $_cache; + + /** Direct descendants of this entity */ + private $_immediateChildren = array(); + + /** All descendants of this entity */ + private $_children = array(); + + /** The maximum line length of the body of this entity */ + private $_maxLineLength = 78; + + /** The order in which alternative mime types should appear */ + private $_alternativePartOrder = array( + 'text/plain' => 1, + 'text/html' => 2, + 'multipart/related' => 3 + ); + + /** The CID of this entity */ + private $_id; + + /** The key used for accessing the cache */ + private $_cacheKey; + + protected $_userContentType; + + /** + * Create a new SimpleMimeEntity with $headers, $encoder and $cache. + * @param Swift_Mime_HeaderSet $headers + * @param Swift_Mime_ContentEncoder $encoder + * @param Swift_KeyCache $cache + */ + public function __construct(Swift_Mime_HeaderSet $headers, + Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache) + { + $this->_cacheKey = uniqid(); + $this->_cache = $cache; + $this->_headers = $headers; + $this->setEncoder($encoder); + $this->_headers->defineOrdering( + array('Content-Type', 'Content-Transfer-Encoding') + ); + + // This array specifies that, when the entire MIME document contains + // $compoundLevel, then for each child within $level, if its Content-Type + // is $contentType then it should be treated as if it's level is + // $neededLevel instead. I tried to write that unambiguously! :-\ + // Data Structure: + // array ( + // $compoundLevel => array( + // $level => array( + // $contentType => $neededLevel + // ) + // ) + // ) + + $this->_compoundLevelFilters = array( + (self::LEVEL_ALTERNATIVE + self::LEVEL_RELATED) => array( + self::LEVEL_ALTERNATIVE => array( + 'text/plain' => self::LEVEL_ALTERNATIVE, + 'text/html' => self::LEVEL_RELATED + ) + ) + ); + + $this->_id = $this->getRandomId(); + } + + /** + * Generate a new Content-ID or Message-ID for this MIME entity. + * @return string + */ + public function generateId() + { + $this->setId($this->getRandomId()); + return $this->_id; + } + + /** + * Get the {@link Swift_Mime_HeaderSet} for this entity. + * @return Swift_Mime_HeaderSet + */ + public function getHeaders() + { + return $this->_headers; + } + + /** + * Get the nesting level of this entity. + * @return int + * @see LEVEL_TOP, LEVEL_MIXED, LEVEL_RELATED, LEVEL_ALTERNATIVE + */ + public function getNestingLevel() + { + return $this->_nestingLevel; + } + + /** + * Get the Content-type of this entity. + * @return string + */ + public function getContentType() + { + return $this->_getHeaderFieldModel('Content-Type'); + } + + /** + * Set the Content-type of this entity. + * @param string $type + */ + public function setContentType($type) + { + $this->_setContentTypeInHeaders($type); + // Keep track of the value so that if the content-type changes automatically + // due to added child entities, it can be restored if they are later removed + $this->_userContentType = $type; + return $this; + } + + /** + * Get the CID of this entity. + * The CID will only be present in headers if a Content-ID header is present. + * @return string + */ + public function getId() + { + return $this->_headers->has($this->_getIdField()) + ? current((array) $this->_getHeaderFieldModel($this->_getIdField())) + : $this->_id; + } + + /** + * Set the CID of this entity. + * @param string $id + */ + public function setId($id) + { + if (!$this->_setHeaderFieldModel($this->_getIdField(), $id)) + { + $this->_headers->addIdHeader($this->_getIdField(), $id); + } + $this->_id = $id; + return $this; + } + + /** + * Get the description of this entity. + * This value comes from the Content-Description header if set. + * @return string + */ + public function getDescription() + { + return $this->_getHeaderFieldModel('Content-Description'); + } + + /** + * Set the description of this entity. + * This method sets a value in the Content-ID header. + * @param string $description + */ + public function setDescription($description) + { + if (!$this->_setHeaderFieldModel('Content-Description', $description)) + { + $this->_headers->addTextHeader('Content-Description', $description); + } + return $this; + } + + /** + * Get the maximum line length of the body of this entity. + * @return int + */ + public function getMaxLineLength() + { + return $this->_maxLineLength; + } + + /** + * Set the maximum line length of lines in this body. + * Though not enforced by the library, lines should not exceed 1000 chars. + * @param int $length + */ + public function setMaxLineLength($length) + { + $this->_maxLineLength = $length; + return $this; + } + + /** + * Get all children added to this entity. + * @return array of Swift_Mime_Entity + */ + public function getChildren() + { + return $this->_children; + } + + /** + * Set all children of this entity. + * @param array $children Swiift_Mime_Entity instances + * @param int $compoundLevel For internal use only + */ + public function setChildren(array $children, $compoundLevel = null) + { + //TODO: Try to refactor this logic + + $compoundLevel = isset($compoundLevel) + ? $compoundLevel + : $this->_getCompoundLevel($children) + ; + + $immediateChildren = array(); + $grandchildren = array(); + $newContentType = $this->_userContentType; + + foreach ($children as $child) + { + $level = $this->_getNeededChildLevel($child, $compoundLevel); + if (empty($immediateChildren)) //first iteration + { + $immediateChildren = array($child); + } + else + { + $nextLevel = $this->_getNeededChildLevel($immediateChildren[0], $compoundLevel); + if ($nextLevel == $level) + { + $immediateChildren[] = $child; + } + elseif ($level < $nextLevel) + { + //Re-assign immediateChildren to grandchilden + $grandchildren = array_merge($grandchildren, $immediateChildren); + //Set new children + $immediateChildren = array($child); + } + else + { + $grandchildren[] = $child; + } + } + } + + if (!empty($immediateChildren)) + { + $lowestLevel = $this->_getNeededChildLevel($immediateChildren[0], $compoundLevel); + + //Determine which composite media type is needed to accomodate the + // immediate children + foreach ($this->_compositeRanges as $mediaType => $range) + { + if ($lowestLevel > $range[0] + && $lowestLevel <= $range[1]) + { + $newContentType = $mediaType; + break; + } + } + + //Put any grandchildren in a subpart + if (!empty($grandchildren)) + { + $subentity = $this->_createChild(); + $subentity->_setNestingLevel($lowestLevel); + $subentity->setChildren($grandchildren, $compoundLevel); + array_unshift($immediateChildren, $subentity); + } + } + + $this->_immediateChildren = $immediateChildren; + $this->_children = $children; + $this->_setContentTypeInHeaders($newContentType); + $this->_fixHeaders(); + $this->_sortChildren(); + + return $this; + } + + /** + * Get the body of this entity as a string. + * @return string + */ + public function getBody() + { + return ($this->_body instanceof Swift_OutputByteStream) + ? $this->_readStream($this->_body) + : $this->_body; + } + + /** + * Set the body of this entity, either as a string, or as an instance of + * {@link Swift_OutputByteStream}. + * @param mixed $body + * @param string $contentType optional + */ + public function setBody($body, $contentType = null) + { + if ($body !== $this->_body) + { + $this->_clearCache(); + } + + $this->_body = $body; + if (isset($contentType)) + { + $this->setContentType($contentType); + } + return $this; + } + + /** + * Get the encoder used for the body of this entity. + * @return Swift_Mime_ContentEncoder + */ + public function getEncoder() + { + return $this->_encoder; + } + + /** + * Set the encoder used for the body of this entity. + * @param Swift_Mime_ContentEncoder $encoder + */ + public function setEncoder(Swift_Mime_ContentEncoder $encoder) + { + if ($encoder !== $this->_encoder) + { + $this->_clearCache(); + } + + $this->_encoder = $encoder; + $this->_setEncoding($encoder->getName()); + $this->_notifyEncoderChanged($encoder); + return $this; + } + + /** + * Get the boundary used to separate children in this entity. + * @return string + */ + public function getBoundary() + { + if (!isset($this->_boundary)) + { + $this->_boundary = '_=_swift_v4_' . time() . uniqid() . '_=_'; + } + return $this->_boundary; + } + + /** + * Set the boundary used to separate children in this entity. + * @param string $boundary + * @throws Swift_RfcComplianceException + */ + public function setBoundary($boundary) + { + $this->_assertValidBoundary($boundary); + $this->_boundary = $boundary; + return $this; + } + + /** + * Receive notification that the charset of this entity, or a parent entity + * has changed. + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_notifyCharsetChanged($charset); + } + + /** + * Receive notification that the encoder of this entity or a parent entity + * has changed. + * @param Swift_Mime_ContentEncoder $encoder + */ + public function encoderChanged(Swift_Mime_ContentEncoder $encoder) + { + $this->_notifyEncoderChanged($encoder); + } + + /** + * Get this entire entity as a string. + * @return string + */ + public function toString() + { + $string = $this->_headers->toString(); + if (isset($this->_body) && empty($this->_immediateChildren)) + { + if ($this->_cache->hasKey($this->_cacheKey, 'body')) + { + $body = $this->_cache->getString($this->_cacheKey, 'body'); + } + else + { + $body = "\r\n" . $this->_encoder->encodeString($this->getBody(), 0, + $this->getMaxLineLength() + ); + $this->_cache->setString($this->_cacheKey, 'body', $body, + Swift_KeyCache::MODE_WRITE + ); + } + $string .= $body; + } + + if (!empty($this->_immediateChildren)) + { + foreach ($this->_immediateChildren as $child) + { + $string .= "\r\n\r\n--" . $this->getBoundary() . "\r\n"; + $string .= $child->toString(); + } + $string .= "\r\n\r\n--" . $this->getBoundary() . "--\r\n"; + } + + return $string; + } + + /** + * Returns a string representation of this object. + * + * @return string + * + * @see toString() + */ + public function __toString() + { + return $this->toString(); + } + + /** + * Write this entire entity to a {@link Swift_InputByteStream}. + * @param Swift_InputByteStream + */ + public function toByteStream(Swift_InputByteStream $is) + { + $is->write($this->_headers->toString()); + $is->commit(); + + if (empty($this->_immediateChildren)) + { + if (isset($this->_body)) + { + if ($this->_cache->hasKey($this->_cacheKey, 'body')) + { + $this->_cache->exportToByteStream($this->_cacheKey, 'body', $is); + } + else + { + $cacheIs = $this->_cache->getInputByteStream($this->_cacheKey, 'body'); + if ($cacheIs) + { + $is->bind($cacheIs); + } + + $is->write("\r\n"); + + if ($this->_body instanceof Swift_OutputByteStream) + { + $this->_body->setReadPointer(0); + + $this->_encoder->encodeByteStream($this->_body, $is, 0, + $this->getMaxLineLength() + ); + } + else + { + $is->write($this->_encoder->encodeString( + $this->getBody(), 0, $this->getMaxLineLength() + )); + } + + if ($cacheIs) + { + $is->unbind($cacheIs); + } + } + } + } + + if (!empty($this->_immediateChildren)) + { + foreach ($this->_immediateChildren as $child) + { + $is->write("\r\n\r\n--" . $this->getBoundary() . "\r\n"); + $child->toByteStream($is); + } + $is->write("\r\n\r\n--" . $this->getBoundary() . "--\r\n"); + } + } + + // -- Protected methods + + /** + * Get the name of the header that provides the ID of this entity */ + protected function _getIdField() + { + return 'Content-ID'; + } + + /** + * Get the model data (usually an array or a string) for $field. + */ + protected function _getHeaderFieldModel($field) + { + if ($this->_headers->has($field)) + { + return $this->_headers->get($field)->getFieldBodyModel(); + } + } + + /** + * Set the model data for $field. + */ + protected function _setHeaderFieldModel($field, $model) + { + if ($this->_headers->has($field)) + { + $this->_headers->get($field)->setFieldBodyModel($model); + return true; + } + else + { + return false; + } + } + + /** + * Get the parameter value of $parameter on $field header. + */ + protected function _getHeaderParameter($field, $parameter) + { + if ($this->_headers->has($field)) + { + return $this->_headers->get($field)->getParameter($parameter); + } + } + + /** + * Set the parameter value of $parameter on $field header. + */ + protected function _setHeaderParameter($field, $parameter, $value) + { + if ($this->_headers->has($field)) + { + $this->_headers->get($field)->setParameter($parameter, $value); + return true; + } + else + { + return false; + } + } + + /** + * Re-evaluate what content type and encoding should be used on this entity. + */ + protected function _fixHeaders() + { + if (count($this->_immediateChildren)) + { + $this->_setHeaderParameter('Content-Type', 'boundary', + $this->getBoundary() + ); + $this->_headers->remove('Content-Transfer-Encoding'); + } + else + { + $this->_setHeaderParameter('Content-Type', 'boundary', null); + $this->_setEncoding($this->_encoder->getName()); + } + } + + /** + * Get the KeyCache used in this entity. + */ + protected function _getCache() + { + return $this->_cache; + } + + /** + * Empty the KeyCache for this entity. + */ + protected function _clearCache() + { + $this->_cache->clearKey($this->_cacheKey, 'body'); + } + + /** + * Returns a random Content-ID or Message-ID. + * @return string + */ + protected function getRandomId() + { + $idLeft = time() . '.' . uniqid(); + $idRight = !empty($_SERVER['SERVER_NAME']) + ? $_SERVER['SERVER_NAME'] + : 'swift.generated'; + return $idLeft . '@' . $idRight; + } + + // -- Private methods + + private function _readStream(Swift_OutputByteStream $os) + { + $string = ''; + while (false !== $bytes = $os->read(8192)) + { + $string .= $bytes; + } + return $string; + } + + private function _setEncoding($encoding) + { + if (!$this->_setHeaderFieldModel('Content-Transfer-Encoding', $encoding)) + { + $this->_headers->addTextHeader('Content-Transfer-Encoding', $encoding); + } + } + + private function _assertValidBoundary($boundary) + { + if (!preg_match( + '/^[a-z0-9\'\(\)\+_\-,\.\/:=\?\ ]{0,69}[a-z0-9\'\(\)\+_\-,\.\/:=\?]$/Di', + $boundary)) + { + throw new Swift_RfcComplianceException('Mime boundary set is not RFC 2046 compliant.'); + } + } + + private function _setContentTypeInHeaders($type) + { + if (!$this->_setHeaderFieldModel('Content-Type', $type)) + { + $this->_headers->addParameterizedHeader('Content-Type', $type); + } + } + + private function _setNestingLevel($level) + { + $this->_nestingLevel = $level; + } + + private function _getCompoundLevel($children) + { + $level = 0; + foreach ($children as $child) + { + $level |= $child->getNestingLevel(); + } + return $level; + } + + private function _getNeededChildLevel($child, $compoundLevel) + { + $filter = array(); + foreach ($this->_compoundLevelFilters as $bitmask => $rules) + { + if (($compoundLevel & $bitmask) === $bitmask) + { + $filter = $rules + $filter; + } + } + + $realLevel = $child->getNestingLevel(); + $lowercaseType = strtolower($child->getContentType()); + + if (isset($filter[$realLevel]) + && isset($filter[$realLevel][$lowercaseType])) + { + return $filter[$realLevel][$lowercaseType]; + } + else + { + return $realLevel; + } + } + + private function _createChild() + { + return new self($this->_headers->newInstance(), + $this->_encoder, $this->_cache); + } + + private function _notifyEncoderChanged(Swift_Mime_ContentEncoder $encoder) + { + foreach ($this->_immediateChildren as $child) + { + $child->encoderChanged($encoder); + } + } + + private function _notifyCharsetChanged($charset) + { + $this->_encoder->charsetChanged($charset); + $this->_headers->charsetChanged($charset); + foreach ($this->_immediateChildren as $child) + { + $child->charsetChanged($charset); + } + } + + private function _sortChildren() + { + $shouldSort = false; + foreach ($this->_immediateChildren as $child) + { + //NOTE: This include alternative parts moved into a related part + if ($child->getNestingLevel() == self::LEVEL_ALTERNATIVE) + { + $shouldSort = true; + break; + } + } + + //Sort in order of preference, if there is one + if ($shouldSort) + { + usort($this->_immediateChildren, array($this, '_childSortAlgorithm')); + } + } + + private function _childSortAlgorithm($a, $b) + { + $typePrefs = array(); + $types = array( + strtolower($a->getContentType()), + strtolower($b->getContentType()) + ); + foreach ($types as $type) + { + $typePrefs[] = (array_key_exists($type, $this->_alternativePartOrder)) + ? $this->_alternativePartOrder[$type] + : (max($this->_alternativePartOrder) + 1); + } + return ($typePrefs[0] >= $typePrefs[1]) ? 1 : -1; + } + + // -- Destructor + + /** + * Empties it's own contents from the cache. + */ + public function __destruct() + { + $this->_cache->clearAll($this->_cacheKey); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/MimePart.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/MimePart.php new file mode 100644 index 0000000..60b6d56 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/MimePart.php @@ -0,0 +1,65 @@ +createDependenciesFor('mime.part') + ); + + if (!isset($charset)) + { + $charset = Swift_DependencyContainer::getInstance() + ->lookup('properties.charset'); + } + $this->setBody($body); + $this->setCharset($charset); + if ($contentType) + { + $this->setContentType($contentType); + } + } + + /** + * Create a new MimePart. + * @param string $body + * @param string $contentType + * @param string $charset + * @return Swift_Mime_MimePart + */ + public static function newInstance($body = null, $contentType = null, + $charset = null) + { + return new self($body, $contentType, $charset); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/OutputByteStream.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/OutputByteStream.php new file mode 100644 index 0000000..951b838 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/OutputByteStream.php @@ -0,0 +1,41 @@ +setThreshold($threshold); + $this->setSleepTime($sleep); + $this->_sleeper = $sleeper; + } + + /** + * Set the number of emails to send before restarting. + * @param int $threshold + */ + public function setThreshold($threshold) + { + $this->_threshold = $threshold; + } + + /** + * Get the number of emails to send before restarting. + * @return int + */ + public function getThreshold() + { + return $this->_threshold; + } + + /** + * Set the number of seconds to sleep for during a restart. + * @param int $sleep time + */ + public function setSleepTime($sleep) + { + $this->_sleep = $sleep; + } + + /** + * Get the number of seconds to sleep for during a restart. + * @return int + */ + public function getSleepTime() + { + return $this->_sleep; + } + + /** + * Invoked immediately before the Message is sent. + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + } + + /** + * Invoked immediately after the Message is sent. + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + ++$this->_counter; + if ($this->_counter >= $this->_threshold) + { + $transport = $evt->getTransport(); + $transport->stop(); + if ($this->_sleep) + { + $this->sleep($this->_sleep); + } + $transport->start(); + $this->_counter = 0; + } + } + + /** + * Sleep for $seconds. + * @param int $seconds + */ + public function sleep($seconds) + { + if (isset($this->_sleeper)) + { + $this->_sleeper->sleep($seconds); + } + else + { + sleep($seconds); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php new file mode 100644 index 0000000..501cd80 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php @@ -0,0 +1,173 @@ +getMessage(); + $message->toByteStream($this); + } + + /** + * Invoked immediately following a command being sent. + * @param Swift_Events_ResponseEvent $evt + */ + public function commandSent(Swift_Events_CommandEvent $evt) + { + $command = $evt->getCommand(); + $this->_out += strlen($command); + } + + /** + * Invoked immediately following a response coming back. + * @param Swift_Events_ResponseEvent $evt + */ + public function responseReceived(Swift_Events_ResponseEvent $evt) + { + $response = $evt->getResponse(); + $this->_in += strlen($response); + } + + /** + * Called when a message is sent so that the outgoing counter can be increased. + * @param string $bytes + */ + public function write($bytes) + { + $this->_out += strlen($bytes); + foreach ($this->_mirrors as $stream) + { + $stream->write($bytes); + } + } + + /** + * Not used. + */ + public function commit() + { + } + + /** + * Attach $is to this stream. + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + */ + public function bind(Swift_InputByteStream $is) + { + $this->_mirrors[] = $is; + } + + /** + * Remove an already bound stream. + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + */ + public function unbind(Swift_InputByteStream $is) + { + foreach ($this->_mirrors as $k => $stream) + { + if ($is === $stream) + { + unset($this->_mirrors[$k]); + } + } + } + + /** + * Not used. + */ + public function flushBuffers() + { + foreach ($this->_mirrors as $stream) + { + $stream->flushBuffers(); + } + } + + /** + * Get the total number of bytes sent to the server. + * @return int + */ + public function getBytesOut() + { + return $this->_out; + } + + /** + * Get the total number of bytes received from the server. + * @return int + */ + public function getBytesIn() + { + return $this->_in; + } + + /** + * Reset the internal counters to zero. + */ + public function reset() + { + $this->_out = 0; + $this->_in = 0; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Decorator/Replacements.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Decorator/Replacements.php new file mode 100644 index 0000000..9735d0a --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Decorator/Replacements.php @@ -0,0 +1,36 @@ + + * $replacements = array( + * "address1@domain.tld" => array("{a}" => "b", "{c}" => "d"), + * "address2@domain.tld" => array("{a}" => "x", "{c}" => "y") + * ) + * + * + * When using an instance of {@link Swift_Plugins_Decorator_Replacements}, + * the object should return just the array of replacements for the address + * given to {@link Swift_Plugins_Decorator_Replacements::getReplacementsFor()}. + * + * @param mixed $replacements + */ + public function __construct($replacements) + { + if (!($replacements instanceof Swift_Plugins_Decorator_Replacements)) + { + $this->_replacements = (array) $replacements; + } + else + { + $this->_replacements = $replacements; + } + } + + /** + * Invoked immediately before the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + $message = $evt->getMessage(); + $this->_restoreMessage($message); + $to = array_keys($message->getTo()); + $address = array_shift($to); + if ($replacements = $this->getReplacementsFor($address)) + { + $body = $message->getBody(); + $search = array_keys($replacements); + $replace = array_values($replacements); + $bodyReplaced = str_replace( + $search, $replace, $body + ); + if ($body != $bodyReplaced) + { + $this->_originalBody = $body; + $message->setBody($bodyReplaced); + } + $subject = $message->getSubject(); + $subjectReplaced = str_replace( + $search, $replace, $subject + ); + if ($subject != $subjectReplaced) + { + $this->_originalSubject = $subject; + $message->setSubject($subjectReplaced); + } + $children = (array) $message->getChildren(); + foreach ($children as $child) + { + list($type, ) = sscanf($child->getContentType(), '%[^/]/%s'); + if ('text' == $type) + { + $body = $child->getBody(); + $bodyReplaced = str_replace( + $search, $replace, $body + ); + if ($body != $bodyReplaced) + { + $child->setBody($bodyReplaced); + $this->_originalChildBodies[$child->getId()] = $body; + } + } + } + $this->_lastMessage = $message; + } + } + + /** + * Find a map of replacements for the address. + * + * If this plugin was provided with a delegate instance of + * {@link Swift_Plugins_Decorator_Replacements} then the call will be + * delegated to it. Otherwise, it will attempt to find the replacements + * from the array provided in the constructor. + * + * If no replacements can be found, an empty value (NULL) is returned. + * + * @param string $address + * + * @return array + */ + public function getReplacementsFor($address) + { + if ($this->_replacements instanceof Swift_Plugins_Decorator_Replacements) + { + return $this->_replacements->getReplacementsFor($address); + } + else + { + return isset($this->_replacements[$address]) + ? $this->_replacements[$address] + : null + ; + } + } + + /** + * Invoked immediately after the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + $this->_restoreMessage($evt->getMessage()); + } + + // -- Private methods + + /** Restore a changed message back to its original state */ + private function _restoreMessage(Swift_Mime_Message $message) + { + if ($this->_lastMessage === $message) + { + if (isset($this->_originalBody)) + { + $message->setBody($this->_originalBody); + $this->_originalBody = null; + } + if (isset($this->_originalSubject)) + { + $message->setSubject($this->_originalSubject); + $this->_originalSubject = null; + } + if (!empty($this->_originalChildBodies)) + { + $children = (array) $message->getChildren(); + foreach ($children as $child) + { + $id = $child->getId(); + if (array_key_exists($id, $this->_originalChildBodies)) + { + $child->setBody($this->_originalChildBodies[$id]); + } + } + $this->_originalChildBodies = array(); + } + $this->_lastMessage = null; + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Logger.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Logger.php new file mode 100644 index 0000000..9864da0 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Logger.php @@ -0,0 +1,37 @@ +_logger = $logger; + } + + /** + * Add a log entry. + * + * @param string $entry + */ + public function add($entry) + { + $this->_logger->add($entry); + } + + /** + * Clear the log contents. + */ + public function clear() + { + $this->_logger->clear(); + } + + /** + * Get this log as a string. + * + * @return string + */ + public function dump() + { + return $this->_logger->dump(); + } + + /** + * Invoked immediately following a command being sent. + * + * @param Swift_Events_ResponseEvent $evt + */ + public function commandSent(Swift_Events_CommandEvent $evt) + { + $command = $evt->getCommand(); + $this->_logger->add(sprintf(">> %s", $command)); + } + + /** + * Invoked immediately following a response coming back. + * + * @param Swift_Events_ResponseEvent $evt + */ + public function responseReceived(Swift_Events_ResponseEvent $evt) + { + $response = $evt->getResponse(); + $this->_logger->add(sprintf("<< %s", $response)); + } + + /** + * Invoked just before a Transport is started. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf("++ Starting %s", $transportName)); + } + + /** + * Invoked immediately after the Transport is started. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function transportStarted(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf("++ %s started", $transportName)); + } + + /** + * Invoked just before a Transport is stopped. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf("++ Stopping %s", $transportName)); + } + + /** + * Invoked immediately after the Transport is stopped. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function transportStopped(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf("++ %s stopped", $transportName)); + } + + /** + * Invoked as a TransportException is thrown in the Transport system. + * + * @param Swift_Events_TransportExceptionEvent $evt + */ + public function exceptionThrown(Swift_Events_TransportExceptionEvent $evt) + { + $e = $evt->getException(); + $message = $e->getMessage(); + $this->_logger->add(sprintf("!! %s", $message)); + $message .= PHP_EOL; + $message .= 'Log data:' . PHP_EOL; + $message .= $this->_logger->dump(); + $evt->cancelBubble(); + throw new Swift_TransportException($message); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Loggers/ArrayLogger.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Loggers/ArrayLogger.php new file mode 100644 index 0000000..930eca2 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Loggers/ArrayLogger.php @@ -0,0 +1,73 @@ +_size = $size; + } + + /** + * Add a log entry. + * @param string $entry + */ + public function add($entry) + { + $this->_log[] = $entry; + while (count($this->_log) > $this->_size) + { + array_shift($this->_log); + } + } + + /** + * Clear the log contents. + */ + public function clear() + { + $this->_log = array(); + } + + /** + * Get this log as a string. + * @return string + */ + public function dump() + { + return implode(PHP_EOL, $this->_log); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Loggers/EchoLogger.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Loggers/EchoLogger.php new file mode 100644 index 0000000..83dd54b --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Loggers/EchoLogger.php @@ -0,0 +1,64 @@ +_isHtml = $isHtml; + } + + /** + * Add a log entry. + * @param string $entry + */ + public function add($entry) + { + if ($this->_isHtml) + { + printf('%s%s%s', htmlspecialchars($entry, ENT_QUOTES), '
    ', PHP_EOL); + } + else + { + printf('%s%s', $entry, PHP_EOL); + } + } + + /** + * Not implemented. + */ + public function clear() + { + } + + /** + * Not implemented. + */ + public function dump() + { + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Pop/Pop3Connection.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Pop/Pop3Connection.php new file mode 100644 index 0000000..1c96dcf --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Pop/Pop3Connection.php @@ -0,0 +1,36 @@ +_host = $host; + $this->_port = $port; + $this->_crypto = $crypto; + } + + /** + * Create a new PopBeforeSmtpPlugin for $host and $port. + * + * @param string $host + * @param int $port + * @param string $cypto as "tls" or "ssl" + * + * @return Swift_Plugins_PopBeforeSmtpPlugin + */ + public static function newInstance($host, $port = 110, $crypto = null) + { + return new self($host, $port, $crypto); + } + + /** + * Set a Pop3Connection to delegate to instead of connecting directly. + * + * @param Swift_Plugins_Pop_Pop3Connection $connection + */ + public function setConnection(Swift_Plugins_Pop_Pop3Connection $connection) + { + $this->_connection = $connection; + return $this; + } + + /** + * Bind this plugin to a specific SMTP transport instance. + * + * @param Swift_Transport + */ + public function bindSmtp(Swift_Transport $smtp) + { + $this->_transport = $smtp; + } + + /** + * Set the connection timeout in seconds (default 10). + * + * @param int $timeout + */ + public function setTimeout($timeout) + { + $this->_timeout = (int) $timeout; + return $this; + } + + /** + * Set the username to use when connecting (if needed). + * + * @param string $username + */ + public function setUsername($username) + { + $this->_username = $username; + return $this; + } + + /** + * Set the password to use when connecting (if needed). + * + * @param string $password + */ + public function setPassword($password) + { + $this->_password = $password; + return $this; + } + + /** + * Connect to the POP3 host and authenticate. + * + * @throws Swift_Plugins_Pop_Pop3Exception if connection fails + */ + public function connect() + { + if (isset($this->_connection)) + { + $this->_connection->connect(); + } + else + { + if (!isset($this->_socket)) + { + if (!$socket = fsockopen( + $this->_getHostString(), $this->_port, $errno, $errstr, $this->_timeout)) + { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to connect to POP3 host [%s]: %s', $this->_host, $errstr) + ); + } + $this->_socket = $socket; + + if (false === $greeting = fgets($this->_socket)) + { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to connect to POP3 host [%s]', trim($greeting)) + ); + } + + $this->_assertOk($greeting); + + if ($this->_username) + { + $this->_command(sprintf("USER %s\r\n", $this->_username)); + $this->_command(sprintf("PASS %s\r\n", $this->_password)); + } + } + } + } + + /** + * Disconnect from the POP3 host. + */ + public function disconnect() + { + if (isset($this->_connection)) + { + $this->_connection->disconnect(); + } + else + { + $this->_command("QUIT\r\n"); + if (!fclose($this->_socket)) + { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('POP3 host [%s] connection could not be stopped', $this->_host) + ); + } + $this->_socket = null; + } + } + + /** + * Invoked just before a Transport is started. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt) + { + if (isset($this->_transport)) + { + if ($this->_transport !== $evt->getTransport()) + { + return; + } + } + + $this->connect(); + $this->disconnect(); + } + + /** + * Not used. + */ + public function transportStarted(Swift_Events_TransportChangeEvent $evt) + { + } + + /** + * Not used. + */ + public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt) + { + } + + /** + * Not used. + */ + public function transportStopped(Swift_Events_TransportChangeEvent $evt) + { + } + + // -- Private Methods + + private function _command($command) + { + if (!fwrite($this->_socket, $command)) + { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to write command [%s] to POP3 host', trim($command)) + ); + } + + if (false === $response = fgets($this->_socket)) + { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to read from POP3 host after command [%s]', trim($command)) + ); + } + + $this->_assertOk($response); + + return $response; + } + + private function _assertOk($response) + { + if (substr($response, 0, 3) != '+OK') + { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('POP3 command failed [%s]', trim($response)) + ); + } + } + + private function _getHostString() + { + $host = $this->_host; + switch (strtolower($this->_crypto)) + { + case 'ssl': + $host = 'ssl://' . $host; + break; + + case 'tls': + $host = 'tls://' . $host; + break; + } + return $host; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporter.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporter.php new file mode 100644 index 0000000..00d5765 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporter.php @@ -0,0 +1,36 @@ +_reporter = $reporter; + } + + /** + * Not used. + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + } + + /** + * Invoked immediately after the Message is sent. + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + $message = $evt->getMessage(); + $failures = array_flip($evt->getFailedRecipients()); + foreach ((array) $message->getTo() as $address => $null) + { + $this->_reporter->notify( + $message, $address, (array_key_exists($address, $failures) + ? Swift_Plugins_Reporter::RESULT_FAIL + : Swift_Plugins_Reporter::RESULT_PASS) + ); + } + foreach ((array) $message->getCc() as $address => $null) + { + $this->_reporter->notify( + $message, $address, (array_key_exists($address, $failures) + ? Swift_Plugins_Reporter::RESULT_FAIL + : Swift_Plugins_Reporter::RESULT_PASS) + ); + } + foreach ((array) $message->getBcc() as $address => $null) + { + $this->_reporter->notify( + $message, $address, (array_key_exists($address, $failures) + ? Swift_Plugins_Reporter::RESULT_FAIL + : Swift_Plugins_Reporter::RESULT_PASS) + ); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporters/HitReporter.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporters/HitReporter.php new file mode 100644 index 0000000..0022f5e --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporters/HitReporter.php @@ -0,0 +1,63 @@ +_failures_cache[$address])) + { + $this->_failures[] = $address; + $this->_failures_cache[$address] = true; + } + } + + /** + * Get an array of addresses for which delivery failed. + * @return array + */ + public function getFailedRecipients() + { + return $this->_failures; + } + + /** + * Clear the buffer (empty the list). + */ + public function clear() + { + $this->_failures = $this->_failures_cache = array(); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporters/HtmlReporter.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporters/HtmlReporter.php new file mode 100644 index 0000000..7370078 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Reporters/HtmlReporter.php @@ -0,0 +1,47 @@ +" . PHP_EOL; + echo "PASS " . $address . PHP_EOL; + echo "" . PHP_EOL; + flush(); + } + else + { + echo "
    " . PHP_EOL; + echo "FAIL " . $address . PHP_EOL; + echo "
    " . PHP_EOL; + flush(); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Sleeper.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Sleeper.php new file mode 100644 index 0000000..148cbd3 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Sleeper.php @@ -0,0 +1,26 @@ +_rate = $rate; + $this->_mode = $mode; + $this->_sleeper = $sleeper; + $this->_timer = $timer; + } + + /** + * Invoked immediately before the Message is sent. + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + $time = $this->getTimestamp(); + if (!isset($this->_start)) + { + $this->_start = $time; + } + $duration = $time - $this->_start; + + if (self::BYTES_PER_MINUTE == $this->_mode) + { + $sleep = $this->_throttleBytesPerMinute($duration); + } + else + { + $sleep = $this->_throttleMessagesPerMinute($duration); + } + + if ($sleep > 0) + { + $this->sleep($sleep); + } + } + + /** + * Invoked when a Message is sent. + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + parent::sendPerformed($evt); + ++$this->_messages; + } + + /** + * Sleep for $seconds. + * @param int $seconds + */ + public function sleep($seconds) + { + if (isset($this->_sleeper)) + { + $this->_sleeper->sleep($seconds); + } + else + { + sleep($seconds); + } + } + + /** + * Get the current UNIX timestamp + * @return int + */ + public function getTimestamp() + { + if (isset($this->_timer)) + { + return $this->_timer->getTimestamp(); + } + else + { + return time(); + } + } + + // -- Private methods + + /** + * Get a number of seconds to sleep for. + * @param int $timePassed + * @return int + * @access private + */ + private function _throttleBytesPerMinute($timePassed) + { + $expectedDuration = $this->getBytesOut() / ($this->_rate / 60); + return (int) ceil($expectedDuration - $timePassed); + } + + /** + * Get a number of seconds to sleep for. + * @param int $timePassed + * @return int + * @access private + */ + private function _throttleMessagesPerMinute($timePassed) + { + $expectedDuration = $this->_messages / ($this->_rate / 60); + return (int) ceil($expectedDuration - $timePassed); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Timer.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Timer.php new file mode 100644 index 0000000..92207bf --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Plugins/Timer.php @@ -0,0 +1,26 @@ +register('properties.charset')->asValue($charset); + return $this; + } + + /** + * Set the directory where temporary files can be saved. + * @param string $dir + * @return Swift_Preferences + */ + public function setTempDir($dir) + { + Swift_DependencyContainer::getInstance() + ->register('tempdir')->asValue($dir); + return $this; + } + + /** + * Set the type of cache to use (i.e. "disk" or "array"). + * @param string $type + * @return Swift_Preferences + */ + public function setCacheType($type) + { + Swift_DependencyContainer::getInstance() + ->register('cache')->asAliasOf(sprintf('cache.%s', $type)); + return $this; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ReplacementFilterFactory.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ReplacementFilterFactory.php new file mode 100644 index 0000000..db29e6d --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/ReplacementFilterFactory.php @@ -0,0 +1,27 @@ +createDependenciesFor('transport.sendmail') + ); + + $this->setCommand($command); + } + + /** + * Create a new SendmailTransport instance. + * @param string $command + * @return Swift_SendmailTransport + */ + public static function newInstance($command = '/usr/sbin/sendmail -bs') + { + return new self($command); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/SmtpTransport.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/SmtpTransport.php new file mode 100644 index 0000000..65180d5 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/SmtpTransport.php @@ -0,0 +1,56 @@ +createDependenciesFor('transport.smtp') + ); + + $this->setHost($host); + $this->setPort($port); + $this->setEncryption($security); + } + + /** + * Create a new SmtpTransport instance. + * @param string $host + * @param int $port + * @param int $security + * @return Swift_SmtpTransport + */ + public static function newInstance($host = 'localhost', $port = 25, + $security = null) + { + return new self($host, $port, $security); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilter.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilter.php new file mode 100644 index 0000000..6c262ce --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilter.php @@ -0,0 +1,33 @@ +_search = $search; + $this->_index = array(); + $this->_tree = array(); + $this->_replace = array(); + $this->_repSize = array(); + + $tree = null; + $i = null; + $last_size = $size = 0; + foreach ($search as $i => $search_element) + { + if ($tree !== null) + { + $tree[-1] = min (count($replace) - 1, $i - 1); + $tree[-2] = $last_size; + } + $tree = &$this->_tree; + if (is_array ($search_element)) + { + foreach ($search_element as $k => $char) + { + $this->_index[$char] = true; + if (!isset($tree[$char])) + { + $tree[$char] = array(); + } + $tree = &$tree[$char]; + } + $last_size = $k+1; + $size = max($size, $last_size); + } + else + { + $last_size = 1; + if (!isset($tree[$search_element])) + { + $tree[$search_element] = array(); + } + $tree = &$tree[$search_element]; + $size = max($last_size, $size); + $this->_index[$search_element] = true; + } + } + if ($i !== null) + { + $tree[-1] = min (count ($replace) - 1, $i); + $tree[-2] = $last_size; + $this->_treeMaxLen = $size; + } + foreach ($replace as $rep) + { + if (!is_array($rep)) + { + $rep = array ($rep); + } + $this->_replace[] = $rep; + } + for ($i = count($this->_replace) - 1; $i >= 0; --$i) + { + $this->_replace[$i] = $rep = $this->filter($this->_replace[$i], $i); + $this->_repSize[$i] = count($rep); + } + } + + /** + * Returns true if based on the buffer passed more bytes should be buffered. + * @param array $buffer + * @return boolean + */ + public function shouldBuffer($buffer) + { + $endOfBuffer = end($buffer); + return isset ($this->_index[$endOfBuffer]); + } + + /** + * Perform the actual replacements on $buffer and return the result. + * @param array $buffer + * @return array + */ + public function filter($buffer, $_minReplaces = -1) + { + if ($this->_treeMaxLen == 0) + { + return $buffer; + } + + $newBuffer = array(); + $buf_size = count($buffer); + for ($i = 0; $i < $buf_size; ++$i) + { + $search_pos = $this->_tree; + $last_found = PHP_INT_MAX; + // We try to find if the next byte is part of a search pattern + for ($j = 0; $j <= $this->_treeMaxLen; ++$j) + { + // We have a new byte for a search pattern + if (isset ($buffer [$p = $i + $j]) && isset($search_pos[$buffer[$p]])) + { + $search_pos = $search_pos[$buffer[$p]]; + // We have a complete pattern, save, in case we don't find a better match later + if (isset($search_pos[- 1]) && $search_pos[-1] < $last_found + && $search_pos[-1] > $_minReplaces) + { + $last_found = $search_pos[-1]; + $last_size = $search_pos[-2]; + } + } + // We got a complete pattern + elseif ($last_found !== PHP_INT_MAX) + { + // Adding replacement datas to output buffer + $rep_size = $this->_repSize[$last_found]; + for ($j = 0; $j < $rep_size; ++$j) + { + $newBuffer[] = $this->_replace[$last_found][$j]; + } + // We Move cursor forward + $i += $last_size - 1; + // Edge Case, last position in buffer + if ($i >= $buf_size) + { + $newBuffer[] = $buffer[$i]; + } + + // We start the next loop + continue 2; + } + else + { + // this byte is not in a pattern and we haven't found another pattern + break; + } + } + // Normal byte, move it to output buffer + $newBuffer[] = $buffer[$i]; + } + + return $newBuffer; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilter.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilter.php new file mode 100644 index 0000000..9ab6c30 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilter.php @@ -0,0 +1,66 @@ +_search = $search; + $this->_replace = $replace; + } + + /** + * Returns true if based on the buffer passed more bytes should be buffered. + * @param string $buffer + * @return boolean + */ + public function shouldBuffer($buffer) + { + $endOfBuffer = substr($buffer, -1); + foreach ((array) $this->_search as $needle) + { + if (false !== strpos($needle, $endOfBuffer)) + { + return true; + } + } + return false; + } + + /** + * Perform the actual replacements on $buffer and return the result. + * @param string $buffer + * @return string + */ + public function filter($buffer) + { + return str_replace($this->_search, $this->_replace, $buffer); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php new file mode 100644 index 0000000..fcd4b83 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php @@ -0,0 +1,53 @@ +_filters[$search][$replace])) + { + if (!isset($this->_filters[$search])) + { + $this->_filters[$search] = array(); + } + + if (!isset($this->_filters[$search][$replace])) + { + $this->_filters[$search][$replace] = array(); + } + + $this->_filters[$search][$replace] + = new Swift_StreamFilters_StringReplacementFilter($search, $replace); + } + + return $this->_filters[$search][$replace]; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/SwiftException.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/SwiftException.php new file mode 100644 index 0000000..bd3b656 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/SwiftException.php @@ -0,0 +1,28 @@ +_eventDispatcher = $dispatcher; + $this->_buffer = $buf; + $this->_lookupHostname(); + } + + /** + * Set the name of the local domain which Swift will identify itself as. + * This should be a fully-qualified domain name and should be truly the domain + * you're using. If your server doesn't have a domain name, use the IP in square + * brackets (i.e. [127.0.0.1]). + * + * @param string $domain + */ + public function setLocalDomain($domain) + { + $this->_domain = $domain; + return $this; + } + + /** + * Get the name of the domain Swift will identify as. + * + * @return string + */ + public function getLocalDomain() + { + return $this->_domain; + } + + /** + * Start the SMTP connection. + */ + public function start() + { + if (!$this->_started) + { + if ($evt = $this->_eventDispatcher->createTransportChangeEvent($this)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeTransportStarted'); + if ($evt->bubbleCancelled()) + { + return; + } + } + + try + { + $this->_buffer->initialize($this->_getBufferParams()); + } + catch (Swift_TransportException $e) + { + $this->_throwException($e); + } + $this->_readGreeting(); + $this->_doHeloCommand(); + + if ($evt) + { + $this->_eventDispatcher->dispatchEvent($evt, 'transportStarted'); + } + + $this->_started = true; + } + } + + /** + * Test if an SMTP connection has been established. + * + * @return boolean + */ + public function isStarted() + { + return $this->_started; + } + + /** + * Send the given Message. + * + * Recipient/sender data will be retreived from the Message API. + * The return value is the number of recipients who were accepted for delivery. + * + * @param Swift_Mime_Message $message + * @param string[] &$failedRecipients to collect failures by-reference + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $sent = 0; + $failedRecipients = (array) $failedRecipients; + + if (!$reversePath = $this->_getReversePath($message)) + { + throw new Swift_TransportException( + 'Cannot send message without a sender address' + ); + } + + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) + { + return 0; + } + } + + $to = (array) $message->getTo(); + $cc = (array) $message->getCc(); + $bcc = (array) $message->getBcc(); + + $message->setBcc(array()); + + try + { + $sent += $this->_sendTo($message, $reversePath, $to, $failedRecipients); + $sent += $this->_sendCc($message, $reversePath, $cc, $failedRecipients); + $sent += $this->_sendBcc($message, $reversePath, $bcc, $failedRecipients); + } + catch (Exception $e) + { + $message->setBcc($bcc); + throw $e; + } + + $message->setBcc($bcc); + + if ($evt) + { + if ($sent == count($to) + count($cc) + count($bcc)) + { + $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); + } + elseif ($sent > 0) + { + $evt->setResult(Swift_Events_SendEvent::RESULT_TENTATIVE); + } + else + { + $evt->setResult(Swift_Events_SendEvent::RESULT_FAILED); + } + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + $message->generateId(); //Make sure a new Message ID is used + + return $sent; + } + + /** + * Stop the SMTP connection. + */ + public function stop() + { + if ($this->_started) + { + if ($evt = $this->_eventDispatcher->createTransportChangeEvent($this)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeTransportStopped'); + if ($evt->bubbleCancelled()) + { + return; + } + } + + try + { + $this->executeCommand("QUIT\r\n", array(221)); + } + catch (Swift_TransportException $e) {} + + try + { + $this->_buffer->terminate(); + + if ($evt) + { + $this->_eventDispatcher->dispatchEvent($evt, 'transportStopped'); + } + } + catch (Swift_TransportException $e) + { + $this->_throwException($e); + } + } + $this->_started = false; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_eventDispatcher->bindEventListener($plugin); + } + + /** + * Reset the current mail transaction. + */ + public function reset() + { + $this->executeCommand("RSET\r\n", array(250)); + } + + /** + * Get the IoBuffer where read/writes are occurring. + * + * @return Swift_Transport_IoBuffer + */ + public function getBuffer() + { + return $this->_buffer; + } + + /** + * Run a command against the buffer, expecting the given response codes. + * + * If no response codes are given, the response will not be validated. + * If codes are given, an exception will be thrown on an invalid response. + * + * @param string $command + * @param int[] $codes + * @param string[] &$failures + * @return string + */ + public function executeCommand($command, $codes = array(), &$failures = null) + { + $failures = (array) $failures; + $seq = $this->_buffer->write($command); + $response = $this->_getFullResponse($seq); + if ($evt = $this->_eventDispatcher->createCommandEvent($this, $command, $codes)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'commandSent'); + } + $this->_assertResponseCode($response, $codes); + return $response; + } + + // -- Protected methods + + /** Read the opening SMTP greeting */ + protected function _readGreeting() + { + $this->_assertResponseCode($this->_getFullResponse(0), array(220)); + } + + /** Send the HELO welcome */ + protected function _doHeloCommand() + { + $this->executeCommand( + sprintf("HELO %s\r\n", $this->_domain), array(250) + ); + } + + /** Send the MAIL FROM command */ + protected function _doMailFromCommand($address) + { + $this->executeCommand( + sprintf("MAIL FROM: <%s>\r\n", $address), array(250) + ); + } + + /** Send the RCPT TO command */ + protected function _doRcptToCommand($address) + { + $this->executeCommand( + sprintf("RCPT TO: <%s>\r\n", $address), array(250, 251, 252) + ); + } + + /** Send the DATA command */ + protected function _doDataCommand() + { + $this->executeCommand("DATA\r\n", array(354)); + } + + /** Stream the contents of the message over the buffer */ + protected function _streamMessage(Swift_Mime_Message $message) + { + $this->_buffer->setWriteTranslations(array("\r\n." => "\r\n..")); + try + { + $message->toByteStream($this->_buffer); + $this->_buffer->flushBuffers(); + } + catch (Swift_TransportException $e) + { + $this->_throwException($e); + } + $this->_buffer->setWriteTranslations(array()); + $this->executeCommand("\r\n.\r\n", array(250)); + } + + /** Determine the best-use reverse path for this message */ + protected function _getReversePath(Swift_Mime_Message $message) + { + $return = $message->getReturnPath(); + $sender = $message->getSender(); + $from = $message->getFrom(); + $path = null; + if (!empty($return)) + { + $path = $return; + } + elseif (!empty($sender)) + { + // Don't use array_keys + reset($sender); // Reset Pointer to first pos + $path = key($sender); // Get key + } + elseif (!empty($from)) + { + reset($from); // Reset Pointer to first pos + $path = key($from); // Get key + } + return $path; + } + + /** Throw a TransportException, first sending it to any listeners */ + protected function _throwException(Swift_TransportException $e) + { + if ($evt = $this->_eventDispatcher->createTransportExceptionEvent($this, $e)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'exceptionThrown'); + if (!$evt->bubbleCancelled()) + { + throw $e; + } + } + else + { + throw $e; + } + } + + /** Throws an Exception if a response code is incorrect */ + protected function _assertResponseCode($response, $wanted) + { + list($code, $separator, $text) = sscanf($response, '%3d%[ -]%s'); + $valid = (empty($wanted) || in_array($code, $wanted)); + + if ($evt = $this->_eventDispatcher->createResponseEvent($this, $response, + $valid)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'responseReceived'); + } + + if (!$valid) + { + $this->_throwException( + new Swift_TransportException( + 'Expected response code ' . implode('/', $wanted) . ' but got code ' . + '"' . $code . '", with message "' . $response . '"' + ) + ); + } + } + + /** Get an entire multi-line response using its sequence number */ + protected function _getFullResponse($seq) + { + $response = ''; + try + { + do + { + $line = $this->_buffer->readLine($seq); + $response .= $line; + } + while (null !== $line && false !== $line && ' ' != $line{3}); + } + catch (Swift_TransportException $e) + { + $this->_throwException($e); + } + return $response; + } + + // -- Private methods + + /** Send an email to the given recipients from the given reverse path */ + private function _doMailTransaction($message, $reversePath, + array $recipients, array &$failedRecipients) + { + $sent = 0; + $this->_doMailFromCommand($reversePath); + foreach ($recipients as $forwardPath) + { + try + { + $this->_doRcptToCommand($forwardPath); + $sent++; + } + catch (Swift_TransportException $e) + { + $failedRecipients[] = $forwardPath; + } + } + + if ($sent != 0) + { + $this->_doDataCommand(); + $this->_streamMessage($message); + } + else + { + $this->reset(); + } + + return $sent; + } + + /** Send a message to the given To: recipients */ + private function _sendTo(Swift_Mime_Message $message, $reversePath, + array $to, array &$failedRecipients) + { + if (empty($to)) + { + return 0; + } + return $this->_doMailTransaction($message, $reversePath, array_keys($to), + $failedRecipients); + } + + /** Send a message to the given Cc: recipients */ + private function _sendCc(Swift_Mime_Message $message, $reversePath, + array $cc, array &$failedRecipients) + { + if (empty($cc)) + { + return 0; + } + return $this->_doMailTransaction($message, $reversePath, array_keys($cc), + $failedRecipients); + } + + /** Send a message to all Bcc: recipients */ + private function _sendBcc(Swift_Mime_Message $message, $reversePath, + array $bcc, array &$failedRecipients) + { + $sent = 0; + foreach ($bcc as $forwardPath => $name) + { + $message->setBcc(array($forwardPath => $name)); + $sent += $this->_doMailTransaction( + $message, $reversePath, array($forwardPath), $failedRecipients + ); + } + return $sent; + } + + /** Try to determine the hostname of the server this is run on */ + private function _lookupHostname() + { + if (!empty($_SERVER['SERVER_NAME']) + && $this->_isFqdn($_SERVER['SERVER_NAME'])) + { + $this->_domain = $_SERVER['SERVER_NAME']; + } + elseif (!empty($_SERVER['SERVER_ADDR'])) + { + $this->_domain = sprintf('[%s]', $_SERVER['SERVER_ADDR']); + } + } + + /** Determine is the $hostname is a fully-qualified name */ + private function _isFqdn($hostname) + { + //We could do a really thorough check, but there's really no point + if (false !== $dotPos = strpos($hostname, '.')) + { + return ($dotPos > 0) && ($dotPos != strlen($hostname) - 1); + } + else + { + return false; + } + } + + /** + * Destructor. + */ + public function __destruct() + { + $this->stop(); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php new file mode 100644 index 0000000..4c7e0f2 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php @@ -0,0 +1,88 @@ +executeCommand("AUTH CRAM-MD5\r\n", array(334)); + $challenge = base64_decode(substr($challenge, 4)); + $message = base64_encode( + $username . ' ' . $this->_getResponse($password, $challenge) + ); + $agent->executeCommand(sprintf("%s\r\n", $message), array(235)); + return true; + } + catch (Swift_TransportException $e) + { + $agent->executeCommand("RSET\r\n", array(250)); + return false; + } + } + + /** + * Generate a CRAM-MD5 response from a server challenge. + * @param string $secret + * @param string $challenge + * @return string + */ + private function _getResponse($secret, $challenge) + { + if (strlen($secret) > 64) + { + $secret = pack('H32', md5($secret)); + } + + if (strlen($secret) < 64) + { + $secret = str_pad($secret, 64, chr(0)); + } + + $k_ipad = substr($secret, 0, 64) ^ str_repeat(chr(0x36), 64); + $k_opad = substr($secret, 0, 64) ^ str_repeat(chr(0x5C), 64); + + $inner = pack('H32', md5($k_ipad . $challenge)); + $digest = md5($k_opad . $inner); + + return $digest; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php new file mode 100644 index 0000000..bd22617 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php @@ -0,0 +1,58 @@ +executeCommand("AUTH LOGIN\r\n", array(334)); + $agent->executeCommand(sprintf("%s\r\n", base64_encode($username)), array(334)); + $agent->executeCommand(sprintf("%s\r\n", base64_encode($password)), array(235)); + return true; + } + catch (Swift_TransportException $e) + { + $agent->executeCommand("RSET\r\n", array(250)); + return false; + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php new file mode 100644 index 0000000..ddd8094 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php @@ -0,0 +1,57 @@ +executeCommand(sprintf("AUTH PLAIN %s\r\n", $message), array(235)); + return true; + } + catch (Swift_TransportException $e) + { + $agent->executeCommand("RSET\r\n", array(250)); + return false; + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/AuthHandler.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/AuthHandler.php new file mode 100644 index 0000000..a223169 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/AuthHandler.php @@ -0,0 +1,262 @@ +setAuthenticators($authenticators); + } + + /** + * Set the Authenticators which can process a login request. + * @param Swift_Transport_Esmtp_Authenticator[] $authenticators + */ + public function setAuthenticators(array $authenticators) + { + $this->_authenticators = $authenticators; + } + + /** + * Get the Authenticators which can process a login request. + * @return Swift_Transport_Esmtp_Authenticator[] + */ + public function getAuthenticators() + { + return $this->_authenticators; + } + + /** + * Set the username to authenticate with. + * @param string $username + */ + public function setUsername($username) + { + $this->_username = $username; + } + + /** + * Get the username to authenticate with. + * @return string + */ + public function getUsername() + { + return $this->_username; + } + + /** + * Set the password to authenticate with. + * @param string $password + */ + public function setPassword($password) + { + $this->_password = $password; + } + + /** + * Get the password to authenticate with. + * @return string + */ + public function getPassword() + { + return $this->_password; + } + + /** + * Set the auth mode to use to authenticate. + * @param string $mode + */ + public function setAuthMode($mode) + { + $this->_auth_mode = $mode; + } + + /** + * Get the auth mode to use to authenticate. + * @return string + */ + public function getAuthMode() + { + return $this->_auth_mode; + } + + /** + * Get the name of the ESMTP extension this handles. + * @return boolean + */ + public function getHandledKeyword() + { + return 'AUTH'; + } + + /** + * Set the parameters which the EHLO greeting indicated. + * @param string[] $parameters + */ + public function setKeywordParams(array $parameters) + { + $this->_esmtpParams = $parameters; + } + + /** + * Runs immediately after a EHLO has been issued. + * @param Swift_Transport_SmtpAgent $agent to read/write + */ + public function afterEhlo(Swift_Transport_SmtpAgent $agent) + { + if ($this->_username) + { + $count = 0; + foreach ($this->_getAuthenticatorsForAgent() as $authenticator) + { + if (in_array(strtolower($authenticator->getAuthKeyword()), + array_map('strtolower', $this->_esmtpParams))) + { + $count++; + if ($authenticator->authenticate($agent, $this->_username, $this->_password)) + { + return; + } + } + } + throw new Swift_TransportException( + 'Failed to authenticate on SMTP server with username "' . + $this->_username . '" using ' . $count . ' possible authenticators' + ); + } + } + + /** + * Not used. + */ + public function getMailParams() + { + return array(); + } + + /** + * Not used. + */ + public function getRcptParams() + { + return array(); + } + + /** + * Not used. + */ + public function onCommand(Swift_Transport_SmtpAgent $agent, + $command, $codes = array(), &$failedRecipients = null, &$stop = false) + { + } + + /** + * Returns +1, -1 or 0 according to the rules for usort(). + * This method is called to ensure extensions can be execute in an appropriate order. + * @param string $esmtpKeyword to compare with + * @return int + */ + public function getPriorityOver($esmtpKeyword) + { + return 0; + } + + /** + * Returns an array of method names which are exposed to the Esmtp class. + * @return string[] + */ + public function exposeMixinMethods() + { + return array('setUsername', 'getUsername', 'setPassword', 'getPassword', 'setAuthMode', 'getAuthMode'); + } + + /** + * Not used. + */ + public function resetState() + { + } + + // -- Protected methods + + /** + * Returns the authenticator list for the given agent. + * @param Swift_Transport_SmtpAgent $agent + * @return array + * @access protected + */ + protected function _getAuthenticatorsForAgent() + { + if (!$mode = strtolower($this->_auth_mode)) + { + return $this->_authenticators; + } + + foreach ($this->_authenticators as $authenticator) + { + if (strtolower($authenticator->getAuthKeyword()) == $mode) + { + return array($authenticator); + } + } + + throw new Swift_TransportException('Auth mode '.$mode.' is invalid'); + } +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Authenticator.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Authenticator.php new file mode 100644 index 0000000..bf166d3 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/Esmtp/Authenticator.php @@ -0,0 +1,38 @@ +. + * @return string[] + */ + public function getMailParams(); + + /** + * Get params which are appended to RCPT TO:<>. + * @return string[] + */ + public function getRcptParams(); + + /** + * Runs when a command is due to be sent. + * @param Swift_Transport_SmtpAgent $agent to read/write + * @param string $command to send + * @param int[] $codes expected in response + * @param string[] &$failedRecipients + * @param boolean &$stop to be set true if the command is now sent + */ + public function onCommand(Swift_Transport_SmtpAgent $agent, + $command, $codes = array(), &$failedRecipients = null, &$stop = false); + + /** + * Returns +1, -1 or 0 according to the rules for usort(). + * This method is called to ensure extensions can be execute in an appropriate order. + * @param string $esmtpKeyword to compare with + * @return int + */ + public function getPriorityOver($esmtpKeyword); + + /** + * Returns an array of method names which are exposed to the Esmtp class. + * @return string[] + */ + public function exposeMixinMethods(); + + /** + * Tells this handler to clear any buffers and reset its state. + */ + public function resetState(); + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/EsmtpTransport.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/EsmtpTransport.php new file mode 100644 index 0000000..c7833c3 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/EsmtpTransport.php @@ -0,0 +1,340 @@ + 'tcp', + 'host' => 'localhost', + 'port' => 25, + 'timeout' => 30, + 'blocking' => 1, + 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET + ); + + /** + * Creates a new EsmtpTransport using the given I/O buffer. + * @param Swift_Transport_IoBuffer $buf + * @param Swift_Transport_EsmtpHandler[] $extensionHandlers + * @param Swift_Events_EventDispatcher $dispatcher + */ + public function __construct(Swift_Transport_IoBuffer $buf, + array $extensionHandlers, Swift_Events_EventDispatcher $dispatcher) + { + parent::__construct($buf, $dispatcher); + $this->setExtensionHandlers($extensionHandlers); + } + + /** + * Set the host to connect to. + * @param string $host + */ + public function setHost($host) + { + $this->_params['host'] = $host; + return $this; + } + + /** + * Get the host to connect to. + * @return string + */ + public function getHost() + { + return $this->_params['host']; + } + + /** + * Set the port to connect to. + * @param int $port + */ + public function setPort($port) + { + $this->_params['port'] = (int) $port; + return $this; + } + + /** + * Get the port to connect to. + * @return int + */ + public function getPort() + { + return $this->_params['port']; + } + + /** + * Set the connection timeout. + * @param int $timeout seconds + */ + public function setTimeout($timeout) + { + $this->_params['timeout'] = (int) $timeout; + return $this; + } + + /** + * Get the connection timeout. + * @return int + */ + public function getTimeout() + { + return $this->_params['timeout']; + } + + /** + * Set the encryption type (tls or ssl) + * @param string $encryption + */ + public function setEncryption($enc) + { + $this->_params['protocol'] = $enc; + return $this; + } + + /** + * Get the encryption type. + * @return string + */ + public function getEncryption() + { + return $this->_params['protocol']; + } + + /** + * Set ESMTP extension handlers. + * @param Swift_Transport_EsmtpHandler[] $handlers + */ + public function setExtensionHandlers(array $handlers) + { + $assoc = array(); + foreach ($handlers as $handler) + { + $assoc[$handler->getHandledKeyword()] = $handler; + } + uasort($assoc, array($this, '_sortHandlers')); + $this->_handlers = $assoc; + $this->_setHandlerParams(); + return $this; + } + + /** + * Get ESMTP extension handlers. + * @return Swift_Transport_EsmtpHandler[] + */ + public function getExtensionHandlers() + { + return array_values($this->_handlers); + } + + /** + * Run a command against the buffer, expecting the given response codes. + * If no response codes are given, the response will not be validated. + * If codes are given, an exception will be thrown on an invalid response. + * @param string $command + * @param int[] $codes + * @param string[] &$failures + * @return string + */ + public function executeCommand($command, $codes = array(), &$failures = null) + { + $failures = (array) $failures; + $stopSignal = false; + $response = null; + foreach ($this->_getActiveHandlers() as $handler) + { + $response = $handler->onCommand( + $this, $command, $codes, $failures, $stopSignal + ); + if ($stopSignal) + { + return $response; + } + } + return parent::executeCommand($command, $codes, $failures); + } + + // -- Mixin invocation code + + /** Mixin handling method for ESMTP handlers */ + public function __call($method, $args) + { + foreach ($this->_handlers as $handler) + { + if (in_array(strtolower($method), + array_map('strtolower', (array) $handler->exposeMixinMethods()) + )) + { + $return = call_user_func_array(array($handler, $method), $args); + //Allow fluid method calls + if (is_null($return) && substr($method, 0, 3) == 'set') + { + return $this; + } + else + { + return $return; + } + } + } + trigger_error('Call to undefined method ' . $method, E_USER_ERROR); + } + + // -- Protected methods + + /** Get the params to initialize the buffer */ + protected function _getBufferParams() + { + return $this->_params; + } + + /** Overridden to perform EHLO instead */ + protected function _doHeloCommand() + { + try + { + $response = $this->executeCommand( + sprintf("EHLO %s\r\n", $this->_domain), array(250) + ); + } + catch (Swift_TransportException $e) + { + return parent::_doHeloCommand(); + } + + $this->_capabilities = $this->_getCapabilities($response); + $this->_setHandlerParams(); + foreach ($this->_getActiveHandlers() as $handler) + { + $handler->afterEhlo($this); + } + } + + /** Overridden to add Extension support */ + protected function _doMailFromCommand($address) + { + $handlers = $this->_getActiveHandlers(); + $params = array(); + foreach ($handlers as $handler) + { + $params = array_merge($params, (array) $handler->getMailParams()); + } + $paramStr = !empty($params) ? ' ' . implode(' ', $params) : ''; + $this->executeCommand( + sprintf("MAIL FROM: <%s>%s\r\n", $address, $paramStr), array(250) + ); + } + + /** Overridden to add Extension support */ + protected function _doRcptToCommand($address) + { + $handlers = $this->_getActiveHandlers(); + $params = array(); + foreach ($handlers as $handler) + { + $params = array_merge($params, (array) $handler->getRcptParams()); + } + $paramStr = !empty($params) ? ' ' . implode(' ', $params) : ''; + $this->executeCommand( + sprintf("RCPT TO: <%s>%s\r\n", $address, $paramStr), array(250, 251, 252) + ); + } + + // -- Private methods + + /** Determine ESMTP capabilities by function group */ + private function _getCapabilities($ehloResponse) + { + $capabilities = array(); + $ehloResponse = trim($ehloResponse); + $lines = explode("\r\n", $ehloResponse); + array_shift($lines); + foreach ($lines as $line) + { + if (preg_match('/^[0-9]{3}[ -]([A-Z0-9-]+)((?:[ =].*)?)$/Di', $line, $matches)) + { + $keyword = strtoupper($matches[1]); + $paramStr = strtoupper(ltrim($matches[2], ' =')); + $params = !empty($paramStr) ? explode(' ', $paramStr) : array(); + $capabilities[$keyword] = $params; + } + } + return $capabilities; + } + + /** Set parameters which are used by each extension handler */ + private function _setHandlerParams() + { + foreach ($this->_handlers as $keyword => $handler) + { + if (array_key_exists($keyword, $this->_capabilities)) + { + $handler->setKeywordParams($this->_capabilities[$keyword]); + } + } + } + + /** Get ESMTP handlers which are currently ok to use */ + private function _getActiveHandlers() + { + $handlers = array(); + foreach ($this->_handlers as $keyword => $handler) + { + if (array_key_exists($keyword, $this->_capabilities)) + { + $handlers[] = $handler; + } + } + return $handlers; + } + + /** Custom sort for extension handler ordering */ + private function _sortHandlers($a, $b) + { + return $a->getPriorityOver($b->getHandledKeyword()); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/FailoverTransport.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/FailoverTransport.php new file mode 100644 index 0000000..e62491c --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/FailoverTransport.php @@ -0,0 +1,97 @@ +_transports); + $sent = 0; + + for ($i = 0; $i < $maxTransports + && $transport = $this->_getNextTransport(); ++$i) + { + try + { + if (!$transport->isStarted()) + { + $transport->start(); + } + + return $transport->send($message, $failedRecipients); + } + catch (Swift_TransportException $e) + { + $this->_killCurrentTransport(); + } + } + + if (count($this->_transports) == 0) + { + throw new Swift_TransportException( + 'All Transports in FailoverTransport failed, or no Transports available' + ); + } + + return $sent; + } + + // -- Protected methods + + protected function _getNextTransport() + { + if (!isset($this->_currentTransport)) + { + $this->_currentTransport = parent::_getNextTransport(); + } + return $this->_currentTransport; + } + + protected function _killCurrentTransport() + { + $this->_currentTransport = null; + parent::_killCurrentTransport(); + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/IoBuffer.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/IoBuffer.php new file mode 100644 index 0000000..ac66ef0 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/IoBuffer.php @@ -0,0 +1,65 @@ +_transports = $transports; + $this->_deadTransports = array(); + } + + /** + * Get $transports to delegate to. + * + * @return array Swift_Transport + */ + public function getTransports(array $transports) + { + return array_merge($this->_transports, $this->_deadTransports); + } + + /** + * Test if this Transport mechanism has started. + * + * @return boolean + */ + public function isStarted() + { + return count($this->_transports) > 0; + } + + /** + * Start this Transport mechanism. + */ + public function start() + { + $this->_transports = array_merge($this->_transports, $this->_deadTransports); + } + + /** + * Stop this Transport mechanism. + */ + public function stop() + { + foreach ($this->_transports as $transport) + { + $transport->stop(); + } + } + + /** + * Send the given Message. + * + * Recipient/sender data will be retreived from the Message API. + * The return value is the number of recipients who were accepted for delivery. + * + * @param Swift_Mime_Message $message + * @param string[] &$failedRecipients to collect failures by-reference + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $maxTransports = count($this->_transports); + $sent = 0; + + for ($i = 0; $i < $maxTransports + && $transport = $this->_getNextTransport(); ++$i) + { + try + { + if (!$transport->isStarted()) + { + $transport->start(); + } + if ($sent = $transport->send($message, $failedRecipients)) + { + break; + } + } + catch (Swift_TransportException $e) + { + $this->_killCurrentTransport(); + } + } + + if (count($this->_transports) == 0) + { + throw new Swift_TransportException( + 'All Transports in LoadBalancedTransport failed, or no Transports available' + ); + } + + return $sent; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + foreach ($this->_transports as $transport) + { + $transport->registerPlugin($plugin); + } + } + + // -- Protected methods + + /** + * Rotates the transport list around and returns the first instance. + * + * @return Swift_Transport + * @access protected + */ + protected function _getNextTransport() + { + if ($next = array_shift($this->_transports)) + { + $this->_transports[] = $next; + } + return $next; + } + + /** + * Tag the currently used (top of stack) transport as dead/useless. + * + * @access protected + */ + protected function _killCurrentTransport() + { + if ($transport = array_pop($this->_transports)) + { + try + { + $transport->stop(); + } + catch (Exception $e) + { + } + $this->_deadTransports[] = $transport; + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/MailInvoker.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/MailInvoker.php new file mode 100644 index 0000000..dda882f --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/MailInvoker.php @@ -0,0 +1,36 @@ +_invoker = $invoker; + $this->_eventDispatcher = $eventDispatcher; + } + + /** + * Not used. + */ + public function isStarted() + { + return false; + } + + /** + * Not used. + */ + public function start() + { + } + + /** + * Not used. + */ + public function stop() + { + } + + /** + * Set the additional parameters used on the mail() function. + * + * This string is formatted for sprintf() where %s is the sender address. + * + * @param string $params + */ + public function setExtraParams($params) + { + $this->_extraParams = $params; + return $this; + } + + /** + * Get the additional parameters used on the mail() function. + * + * This string is formatted for sprintf() where %s is the sender address. + * + * @return string + */ + public function getExtraParams() + { + return $this->_extraParams; + } + + /** + * Send the given Message. + * + * Recipient/sender data will be retreived from the Message API. + * The return value is the number of recipients who were accepted for delivery. + * + * @param Swift_Mime_Message $message + * @param string[] &$failedRecipients to collect failures by-reference + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $failedRecipients = (array) $failedRecipients; + + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) + { + return 0; + } + } + + $count = ( + count((array) $message->getTo()) + + count((array) $message->getCc()) + + count((array) $message->getBcc()) + ); + + $toHeader = $message->getHeaders()->get('To'); + $subjectHeader = $message->getHeaders()->get('Subject'); + + $to = $toHeader->getFieldBody(); + $subject = $subjectHeader->getFieldBody(); + + $reversePath = $this->_getReversePath($message); + + //Remove headers that would otherwise be duplicated + $message->getHeaders()->remove('To'); + $message->getHeaders()->remove('Subject'); + + $messageStr = $message->toString(); + + $message->getHeaders()->set($toHeader); + $message->getHeaders()->set($subjectHeader); + + //Separate headers from body + if (false !== $endHeaders = strpos($messageStr, "\r\n\r\n")) + { + $headers = substr($messageStr, 0, $endHeaders) . "\r\n"; //Keep last EOL + $body = substr($messageStr, $endHeaders + 4); + } + else + { + $headers = $messageStr . "\r\n"; + $body = ''; + } + + unset($messageStr); + + if ("\r\n" != PHP_EOL) //Non-windows (not using SMTP) + { + $headers = str_replace("\r\n", PHP_EOL, $headers); + $body = str_replace("\r\n", PHP_EOL, $body); + } + else //Windows, using SMTP + { + $headers = str_replace("\r\n.", "\r\n..", $headers); + $body = str_replace("\r\n.", "\r\n..", $body); + } + + if ($this->_invoker->mail($to, $subject, $body, $headers, + sprintf($this->_extraParams, $reversePath))) + { + if ($evt) + { + $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + } + else + { + $failedRecipients = array_merge( + $failedRecipients, + array_keys((array) $message->getTo()), + array_keys((array) $message->getCc()), + array_keys((array) $message->getBcc()) + ); + + if ($evt) + { + $evt->setResult(Swift_Events_SendEvent::RESULT_FAILED); + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + $message->generateId(); + + $count = 0; + } + + return $count; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_eventDispatcher->bindEventListener($plugin); + } + + // -- Private methods + + /** Determine the best-use reverse path for this message */ + private function _getReversePath(Swift_Mime_Message $message) + { + $return = $message->getReturnPath(); + $sender = $message->getSender(); + $from = $message->getFrom(); + $path = null; + if (!empty($return)) + { + $path = $return; + } + elseif (!empty($sender)) + { + $keys = array_keys($sender); + $path = array_shift($keys); + } + elseif (!empty($from)) + { + $keys = array_keys($from); + $path = array_shift($keys); + } + return $path; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SendmailTransport.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SendmailTransport.php new file mode 100644 index 0000000..aae8bde --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SendmailTransport.php @@ -0,0 +1,173 @@ + 30, + 'blocking' => 1, + 'command' => '/usr/sbin/sendmail -bs', + 'type' => Swift_Transport_IoBuffer::TYPE_PROCESS + ); + + /** + * Create a new SendmailTransport with $buf for I/O. + * @param Swift_Transport_IoBuffer $buf + * @param Swift_Events_EventDispatcher $dispatcher + */ + public function __construct(Swift_Transport_IoBuffer $buf, + Swift_Events_EventDispatcher $dispatcher) + { + parent::__construct($buf, $dispatcher); + } + + /** + * Start the standalone SMTP session if running in -bs mode. + */ + public function start() + { + if (false !== strpos($this->getCommand(), ' -bs')) + { + parent::start(); + } + } + + /** + * Set the command to invoke. + * If using -t mode you are strongly advised to include -oi or -i in the + * flags. For example: /usr/sbin/sendmail -oi -t + * Swift will append a -f flag if one is not present. + * The recommended mode is "-bs" since it is interactive and failure notifications + * are hence possible. + * @param string $command + */ + public function setCommand($command) + { + $this->_params['command'] = $command; + return $this; + } + + /** + * Get the sendmail command which will be invoked. + * @return string + */ + public function getCommand() + { + return $this->_params['command']; + } + + /** + * Send the given Message. + * Recipient/sender data will be retreived from the Message API. + * The return value is the number of recipients who were accepted for delivery. + * NOTE: If using 'sendmail -t' you will not be aware of any failures until + * they bounce (i.e. send() will always return 100% success). + * @param Swift_Mime_Message $message + * @param string[] &$failedRecipients to collect failures by-reference + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $failedRecipients = (array) $failedRecipients; + $command = $this->getCommand(); + $buffer = $this->getBuffer(); + + if (false !== strpos($command, ' -t')) + { + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) + { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) + { + return 0; + } + } + + if (false === strpos($command, ' -f')) + { + $command .= ' -f' . $this->_getReversePath($message); + } + + $buffer->initialize(array_merge($this->_params, array('command' => $command))); + + if (false === strpos($command, ' -i') && false === strpos($command, ' -oi')) + { + $buffer->setWriteTranslations(array("\r\n" => "\n", "\n." => "\n..")); + } + else + { + $buffer->setWriteTranslations(array("\r\n"=>"\n")); + } + + $count = count((array) $message->getTo()) + + count((array) $message->getCc()) + + count((array) $message->getBcc()) + ; + $message->toByteStream($buffer); + $buffer->flushBuffers(); + $buffer->setWriteTranslations(array()); + $buffer->terminate(); + + if ($evt) + { + $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + $message->generateId(); + } + elseif (false !== strpos($command, ' -bs')) + { + $count = parent::send($message, $failedRecipients); + } + else + { + $this->_throwException(new Swift_TransportException( + 'Unsupported sendmail command flags [' . $command . ']. ' . + 'Must be one of "-bs" or "-t" but can include additional flags.' + )); + } + + return $count; + } + + // -- Protected methods + + /** Get the params to initialize the buffer */ + protected function _getBufferParams() + { + return $this->_params; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SimpleMailInvoker.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SimpleMailInvoker.php new file mode 100644 index 0000000..271ba84 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SimpleMailInvoker.php @@ -0,0 +1,58 @@ +. + + */ + +//@require 'Swift/Transport/MailInvoker.php'; + +/** + * This is the implementation class for {@link Swift_Transport_MailInvoker}. + * + * @package Swift + * @subpackage Transport + * @author Chris Corbyn + */ +class Swift_Transport_SimpleMailInvoker implements Swift_Transport_MailInvoker +{ + + /** + * Send mail via the mail() function. + * + * This method takes the same arguments as PHP mail(). + * + * @param string $to + * @param string $subject + * @param string $body + * @param string $headers + * @param string $extraParams + * + * @return boolean + */ + public function mail($to, $subject, $body, $headers = null, $extraParams = null) + { + if (!ini_get('safe_mode')) + { + return mail($to, $subject, $body, $headers, $extraParams); + } + else + { + return mail($to, $subject, $body, $headers); + } + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SmtpAgent.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SmtpAgent.php new file mode 100644 index 0000000..ee9b8ed --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/Transport/SmtpAgent.php @@ -0,0 +1,36 @@ +_replacementFactory = $replacementFactory; + } + + /** + * Perform any initialization needed, using the given $params. + * Parameters will vary depending upon the type of IoBuffer used. + * @param array $params + */ + public function initialize(array $params) + { + $this->_params = $params; + switch ($params['type']) + { + case self::TYPE_PROCESS: + $this->_establishProcessConnection(); + break; + case self::TYPE_SOCKET: + default: + $this->_establishSocketConnection(); + break; + } + } + + /** + * Set an individual param on the buffer (e.g. switching to SSL). + * @param string $param + * @param mixed $value + */ + public function setParam($param, $value) + { + if (isset($this->_stream)) + { + switch ($param) + { + case 'protocol': + if (!array_key_exists('protocol', $this->_params) + || $value != $this->_params['protocol']) + { + if ('tls' == $value) + { + stream_socket_enable_crypto( + $this->_stream, true, STREAM_CRYPTO_METHOD_TLS_CLIENT + ); + } + } + break; + } + } + $this->_params[$param] = $value; + } + + /** + * Perform any shutdown logic needed. + */ + public function terminate() + { + if (isset($this->_stream)) + { + switch ($this->_params['type']) + { + case self::TYPE_PROCESS: + fclose($this->_in); + fclose($this->_out); + proc_close($this->_stream); + break; + case self::TYPE_SOCKET: + default: + fclose($this->_stream); + break; + } + } + $this->_stream = null; + $this->_out = null; + $this->_in = null; + } + + /** + * Set an array of string replacements which should be made on data written + * to the buffer. This could replace LF with CRLF for example. + * @param string[] $replacements + */ + public function setWriteTranslations(array $replacements) + { + foreach ($this->_translations as $search => $replace) + { + if (!isset($replacements[$search])) + { + $this->removeFilter($search); + unset($this->_translations[$search]); + } + } + + foreach ($replacements as $search => $replace) + { + if (!isset($this->_translations[$search])) + { + $this->addFilter( + $this->_replacementFactory->createFilter($search, $replace), $search + ); + $this->_translations[$search] = true; + } + } + } + + /** + * Get a line of output (including any CRLF). + * The $sequence number comes from any writes and may or may not be used + * depending upon the implementation. + * @param int $sequence of last write to scan from + * @return string + */ + public function readLine($sequence) + { + if (isset($this->_out) && !feof($this->_out)) + { + $line = fgets($this->_out); + return $line; + } + } + + /** + * Reads $length bytes from the stream into a string and moves the pointer + * through the stream by $length. If less bytes exist than are requested the + * remaining bytes are given instead. If no bytes are remaining at all, boolean + * false is returned. + * @param int $length + * @return string + */ + public function read($length) + { + if (isset($this->_out) && !feof($this->_out)) + { + $ret = fread($this->_out, $length); + return $ret; + } + } + + /** Not implemented */ + public function setReadPointer($byteOffset) + { + } + + // -- Protected methods + + /** Flush the stream contents */ + protected function _flush() + { + if (isset($this->_in)) + { + fflush($this->_in); + } + } + + /** Write this bytes to the stream */ + protected function _commit($bytes) + { + if (isset($this->_in) + && fwrite($this->_in, $bytes)) + { + return ++$this->_sequence; + } + } + + // -- Private methods + + /** + * Establishes a connection to a remote server. + * @access private + */ + private function _establishSocketConnection() + { + $host = $this->_params['host']; + if (!empty($this->_params['protocol'])) + { + $host = $this->_params['protocol'] . '://' . $host; + } + $timeout = 15; + if (!empty($this->_params['timeout'])) + { + $timeout = $this->_params['timeout']; + } + if (!$this->_stream = fsockopen($host, $this->_params['port'], $errno, $errstr, $timeout)) + { + throw new Swift_TransportException( + 'Connection could not be established with host ' . $this->_params['host'] . + ' [' . $errstr . ' #' . $errno . ']' + ); + } + if (!empty($this->_params['blocking'])) + { + stream_set_blocking($this->_stream, 1); + } + else + { + stream_set_blocking($this->_stream, 0); + } + $this->_in =& $this->_stream; + $this->_out =& $this->_stream; + } + + /** + * Opens a process for input/output. + * @access private + */ + private function _establishProcessConnection() + { + $command = $this->_params['command']; + $descriptorSpec = array( + 0 => array('pipe', 'r'), + 1 => array('pipe', 'w'), + 2 => array('pipe', 'w') + ); + $this->_stream = proc_open($command, $descriptorSpec, $pipes); + stream_set_blocking($pipes[2], 0); + if ($err = stream_get_contents($pipes[2])) + { + throw new Swift_TransportException( + 'Process could not be started [' . $err . ']' + ); + } + $this->_in =& $pipes[0]; + $this->_out =& $pipes[1]; + } + +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/TransportException.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/TransportException.php new file mode 100644 index 0000000..b7cd658 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/classes/Swift/TransportException.php @@ -0,0 +1,31 @@ + register('cache') + -> asAliasOf('cache.array') + + -> register('tempdir') + -> asValue('/tmp') + + -> register('cache.null') + -> asSharedInstanceOf('Swift_KeyCache_NullKeyCache') + + -> register('cache.array') + -> asSharedInstanceOf('Swift_KeyCache_ArrayKeyCache') + -> withDependencies(array('cache.inputstream')) + + -> register('cache.disk') + -> asSharedInstanceOf('Swift_KeyCache_DiskKeyCache') + -> withDependencies(array('cache.inputstream', 'tempdir')) + + -> register('cache.inputstream') + -> asNewInstanceOf('Swift_KeyCache_SimpleKeyCacheInputStream') + + ; diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/dependency_maps/mime_deps.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/dependency_maps/mime_deps.php new file mode 100644 index 0000000..e03927a --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/dependency_maps/mime_deps.php @@ -0,0 +1,97 @@ + register('properties.charset') + -> asValue('utf-8') + + -> register('mime.message') + -> asNewInstanceOf('Swift_Mime_SimpleMessage') + -> withDependencies(array( + 'mime.headerset', + 'mime.qpcontentencoder', + 'cache', + 'properties.charset' + )) + + -> register('mime.part') + -> asNewInstanceOf('Swift_Mime_MimePart') + -> withDependencies(array( + 'mime.headerset', + 'mime.qpcontentencoder', + 'cache', + 'properties.charset' + )) + + -> register('mime.attachment') + -> asNewInstanceOf('Swift_Mime_Attachment') + -> withDependencies(array( + 'mime.headerset', + 'mime.base64contentencoder', + 'cache' + )) + -> addConstructorValue($swift_mime_types) + + -> register('mime.embeddedfile') + -> asNewInstanceOf('Swift_Mime_EmbeddedFile') + -> withDependencies(array( + 'mime.headerset', + 'mime.base64contentencoder', + 'cache' + )) + -> addConstructorValue($swift_mime_types) + + -> register('mime.headerfactory') + -> asNewInstanceOf('Swift_Mime_SimpleHeaderFactory') + -> withDependencies(array( + 'mime.qpheaderencoder', + 'mime.rfc2231encoder', + 'properties.charset' + )) + + -> register('mime.headerset') + -> asNewInstanceOf('Swift_Mime_SimpleHeaderSet') + -> withDependencies(array('mime.headerfactory', 'properties.charset')) + + -> register('mime.qpheaderencoder') + -> asNewInstanceOf('Swift_Mime_HeaderEncoder_QpHeaderEncoder') + -> withDependencies(array('mime.charstream')) + + -> register('mime.charstream') + -> asNewInstanceOf('Swift_CharacterStream_NgCharacterStream') + -> withDependencies(array('mime.characterreaderfactory', 'properties.charset')) + + -> register('mime.bytecanonicalizer') + -> asSharedInstanceOf('Swift_StreamFilters_ByteArrayReplacementFilter') + -> addConstructorValue(array(array(0x0D, 0x0A), array(0x0D), array(0x0A))) + -> addConstructorValue(array(array(0x0A), array(0x0A), array(0x0D, 0x0A))) + + -> register('mime.characterreaderfactory') + -> asSharedInstanceOf('Swift_CharacterReaderFactory_SimpleCharacterReaderFactory') + + -> register('mime.qpcontentencoder') + -> asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoder') + -> withDependencies(array('mime.charstream', 'mime.bytecanonicalizer')) + + -> register('mime.7bitcontentencoder') + -> asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder') + -> addConstructorValue('7bit') + -> addConstructorValue(true) + + -> register('mime.8bitcontentencoder') + -> asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder') + -> addConstructorValue('8bit') + -> addConstructorValue(true) + + -> register('mime.base64contentencoder') + -> asSharedInstanceOf('Swift_Mime_ContentEncoder_Base64ContentEncoder') + + -> register('mime.rfc2231encoder') + -> asNewInstanceOf('Swift_Encoder_Rfc2231Encoder') + -> withDependencies(array('mime.charstream')) + + ; + +unset($swift_mime_types); diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/dependency_maps/transport_deps.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/dependency_maps/transport_deps.php new file mode 100644 index 0000000..32881d6 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/dependency_maps/transport_deps.php @@ -0,0 +1,62 @@ + register('transport.smtp') + -> asNewInstanceOf('Swift_Transport_EsmtpTransport') + -> withDependencies(array( + 'transport.buffer', + array('transport.authhandler'), + 'transport.eventdispatcher' + )) + + -> register('transport.sendmail') + -> asNewInstanceOf('Swift_Transport_SendmailTransport') + -> withDependencies(array( + 'transport.buffer', + 'transport.eventdispatcher' + )) + + -> register('transport.mail') + -> asNewInstanceOf('Swift_Transport_MailTransport') + -> withDependencies(array('transport.mailinvoker', 'transport.eventdispatcher')) + + -> register('transport.loadbalanced') + -> asNewInstanceOf('Swift_Transport_LoadBalancedTransport') + + -> register('transport.failover') + -> asNewInstanceOf('Swift_Transport_FailoverTransport') + + -> register('transport.mailinvoker') + -> asSharedInstanceOf('Swift_Transport_SimpleMailInvoker') + + -> register('transport.buffer') + -> asNewInstanceOf('Swift_Transport_StreamBuffer') + -> withDependencies(array('transport.replacementfactory')) + + -> register('transport.authhandler') + -> asNewInstanceOf('Swift_Transport_Esmtp_AuthHandler') + -> withDependencies(array( + array( + 'transport.crammd5auth', + 'transport.loginauth', + 'transport.plainauth' + ) + )) + + -> register('transport.crammd5auth') + -> asNewInstanceOf('Swift_Transport_Esmtp_Auth_CramMd5Authenticator') + + -> register('transport.loginauth') + -> asNewInstanceOf('Swift_Transport_Esmtp_Auth_LoginAuthenticator') + + -> register('transport.plainauth') + -> asNewInstanceOf('Swift_Transport_Esmtp_Auth_PlainAuthenticator') + + -> register('transport.eventdispatcher') + -> asNewInstanceOf('Swift_Events_SimpleEventDispatcher') + + -> register('transport.replacementfactory') + -> asSharedInstanceOf('Swift_StreamFilters_StringReplacementFilterFactory') + + ; diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/mime_types.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/mime_types.php new file mode 100644 index 0000000..65c9aa0 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/mime_types.php @@ -0,0 +1,76 @@ + 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'avi' => 'video/avi', + 'bmp' => 'image/bmp', + 'bz2' => 'application/x-bz2', + 'csv' => 'text/csv', + 'dmg' => 'application/x-apple-diskimage', + 'doc' => 'application/msword', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'eml' => 'message/rfc822', + 'aps' => 'application/postscript', + 'exe' => 'application/x-ms-dos-executable', + 'flv' => 'video/x-flv', + 'gif' => 'image/gif', + 'gz' => 'application/x-gzip', + 'hqx' => 'application/stuffit', + 'htm' => 'text/html', + 'html' => 'text/html', + 'jar' => 'application/x-java-archive', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'm3u' => 'audio/x-mpegurl', + 'm4a' => 'audio/mp4', + 'mdb' => 'application/x-msaccess', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mov' => 'video/quicktime', + 'mp3' => 'audio/mpeg', + 'mp4' => 'video/mp4', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'odg' => 'vnd.oasis.opendocument.graphics', + 'odp' => 'vnd.oasis.opendocument.presentation', + 'odt' => 'vnd.oasis.opendocument.text', + 'ods' => 'vnd.oasis.opendocument.spreadsheet', + 'ogg' => 'audio/ogg', + 'pdf' => 'application/pdf', + 'png' => 'image/png', + 'ppt' => 'application/vnd.ms-powerpoint', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'ps' => 'application/postscript', + 'rar' => 'application/x-rar-compressed', + 'rtf' => 'application/rtf', + 'tar' => 'application/x-tar', + 'sit' => 'application/x-stuffit', + 'svg' => 'image/svg+xml', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'ttf' => 'application/x-font-truetype', + 'txt' => 'text/plain', + 'vcf' => 'text/x-vcard', + 'wav' => 'audio/wav', + 'wma' => 'audio/x-ms-wma', + 'wmv' => 'audio/x-ms-wmv', + 'xls' => 'application/excel', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xml' => 'application/xml', + 'zip' => 'application/zip' +); diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/preferences.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/preferences.php new file mode 100644 index 0000000..0b9e4b1 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/preferences.php @@ -0,0 +1,20 @@ +setCharset('utf-8'); + +// Without these lines the default caching mechanism is "array" but this uses +// a lot of memory. +// If possible, use a disk cache to enable attaching large attachments etc +if (function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir())) +{ + Swift_Preferences::getInstance() + -> setTempDir(sys_get_temp_dir()) + -> setCacheType('disk'); +} diff --git a/www/protected/extensions/yii-mail/vendors/swiftMailer/swift_init.php b/www/protected/extensions/yii-mail/vendors/swiftMailer/swift_init.php new file mode 100644 index 0000000..fe624a9 --- /dev/null +++ b/www/protected/extensions/yii-mail/vendors/swiftMailer/swift_init.php @@ -0,0 +1,21 @@ +createTable('tbl_persona', array( + 'id' => 'pk', + 'nombre' => 'string NOT NULL', + ), 'ENGINE=InnoDB DEFAULT CHARSET=utf8'); + } + + public function down() { + $this->dropTable('tbl_persona'); + } + +} \ No newline at end of file diff --git a/www/protected/migrations/m130418_164738_crear_tabla_usuario.php b/www/protected/migrations/m130418_164738_crear_tabla_usuario.php new file mode 100644 index 0000000..d9e977c --- /dev/null +++ b/www/protected/migrations/m130418_164738_crear_tabla_usuario.php @@ -0,0 +1,22 @@ +createTable('tbl_usuario', array( + 'id' => 'pk', + 'username' => 'varchar(20) NOT NULL', + 'pwd_hash' => 'char(34) NOT NULL', + 'persona_id' => 'integer NOT NULL', + ), 'ENGINE=InnoDB DEFAULT CHARSET=utf8'); + + $this->createIndex('idx_username', 'tbl_usuario', 'username'); + $this->addForeignKey('fk_usuario_1', 'tbl_usuario', 'persona_id', 'tbl_persona', 'id', 'CASCADE', 'CASCADE'); + } + + public function safeDown() { + $this->dropForeignKey('fk_usuario_1', 'tbl_usuario'); + $this->dropTable('tbl_usuario'); + } + +} \ No newline at end of file diff --git a/www/protected/models/ContactForm.php b/www/protected/models/ContactForm.php new file mode 100644 index 0000000..86541cb --- /dev/null +++ b/www/protected/models/ContactForm.php @@ -0,0 +1,42 @@ +!CCaptcha::checkRequirements()), + ); + } + + /** + * Declares customized attribute labels. + * If not declared here, an attribute would have a label that is + * the same as its name with the first letter in upper case. + */ + public function attributeLabels() + { + return array( + 'verifyCode'=>'Verification Code', + ); + } +} \ No newline at end of file diff --git a/www/protected/modules/usuario/UsuarioModule.php b/www/protected/modules/usuario/UsuarioModule.php new file mode 100644 index 0000000..63bdfe5 --- /dev/null +++ b/www/protected/modules/usuario/UsuarioModule.php @@ -0,0 +1,147 @@ + array('perfil'), + ); + + public $captcha = array('registration' => true); + + public $fieldsMessage = ''; + + public $nombreRemitenteEMail = 'admin@admin.com'; + + public $urlLogin = "/usuario/logout"; + public $urlPerfil = "/usuario/perfil"; + public $urlRegistro = "/usuario/registro"; + public $urlRecuperar = "/usuario/registro/recuperar"; + public $urlActivar = "/usuario/registro/activar"; + public $returnUrl = array(); + + public $relations = array(); + + static private $_esAdmin; + static private $_listaUsuarios = array(); + + public function init() { + $this->setImport(array( + 'usuario.models.*', + 'usuario.models.formularios.*', + 'usuario.components.*', + )); + } + + public static function t($str = '', $params = array(), $dic = 'usuario') { + if (Yii::t("UsuarioModule", $str) == $str) + return Yii::t("UsuarioModule." . $dic, $str, $params); + else + return Yii::t("UsuarioModule", $str, $params); + } + + /** + * @return hash string. + */ + public static function cifrar($string = "") { + $hash = Yii::app()->getModule('usuario')->hash; + if ($hash == "md5") + return md5($string); + if ($hash == "sha1") + return sha1($string); + else + return hash($hash, $string); + } + + + /** + * Return safe user data. + * @param user id not required + * @return user object or false + */ + public static function usuario($id = 0, $clearCache = false) { + if (!$id && !Yii::app()->user->isGuest) + $id = Yii::app()->user->id; + if ($id) { + if (!isset(self::$_listaUsuarios[$id]) || $clearCache) + self::$_listaUsuarios[$id] = Usuario::model()->with(array('perfil'))->findbyPk($id); + return self::$_listaUsuarios[$id]; + } + else + return false; + } + + public static function doCaptcha($place = '') { +// if (!extension_loaded('gd')) +// return false; +// if (in_array($place, Yii::app()->getModule('usuario')->captcha)) +// return Yii::app()->getModule('usuario')->captcha[$place]; +// return false; + } + + public static function esAdmin() { + if (Yii::app()->user->isGuest) + return false; + else { + if (!isset(self::$_esAdmin)) { + if (self::usuario()->esSuperusuario) + self::$_esAdmin = true; + else + self::$_esAdmin = false; + } + return self::$_esAdmin; + } + } + +} diff --git a/www/protected/modules/usuario/components/EMail.php b/www/protected/modules/usuario/components/EMail.php new file mode 100644 index 0000000..57f1cb1 --- /dev/null +++ b/www/protected/modules/usuario/components/EMail.php @@ -0,0 +1,127 @@ +from = Yii::app()->getModule('usuario')->nombreRemitenteEMail; + $mensaje->setTo($to); + $mensaje->subject = $subject; + $mensaje->view = $view; + $mensaje->setBody($body, 'text/html'); + return (Yii::app()->mail->send($mensaje) > 0); + } + + /** + * @brief Envía un correo de confirmación de cuenta. + * @param string $destino dirección de destino + * @return boolean + */ + public static function enviarConfirmacionActivacion($destino) { + Yii::trace('Enviando correo para confirmar activación', 'application.modules.usuario.components.EMail'); + return self::_enviar($destino, + Yii::t('factuges', 'Gracias por registrarse en FactuGES.'), + 'confirmacion_usuario', + array('email' => $destino)); + } + + /** + * @brief Envía un correo informando de la cancelación de cuenta + * @param string $destino dirección de destino + * @return boolean + */ + public static function enviarConfirmacionCancelacion($destino) { + Yii::trace('Enviando correo para confirmar cancelación', 'application.modules.usuario.components.EMail'); + return self::_enviar($destino, + Yii::t('factuges', 'Confirmación de cancelación de su cuenta en FactuGES'), + 'confirmacion_cancelacion_usuario', + array('email' => $destino)); + } + + /** + * @brief Envía un correo de recuperación de password con una URL de verificación. + * @param string $destino dirección de destino + * @param string $key clave de seguridad necesaria para construir la URL de recuperación + * @return boolean + */ + public static function enviarRecuperacion($destino, $key) { + Yii::trace('Enviando correo con URL para recuperar la contraseña', 'application.modules.usuario.components.EMail'); + $url_recuperacion = Yii::app()->params['frontpage'] . '?' . 'key=' . $key . '&email=' . urlencode($destino); + return self::_enviar($destino, + Yii::t('factuges', 'Recuperación de su cuenta en FactuGES'), + 'recuperacion_password_usuario', + array('email' => $destino, 'url' => $url_recuperacion)); + } + + /** + * @brief Envía un correo confirmando el cambio de password. + * También se envia una URL de recuperación por si fuera un cambio no permitido. + * @param string $destino dirección de destino + * @param string $key clave de seguridad necesaria para construir la URL de recuperación + * @return boolean + */ + public static function enviarNotificacionCambioPassword($destino, $key) { + Yii::trace('Enviando correo confirmando el cambio de contraseña', 'application.modules.usuario.components.EMail'); + $url_recuperacion = Yii::app()->params['frontpage'] . '?' . 'key=' . $key . '&email=' . urlencode($destino); + return self::_enviar($destino, + UsuarioModule::t('Se ha modificado su password en {name}', array('{name}' => Yii::app()->name)), + 'notificacion_cambio_password_usuario', + array('email' => $destino, 'url' => $url_recuperacion)); + } + + /** + * @brief Envía un correo de registro de coordinador con una URL para confirmar la cuenta. + * @param string $destino dirección de destino + * @param string $key clave de seguridad necesaria para construir la URL de confirmación + * @return boolean + */ + public static function enviarBienvenidaUsuario($destino, $key) { + Yii::trace('Enviando correo de bienvenida a coordinador', 'application.modules.usuario.components.EMail'); + $urlActivacion = Yii::app()->createAbsoluteUrl(Yii::app()->getModule('usuario')->urlActivar, array("email" => $destino, "key" => $key)); + return self::_enviar($destino, + UsuarioModule::t('Complete su registro en {name}', array('{name}' => Yii::app()->name)), + 'registro_usuario', + array('email' => $destino, 'url' => $urlActivacion)); + } + + /** + * @brief Envía un mail de registro a un usuario (coordinador/agente) con + * una URL de confirmación de baja. + * @param string $destino dirección de destino + * @param string $key clave de seguridad necesaria para construir la URL de confirmación + * @return boolean + */ + + public static function enviarSolicitudBaja($destino, $key) { + Yii::trace('Enviando correo con URL para realizar la baja de la cuenta', 'application.modules.usuario.components.EMail'); + + $url_cancelacion = $this->createAbsoluteUrl('usuario/cancelar', array("key" => $key, "email" => $destino)); + return self::_enviar($destino, + Yii::t('factuges', 'Solicitud de cancelación de su cuenta en FactuGES'), + 'solicitud_cancelacion_usuario', + array('email' => $destino, 'url' => $url_cancelacion)); + } + +} +?> diff --git a/www/protected/modules/usuario/components/UserIdentity.php b/www/protected/modules/usuario/components/UserIdentity.php new file mode 100644 index 0000000..d7f9380 --- /dev/null +++ b/www/protected/modules/usuario/components/UserIdentity.php @@ -0,0 +1,62 @@ +username, "@")) { + $usuario = Usuario::model()->notsafe()->findByAttributes(array('email' => $this->username)); + } else { + $usuario = Usuario::model()->notsafe()->findByAttributes(array('username' => $this->username)); + } + if ($usuario === null) + if (strpos($this->username, "@")) { + $this->errorCode = self::ERROR_EMAIL_NOVALIDO; + } else { + $this->errorCode = self::ERROR_USERNAME_INVALID; + } else if (Yii::app()->getModule('usuario')->cifrar($this->password) !== $usuario->password) + $this->errorCode = self::ERROR_PASSWORD_INVALID; + else if ($usuario->estado == 0 && Yii::app()->getModule('usuario')->loginNotActiv == false) + $this->errorCode = self::ERROR_ESTADO_NOACTIVO; + else if ($usuario->estado == -1) + $this->errorCode = self::ERROR_ESTADO_BLOQUEADO; + else { + $this->_id = $usuario->id; + $this->username = $usuario->username; + $this->errorCode = self::ERROR_NONE; + } + return !$this->errorCode; + } + + /** + * @return integer the ID of the user record + */ + public function getId() { + return $this->_id; + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/components/WebUser.php b/www/protected/modules/usuario/components/WebUser.php new file mode 100644 index 0000000..45c940e --- /dev/null +++ b/www/protected/modules/usuario/components/WebUser.php @@ -0,0 +1,83 @@ +getState('__role'); + } + + public function getId() { + return $this->getState('__id') ? $this->getState('__id') : 0; + } + +// protected function beforeLogin($id, $states, $fromCookie) +// { +// parent::beforeLogin($id, $states, $fromCookie); +// +// $model = new UserLoginStats(); +// $model->attributes = array( +// 'user_id' => $id, +// 'ip' => ip2long(Yii::app()->request->getUserHostAddress()) +// ); +// $model->save(); +// +// return true; +// } + + protected function afterLogin($fromCookie) { + parent::afterLogin($fromCookie); + $this->updateSession(); + } + + public function updateSession() { + $usuario = Yii::app()->getModule('usuario')->usuario($this->id); + if ($usuario) { + $this->name = $usuario->username; + $userAttributes = CMap::mergeArray(array( + 'email' => $usuario->email, + 'username' => $usuario->username, + 'fecha_registro' => $usuario->fecha_registro, + 'ultima_visita' => $usuario->ultima_visita, + ), $usuario->perfil->getAttributes()); + + foreach ($userAttributes as $attrName => $attrValue) { + $this->setState($attrName, $attrValue); + } + } + } + + public function model($id = 0) { + return Yii::app()->getModule('usuario')->usuario($id); + } + + public function user($id = 0) { + return $this->model($id); + } + + public function getUserByName($username) { + return Yii::app()->getModule('usuario')->getUserByName($username); + } + + public function getAdmins() { + return Yii::app()->getModule('usuario')->getAdmins(); + } + + public function isAdmin() { + return Yii::app()->getModule('usuario')->isAdmin(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/config/test.php b/www/protected/modules/usuario/config/test.php new file mode 100644 index 0000000..d39bbe0 --- /dev/null +++ b/www/protected/modules/usuario/config/test.php @@ -0,0 +1,3 @@ +user->isGuest) { + $model = new FormularioLoginUsuario; + + // collect user input data + if (isset($_POST['FormularioLoginUsuario'])) { + $model->attributes = $_POST['FormularioLoginUsuario']; + // validate user input and redirect to previous page if valid + if ($model->validate()) { + $this->lastVisit(); + if (Yii::app()->getBaseUrl() . "/index.php" === Yii::app()->user->returnUrl) + $this->redirect(Yii::app()->controller->module->returnUrl); + else + $this->redirect(Yii::app()->user->returnUrl); + } + } + // display the login form + $this->render('login', array('model' => $model)); + } + else + $this->redirect(Yii::app()->controller->module->returnUrl); + } + + public function actionLogout() { + Yii::app()->user->logout(); + $this->redirect(Yii::app()->controller->module->urlLogin); + } + + private function lastVisit() { + $ultimaVisita = Usuario::model()->notsafe()->findByPk(Yii::app()->user->id); + $ultimaVisita->ultima_visita = date('Y-m-d H:i:s'); + $ultimaVisita->save(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/controllers/RegistroController.php b/www/protected/modules/usuario/controllers/RegistroController.php new file mode 100644 index 0000000..8cefd22 --- /dev/null +++ b/www/protected/modules/usuario/controllers/RegistroController.php @@ -0,0 +1,210 @@ + array( + 'class' => 'CCaptchaAction', + 'backColor' => 0xFFFFFF, + ), + ); + } + + /** + * @brief Realiza el registro de un usuario a partir de los datos introducidos + * en el formulario de la página de entrada. + * También envía un email al usuario para que confirme su cuenta si 'enviarMailActivacion' es 'true'. + */ + public function actionRegistrar() { + Yii::trace('Registrando un nuevo usuario', 'application.modules.usuario.RegistroController'); + + Perfil::$regMode = true; + + $usuario = new FormularioRegistroUsuario; + $perfil = new Perfil; + + // ajax validator + if (isset($_POST['ajax']) && $_POST['ajax'] === 'formulario-registro-usuario') { + echo CActiveForm::validate(array($usuario, $perfil)); + Yii::app()->end(); + } + + if (Yii::app()->user->id) { + $this->redirect(Yii::app()->controller->module->urlPerfil); + } else { + if (isset($_POST['FormularioRegistroUsuario'])) { + $usuario->attributes = $_POST['FormularioRegistroUsuario']; + $perfil->attributes = ((isset($_POST['Perfil']) ? $_POST['Perfil'] : array())); + + if ($usuario->validate() && $perfil->validate()) { + $passwordOriginal = $usuario->password; + + // Rellenar los campos necesarios + $usuario->clave_activacion = UsuarioModule::cifrar(microtime() . $usuario->password); + $usuario->password = UsuarioModule::cifrar($usuario->password); + $usuario->confirmacion_password = UsuarioModule::cifrar($usuario->confirmacion_password); + $usuario->superusuario = 0; + $usuario->estado = ((Yii::app()->controller->module->activeAfterRegister) ? Usuario::ESTADO_ACTIVO : Usuario::ESTADO_NOACTIVO); + + // Guardar el usuario y el perfil + $transaccion = Yii::app()->db->beginTransaction(); + try { + Yii::trace('Guardando el nuevo usuario', 'application.modules.usuario.RegistroController'); + if (!$usuario->save()) + throw new CException('Error al guardar el usuario'); + + Yii::trace('Guardando el perfil del usuario', 'application.modules.usuario.RegistroController'); + $perfil->usuario_id = $usuario->id; + if (!$perfil->save()) + throw new CException('Error al guardar el perfil'); + + $transaccion->commit(); + Yii::trace('Nuevo usuario dado de alta', 'application.modules.usuario.RegistroController'); + } catch (Exception $e) { + Yii::trace($e->getMessage(), 'application.modules.usuario.RegistroController'); + + $transaccion->rollBack(); + $errores = array_merge($usuario->getErrors(), $perfil->getErrors()); + foreach ($errores as $campo => $mensaje) + $resultado[$campo] = $mensaje; + Yii::trace(CVarDumper::dumpAsString($resultado), 'application.modules.usuario.RegistroController'); + + //echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado); + Yii::app()->end(); + } + + if (Yii::app()->controller->module->enviarMailActivacion) { + Yii::trace('Hay que enviar un correo de activación al usuario', 'application.modules.usuario.RegistroController'); + if (EMail::enviarBienvenidaUsuario($usuario->email, $usuario->clave_activacion)) { + Yii::trace('Correo para activar el usuario enviado', 'application.modules.usuario.RegistroController'); + } else { + Yii::trace('Error al enviar el correo para activar el usuario', 'application.modules.usuario.RegistroController'); + } + } + + if ((Yii::app()->controller->module->loginSinActivacion || (Yii::app()->controller->module->activarAutomaticamente && Yii::app()->controller->module->enviarMailActivacion == false)) && Yii::app()->controller->module->autoLogin) { + Yii::trace('Entrar directamente sin esperar a la activación', 'application.modules.usuario.RegistroController'); + $identity = new UserIdentity($usuario->username, $passwordOriginal); + $identity->authenticate(); + Yii::app()->user->login($identity, 0); + $this->redirect(Yii::app()->homeUrl); + } else { + if (!Yii::app()->controller->module->activarAutomaticamente && !Yii::app()->controller->module->enviarMailActivacion) { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Contact Admin to activate your account.")); + } elseif (Yii::app()->controller->module->activarAutomaticamente && Yii::app()->controller->module->enviarMailActivacion == false) { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Please {{login}}.", array('{{login}}' => CHtml::link(UsuarioModule::t('Login'), Yii::app()->controller->module->urlLogin)))); + } elseif (Yii::app()->controller->module->loginSinActivacion) { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Please check your email or login.")); + } else { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Please check your email.")); + } + $this->redirect(Yii::app()->createAbsoluteUrl(Yii::app()->controller->module->urlLogin)); + } + } + } + else + $perfil->validate(); + } + $this->render('registro', array('model' => $usuario, 'perfil' => $perfil)); + } + + /** + * @brief Activa la cuenta del usuarios a partir de la URL de activación + * que se le ha enviado a través del email generado en el proceso de + * registro. + */ + public function actionActivar() { + Yii::trace('Activando usuario', 'application.modules.usuario.RegistroController'); + + $email = Yii::app()->request->getQuery('email'); + $clave_activacion = Yii::app()->request->getQuery('key'); + + if ($email && $clave_activacion) { + $usuario = Usuario::model()->notsafe()->findByAttributes(array('email' => $email)); + + // Comprobamos si se ha encontrado un usuario con ese email + if (!isset($usuario)) { + Yii::trace('No existe el email', 'application.modules.usuario.RegistroController'); + Yii::app()->user->setFlash('registro', UsuarioModule::t("No se puede activar la cuenta. La URL de activación es incorrecta.")); + $this->redirect(Yii::app()->createAbsoluteUrl(Yii::app()->controller->module->urlLogin)); + } elseif ($usuario->estado == Usuario::ESTADO_ACTIVO) { + Yii::trace('El usuario ya está activo', 'application.modules.usuario.RegistroController'); + Yii::app()->user->setFlash('registro', UsuarioModule::t("No se ha realizado ningún cambio. La cuenta ya estaba activada.")); + $this->redirect(Yii::app()->createAbsoluteUrl(Yii::app()->controller->module->urlLogin)); + } elseif ($usuario->estado == Usuario::ESTADO_BLOQUEADO) { + Yii::trace('El usuario está bloqueado', 'application.modules.usuario.RegistroController'); + Yii::app()->user->setFlash('registro', UsuarioModule::t("La cuenta ha sido bloqueada. Contacte con el administrador del sitio para obtener más información.")); + $this->redirect(Yii::app()->createAbsoluteUrl(Yii::app()->controller->module->urlLogin)); + } elseif (isset($usuario->clave_activacion) && ($usuario->clave_activacion === $clave_activacion)) { + Yii::trace('Guardando el usuario', 'application.modules.usuario.RegistroController'); + + // Hay que activar el usuario + $usuario->estado = Usuario::ESTADO_ACTIVO; + $usuario->clave_activacion = UsuarioModule::cifrar(microtime() . $usuario->password); + $usuario->save(); + Yii::trace('Usuario activado', 'application.modules.usuario.RegistroController'); + + EMail::enviarConfirmacionActivacion($usuario->email); + + Yii::app()->user->setFlash('registro', UsuarioModule::t("Gracias por registrarse en FactuGES. Su cuenta ha sido confirmada.")); + $this->redirect(Yii::app()->createAbsoluteUrl(Yii::app()->controller->module->urlLogin)); + } else { + Yii::trace('Clave de seguridad no válida', 'application.modules.usuario.RegistroController'); + Yii::app()->user->setFlash('registro', UsuarioModule::t("No se puede activar la cuenta. El enlace de activación es incorrecto.")); + $this->redirect(Yii::app()->createAbsoluteUrl(Yii::app()->controller->module->urlLogin)); + } + } else { + Yii::trace('URL de activación no válida', 'application.modules.usuario.RegistroController'); + Yii::app()->user->setFlash('registro', UsuarioModule::t("No se puede activar la cuenta. El enlace de activación es incorrecto.")); + $this->redirect(Yii::app()->createAbsoluteUrl(Yii::app()->controller->module->urlLogin)); + } + } + + /** + * @brief Realiza la recuperación de la contraseña de un usuario. + */ + public function actionRecuperar() { + Yii::trace('Recuperar la cuenta del usuario', 'application.modules.usuario.RegistroController'); + + $formulario = new FormularioRecuperarUsuario; + + if (Yii::app()->user->id) { + $this->redirect(Yii::app()->controller->module->returnUrl); + } else { + if (isset($_POST['ajax']) && $_POST['ajax'] === 'recuperar-form-entrada') { + $formulario->email = $_POST['FormularioRecuperar_email']; + + if (!$formulario->validate()) + $this->performAjaxValidationMessage($formulario); + + $usuario = Usuario::model()->findByAttributes(array('email' => $formulario->email)); + if ($usuario) { + if (EMail::enviarRecuperacion($usuario->email, $usuario->clave_seguridad)) { + Yii::trace('Correo para recuperar la cuenta enviado', 'application.modules.usuario.RegistroController'); + $this->performAjaxStatusMessage('success', Yii::t('factuges', 'Recuperación de su cuenta en FactuGES'), Yii::t('factuges', 'En unos momentos recibirá un un correo con los pasos necesarios para recuperar su cuenta en FactuGES.') + ); + } else { + Yii::trace('Error al enviar el correo para recuperar la cuenta', 'application.modules.usuario.RegistroController'); + $this->performAjaxStatusMessage('success', Yii::t('factuges', 'Recuperación de su cuenta en FactuGES'), Yii::t('factuges', 'No se ha podido enviar el correo para recuperar su cuenta a la dirección indicada.') + ); + } + } else { + Yii::trace('No se encontrado un usuario con el email indicado', 'application.modules.usuario.RegistroController'); + $this->performAjaxStatusMessage('failure', Yii::t('factuges', 'Recuperación de su cuenta en FactuGES'), Yii::t('factuges', 'No se encontrado un usuario con el email indicado.') + ); + } + } + $this->redirect(Yii::app()->params['frontpage']); + } + + $this->render('recovery', array('form' => $form)); + } + +} + diff --git a/www/protected/modules/usuario/migrations/m130508_153437_instalarUsuarios.php b/www/protected/modules/usuario/migrations/m130508_153437_instalarUsuarios.php new file mode 100644 index 0000000..5248ff8 --- /dev/null +++ b/www/protected/modules/usuario/migrations/m130508_153437_instalarUsuarios.php @@ -0,0 +1,167 @@ +getModule('usuario')) { + echo "\n\nAñadir a console.php :\n" + . "'modules'=>array(\n" + . "...\n" + . " 'usuario'=>array(\n" + . " ... # copiar configuración de main.php\n" + . " ),\n" + . "...\n" + . "),\n" + . "\n"; + return false; + } + Yii::import('usuario.models.Usuario'); + + switch ($this->dbType()) { + case "mysql": + // Usuarios + $this->createTable(Yii::app()->getModule('usuario')->tablaUsuarios, array( + "id" => "pk", + "username" => "varchar(20) NOT NULL DEFAULT ''", + "password" => "varchar(128) NOT NULL DEFAULT ''", + "email" => "varchar(128) NOT NULL DEFAULT ''", + "clave_activacion" => "varchar(128) NOT NULL DEFAULT ''", + "fecha_registro" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", + "fecha_borrado" => "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'", + "ultima_visita" => "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'", + "superusuario" => "int(1) NOT NULL DEFAULT 0", + "estado" => "int(1) NOT NULL DEFAULT 0", + ), $this->MySqlOptions); + + $this->createIndex('usuario_username', Yii::app()->getModule('usuario')->tablaUsuarios, 'username', true); + $this->createIndex('usuario_email', Yii::app()->getModule('usuario')->tablaUsuarios, 'email', true); + $this->createIndex('usuario_superusuario', Yii::app()->getModule('usuario')->tablaUsuarios, 'superusuario', false); + $this->createIndex('usuario_estado', Yii::app()->getModule('usuario')->tablaUsuarios, 'estado', false); + + // Perfiles + $this->createTable(Yii::app()->getModule('usuario')->tablaPerfiles, array( + 'usuario_id' => 'pk', + 'nombre' => 'string', + 'apellidos' => 'string', + ), $this->MySqlOptions); + + $this->addForeignKey('usuario_perfil_id', Yii::app()->getModule('usuario')->tablaPerfiles, 'usuario_id', Yii::app()->getModule('usuario')->tablaUsuarios, 'id', 'CASCADE', 'RESTRICT'); + + // Campos de perfil + $this->createTable(Yii::app()->getModule('usuario')->tablaCamposPerfiles, array( + "id" => "pk", + "varname" => "varchar(50) NOT NULL DEFAULT ''", + "title" => "varchar(255) NOT NULL DEFAULT ''", + "field_type" => "varchar(50) NOT NULL DEFAULT ''", + "field_size" => "int(3) NOT NULL DEFAULT 0", + "field_size_min" => "int(3) NOT NULL DEFAULT 0", + "required" => "int(1) NOT NULL DEFAULT 0", + "match" => "varchar(255) NOT NULL DEFAULT ''", + "range" => "varchar(255) NOT NULL DEFAULT ''", + "error_message" => "varchar(255) NOT NULL DEFAULT ''", + "other_validator" => "text", + "default" => "varchar(255) NOT NULL DEFAULT ''", + "widget" => "varchar(255) NOT NULL DEFAULT ''", + "widgetparams" => "text", + "position" => "int(3) NOT NULL DEFAULT 0", + "visible" => "int(1) NOT NULL DEFAULT 0", + ), $this->MySqlOptions); + break; + } + + if (in_array('--interactive=0', $_SERVER['argv'])) { + $this->_model->username = 'admin'; + $this->_model->email = 'webmaster@example.com'; + $this->_model->password = 'admin'; + } else { + $this->readStdinUser('Admin login', 'username', 'admin'); + $this->readStdinUser('Admin email', 'email', 'webmaster@example.com'); + $this->readStdinUser('Admin password', 'password', 'admin'); + } + + $this->insert(Yii::app()->getModule('usuario')->tablaUsuarios, array( + "id" => "1", + "username" => $this->_model->username, + "password" => Yii::app()->getModule('usuario')->cifrar($this->_model->password), + "email" => $this->_model->email, + "clave_activacion" => Yii::app()->getModule('usuario')->cifrar(microtime()), + "fecha_registro" => date('Y-m-d H:i:s'), + "superusuario" => "1", + "estado" => Usuario::ESTADO_ACTIVO, + )); + + $this->insert(Yii::app()->getModule('usuario')->tablaPerfiles, array( + "usuario_id" => "1", + "nombre" => "Administrator", + "apellidos" => "Admin", + )); + + $this->insert(Yii::app()->getModule('usuario')->tablaCamposPerfiles, array( + "id" => "1", + "varname" => "nombre", + "title" => "Nombre", + "field_type" => "VARCHAR", + "field_size" => "255", + "field_size_min" => "3", + "required" => "2", + "match" => "", + "range" => "", + "error_message" => "Incorrect First Name (length between 3 and 50 characters).", + "other_validator" => "", + "default" => "", + "widget" => "", + "widgetparams" => "", + "position" => "1", + "visible" => "3", + )); + $this->insert(Yii::app()->getModule('usuario')->tablaCamposPerfiles, array( + "id" => "2", + "varname" => "apellidos", + "title" => "Apellidos", + "field_type" => "VARCHAR", + "field_size" => "255", + "field_size_min" => "3", + "required" => "2", + "match" => "", + "range" => "", + "error_message" => "Incorrect Last Name (length between 3 and 50 characters).", + "other_validator" => "", + "default" => "", + "widget" => "", + "widgetparams" => "", + "position" => "2", + "visible" => "3", + )); + } + + public function safeDown() { + $this->dropTable(Yii::app()->getModule('usuario')->tablaCamposPerfiles); + $this->dropTable(Yii::app()->getModule('usuario')->tablaPerfiles); + $this->dropTable(Yii::app()->getModule('usuario')->tablaUsuarios); + } + + public function dbType() { + list($type) = explode(':', Yii::app()->db->connectionString); + echo "type db: " . $type . "\n"; + return $type; + } + + private function readStdinUser($prompt, $field, $default = '') { + if (!$this->_model) + $this->_model = new Usuario; + + while (!isset($input) || !$this->_model->validate(array($field))) { + echo $prompt . (($default) ? " [$default]" : '') . ': '; + $input = (trim(fgets(STDIN))); + if (empty($input) && !empty($default)) { + $input = $default; + } + $this->_model->setAttribute($field, $input); + } + return $input; + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/models/CampoPerfil.php b/www/protected/modules/usuario/models/CampoPerfil.php new file mode 100644 index 0000000..92296ad --- /dev/null +++ b/www/protected/modules/usuario/models/CampoPerfil.php @@ -0,0 +1,201 @@ +getModule('usuario')->tablaCamposPerfiles; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() { + // NOTE: you should only define rules for those attributes that + // will receive user inputs. + return array( + array('varname, title, field_type', 'required'), + array('varname', 'match', 'pattern' => '/^[A-Za-z_0-9]+$/u', 'message' => UsuarioModule::t("Variable name may consist of A-z, 0-9, underscores, begin with a letter.")), + array('varname', 'unique', 'message' => UsuarioModule::t("This field already exists.")), + array('varname, field_type', 'length', 'max' => 50), + array('field_size, field_size_min, required, position, visible', 'numerical', 'integerOnly' => true), + array('title, match, error_message, other_validator, default, widget', 'length', 'max' => 255), + array('range, widgetparams', 'length', 'max' => 5000), + ); + } + + /** + * @return array relational rules. + */ + public function relations() { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + return array( + ); + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() { + return array( + 'id' => UsuarioModule::t('Id'), + 'varname' => UsuarioModule::t('Variable name'), + 'title' => UsuarioModule::t('Title'), + 'field_type' => UsuarioModule::t('Field Type'), + 'field_size' => UsuarioModule::t('Field Size'), + 'field_size_min' => UsuarioModule::t('Field Size min'), + 'required' => UsuarioModule::t('Required'), + 'match' => UsuarioModule::t('Match'), + 'range' => UsuarioModule::t('Range'), + 'error_message' => UsuarioModule::t('Error Message'), + 'other_validator' => UsuarioModule::t('Other Validator'), + 'default' => UsuarioModule::t('Default'), + 'widget' => UsuarioModule::t('Widget'), + 'widgetparams' => UsuarioModule::t('Widget parametrs'), + 'position' => UsuarioModule::t('Position'), + 'visible' => UsuarioModule::t('Visible'), + ); + } + + public function scopes() { + return array( + 'forAll' => array( + 'condition' => 'visible=' . self::VISIBLE_ALL, + 'order' => 'position', + ), + 'forUser' => array( + 'condition' => 'visible>=' . self::VISIBLE_REGISTER_USER, + 'order' => 'position', + ), + 'forOwner' => array( + 'condition' => 'visible>=' . self::VISIBLE_ONLY_OWNER, + 'order' => 'position', + ), + 'forRegistration' => array( + 'condition' => 'required=' . self::REQUIRED_NO_SHOW_REG . ' OR required=' . self::REQUIRED_YES_SHOW_REG, + 'order' => 'position', + ), + 'sort' => array( + 'order' => 'position', + ), + ); + } + + /** + * @param $value + * @return formated value (string) + */ + public function widgetView($model) { + if ($this->widget && class_exists($this->widget)) { + $widgetClass = new $this->widget; + + $arr = $this->widgetparams; + if ($arr) { + $newParams = $widgetClass->params; + $arr = (array) CJavaScript::jsonDecode($arr); + foreach ($arr as $p => $v) { + if (isset($newParams[$p])) + $newParams[$p] = $v; + } + $widgetClass->params = $newParams; + } + + if (method_exists($widgetClass, 'viewAttribute')) { + return $widgetClass->viewAttribute($model, $this); + } + } + return false; + } + + public function widgetEdit($model, $params = array()) { + if ($this->widget && class_exists($this->widget)) { + $widgetClass = new $this->widget; + + $arr = $this->widgetparams; + if ($arr) { + $newParams = $widgetClass->params; + $arr = (array) CJavaScript::jsonDecode($arr); + foreach ($arr as $p => $v) { + if (isset($newParams[$p])) + $newParams[$p] = $v; + } + $widgetClass->params = $newParams; + } + + if (method_exists($widgetClass, 'editAttribute')) { + return $widgetClass->editAttribute($model, $this, $params); + } + } + return false; + } + + public static function itemAlias($type, $code = NULL) { + $_items = array( + 'field_type' => array( + 'INTEGER' => UsuarioModule::t('INTEGER'), + 'VARCHAR' => UsuarioModule::t('VARCHAR'), + 'TEXT' => UsuarioModule::t('TEXT'), + 'DATE' => UsuarioModule::t('DATE'), + 'FLOAT' => UsuarioModule::t('FLOAT'), + 'BOOL' => UsuarioModule::t('BOOL'), + 'BLOB' => UsuarioModule::t('BLOB'), + 'BINARY' => UsuarioModule::t('BINARY'), + ), + 'required' => array( + self::REQUIRED_NO => UsuarioModule::t('No'), + self::REQUIRED_NO_SHOW_REG => UsuarioModule::t('No, but show on registration form'), + self::REQUIRED_YES_SHOW_REG => UsuarioModule::t('Yes and show on registration form'), + self::REQUIRED_YES_NOT_SHOW_REG => UsuarioModule::t('Yes'), + ), + 'visible' => array( + self::VISIBLE_ALL => UsuarioModule::t('For all'), + self::VISIBLE_REGISTER_USER => UsuarioModule::t('Registered users'), + self::VISIBLE_ONLY_OWNER => UsuarioModule::t('Only owner'), + self::VISIBLE_NO => UsuarioModule::t('Hidden'), + ), + ); + if (isset($code)) + return isset($_items[$type][$code]) ? $_items[$type][$code] : false; + else + return isset($_items[$type]) ? $_items[$type] : false; + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/models/Perfil.php b/www/protected/modules/usuario/models/Perfil.php new file mode 100644 index 0000000..ce6992d --- /dev/null +++ b/www/protected/modules/usuario/models/Perfil.php @@ -0,0 +1,202 @@ +getModule('usuario')->tablaPerfiles; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() { + if (!self::$_rules) { + $required = array(); + $numerical = array(); + $float = array(); + $decimal = array(); + $rules = array(); + + $model = self::getFields(); + + foreach ($model as $field) { + $field_rule = array(); + if ($field->required == CampoPerfil::REQUIRED_YES_NOT_SHOW_REG || $field->required == CampoPerfil::REQUIRED_YES_SHOW_REG) + array_push($required, $field->varname); + if ($field->field_type == 'FLOAT') + array_push($float, $field->varname); + if ($field->field_type == 'DECIMAL') + array_push($decimal, $field->varname); + if ($field->field_type == 'INTEGER') + array_push($numerical, $field->varname); + if ($field->field_type == 'VARCHAR' || $field->field_type == 'TEXT') { + $field_rule = array($field->varname, 'length', 'max' => $field->field_size, 'min' => $field->field_size_min); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + if ($field->other_validator) { + if (strpos($field->other_validator, '{') === 0) { + $validator = (array) CJavaScript::jsonDecode($field->other_validator); + foreach ($validator as $name => $val) { + $field_rule = array($field->varname, $name); + $field_rule = array_merge($field_rule, (array) $validator[$name]); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + } else { + $field_rule = array($field->varname, $field->other_validator); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + } elseif ($field->field_type == 'DATE') { + if ($field->required) + $field_rule = array($field->varname, 'date', 'format' => array('yyyy-mm-dd')); + else + $field_rule = array($field->varname, 'date', 'format' => array('yyyy-mm-dd', '0000-00-00'), 'allowEmpty' => true); + + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + if ($field->match) { + $field_rule = array($field->varname, 'match', 'pattern' => $field->match); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + if ($field->range) { + $field_rule = array($field->varname, 'in', 'range' => self::rangeRules($field->range)); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + } + + array_push($rules, array(implode(',', $required), 'required')); + array_push($rules, array(implode(',', $numerical), 'numerical', 'integerOnly' => true)); + array_push($rules, array(implode(',', $float), 'type', 'type' => 'float')); + array_push($rules, array(implode(',', $decimal), 'match', 'pattern' => '/^\s*[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\s*$/')); + self::$_rules = $rules; + } + return self::$_rules; + } + + /** + * @return array relational rules. + */ + public function relations() { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + $relations = array( + 'usuario' => array(self::HAS_ONE, 'Usuario', 'id'), + ); + if (isset(Yii::app()->getModule('usuario')->profileRelations)) + $relations = array_merge($relations, Yii::app()->getModule('usuario')->profileRelations); + return $relations; + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() { + $labels = array( + 'usuario_id' => UsuarioModule::t('ID Usuario'), + ); + $model = self::getFields(); + + foreach ($model as $field) + $labels[$field->varname] = ((Yii::app()->getModule('usuario')->fieldsMessage) ? UsuarioModule::t($field->title, array(), Yii::app()->getModule('usuario')->fieldsMessage) : UsuarioModule::t($field->title)); + + return $labels; + } + + private function rangeRules($str) { + $rules = explode(';', $str); + for ($i = 0; $i < count($rules); $i++) + $rules[$i] = current(explode("==", $rules[$i])); + return $rules; + } + + static public function range($str, $fieldValue = NULL) { + $rules = explode(';', $str); + $array = array(); + for ($i = 0; $i < count($rules); $i++) { + $item = explode("==", $rules[$i]); + if (isset($item[0])) + $array[$item[0]] = ((isset($item[1])) ? $item[1] : $item[0]); + } + if (isset($fieldValue)) + if (isset($array[$fieldValue])) + return $array[$fieldValue]; + else + return ''; + else + return $array; + } + + public function widgetAttributes() { + $data = array(); + $model = self::getFields(); + + foreach ($model as $field) { + if ($field->widget) + $data[$field->varname] = $field->widget; + } + return $data; + } + + public function widgetParams($fieldName) { + $data = array(); + $model = self::getFields(); + + foreach ($model as $field) { + if ($field->widget) + $data[$field->varname] = $field->widgetparams; + } + return $data[$fieldName]; + } + + public static function getFields() { + if (self::$regMode) { + if (!self::$_modelReg) + self::$_modelReg = CampoPerfil::model()->forRegistration()->findAll(); + return self::$_modelReg; + } else { + if (!self::$_model) + self::$_model = CampoPerfil::model()->forOwner()->findAll(); + return self::$_model; + } + } + + public function afterSave() { + if (get_class(Yii::app()) == 'CWebApplication' && Perfil::$regMode == false) { + Yii::app()->user->updateSession(); + } + return parent::afterSave(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/models/Usuario.php b/www/protected/modules/usuario/models/Usuario.php new file mode 100644 index 0000000..88f2ae5 --- /dev/null +++ b/www/protected/modules/usuario/models/Usuario.php @@ -0,0 +1,198 @@ +getModule('usuario')->tablaUsuarios; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() { + $rules = array(); + + $rules[] = array('username, email, password, fecha_registro, estado, superusuario', 'required'); + + $rules[] = array('username', 'unique', 'message' => UsuarioModule::t("This user's name already exists.")); + $rules[] = array('username', 'length', 'max' => 20, 'min' => 3, 'message' => UsuarioModule::t("Incorrect username (length between 3 and 20 characters).")); + $rules[] = array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u', 'message' => UsuarioModule::t("Incorrect symbols (A-z0-9).")); + + $rules[] = array('password', 'length', 'max' => 128, 'min' => 4, 'message' => UsuarioModule::t("Incorrect password (minimal length 4 symbols).")); + + $rules[] = array('email', 'email'); + $rules[] = array('email', 'unique', 'message' => UsuarioModule::t("This user's email address already exists.")); + + $rules[] = array('superusuario', 'in', 'range' => array(0, 1)); + $rules[] = array('superusuario, estado', 'numerical', 'integerOnly' => true); + + $rules[] = array('estado', 'in', 'range' => array(self::ESTADO_NOACTIVO, self::ESTADO_ACTIVO, self::ESTADO_BLOQUEADO, self::ESTADO_BORRADO)); + + $rules[] = array('fecha_registro', 'default', 'value' => date('Y-m-d H:i:s'), 'setOnEmpty' => true, 'on' => 'insert'); + $rules[] = array('fecha_borrado', 'default', 'value' => '0000-00-00 00:00:00', 'setOnEmpty' => true, 'on' => 'insert'); + $rules[] = array('ultima_visita', 'default', 'value' => '0000-00-00 00:00:00', 'setOnEmpty' => true, 'on' => 'insert'); + + $rules[] = array('id, username, email, fecha_registro, fecha_borrado, ultima_visita, superusuario, estado', 'safe', 'on' => 'search'); + + return $rules; + } + + protected function beforeSave() { + if (($this->estado === self::ESTADO_BORRADO) && ($this->fecha_borrado === NULL)) + $this->fecha_borrado = date("Y-m-d H:i:s"); + return parent::beforeSave(); + } + + /** + * @return array relational rules. + */ + public function relations() { + $relations = Yii::app()->getModule('usuario')->relations; + if (!isset($relations['perfil'])) + $relations['perfil'] = array(self::HAS_ONE, 'Perfil', 'usuario_id'); + return $relations; + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() { + return array( + 'id' => UsuarioModule::t("Id"), + 'username' => UsuarioModule::t("Usuario"), + 'password' => UsuarioModule::t("Contraseña"), + 'confirmacion_password' => UsuarioModule::t("Confirmación de contraseña"), + 'email' => UsuarioModule::t("E-mail"), + 'codigo_verificacion' => UsuarioModule::t("Código de verificación"), + 'clave_activacion' => UsuarioModule::t("Clave de activación"), + 'fecha_registro' => UsuarioModule::t("Fecha de registro"), + 'fecha_borrado' => UsuarioModule::t("Fecha de baja"), + 'ultima_visita' => UsuarioModule::t("Última visita"), + 'superusuario' => UsuarioModule::t("Superusuario"), + 'estado' => UsuarioModule::t("Estado"), + ); + } + + public function scopes() { + return array( + 'activo' => array( + 'condition' => 'estado=' . self::ESTADO_ACTIVO, + ), + 'inactivo' => array( + 'condition' => 'estado=' . self::ESTADO_NOACTIVO, + ), + 'bloqueado' => array( + 'condition' => 'estado=' . self::ESTADO_BLOQUEADO, + ), + 'superusuario' => array( + 'condition' => 'superusuario=1', + ), + 'notsafe' => array( + 'select' => 'id, username, password, email, clave_activacion, fecha_registro, fecha_borrado, ultima_visita, superusuario, estado', + ), + ); + } + + public function defaultScope() { + return CMap::mergeArray(Yii::app()->getModule('usuario')->defaultScope, array( + 'alias' => 'usuario', + 'select' => 'usuario.id, usuario.username, usuario.email, usuario.fecha_registro, usuario.fecha_borrado, usuario.ultima_visita, usuario.superusuario, usuario.estado', + )); + } + + public static function itemAlias($type, $code = NULL) { + $_items = array( + 'UserStatus' => array( + self::ESTADO_NOACTIVO => UsuarioModule::t('Inactivo'), + self::ESTADO_ACTIVO => UsuarioModule::t('Activo'), + self::ESTADO_BLOQUEADO => UsuarioModule::t('Bloqueado'), + ), + 'AdminStatus' => array( + '0' => UsuarioModule::t('No'), + '1' => UsuarioModule::t('Sí'), + ), + ); + if (isset($code)) + return isset($_items[$type][$code]) ? $_items[$type][$code] : false; + else + return isset($_items[$type]) ? $_items[$type] : false; + } + + /** + * Retrieves a list of models based on the current search/filter conditions. + * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. + */ + public function search() { + // Warning: Please modify the following code to remove attributes that + // should not be searched. + + $criteria = new CDbCriteria; + + $criteria->compare('id', $this->id); + $criteria->compare('username', $this->username, true); + $criteria->compare('password', $this->password); + $criteria->compare('email', $this->email, true); + $criteria->compare('clave_activacion', $this->clave_activacion); + $criteria->compare('fecha_registro', $this->fecha_registro); + $criteria->compare('fecha_borrado', $this->fecha_borrado); + $criteria->compare('ultima_visita', $this->ultima_visita); + $criteria->compare('superusuario', $this->superusuario); + $criteria->compare('estado', $this->estado); + + return new CActiveDataProvider(get_class($this), array( + 'criteria' => $criteria, + 'pagination' => array( + 'pageSize' => Yii::app()->getModule('usuario')->user_page_size, + ), + )); + } + + public function getFechaRegistro() { + return strtotime($this->fecha_registro); + } + + public function getUltimaVisita() { + return strtotime($this->ultima_visita); + } + + public function afterSave() { + if (get_class(Yii::app()) == 'CWebApplication' && Perfil::$regMode == false) { + Yii::app()->user->updateSession(); + } + return parent::afterSave(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/models/formularios/FormularioLoginUsuario.php b/www/protected/modules/usuario/models/formularios/FormularioLoginUsuario.php new file mode 100644 index 0000000..7ad1710 --- /dev/null +++ b/www/protected/modules/usuario/models/formularios/FormularioLoginUsuario.php @@ -0,0 +1,70 @@ + UsuarioModule::t("Recordarme más tarde"), + 'username' => UsuarioModule::t("Nombre de usuario o email"), + 'password' => UsuarioModule::t("Contraseña"), + ); + } + + /** + * Authenticates the password. + * This is the 'authenticate' validator as declared in rules(). + */ + public function authenticate($attribute, $params) { + if (!$this->hasErrors()) { // we only want to authenticate when no input errors + $identity = new UserIdentity($this->username, $this->password); + $identity->authenticate(); + switch ($identity->errorCode) { + case UserIdentity::ERROR_NONE: + $duration = $this->recuerdame ? Yii::app()->controller->module->rememberMeTime : 0; + Yii::app()->user->login($identity, $duration); + break; + case UserIdentity::ERROR_EMAIL_NOVALIDO: + $this->addError("username", UsuarioModule::t("Email is incorrect.")); + break; + case UserIdentity::ERROR_USERNAME_INVALID: + $this->addError("username", UsuarioModule::t("Username is incorrect.")); + break; + case UserIdentity::ERROR_ESTADO_NOACTIVO: + $this->addError("estado", UsuarioModule::t("You account is not activated.")); + break; + case UserIdentity::ERROR_ESTADO_BLOQUEADO: + $this->addError("estado", UsuarioModule::t("You account is blocked.")); + break; + case UserIdentity::ERROR_PASSWORD_INVALID: + $this->addError("password", UsuarioModule::t("Password is incorrect.")); + break; + } + } + } + +} diff --git a/www/protected/modules/usuario/models/formularios/FormularioRecuperarUsuario.php b/www/protected/modules/usuario/models/formularios/FormularioRecuperarUsuario.php new file mode 100644 index 0000000..ad32876 --- /dev/null +++ b/www/protected/modules/usuario/models/formularios/FormularioRecuperarUsuario.php @@ -0,0 +1,58 @@ + '/^[A-Za-z0-9@.-\s,]+$/u', 'message' => UsuarioModule::t("Incorrect symbols (A-z0-9).")), + // password needs to be authenticated + array('login_or_email', 'existeUsuario'), + ); + } + + /** + * Declares attribute labels. + */ + public function attributeLabels() { + return array( + 'login_or_email' => UserModule::t("username or email"), + ); + } + + public function existeUsuario($attribute, $params) { + if (!$this->hasErrors()) { // we only want to authenticate when no input errors + if (strpos($this->login_or_email, "@")) { + $usuario = Usuario::model()->findByAttributes(array('email' => $this->login_or_email)); + if ($usuario) + $this->user_id = $usuario->id; + } else { + $usuario = User::model()->findByAttributes(array('username' => $this->login_or_email)); + if ($usuario) + $this->user_id = $usuario->id; + } + + if ($usuario === null) { + if (strpos($this->login_or_email, "@")) { + $this->addError("login_or_email", UsuarioModule::t("Email is incorrect.")); + } else { + $this->addError("login_or_email", UsuarioModule::t("Username is incorrect.")); + } + } + } + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario/models/formularios/FormularioRegistroUsuario.php b/www/protected/modules/usuario/models/formularios/FormularioRegistroUsuario.php new file mode 100644 index 0000000..c2e794e --- /dev/null +++ b/www/protected/modules/usuario/models/formularios/FormularioRegistroUsuario.php @@ -0,0 +1,30 @@ + 20, 'min' => 3, 'message' => UsuarioModule::t("Incorrect username (length between 3 and 20 characters).")), + array('password', 'length', 'max' => 128, 'min' => 4, 'message' => UsuarioModule::t("Incorrect password (minimal length 4 symbols).")), + array('email', 'email'), + array('username', 'unique', 'message' => UsuarioModule::t("This user's name already exists.")), + array('email', 'unique', 'message' => UsuarioModule::t("This user's email address already exists.")), + array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u', 'message' => UsuarioModule::t("Incorrect symbols (A-z0-9).")), + ); + if (!(isset($_POST['ajax']) && $_POST['ajax'] === 'registration-form')) { + array_push($rules, array('codigo_verificacion', 'captcha', 'allowEmpty' => !UsuarioModule::doCaptcha('registration'))); + } + + array_push($rules, array('confirmacion_password', 'compare', 'compareAttribute' => 'password', 'message' => UsuarioModule::t("Retype Password is incorrect."))); + return $rules; + } +} diff --git a/www/protected/modules/usuario2/UsuarioModule.php b/www/protected/modules/usuario2/UsuarioModule.php new file mode 100644 index 0000000..27d33ac --- /dev/null +++ b/www/protected/modules/usuario2/UsuarioModule.php @@ -0,0 +1,271 @@ + + * @link http://yii-user.2mx.org/ + * @license http://www.opensource.org/licenses/bsd-license.php + * @version $Id: UserModule.php 132 2011-10-30 10:45:01Z mishamx $ + */ +class UsuarioModule extends CWebModule { + + /** + * @var int + * @desc items on page + */ + public $user_page_size = 10; + + /** + * @var int + * @desc items on page + */ + public $fields_page_size = 10; + + /** + * @var string + * @desc hash method (md5,sha1 or algo hash function http://www.php.net/manual/en/function.hash.php) + */ + public $hash = 'md5'; + + /** + * @var boolean + * @desc use email for activation user account + */ + public $enviarMailActivacion = true; + + /** + * @var boolean + * @desc allow auth for is not active user + */ + public $loginNotActiv = false; + + /** + * @var boolean + * @desc activate user on registration (only $sendActivationMail = false) + */ + public $activeAfterRegister = false; + + /** + * @var boolean + * @desc login after registration (need loginNotActiv or activeAfterRegister = true) + */ + public $autoLogin = true; + public $urlRegistro = array("/usuario/registro"); + public $urlRecuperar = array("/usuario/recuperar/recuperar"); + public $urlLogin = array("/usuario/login"); + public $urlLogout = array("/usuario/logout"); + public $urlPerfil = array("/usuario/perfil"); + public $returnUrl = array("/usuario/perfil"); + public $returnLogoutUrl = array("/usuario/login"); + + /** + * @var int + * @desc Remember Me Time (seconds), defalt = 2592000 (30 days) + */ + public $rememberMeTime = 2592000; // 30 days + public $fieldsMessage = ''; + + /** + * @var array + * @desc User model relation from other models + * @see http://www.yiiframework.com/doc/guide/database.arr + */ + public $relations = array(); + + /** + * @var array + * @desc Profile model relation from other models + */ + public $profileRelations = array(); + + /** + * @var boolean + */ + public $captcha = array('registration' => true); + + /** + * @var boolean + */ + //public $cacheEnable = false; + + public $tablaUsuarios = '{{usuarios}}'; + public $tablaPerfiles = '{{perfiles}}'; + public $tablaCamposPerfiles = '{{campos_perfiles}}'; + + public $defaultScope = array( + 'with' => array('perfil'), + ); + + static private $_usuario; + static private $_usuarios = array(); + static private $_userByName = array(); + static private $_admin; + static private $_admins; + + /** + * @var array + * @desc Behaviors for models + */ + public $componentBehaviors = array(); + + public function init() { + // this method is called when the module is being created + // you may place code here to customize the module or the application + // import the module-level models and components + $this->setImport(array( + 'usuario.models.*', + 'usuario.components.*', + )); + } + + public function getBehaviorsFor($componentName) { + if (isset($this->componentBehaviors[$componentName])) { + return $this->componentBehaviors[$componentName]; + } else { + return array(); + } + } + + public function beforeControllerAction($controller, $action) { + if (parent::beforeControllerAction($controller, $action)) { + // this method is called before any module controller action is performed + // you may place customized code here + return true; + } + else + return false; + } + + /** + * @param $str + * @param $params + * @param $dic + * @return string + */ + public static function t($str = '', $params = array(), $dic = 'usuario') { + if (Yii::t("UsuarioModule", $str) == $str) + return Yii::t("UsuarioModule." . $dic, $str, $params); + else + return Yii::t("UsuarioModule", $str, $params); + } + + /** + * @return hash string. + */ + public static function encrypting($string = "") { + $hash = Yii::app()->getModule('usuario')->hash; + if ($hash == "md5") + return md5($string); + if ($hash == "sha1") + return sha1($string); + else + return hash($hash, $string); + } + + /** + * @param $place + * @return boolean + */ + public static function doCaptcha($place = '') { + if (!extension_loaded('gd')) + return false; + if (in_array($place, Yii::app()->getModule('usuario')->captcha)) + return Yii::app()->getModule('usuario')->captcha[$place]; + return false; + } + + /** + * Return admin status. + * @return boolean + */ + public static function isAdmin() { + if (Yii::app()->user->isGuest) + return false; + else { + if (!isset(self::$_admin)) { + if (self::usuario()->superusuario) + self::$_admin = true; + else + self::$_admin = false; + } + return self::$_admin; + } + } + + /** + * Return admins. + * @return array syperusers names + */ + public static function getAdmins() { + if (!self::$_admins) { + $admins = Usuario::model()->activo()->superusuario()->findAll(); + $return_name = array(); + foreach ($admins as $admin) + array_push($return_name, $admin->username); + self::$_admins = ($return_name) ? $return_name : array(''); + } + return self::$_admins; + } + + /** + * Send to user mail + */ + public static function sendMail($email, $subject, $message) { + $adminEmail = Yii::app()->params['adminEmail']; + $headers = "MIME-Version: 1.0\r\nFrom: $adminEmail\r\nReply-To: $adminEmail\r\nContent-Type: text/html; charset=utf-8"; + $message = wordwrap($message, 70); + $message = str_replace("\n.", "\n..", $message); + return mail($email, '=?UTF-8?B?' . base64_encode($subject) . '?=', $message, $headers); + } + + /** + * Send to user mail + */ + public function sendMailToUser($user_id, $subject, $message, $from = '') { + $user = Usuario::model()->findbyPk($user_id); + if (!$from) + $from = Yii::app()->params['adminEmail']; + $headers = "From: " . $from . "\r\nReply-To: " . Yii::app()->params['adminEmail']; + return mail($user->email, '=?UTF-8?B?' . base64_encode($subject) . '?=', $message, $headers); + } + + /** + * Return safe user data. + * @param user id not required + * @return user object or false + */ + public static function usuario($id = 0, $clearCache = false) { + if (!$id && !Yii::app()->user->isGuest) + $id = Yii::app()->user->id; + if ($id) { + if (!isset(self::$_usuarios[$id]) || $clearCache) + self::$_usuarios[$id] = Usuario::model()->with(array('perfil'))->findbyPk($id); + return self::$_usuarios[$id]; + } + else + return false; + } + + /** + * Return safe user data. + * @param user name + * @return user object or false + */ + public static function getUserByName($username) { + if (!isset(self::$_userByName[$username])) { + $_userByName[$username] = Usuario::model()->findByAttributes(array('username' => $username)); + } + return $_userByName[$username]; + } + + /** + * Return safe user data. + * @param user id not required + * @return user object or false + */ + public function users() { + return User; + } + +} diff --git a/www/protected/modules/usuario2/components/UserIdentity.php b/www/protected/modules/usuario2/components/UserIdentity.php new file mode 100644 index 0000000..b37d41f --- /dev/null +++ b/www/protected/modules/usuario2/components/UserIdentity.php @@ -0,0 +1,62 @@ +username, "@")) { + $usuario = Usuario::model()->notsafe()->findByAttributes(array('email' => $this->username)); + } else { + $usuario = Usuario::model()->notsafe()->findByAttributes(array('username' => $this->username)); + } + if ($usuario === null) + if (strpos($this->username, "@")) { + $this->errorCode = self::ERROR_EMAIL_NOVALIDO; + } else { + $this->errorCode = self::ERROR_USERNAME_INVALID; + } else if (Yii::app()->getModule('usuario')->encrypting($this->password) !== $usuario->password) + $this->errorCode = self::ERROR_PASSWORD_INVALID; + else if ($usuario->estado == 0 && Yii::app()->getModule('usuario')->loginNotActiv == false) + $this->errorCode = self::ERROR_ESTADO_NOACTIVO; + else if ($usuario->estado == -1) + $this->errorCode = self::ERROR_ESTADO_BLOQUEADO; + else { + $this->_id = $usuario->id; + $this->username = $usuario->username; + $this->errorCode = self::ERROR_NONE; + } + return !$this->errorCode; + } + + /** + * @return integer the ID of the user record + */ + public function getId() { + return $this->_id; + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/components/WebUser.php b/www/protected/modules/usuario2/components/WebUser.php new file mode 100644 index 0000000..b3f2169 --- /dev/null +++ b/www/protected/modules/usuario2/components/WebUser.php @@ -0,0 +1,83 @@ +getState('__role'); + } + + public function getId() { + return $this->getState('__id') ? $this->getState('__id') : 0; + } + +// protected function beforeLogin($id, $states, $fromCookie) +// { +// parent::beforeLogin($id, $states, $fromCookie); +// +// $model = new UserLoginStats(); +// $model->attributes = array( +// 'user_id' => $id, +// 'ip' => ip2long(Yii::app()->request->getUserHostAddress()) +// ); +// $model->save(); +// +// return true; +// } + + protected function afterLogin($fromCookie) { + parent::afterLogin($fromCookie); + $this->updateSession(); + } + + public function updateSession() { + $usuario = Yii::app()->getModule('usuario')->usuario($this->id); + + $this->name = $usuario->username; + + $userAttributes = CMap::mergeArray(array( + 'email' => $usuario->email, + 'username' => $usuario->username, + 'fecha_registro' => $usuario->fecha_registro, + 'ultima_visita' => $usuario->ultima_visita, + ), $usuario->perfil->getAttributes()); + + foreach ($userAttributes as $attrName => $attrValue) { + $this->setState($attrName, $attrValue); + } + } + + public function model($id = 0) { + return Yii::app()->getModule('usuario')->usuario($id); + } + + public function user($id = 0) { + return $this->model($id); + } + + public function getUserByName($username) { + return Yii::app()->getModule('usuario')->getUserByName($username); + } + + public function getAdmins() { + return Yii::app()->getModule('usuario')->getAdmins(); + } + + public function isAdmin() { + return Yii::app()->getModule('usuario')->isAdmin(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/controllers/DefaultController.php b/www/protected/modules/usuario2/controllers/DefaultController.php new file mode 100644 index 0000000..fb74a32 --- /dev/null +++ b/www/protected/modules/usuario2/controllers/DefaultController.php @@ -0,0 +1,23 @@ + array( + 'condition' => 'estado>' . Usuario::ESTADO_BLOQUEADO, + ), + 'pagination' => array( + 'pageSize' => Yii::app()->controller->module->user_page_size, + ), + )); + + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/controllers/LoginController.php b/www/protected/modules/usuario2/controllers/LoginController.php new file mode 100644 index 0000000..76b0dcb --- /dev/null +++ b/www/protected/modules/usuario2/controllers/LoginController.php @@ -0,0 +1,38 @@ +user->isGuest) { + $model = new FormularioLoginUsuario; + // collect user input data + if (isset($_POST['FormularioLoginUsuario'])) { + $model->attributes = $_POST['FormularioLoginUsuario']; + // validate user input and redirect to previous page if valid + if ($model->validate()) { + $this->lastViset(); + if (Yii::app()->getBaseUrl() . "/index.php" === Yii::app()->user->returnUrl) + $this->redirect(Yii::app()->controller->module->returnUrl); + else + $this->redirect(Yii::app()->user->returnUrl); + } + } + // display the login form + $this->render('login', array('model' => $model)); + } + else + $this->redirect(Yii::app()->controller->module->returnUrl); + } + + private function lastViset() { + $ultimaVisita = Usuario::model()->notsafe()->findByPk(Yii::app()->user->id); + $ultimaVisita->ultima_visita = date('Y-m-d H:i:s'); + $ultimaVisita->save(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/controllers/LogoutController.php b/www/protected/modules/usuario2/controllers/LogoutController.php new file mode 100644 index 0000000..c9419ad --- /dev/null +++ b/www/protected/modules/usuario2/controllers/LogoutController.php @@ -0,0 +1,16 @@ +user->logout(); + $this->redirect(Yii::app()->controller->module->returnLogoutUrl); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/controllers/RegistroController.php b/www/protected/modules/usuario2/controllers/RegistroController.php new file mode 100644 index 0000000..12914c1 --- /dev/null +++ b/www/protected/modules/usuario2/controllers/RegistroController.php @@ -0,0 +1,82 @@ + array( + 'class' => 'CCaptchaAction', + 'backColor' => 0xFFFFFF, + ), + ); + } + + /** + * Registration user + */ + public function actionRegistrar() { + Perfil::$regMode = true; + $model = new FormularioRegistroUsuario; + $perfil = new Perfil; + + // ajax validator + if (isset($_POST['ajax']) && $_POST['ajax'] === 'registration-form') { + echo UActiveForm::validate(array($model, $perfil)); + Yii::app()->end(); + } + + if (Yii::app()->user->id) { + $this->redirect(Yii::app()->controller->module->urlPerfil); + } else { + if (isset($_POST['FormularioRegistroUsuario'])) { + $model->attributes = $_POST['FormularioRegistroUsuario']; + $perfil->attributes = ((isset($_POST['Perfil']) ? $_POST['Perfil'] : array())); + if ($model->validate() && $perfil->validate()) { + $soucePassword = $model->password; + $model->clave_activacion = UsuarioModule::encrypting(microtime() . $model->password); + $model->password = UsuarioModule::encrypting($model->password); + $model->confirmacion_password = UsuarioModule::encrypting($model->verifyPassword); + $model->superusuario = 0; + $model->estado = ((Yii::app()->controller->module->activeAfterRegister) ? Usuario::ESTADO_ACTIVO : Usuario::ESTADO_NOACTIVO); + + if ($model->save()) { + $perfil->usuario_id = $model->id; + $perfil->save(); + + if (Yii::app()->controller->module->sendActivationMail) { + $activation_url = $this->createAbsoluteUrl('/user/activation/activation', array("activkey" => $model->activkey, "email" => $model->email)); + UsuarioModule::sendMail($model->email, UsuarioModule::t("You registered from {site_name}", array('{site_name}' => Yii::app()->name)), UsuarioModule::t("Please activate you account go to {activation_url}", array('{activation_url}' => $activation_url))); + } + + if ((Yii::app()->controller->module->loginNotActiv || (Yii::app()->controller->module->activeAfterRegister && Yii::app()->controller->module->sendActivationMail == false)) && Yii::app()->controller->module->autoLogin) { + $identity = new UserIdentity($model->username, $soucePassword); + $identity->authenticate(); + Yii::app()->user->login($identity, 0); + $this->redirect(Yii::app()->controller->module->returnUrl); + } else { + if (!Yii::app()->controller->module->activeAfterRegister && !Yii::app()->controller->module->sendActivationMail) { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Contact Admin to activate your account.")); + } elseif (Yii::app()->controller->module->activeAfterRegister && Yii::app()->controller->module->sendActivationMail == false) { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Please {{login}}.", array('{{login}}' => CHtml::link(UsuarioModule::t('Login'), Yii::app()->controller->module->urlLogin)))); + } elseif (Yii::app()->controller->module->loginNotActiv) { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Please check your email or login.")); + } else { + Yii::app()->user->setFlash('registro', UsuarioModule::t("Thank you for your registration. Please check your email.")); + } + $this->refresh(); + } + } + } + else + $perfil->validate(); + } + $this->render('registro', array('model' => $model, 'perfil' => $perfil)); + } + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/controllers/UsuarioController.php b/www/protected/modules/usuario2/controllers/UsuarioController.php new file mode 100644 index 0000000..5f74f61 --- /dev/null +++ b/www/protected/modules/usuario2/controllers/UsuarioController.php @@ -0,0 +1,93 @@ + array('index', 'view'), + 'users' => array('*'), + ), + array('deny', // deny all users + 'users' => array('*'), + ), + ); + } + + /** + * Displays a particular model. + */ + public function actionView() { + $model = $this->loadModel(); + $this->render('view', array( + 'model' => $model, + )); + } + + /** + * Lists all models. + */ + public function actionIndex() { + $dataProvider = new CActiveDataProvider('Usuario', array( + 'criteria' => array( + 'condition' => 'estado>' . Usuario::ESTADO_BLOQUEADO, + ), + 'pagination' => array( + 'pageSize' => Yii::app()->controller->module->user_page_size, + ), + )); + + $this->render('index', array( + 'dataProvider' => $dataProvider, + )); + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + */ + public function loadModel() { + if ($this->_model === null) { + if (isset($_GET['id'])) + $this->_model = User::model()->findbyPk($_GET['id']); + if ($this->_model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + } + return $this->_model; + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + * @param integer the primary key value. Defaults to null, meaning using the 'id' GET variable + */ + public function loadUser($id = null) { + if ($this->_model === null) { + if ($id !== null || isset($_GET['id'])) + $this->_model = User::model()->findbyPk($id !== null ? $id : $_GET['id']); + if ($this->_model === null) + throw new CHttpException(404, 'The requested page does not exist.'); + } + return $this->_model; + } + +} diff --git a/www/protected/modules/usuario2/data/usuario.mysql.sql b/www/protected/modules/usuario2/data/usuario.mysql.sql new file mode 100644 index 0000000..6c3ae0d --- /dev/null +++ b/www/protected/modules/usuario2/data/usuario.mysql.sql @@ -0,0 +1,57 @@ +CREATE TABLE `tbl_usuario` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(20) NOT NULL, + `password` varchar(128) NOT NULL, + `email` varchar(128) NOT NULL, + `clave_activacion` varchar(128) NOT NULL DEFAULT '', + `fecha_registro` int(10) NOT NULL DEFAULT '0', + `ultima_visita` int(10) NOT NULL DEFAULT '0', + `superusuario` int(1) NOT NULL DEFAULT '0', + `estado` int(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `email` (`email`), + KEY `estado` (`estado`), + KEY `superusuario` (`superusuario`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; + +INSERT INTO `tbl_users` (`id`, `username`, `password`, `email`, `clave_activacion`, `fecha_registro`, `ultima_visita`, `superusuario`, `estado`) VALUES +(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'webmaster@example.com', '9a24eff8c15a6a141ece27eb6947da0f', 1261146094, 0, 1, 1), +(2, 'demo', 'fe01ce2a7fbac8fafaed7c982a04e229', 'demo@example.com', '099f825543f7850cc038b90aaff39fac', 1261146096, 0, 0, 1); + +CREATE TABLE `tbl_perfil` ( + `usuario_id` int(11) NOT NULL, + `lastname` varchar(50) NOT NULL DEFAULT '', + `firstname` varchar(50) NOT NULL DEFAULT '', + PRIMARY KEY (`usuario_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; + +INSERT INTO `tbl_perfil` (`usuario_id`, `lastname`, `firstname`) VALUES +(1, 'Admin', 'Administrator'), +(2, 'Demo', 'Demo'); + +CREATE TABLE `tbl_perfil_campo` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `varname` varchar(50) NOT NULL, + `title` varchar(255) NOT NULL, + `field_type` varchar(50) NOT NULL, + `field_size` int(3) NOT NULL DEFAULT '0', + `field_size_min` int(3) NOT NULL DEFAULT '0', + `required` int(1) NOT NULL DEFAULT '0', + `match` varchar(255) NOT NULL DEFAULT '', + `range` varchar(255) NOT NULL DEFAULT '', + `error_message` varchar(255) NOT NULL DEFAULT '', + `other_validator` varchar(5000) NOT NULL DEFAULT '', + `default` varchar(255) NOT NULL DEFAULT '', + `widget` varchar(255) NOT NULL DEFAULT '', + `widgetparams` varchar(5000) NOT NULL DEFAULT '', + `position` int(3) NOT NULL DEFAULT '0', + `visible` int(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `varname` (`varname`,`widget`,`visible`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; + +INSERT INTO `tbl_perfil_campo` (`id`, `varname`, `title`, `field_type`, `field_size`, `field_size_min`, `required`, `match`, `range`, `error_message`, `other_validator`, `default`, `widget`, `widgetparams`, `position`, `visible`) VALUES +(1, 'lastname', 'Last Name', 'VARCHAR', 50, 3, 1, '', '', 'Incorrect Last Name (length between 3 and 50 characters).', '', '', '', '', 1, 3), +(2, 'firstname', 'First Name', 'VARCHAR', 50, 3, 1, '', '', 'Incorrect First Name (length between 3 and 50 characters).', '', '', '', '', 0, 3), +(3, 'birthday', 'Birthday', 'DATE', 0, 0, 2, '', '', '', '', '0000-00-00', 'UWjuidate', '{"ui-theme":"redmond"}', 3, 2); diff --git a/www/protected/modules/usuario2/migrations/m130508_153437_instalarUsuarios.php b/www/protected/modules/usuario2/migrations/m130508_153437_instalarUsuarios.php new file mode 100644 index 0000000..31a1a32 --- /dev/null +++ b/www/protected/modules/usuario2/migrations/m130508_153437_instalarUsuarios.php @@ -0,0 +1,176 @@ +getModule('usuario')) { + echo "\n\nAdd to console.php :\n" + . "'modules'=>array(\n" + . "...\n" + . " 'usuario'=>array(\n" + . " ... # copy settings from main config\n" + . " ),\n" + . "...\n" + . "),\n" + . "\n"; + return false; + } + Yii::import('usuario.models.Usuario'); + + switch ($this->dbType()) { + case "mysql": + // Usuarios + $this->createTable(Yii::app()->getModule('usuario')->tablaUsuarios, array( + "id" => "pk", + "username" => "varchar(20) NOT NULL DEFAULT ''", + "password" => "varchar(128) NOT NULL DEFAULT ''", + "email" => "varchar(128) NOT NULL DEFAULT ''", + "clave_activacion" => "varchar(128) NOT NULL DEFAULT ''", + "fecha_registro" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", + "ultima_visita" => "TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'", + "superusuario" => "int(1) NOT NULL DEFAULT 0", + "estado" => "int(1) NOT NULL DEFAULT 0", + ), $this->MySqlOptions); + + $this->createIndex('usuario_username', Yii::app()->getModule('usuario')->tablaUsuarios, 'username', true); + $this->createIndex('usuario_email', Yii::app()->getModule('usuario')->tablaUsuarios, 'email', true); + + // Perfiles + $this->createTable(Yii::app()->getModule('usuario')->tablaPerfiles, array( + 'usuario_id' => 'pk', + 'nombre' => 'string', + 'apellidos' => 'string', + ), $this->MySqlOptions); + + $this->addForeignKey('usuario_perfil_id', Yii::app()->getModule('usuario')->tablaPerfiles, 'usuario_id', Yii::app()->getModule('usuario')->tablaUsuarios, 'id', 'CASCADE', 'RESTRICT'); + + // Campos de perfil + $this->createTable(Yii::app()->getModule('usuario')->tablaCamposPerfiles, array( + "id" => "pk", + "varname" => "varchar(50) NOT NULL DEFAULT ''", + "title" => "varchar(255) NOT NULL DEFAULT ''", + "field_type" => "varchar(50) NOT NULL DEFAULT ''", + "field_size" => "int(3) NOT NULL DEFAULT 0", + "field_size_min" => "int(3) NOT NULL DEFAULT 0", + "required" => "int(1) NOT NULL DEFAULT 0", + "match" => "varchar(255) NOT NULL DEFAULT ''", + "range" => "varchar(255) NOT NULL DEFAULT ''", + "error_message" => "varchar(255) NOT NULL DEFAULT ''", + "other_validator" => "text", + "default" => "varchar(255) NOT NULL DEFAULT ''", + "widget" => "varchar(255) NOT NULL DEFAULT ''", + "widgetparams" => "text", + "position" => "int(3) NOT NULL DEFAULT 0", + "visible" => "int(1) NOT NULL DEFAULT 0", + ), $this->MySqlOptions); + break; + } + + if (in_array('--interactive=0', $_SERVER['argv'])) { + $this->_model->username = 'admin'; + $this->_model->email = 'webmaster@example.com'; + $this->_model->password = 'admin'; + } else { + $this->readStdinUser('Admin login', 'username', 'admin'); + $this->readStdinUser('Admin email', 'email', 'webmaster@example.com'); + $this->readStdinUser('Admin password', 'password', 'admin'); + } + + $this->insert(Yii::app()->getModule('usuario')->tablaUsuarios, array( + "id" => "1", + "username" => $this->_model->username, + "password" => Yii::app()->getModule('usuario')->encrypting($this->_model->password), + "email" => $this->_model->email, + "clave_activacion" => Yii::app()->getModule('usuario')->encrypting(microtime()), + "fecha_registro" => time(), + "ultima_visita" => "0", + "superusuario" => "1", + "estado" => Usuario::ESTADO_ACTIVO, + )); + + $this->insert(Yii::app()->getModule('usuario')->tablaPerfiles, array( + "usuario_id" => "1", + "nombre" => "Administrator", + "apellidos" => "Admin", + )); + + $this->insert(Yii::app()->getModule('usuario')->tablaCamposPerfiles, array( + "id" => "1", + "varname" => "first_name", + "title" => "First Name", + "field_type" => "VARCHAR", + "field_size" => "255", + "field_size_min" => "3", + "required" => "2", + "match" => "", + "range" => "", + "error_message" => "Incorrect First Name (length between 3 and 50 characters).", + "other_validator" => "", + "default" => "", + "widget" => "", + "widgetparams" => "", + "position" => "1", + "visible" => "3", + )); + $this->insert(Yii::app()->getModule('usuario')->tablaCamposPerfiles, array( + "id" => "2", + "varname" => "last_name", + "title" => "Last Name", + "field_type" => "VARCHAR", + "field_size" => "255", + "field_size_min" => "3", + "required" => "2", + "match" => "", + "range" => "", + "error_message" => "Incorrect Last Name (length between 3 and 50 characters).", + "other_validator" => "", + "default" => "", + "widget" => "", + "widgetparams" => "", + "position" => "2", + "visible" => "3", + )); + } + + public function safeDown() { + $this->dropTable(Yii::app()->getModule('usuario')->tablaCamposPerfiles); + $this->dropTable(Yii::app()->getModule('usuario')->tablaPerfiles); + $this->dropTable(Yii::app()->getModule('usuario')->tablaUsuarios); + } + + public function dbType() { + list($type) = explode(':', Yii::app()->db->connectionString); + echo "type db: " . $type . "\n"; + return $type; + } + + private function readStdin($prompt, $valid_inputs, $default = '') { + while (!isset($input) || (is_array($valid_inputs) && !in_array($input, $valid_inputs)) || ($valid_inputs == 'is_file' && !is_file($input))) { + echo $prompt; + $input = strtolower(trim(fgets(STDIN))); + if (empty($input) && !empty($default)) { + $input = $default; + } + } + return $input; + } + + private function readStdinUser($prompt, $field, $default = '') { + if (!$this->_model) + $this->_model = new Usuario; + + while (!isset($input) || !$this->_model->validate(array($field))) { + echo $prompt . (($default) ? " [$default]" : '') . ': '; + $input = (trim(fgets(STDIN))); + if (empty($input) && !empty($default)) { + $input = $default; + } + $this->_model->setAttribute($field, $input); + } + return $input; + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/models/CampoPerfil.php b/www/protected/modules/usuario2/models/CampoPerfil.php new file mode 100644 index 0000000..b815b5a --- /dev/null +++ b/www/protected/modules/usuario2/models/CampoPerfil.php @@ -0,0 +1,201 @@ +getModule('usuario')->tableProfileFields; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() { + // NOTE: you should only define rules for those attributes that + // will receive user inputs. + return array( + array('varname, title, field_type', 'required'), + array('varname', 'match', 'pattern' => '/^[A-Za-z_0-9]+$/u', 'message' => UsuarioModule::t("Variable name may consist of A-z, 0-9, underscores, begin with a letter.")), + array('varname', 'unique', 'message' => UsuarioModule::t("This field already exists.")), + array('varname, field_type', 'length', 'max' => 50), + array('field_size, field_size_min, required, position, visible', 'numerical', 'integerOnly' => true), + array('title, match, error_message, other_validator, default, widget', 'length', 'max' => 255), + array('range, widgetparams', 'length', 'max' => 5000), + ); + } + + /** + * @return array relational rules. + */ + public function relations() { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + return array( + ); + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() { + return array( + 'id' => UsuarioModule::t('Id'), + 'varname' => UsuarioModule::t('Variable name'), + 'title' => UsuarioModule::t('Title'), + 'field_type' => UsuarioModule::t('Field Type'), + 'field_size' => UsuarioModule::t('Field Size'), + 'field_size_min' => UsuarioModule::t('Field Size min'), + 'required' => UsuarioModule::t('Required'), + 'match' => UsuarioModule::t('Match'), + 'range' => UsuarioModule::t('Range'), + 'error_message' => UsuarioModule::t('Error Message'), + 'other_validator' => UsuarioModule::t('Other Validator'), + 'default' => UsuarioModule::t('Default'), + 'widget' => UsuarioModule::t('Widget'), + 'widgetparams' => UsuarioModule::t('Widget parametrs'), + 'position' => UsuarioModule::t('Position'), + 'visible' => UsuarioModule::t('Visible'), + ); + } + + public function scopes() { + return array( + 'forAll' => array( + 'condition' => 'visible=' . self::VISIBLE_ALL, + 'order' => 'position', + ), + 'forUser' => array( + 'condition' => 'visible>=' . self::VISIBLE_REGISTER_USER, + 'order' => 'position', + ), + 'forOwner' => array( + 'condition' => 'visible>=' . self::VISIBLE_ONLY_OWNER, + 'order' => 'position', + ), + 'forRegistration' => array( + 'condition' => 'required=' . self::REQUIRED_NO_SHOW_REG . ' OR required=' . self::REQUIRED_YES_SHOW_REG, + 'order' => 'position', + ), + 'sort' => array( + 'order' => 'position', + ), + ); + } + + /** + * @param $value + * @return formated value (string) + */ + public function widgetView($model) { + if ($this->widget && class_exists($this->widget)) { + $widgetClass = new $this->widget; + + $arr = $this->widgetparams; + if ($arr) { + $newParams = $widgetClass->params; + $arr = (array) CJavaScript::jsonDecode($arr); + foreach ($arr as $p => $v) { + if (isset($newParams[$p])) + $newParams[$p] = $v; + } + $widgetClass->params = $newParams; + } + + if (method_exists($widgetClass, 'viewAttribute')) { + return $widgetClass->viewAttribute($model, $this); + } + } + return false; + } + + public function widgetEdit($model, $params = array()) { + if ($this->widget && class_exists($this->widget)) { + $widgetClass = new $this->widget; + + $arr = $this->widgetparams; + if ($arr) { + $newParams = $widgetClass->params; + $arr = (array) CJavaScript::jsonDecode($arr); + foreach ($arr as $p => $v) { + if (isset($newParams[$p])) + $newParams[$p] = $v; + } + $widgetClass->params = $newParams; + } + + if (method_exists($widgetClass, 'editAttribute')) { + return $widgetClass->editAttribute($model, $this, $params); + } + } + return false; + } + + public static function itemAlias($type, $code = NULL) { + $_items = array( + 'field_type' => array( + 'INTEGER' => UsuarioModule::t('INTEGER'), + 'VARCHAR' => UsuarioModule::t('VARCHAR'), + 'TEXT' => UsuarioModule::t('TEXT'), + 'DATE' => UsuarioModule::t('DATE'), + 'FLOAT' => UsuarioModule::t('FLOAT'), + 'BOOL' => UsuarioModule::t('BOOL'), + 'BLOB' => UsuarioModule::t('BLOB'), + 'BINARY' => UsuarioModule::t('BINARY'), + ), + 'required' => array( + self::REQUIRED_NO => UsuarioModule::t('No'), + self::REQUIRED_NO_SHOW_REG => UsuarioModule::t('No, but show on registration form'), + self::REQUIRED_YES_SHOW_REG => UsuarioModule::t('Yes and show on registration form'), + self::REQUIRED_YES_NOT_SHOW_REG => UsuarioModule::t('Yes'), + ), + 'visible' => array( + self::VISIBLE_ALL => UsuarioModule::t('For all'), + self::VISIBLE_REGISTER_USER => UsuarioModule::t('Registered users'), + self::VISIBLE_ONLY_OWNER => UsuarioModule::t('Only owner'), + self::VISIBLE_NO => UsuarioModule::t('Hidden'), + ), + ); + if (isset($code)) + return isset($_items[$type][$code]) ? $_items[$type][$code] : false; + else + return isset($_items[$type]) ? $_items[$type] : false; + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/models/Perfil.php b/www/protected/modules/usuario2/models/Perfil.php new file mode 100644 index 0000000..4ab0a58 --- /dev/null +++ b/www/protected/modules/usuario2/models/Perfil.php @@ -0,0 +1,202 @@ +getModule('usuario')->tablaPerfiles; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() { + if (!self::$_rules) { + $required = array(); + $numerical = array(); + $float = array(); + $decimal = array(); + $rules = array(); + + $model = self::getFields(); + + foreach ($model as $field) { + $field_rule = array(); + if ($field->required == ProfileField::REQUIRED_YES_NOT_SHOW_REG || $field->required == ProfileField::REQUIRED_YES_SHOW_REG) + array_push($required, $field->varname); + if ($field->field_type == 'FLOAT') + array_push($float, $field->varname); + if ($field->field_type == 'DECIMAL') + array_push($decimal, $field->varname); + if ($field->field_type == 'INTEGER') + array_push($numerical, $field->varname); + if ($field->field_type == 'VARCHAR' || $field->field_type == 'TEXT') { + $field_rule = array($field->varname, 'length', 'max' => $field->field_size, 'min' => $field->field_size_min); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + if ($field->other_validator) { + if (strpos($field->other_validator, '{') === 0) { + $validator = (array) CJavaScript::jsonDecode($field->other_validator); + foreach ($validator as $name => $val) { + $field_rule = array($field->varname, $name); + $field_rule = array_merge($field_rule, (array) $validator[$name]); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + } else { + $field_rule = array($field->varname, $field->other_validator); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + } elseif ($field->field_type == 'DATE') { + if ($field->required) + $field_rule = array($field->varname, 'date', 'format' => array('yyyy-mm-dd')); + else + $field_rule = array($field->varname, 'date', 'format' => array('yyyy-mm-dd', '0000-00-00'), 'allowEmpty' => true); + + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + if ($field->match) { + $field_rule = array($field->varname, 'match', 'pattern' => $field->match); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + if ($field->range) { + $field_rule = array($field->varname, 'in', 'range' => self::rangeRules($field->range)); + if ($field->error_message) + $field_rule['message'] = UsuarioModule::t($field->error_message); + array_push($rules, $field_rule); + } + } + + array_push($rules, array(implode(',', $required), 'required')); + array_push($rules, array(implode(',', $numerical), 'numerical', 'integerOnly' => true)); + array_push($rules, array(implode(',', $float), 'type', 'type' => 'float')); + array_push($rules, array(implode(',', $decimal), 'match', 'pattern' => '/^\s*[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\s*$/')); + self::$_rules = $rules; + } + return self::$_rules; + } + + /** + * @return array relational rules. + */ + public function relations() { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + $relations = array( + 'usuario' => array(self::HAS_ONE, 'Usuario', 'id'), + ); + if (isset(Yii::app()->getModule('usuario')->profileRelations)) + $relations = array_merge($relations, Yii::app()->getModule('usuario')->profileRelations); + return $relations; + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() { + $labels = array( + 'usuario_id' => UsuarioModule::t('ID Usuario'), + ); + $model = self::getFields(); + + foreach ($model as $field) + $labels[$field->varname] = ((Yii::app()->getModule('usuario')->fieldsMessage) ? UsuarioModule::t($field->title, array(), Yii::app()->getModule('usuario')->fieldsMessage) : UsuarioModule::t($field->title)); + + return $labels; + } + + private function rangeRules($str) { + $rules = explode(';', $str); + for ($i = 0; $i < count($rules); $i++) + $rules[$i] = current(explode("==", $rules[$i])); + return $rules; + } + + static public function range($str, $fieldValue = NULL) { + $rules = explode(';', $str); + $array = array(); + for ($i = 0; $i < count($rules); $i++) { + $item = explode("==", $rules[$i]); + if (isset($item[0])) + $array[$item[0]] = ((isset($item[1])) ? $item[1] : $item[0]); + } + if (isset($fieldValue)) + if (isset($array[$fieldValue])) + return $array[$fieldValue]; + else + return ''; + else + return $array; + } + + public function widgetAttributes() { + $data = array(); + $model = self::getFields(); + + foreach ($model as $field) { + if ($field->widget) + $data[$field->varname] = $field->widget; + } + return $data; + } + + public function widgetParams($fieldName) { + $data = array(); + $model = self::getFields(); + + foreach ($model as $field) { + if ($field->widget) + $data[$field->varname] = $field->widgetparams; + } + return $data[$fieldName]; + } + + public static function getFields() { + if (self::$regMode) { + if (!self::$_modelReg) + self::$_modelReg = ProfileField::model()->forRegistration()->findAll(); + return self::$_modelReg; + } else { + if (!self::$_model) + self::$_model = ProfileField::model()->forOwner()->findAll(); + return self::$_model; + } + } + + public function afterSave() { + if (get_class(Yii::app()) == 'CWebApplication' && Profile::$regMode == false) { + Yii::app()->user->updateSession(); + } + return parent::afterSave(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/models/Usuario.php b/www/protected/modules/usuario2/models/Usuario.php new file mode 100644 index 0000000..dadd8d3 --- /dev/null +++ b/www/protected/modules/usuario2/models/Usuario.php @@ -0,0 +1,195 @@ +getModule('usuario')->tablaUsuarios; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() { + // NOTE: you should only define rules for those attributes that + // will receive user inputs.CConsoleApplication + return ((get_class(Yii::app()) == 'CConsoleApplication' || (get_class(Yii::app()) != 'CConsoleApplication' && Yii::app()->getModule('usuario')->isAdmin())) ? array( + array('username, password, email, superusuario, estado', 'required'), + array('username', 'length', 'max' => 20, 'min' => 3, 'message' => UsuarioModule::t("Incorrect username (length between 3 and 20 characters).")), + array('password', 'length', 'max' => 128, 'min' => 4, 'message' => UsuarioModule::t("Incorrect password (minimal length 4 symbols).")), + array('email', 'email'), + array('username', 'unique', 'message' => UsuarioModule::t("This user's name already exists.")), + array('email', 'unique', 'message' => UsuarioModule::t("This user's email address already exists.")), + array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u', 'message' => UsuarioModule::t("Incorrect symbols (A-z0-9).")), + array('estado', 'in', 'range' => array(self::ESTADO_NOACTIVO, self::ESTADO_ACTIVO, self::ESTADO_BLOQUEADO)), + array('superusuario', 'in', 'range' => array(0, 1)), + array('fecha_registro', 'default', 'value' => date('Y-m-d H:i:s'), 'setOnEmpty' => true, 'on' => 'insert'), + array('ultima_visita', 'default', 'value' => '0000-00-00 00:00:00', 'setOnEmpty' => true, 'on' => 'insert'), + array('superusuario, estado', 'numerical', 'integerOnly' => true), + array('id, username, password, email, clave_activacion, fecha_registro, ultima_visita, superusuario, estado', 'safe', 'on' => 'search'), + ) : ((Yii::app()->user->id == $this->id) ? array( + array('username, password, email', 'required'), + array('username', 'length', 'max' => 20, 'min' => 3, 'message' => UsuarioModule::t("Incorrect username (length between 3 and 20 characters).")), + array('email', 'email'), + array('username', 'unique', 'message' => UsuarioModule::t("This user's name already exists.")), + array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u', 'message' => UsuarioModule::t("Incorrect symbols (A-z0-9).")), + array('email', 'unique', 'message' => UsuarioModule::t("This user's email address already exists.")), + ) : array())); + } + + /** + * @return array relational rules. + */ + public function relations() { + $relations = Yii::app()->getModule('usuario')->relations; + if (!isset($relations['perfil'])) + $relations['perfil'] = array(self::HAS_ONE, 'Perfil', 'usuario_id'); + return $relations; + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() { + return array( + 'id' => UsuarioModule::t("Id"), + 'username' => UsuarioModule::t("Usuario"), + 'password' => UsuarioModule::t("Contraseña"), + 'confirmacion_password' => UsuarioModule::t("Confirmación de contraseña"), + 'email' => UsuarioModule::t("E-mail"), + 'codigo_verificacion' => UsuarioModule::t("Código de verificación"), + 'clave_activacion' => UsuarioModule::t("Clave de activación"), + 'fecha_registro' => UsuarioModule::t("Fecha de registro"), + 'ultima_visita' => UsuarioModule::t("Última visita"), + 'superusuario' => UsuarioModule::t("Superusuario"), + 'estado' => UsuarioModule::t("Estado"), + ); + } + + public function scopes() { + return array( + 'activo' => array( + 'condition' => 'estado=' . self::ESTADO_ACTIVO, + ), + 'inactivo' => array( + 'condition' => 'estado=' . self::ESTADO_NOACTIVO, + ), + 'bloqueado' => array( + 'condition' => 'estado=' . self::ESTADO_BLOQUEADO, + ), + 'superusuario' => array( + 'condition' => 'superusuario=1', + ), + 'notsafe' => array( + 'select' => 'id, username, password, email, clave_activacion, fecha_registro, ultima_visita, superusuario, estado', + ), + ); + } + + public function defaultScope() { + return CMap::mergeArray(Yii::app()->getModule('usuario')->defaultScope, array( + 'alias' => 'usuario', + 'select' => 'usuario.id, usuario.username, usuario.email, usuario.fecha_registro, usuario.ultima_visita, usuario.superusuario, usuario.estado', + )); + } + + public static function itemAlias($type, $code = NULL) { + $_items = array( + 'UserStatus' => array( + self::ESTADO_NOACTIVO => UsuarioModule::t('Inactivo'), + self::ESTADO_ACTIVO => UsuarioModule::t('Activo'), + self::ESTADO_BLOQUEADO => UsuarioModule::t('Bloqueado'), + ), + 'AdminStatus' => array( + '0' => UsuarioModule::t('No'), + '1' => UsuarioModule::t('Sí'), + ), + ); + if (isset($code)) + return isset($_items[$type][$code]) ? $_items[$type][$code] : false; + else + return isset($_items[$type]) ? $_items[$type] : false; + } + + /** + * Retrieves a list of models based on the current search/filter conditions. + * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. + */ + public function search() { + // Warning: Please modify the following code to remove attributes that + // should not be searched. + + $criteria = new CDbCriteria; + + $criteria->compare('id', $this->id); + $criteria->compare('username', $this->username, true); + $criteria->compare('password', $this->password); + $criteria->compare('email', $this->email, true); + $criteria->compare('clave_activacion', $this->clave_activacion); + $criteria->compare('fecha_registro', $this->create_at); + $criteria->compare('ultima_visita', $this->lastvisit_at); + $criteria->compare('superusuario', $this->superusuario); + $criteria->compare('estado', $this->estado); + + return new CActiveDataProvider(get_class($this), array( + 'criteria' => $criteria, + 'pagination' => array( + 'pageSize' => Yii::app()->getModule('usuario')->user_page_size, + ), + )); + } + + public function getCreatetime() { + return strtotime($this->fecha_registro); + } + + public function setCreatetime($value) { + $this->fecha_registro = date('Y-m-d H:i:s', $value); + } + + public function getLastVisit() { + return strtotime($this->ultima_visita); + } + + public function setLastvisit($value) { + $this->ultima_visita = date('Y-m-d H:i:s', $value); + } + + public function afterSave() { + if (get_class(Yii::app()) == 'CWebApplication' && Perfil::$regMode == false) { + Yii::app()->user->updateSession(); + } + return parent::afterSave(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/usuario2/models/formularios/FormularioLoginUsuario.php b/www/protected/modules/usuario2/models/formularios/FormularioLoginUsuario.php new file mode 100644 index 0000000..7ad1710 --- /dev/null +++ b/www/protected/modules/usuario2/models/formularios/FormularioLoginUsuario.php @@ -0,0 +1,70 @@ + UsuarioModule::t("Recordarme más tarde"), + 'username' => UsuarioModule::t("Nombre de usuario o email"), + 'password' => UsuarioModule::t("Contraseña"), + ); + } + + /** + * Authenticates the password. + * This is the 'authenticate' validator as declared in rules(). + */ + public function authenticate($attribute, $params) { + if (!$this->hasErrors()) { // we only want to authenticate when no input errors + $identity = new UserIdentity($this->username, $this->password); + $identity->authenticate(); + switch ($identity->errorCode) { + case UserIdentity::ERROR_NONE: + $duration = $this->recuerdame ? Yii::app()->controller->module->rememberMeTime : 0; + Yii::app()->user->login($identity, $duration); + break; + case UserIdentity::ERROR_EMAIL_NOVALIDO: + $this->addError("username", UsuarioModule::t("Email is incorrect.")); + break; + case UserIdentity::ERROR_USERNAME_INVALID: + $this->addError("username", UsuarioModule::t("Username is incorrect.")); + break; + case UserIdentity::ERROR_ESTADO_NOACTIVO: + $this->addError("estado", UsuarioModule::t("You account is not activated.")); + break; + case UserIdentity::ERROR_ESTADO_BLOQUEADO: + $this->addError("estado", UsuarioModule::t("You account is blocked.")); + break; + case UserIdentity::ERROR_PASSWORD_INVALID: + $this->addError("password", UsuarioModule::t("Password is incorrect.")); + break; + } + } + } + +} diff --git a/www/protected/modules/usuario2/models/formularios/FormularioRegistroUsuario.php b/www/protected/modules/usuario2/models/formularios/FormularioRegistroUsuario.php new file mode 100644 index 0000000..c2e794e --- /dev/null +++ b/www/protected/modules/usuario2/models/formularios/FormularioRegistroUsuario.php @@ -0,0 +1,30 @@ + 20, 'min' => 3, 'message' => UsuarioModule::t("Incorrect username (length between 3 and 20 characters).")), + array('password', 'length', 'max' => 128, 'min' => 4, 'message' => UsuarioModule::t("Incorrect password (minimal length 4 symbols).")), + array('email', 'email'), + array('username', 'unique', 'message' => UsuarioModule::t("This user's name already exists.")), + array('email', 'unique', 'message' => UsuarioModule::t("This user's email address already exists.")), + array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u', 'message' => UsuarioModule::t("Incorrect symbols (A-z0-9).")), + ); + if (!(isset($_POST['ajax']) && $_POST['ajax'] === 'registration-form')) { + array_push($rules, array('codigo_verificacion', 'captcha', 'allowEmpty' => !UsuarioModule::doCaptcha('registration'))); + } + + array_push($rules, array('confirmacion_password', 'compare', 'compareAttribute' => 'password', 'message' => UsuarioModule::t("Retype Password is incorrect."))); + return $rules; + } +} diff --git a/www/protected/modules/usuario2/tests/unit/RegistrationTest.php b/www/protected/modules/usuario2/tests/unit/RegistrationTest.php new file mode 100644 index 0000000..b95fd15 --- /dev/null +++ b/www/protected/modules/usuario2/tests/unit/RegistrationTest.php @@ -0,0 +1,50 @@ +controller = new RegistroController('registro'); + + $user = new FormularioRegistroUsuario; + + $user->username = 'no whitespaces allowed'; + $this->assertFalse($user->validate()); + + $user->username = 'allowed'; + $user->password = 'notthesame'; + $user->password = 'emasehtton'; + $this->assertFalse($user->validate()); + + $user->setAttributes(array( + 'username' => 'A_Testuser', + 'password' => 'hiddenpassword1', + 'confirmacion_password' => 'hiddenpassword1', + )); + $this->assertTrue($user->validate()); + + /*$profile = new YumRegistrationForm; + $profile->setAttributes(array( + 'firstname' => 'My first Name !"§$%&/()=', + 'lastname' => 'My last Name !"§$%&/()=', + 'password' => 'hiddenpassword1', + 'confirmacion_password' => 'hiddenpassword1', + )); + $profile->setAttributes($user->getAttributes()); + $this->assertTrue($profile->validate());*/ + + // it is good that $_POST is bloated here because we want to test if + // only safe Attributes are being assigned: + $_POST['FormularioRegistroUsuario'] = $user->getAttributes(); + //$_POST['YumProfile'] = $profile->getAttributes(); + } + +} diff --git a/www/protected/modules/usuario2/views/login/login.php b/www/protected/modules/usuario2/views/login/login.php new file mode 100644 index 0000000..6aca7b8 --- /dev/null +++ b/www/protected/modules/usuario2/views/login/login.php @@ -0,0 +1,79 @@ +pageTitle=Yii::app()->name . ' - '. UsuarioModule::t("Login"); +$this->breadcrumbs=array( + UsuarioModule::t("Login"), +); +?> + +

    + +user->hasFlash('loginMessage')): ?> + +
    + user->getFlash('loginMessage'); ?> +
    + + + +

    + +
    + + +

    * are required.'); ?>

    + + + +
    + + +
    + +
    + + +
    + +
    +

    + getModule('usuario')->registrationUrl); ?> | getModule('usuario')->recoveryUrl); ?> +

    +
    + +
    + + +
    + +
    + +
    + + +
    + + +array( + 'username'=>array( + 'type'=>'text', + 'maxlength'=>32, + ), + 'password'=>array( + 'type'=>'password', + 'maxlength'=>32, + ), + 'rememberMe'=>array( + 'type'=>'checkbox', + ) + ), + + 'buttons'=>array( + 'login'=>array( + 'type'=>'submit', + 'label'=>'Login', + ), + ), +), $model); +?> \ No newline at end of file diff --git a/www/protected/modules/usuario2/views/registro/registro.php b/www/protected/modules/usuario2/views/registro/registro.php new file mode 100644 index 0000000..129a9fd --- /dev/null +++ b/www/protected/modules/usuario2/views/registro/registro.php @@ -0,0 +1,103 @@ +pageTitle = Yii::app()->name . ' - ' . UsuarioModule::t("Registration"); +$this->breadcrumbs = array( + UsuarioModule::t("Registration"), +); +?> + +

    + + user->hasFlash('registration')): ?> +
    + user->getFlash('registration'); ?> +
    + + +
    + beginWidget('CActiveForm', array( + 'id' => 'registration-form', + 'enableAjaxValidation' => true, + //'disableAjaxValidationAttributes'=>array('RegistrationForm_verifyCode'), + 'clientOptions' => array( + 'validateOnSubmit' => true, + ), + 'htmlOptions' => array('enctype' => 'multipart/form-data'), + )); + ?> + +

    * are required.'); ?>

    + + errorSummary(array($model, $perfil)); ?> + +
    + labelEx($model, 'username'); ?> + textField($model, 'username'); ?> + error($model, 'username'); ?> +
    + +
    + labelEx($model, 'password'); ?> + passwordField($model, 'password'); ?> + error($model, 'password'); ?> +

    + +

    +
    + +
    + labelEx($model, 'confirmacion_password'); ?> + passwordField($model, 'confirmacion_password'); ?> + error($model, 'confirmacion_password'); ?> +
    + +
    + labelEx($model, 'email'); ?> + textField($model, 'email'); ?> + error($model, 'email'); ?> +
    + + +
    + labelEx($perfil, $field->varname); ?> + widgetEdit($perfil)) { + echo $widgetEdit; + } elseif ($field->range) { + echo $form->dropDownList($perfil, $field->varname, Perfil::range($field->range)); + } elseif ($field->field_type == "TEXT") { + echo$form->textArea($perfil, $field->varname, array('rows' => 6, 'cols' => 50)); + } else { + echo $form->textField($perfil, $field->varname, array('size' => 60, 'maxlength' => (($field->field_size) ? $field->field_size : 255))); + } + ?> + error($perfil, $field->varname); ?> +
    + + +
    + labelEx($model, 'verifyCode'); ?> + + widget('CCaptcha'); ?> + textField($model, 'verifyCode'); ?> + error($model, 'verifyCode'); ?> + +

    +

    +
    + + +
    + +
    + + endWidget(); ?> +
    + \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/README.md b/www/protected/modules/yii-user-master/README.md new file mode 100644 index 0000000..4fa2526 --- /dev/null +++ b/www/protected/modules/yii-user-master/README.md @@ -0,0 +1,133 @@ +Yii-User Installation +===================== + +Download +-------- + +Download or checkout (SVN/Git) from http://yii-user.2mx.org and unpack files in your protected/modules/user + +Git clone +--------- + + clone git git@github.com:mishamx/yii-user.git + +Configure +--------- + +Change your config main: + + return array( + #... + // autoloading model and component classes + 'import'=>array( + 'application.models.*', + 'application.components.*', + 'application.modules.user.models.*', + 'application.modules.user.components.*', + ), + + #... + 'modules'=>array( + #... + 'user'=>array( + # encrypting method (php hash function) + 'hash' => 'md5', + + # send activation email + 'sendActivationMail' => true, + + # allow access for non-activated users + 'loginNotActiv' => false, + + # activate user on registration (only sendActivationMail = false) + 'activeAfterRegister' => false, + + # automatically login from registration + 'autoLogin' => true, + + # registration path + 'registrationUrl' => array('/user/registration'), + + # recovery password path + 'recoveryUrl' => array('/user/recovery'), + + # login form path + 'loginUrl' => array('/user/login'), + + # page after login + 'returnUrl' => array('/user/profile'), + + # page after logout + 'returnLogoutUrl' => array('/user/login'), + ), + #... + ), + + #... + // application components + 'components'=>array( + #... + 'db'=>array( + #... + 'tablePrefix' => 'tbl_', + #... + ), + #... + 'user'=>array( + // enable cookie-based authentication + 'class' => 'WebUser', + ), + #... + ), + #... + ); + +Change your config console: + + return array( + #... + 'modules'=>array( + #... + 'user'=>array( + # encrypting method (php hash function) + 'hash' => 'md5', + + # send activation email + 'sendActivationMail' => true, + + # allow access for non-activated users + 'loginNotActiv' => false, + + # activate user on registration (only sendActivationMail = false) + 'activeAfterRegister' => false, + + # automatically login from registration + 'autoLogin' => true, + + # registration path + 'registrationUrl' => array('/user/registration'), + + # recovery password path + 'recoveryUrl' => array('/user/recovery'), + + # login form path + 'loginUrl' => array('/user/login'), + + # page after login + 'returnUrl' => array('/user/profile'), + + # page after logout + 'returnLogoutUrl' => array('/user/login'), + ), + #... + ), + #... + ); + +Install +------- + +Run command: + yiic migrate --migrationPath=user.migrations + +Input admin login, email and password diff --git a/www/protected/modules/yii-user-master/UserModule.php b/www/protected/modules/yii-user-master/UserModule.php new file mode 100644 index 0000000..cc624a9 --- /dev/null +++ b/www/protected/modules/yii-user-master/UserModule.php @@ -0,0 +1,274 @@ + + * @link http://yii-user.2mx.org/ + * @license http://www.opensource.org/licenses/bsd-license.php + * @version $Id: UserModule.php 132 2011-10-30 10:45:01Z mishamx $ + */ + +class UserModule extends CWebModule +{ + /** + * @var int + * @desc items on page + */ + public $user_page_size = 10; + + /** + * @var int + * @desc items on page + */ + public $fields_page_size = 10; + + /** + * @var string + * @desc hash method (md5,sha1 or algo hash function http://www.php.net/manual/en/function.hash.php) + */ + public $hash='md5'; + + /** + * @var boolean + * @desc use email for activation user account + */ + public $sendActivationMail=true; + + /** + * @var boolean + * @desc allow auth for is not active user + */ + public $loginNotActiv=false; + + /** + * @var boolean + * @desc activate user on registration (only $sendActivationMail = false) + */ + public $activeAfterRegister=false; + + /** + * @var boolean + * @desc login after registration (need loginNotActiv or activeAfterRegister = true) + */ + public $autoLogin=true; + + public $registrationUrl = array("/user/registration"); + public $recoveryUrl = array("/user/recovery/recovery"); + public $loginUrl = array("/user/login"); + public $logoutUrl = array("/user/logout"); + public $profileUrl = array("/user/profile"); + public $returnUrl = array("/user/profile"); + public $returnLogoutUrl = array("/user/login"); + + + /** + * @var int + * @desc Remember Me Time (seconds), defalt = 2592000 (30 days) + */ + public $rememberMeTime = 2592000; // 30 days + + public $fieldsMessage = ''; + + /** + * @var array + * @desc User model relation from other models + * @see http://www.yiiframework.com/doc/guide/database.arr + */ + public $relations = array(); + + /** + * @var array + * @desc Profile model relation from other models + */ + public $profileRelations = array(); + + /** + * @var boolean + */ + public $captcha = array('registration'=>true); + + /** + * @var boolean + */ + //public $cacheEnable = false; + + public $tableUsers = '{{users}}'; + public $tableProfiles = '{{profiles}}'; + public $tableProfileFields = '{{profiles_fields}}'; + + public $defaultScope = array( + 'with'=>array('profile'), + ); + + static private $_user; + static private $_users=array(); + static private $_userByName=array(); + static private $_admin; + static private $_admins; + + /** + * @var array + * @desc Behaviors for models + */ + public $componentBehaviors=array(); + + public function init() + { + // this method is called when the module is being created + // you may place code here to customize the module or the application + + // import the module-level models and components + $this->setImport(array( + 'user.models.*', + 'user.components.*', + )); + } + + public function getBehaviorsFor($componentName){ + if (isset($this->componentBehaviors[$componentName])) { + return $this->componentBehaviors[$componentName]; + } else { + return array(); + } + } + + public function beforeControllerAction($controller, $action) + { + if(parent::beforeControllerAction($controller, $action)) + { + // this method is called before any module controller action is performed + // you may place customized code here + return true; + } + else + return false; + } + + /** + * @param $str + * @param $params + * @param $dic + * @return string + */ + public static function t($str='',$params=array(),$dic='user') { + if (Yii::t("UserModule", $str)==$str) + return Yii::t("UserModule.".$dic, $str, $params); + else + return Yii::t("UserModule", $str, $params); + } + + /** + * @return hash string. + */ + public static function encrypting($string="") { + $hash = Yii::app()->getModule('user')->hash; + if ($hash=="md5") + return md5($string); + if ($hash=="sha1") + return sha1($string); + else + return hash($hash,$string); + } + + /** + * @param $place + * @return boolean + */ + public static function doCaptcha($place = '') { + if(!extension_loaded('gd')) + return false; + if (in_array($place, Yii::app()->getModule('user')->captcha)) + return Yii::app()->getModule('user')->captcha[$place]; + return false; + } + + /** + * Return admin status. + * @return boolean + */ + public static function isAdmin() { + if(Yii::app()->user->isGuest) + return false; + else { + if (!isset(self::$_admin)) { + if(self::user()->superuser) + self::$_admin = true; + else + self::$_admin = false; + } + return self::$_admin; + } + } + + /** + * Return admins. + * @return array syperusers names + */ + public static function getAdmins() { + if (!self::$_admins) { + $admins = User::model()->active()->superuser()->findAll(); + $return_name = array(); + foreach ($admins as $admin) + array_push($return_name,$admin->username); + self::$_admins = ($return_name)?$return_name:array(''); + } + return self::$_admins; + } + + /** + * Send to user mail + */ + public static function sendMail($email,$subject,$message) { + $adminEmail = Yii::app()->params['adminEmail']; + $headers = "MIME-Version: 1.0\r\nFrom: $adminEmail\r\nReply-To: $adminEmail\r\nContent-Type: text/html; charset=utf-8"; + $message = wordwrap($message, 70); + $message = str_replace("\n.", "\n..", $message); + return mail($email,'=?UTF-8?B?'.base64_encode($subject).'?=',$message,$headers); + } + + /** + * Send to user mail + */ + public function sendMailToUser($user_id,$subject,$message,$from='') { + $user = User::model()->findbyPk($user_id); + if (!$from) $from = Yii::app()->params['adminEmail']; + $headers="From: ".$from."\r\nReply-To: ".Yii::app()->params['adminEmail']; + return mail($user->email,'=?UTF-8?B?'.base64_encode($subject).'?=',$message,$headers); + } + + /** + * Return safe user data. + * @param user id not required + * @return user object or false + */ + public static function user($id=0,$clearCache=false) { + if (!$id&&!Yii::app()->user->isGuest) + $id = Yii::app()->user->id; + if ($id) { + if (!isset(self::$_users[$id])||$clearCache) + self::$_users[$id] = User::model()->with(array('profile'))->findbyPk($id); + return self::$_users[$id]; + } else return false; + } + + /** + * Return safe user data. + * @param user name + * @return user object or false + */ + public static function getUserByName($username) { + if (!isset(self::$_userByName[$username])) { + $_userByName[$username] = User::model()->findByAttributes(array('username'=>$username)); + } + return $_userByName[$username]; + } + + /** + * Return safe user data. + * @param user id not required + * @return user object or false + */ + public function users() { + return User; + } +} diff --git a/www/protected/modules/yii-user-master/components/UActiveForm.php b/www/protected/modules/yii-user-master/components/UActiveForm.php new file mode 100644 index 0000000..5e23aa6 --- /dev/null +++ b/www/protected/modules/yii-user-master/components/UActiveForm.php @@ -0,0 +1,102 @@ +focus)) + $this->focus="#".CHtml::activeId($this->focus[0],$this->focus[1]); + + echo CHtml::endForm(); + $cs=Yii::app()->clientScript; + if(!$this->enableAjaxValidation && !$this->enableClientValidation || empty($this->attributes)) + { + if($this->focus!==null) + { + $cs->registerCoreScript('jquery'); + $cs->registerScript('CActiveForm#focus'," + if(!window.location.hash) + $('".$this->focus."').focus(); + "); + } + return; + } + + $options=$this->clientOptions; + if(isset($this->clientOptions['validationUrl']) && is_array($this->clientOptions['validationUrl'])) + $options['validationUrl']=CHtml::normalizeUrl($this->clientOptions['validationUrl']); + + $options['attributes']=array(); + foreach ($this->attributes as $attr => $item) { + if (in_array($attr,$this->disableAjaxValidationAttributes)===false) { + array_push($options['attributes'],$item); + } + } + + if($this->summaryID!==null) + $options['summaryID']=$this->summaryID; + + if($this->focus!==null) + $options['focus']=$this->focus; + + $options=CJavaScript::encode($options); + $cs->registerCoreScript('yiiactiveform'); + $id=$this->id; + $cs->registerScript(__CLASS__.'#'.$id,"\$('#$id').yiiactiveform($options);"); + + /* + parent::run(); + $cs = Yii::app()->getClientScript(); + $js = "// UActiveForm\n$('".'#'.implode(', #',$this->disableAjaxValidationAttributes)."').die('focusout','');"; + //echo '
    '; print_r(); die();
    +		$cs->registerScript(__CLASS__.'#dialog', $js);
    +		
    +		if(is_array($this->focus))
    +			$this->focus="#".CHtml::activeId($this->focus[0],$this->focus[1]);
    +		
    +		echo CHtml::endForm();
    +		$cs=Yii::app()->clientScript;
    +		if(!$this->enableAjaxValidation && !$this->enableClientValidation || empty($this->attributes))
    +		{
    +			if($this->focus!==null)
    +			{
    +				$cs->registerCoreScript('jquery');
    +				$cs->registerScript('CActiveForm#focus',"
    +				if(!window.location.hash)
    +				$('".$this->focus."').focus();
    +				");
    +			}
    +			return;
    +		}
    +		
    +		$options=$this->clientOptions;
    +		if(isset($this->clientOptions['validationUrl']) && is_array($this->clientOptions['validationUrl']))
    +			$options['validationUrl']=CHtml::normalizeUrl($this->clientOptions['validationUrl']);
    +		
    +		$options['attributes']=array();
    +		foreach ($this->attributes as $attr => $item) {
    +			if (in_array($attr,$this->disableAjaxValidationAttributes)===false) {
    +				array_push($options['attributes'],$item);
    +			}
    +		}
    +		
    +		if($this->summaryID!==null)
    +		$options['summaryID']=$this->summaryID;
    +		
    +		if($this->focus!==null)
    +			$options['focus']=$this->focus;
    +		
    +		$options=CJavaScript::encode($options);
    +		$cs->registerCoreScript('yiiactiveform');
    +		$id=$this->id;
    +		$cs->registerScript(__CLASS__.'#'.$id,"\$('#$id').yiiactiveform($options);");
    +	//*/
    +	}
    +}
    +
    diff --git a/www/protected/modules/yii-user-master/components/UActiveRecord.php b/www/protected/modules/yii-user-master/components/UActiveRecord.php
    new file mode 100644
    index 0000000..2ad3c73
    --- /dev/null
    +++ b/www/protected/modules/yii-user-master/components/UActiveRecord.php
    @@ -0,0 +1,35 @@
    +widgetAttributes() as $fieldName=>$className) {
    +				if (isset($values[$fieldName])&&class_exists($className)) {
    +					$class = new $className;
    +					$arr = $this->widgetParams($fieldName);
    +					if ($arr) {
    +						$newParams = $class->params;
    +						$arr = (array)CJavaScript::jsonDecode($arr);
    +						foreach ($arr as $p=>$v) {
    +							if (isset($newParams[$p])) $newParams[$p] = $v;
    +						}
    +						$class->params = $newParams;
    +					}
    +					if (method_exists($class,'setAttributes')) {
    +						$values[$fieldName] = $class->setAttributes($values[$fieldName],$this,$fieldName); 
    +					}
    +				}
    +			}
    +			parent::setAttributes($values,$safeOnly);
    +		}
    +		
    +		public function behaviors(){
    +			return Yii::app()->getModule('user')->getBehaviorsFor(get_class($this));
    +		}
    +}
    \ No newline at end of file
    diff --git a/www/protected/modules/yii-user-master/components/UHtml.php b/www/protected/modules/yii-user-master/components/UHtml.php
    new file mode 100644
    index 0000000..80378c2
    --- /dev/null
    +++ b/www/protected/modules/yii-user-master/components/UHtml.php
    @@ -0,0 +1,190 @@
    +' - ');
    +                while ($x < 24)
    +                {
    +                        $hourOptions[$x] = (($x<10)?'0':'').$x;
    +                        $x++;
    +                }
    +                
    +                $x = 0;
    +                $minuteOptions = array('0'=>' - ');
    +                while ($x < 61)
    +                {
    +                        $minuteOptions[$x] = (($x<10)?'0':'').$x;
    +                        $x++;
    +                }
    +                
    +                $x = 0;
    +                $secondOptions = array('0'=>' - ');
    +                while ($x < 61)
    +                {
    +                        $secondOptions[$x] = (($x<10)?'0':'').$x;
    +                        $x++;
    +                }
    +                
    +                $x = 1;
    +                $dayOptions = array('0'=>' - ');
    +                while ($x < 31)
    +                {
    +                        $dayOptions[$x] = $x;
    +                        $x++;
    +                }
    +
    +                $monthOptions = array(
    +					'0' => ' - ',
    +					'1'=> UserModule::t('January'),
    +					'2'=> UserModule::t('February'),
    +					'3'=> UserModule::t('March'),
    +					'4'=> UserModule::t('April'),
    +					'5'=> UserModule::t('May'),
    +					'6'=> UserModule::t('June'),
    +					'7'=> UserModule::t('July'),
    +					'8'=> UserModule::t('August'),
    +					'9'=> UserModule::t('September'),
    +					'10'=> UserModule::t('October'),
    +					'11'=> UserModule::t('November'),
    +					'12'=> UserModule::t('December'),
    +                );
    +
    +                $yearOptions = array('0'=>' - ');
    +                $x = 1901;
    +                while ($x < 2030)
    +                {
    +                        $yearOptions[$x] = $x;
    +                        $x++;
    +                }
    +
    +
    +                parent::resolveNameID($model,$attribute,$htmlOptions);
    +                
    +                if (is_array($model->$attribute)) {
    +                	$arr = $model->$attribute;
    +                	$model->$attribute = mktime($arr['hour'],$arr['minute'],$arr['second'],$arr['month'],$arr['day'],$arr['year']);
    +                }
    +                
    +                if ($model->$attribute != '0' && isset($model->$attribute))
    +                {
    +                		//echo "
    "; print_r(date('Y-m-d',$model->$attribute)); die();
    +                        // intval removes leading zero
    +                        $day = intval(date('j',$model->$attribute));
    +                        $month = intval(date('m',$model->$attribute));
    +                        $year = intval(date('Y',$model->$attribute));
    +                        
    +                        $hour = intval(date('H',$model->$attribute));
    +                        $minute = intval(date('i',$model->$attribute));
    +                        $second = intval(date('s',$model->$attribute));
    +                } else
    +                {
    +                        // DEFAULT TO 0 IF THERE IS NO DATE SET
    +                        $day = intval(date('j',time()));
    +                        $month = intval(date('m',time()));
    +                        $year = intval(date('Y',time()));
    +                        
    +                        $hour = intval(date('H',time()));
    +                        $minute = intval(date('i',time()));
    +                        $second = intval(date('s',time()));
    +                        /*
    +                        $day = 0;
    +                        $month = 0;
    +                        $year = 0;
    +                        $hour = 0;
    +                        $minute = 0;
    +                        $second = 0;//*/
    +                }
    +                
    +
    +                $return  = parent::dropDownList($htmlOptions['name'].'[day]', $day,$dayOptions);
    +                $return .= parent::dropDownList($htmlOptions['name'].'[month]', $month,$monthOptions);
    +                $return .= parent::dropDownList($htmlOptions['name'].'[year]', $year,$yearOptions);
    +                $return .= ' Time:';
    +                $return .= parent::dropDownList($htmlOptions['name'].'[hour]', $hour,$hourOptions);
    +                $return .= parent::dropDownList($htmlOptions['name'].'[minute]', $minute,$minuteOptions);
    +                $return .= parent::dropDownList($htmlOptions['name'].'[second]', $second,$secondOptions);
    +                return $return;
    +	}
    +
    +	public static function activeDateField($model,$attribute,$htmlOptions=array())
    +    {
    +                // SET UP ARRAYS OF OPTIONS FOR DAY, MONTH, YEAR
    +                $x = 1;
    +                $dayOptions = array('00'=>' - ');
    +                while ($x < 31)
    +                {
    +                        $dayOptions[(($x<10)?'0':'').$x] = $x;
    +                        $x++;
    +                }
    +
    +                $monthOptions = array(
    +					'00' => ' - ',
    +					'01'=> UserModule::t('January'),
    +					'02'=> UserModule::t('February'),
    +					'03'=> UserModule::t('March'),
    +					'04'=> UserModule::t('April'),
    +					'05'=> UserModule::t('May'),
    +					'06'=> UserModule::t('June'),
    +					'07'=> UserModule::t('July'),
    +					'08'=> UserModule::t('August'),
    +					'09'=> UserModule::t('September'),
    +					'10'=> UserModule::t('October'),
    +					'11'=> UserModule::t('November'),
    +					'12'=> UserModule::t('December'),
    +                );
    +
    +                $yearOptions = array('0000'=>' - ');
    +                $x = 1901;
    +                while ($x < 2030)
    +                {
    +                        $yearOptions[$x] = $x;
    +                        $x++;
    +                }
    +
    +
    +                parent::resolveNameID($model,$attribute,$htmlOptions);
    +                
    +                if ($model->$attribute != '0000-00-00' && isset($model->$attribute))
    +                {
    +                        if (is_array($model->$attribute)) {
    +                        	$new = $model->$attribute;
    +                        	
    +	                        $day = $new['day'];
    +	                        $month = $new['month'];
    +	                        $year = $new['year'];
    +                        	
    +                        } else {
    +                        	$new = explode('-',$model->$attribute);
    +                			// intval removes leading zero
    +	                        $day = $new[2];
    +	                        $month = $new[1];
    +	                        $year = $new[0];
    +                        }
    +                } else {
    +                        // DEFAULT TO 0 IF THERE IS NO DATE SET
    +                        $day = '00';
    +                        $month = '00';
    +                        $year = '0000';
    +                }
    +                
    +                //echo "
    "; print_r(array($day,$month,$year)); die();
    +
    +                $return  = parent::dropDownList($htmlOptions['name'].'[day]', $day,$dayOptions);
    +                $return .= parent::dropDownList($htmlOptions['name'].'[month]', $month,$monthOptions);
    +                $return .= parent::dropDownList($htmlOptions['name'].'[year]', $year,$yearOptions);
    +                return $return;
    +	}
    +
    +	public static function markSearch($model,$field,$prefix='',$sufix='') {
    +		$className = get_class($model);
    +		if (isset($_GET[$className][$field])&&$_GET[$className][$field])
    +			return str_replace($_GET[$className][$field],$prefix.$_GET[$className][$field].$sufix,$model->getAttribute($field));
    +		else 
    +			return $model->getAttribute($field);
    +	}
    +
    +}
    \ No newline at end of file
    diff --git a/www/protected/modules/yii-user-master/components/UWdropDownDep.php b/www/protected/modules/yii-user-master/components/UWdropDownDep.php
    new file mode 100644
    index 0000000..485b959
    --- /dev/null
    +++ b/www/protected/modules/yii-user-master/components/UWdropDownDep.php
    @@ -0,0 +1,104 @@
    +
    + * @link http://www.dsotogroup.com/
    + * @license http://www.opensource.org/licenses/bsd-license.php
    + * @version $Id: UWdropDownDep.php 123 2013-01-26 10:04:33Z juan.gaviria $
    + */
    +
    +class UWdropDownDep {
    +  
    +	public $params = array(
    +		'modelName'=>'',
    +		'optionName'=>'',
    +		'emptyField'=>'',
    +		'relationName'=>'',
    +		'modelDestName'=>'',
    +		'destField'=>'',
    +		'optionDestName'=>'',
    +	);
    +	
    +	/**
    +	 * Widget initialization
    +	 * @return array
    +	 */
    +	public function init() {
    +		return array(
    +			'name'=>__CLASS__,
    +			'label'=>UserModule::t('DropDown List Dependent',array(),__CLASS__),
    +			'fieldType'=>array('INTEGER'),
    +			'params'=>$this->params,
    +			'paramsLabels' => array(
    +				'modelName'=>UserModule::t('Model Name',array(),__CLASS__),
    +				'optionName'=>UserModule::t('Lable field name',array(),__CLASS__),
    +				'emptyField'=>UserModule::t('Empty item name',array(),__CLASS__),
    +				'relationName'=>UserModule::t('Profile model relation name',array(),__CLASS__),
    +				'modelDestName'=>UserModule::t('Model Dest Name',array(),__CLASS__),
    +				'destField'=>UserModule::t('Dest Field',array(),__CLASS__),
    +				'optionDestName'=>UserModule::t('Label Dest field name',array(),__CLASS__),
    +			),
    +		);
    +	}
    +	
    +	/**
    +	 * @param $value
    +	 * @param $model
    +	 * @param $field_varname
    +	 * @return string
    +	 */
    +	public function setAttributes($value,$model,$field_varname) {
    +		return $value;
    +	}
    +	
    +	/**
    +	 * @param $model - profile model
    +	 * @param $field - profile fields model item
    +	 * @return string
    +	 */
    +	public function viewAttribute($model,$field) {
    +		$relation = $model->relations();
    +		if ($this->params['relationName']&&isset($relation[$this->params['relationName']])) {
    +			$m = $model->__get($this->params['relationName']);
    +		} else {
    +			$m = CActiveRecord::model($this->params['modelName'])->findByPk($model->getAttribute($field->varname));
    +		}
    +		
    +		if ($m)
    +			return (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id);
    +		else
    +			return $this->params['emptyField'];
    +		
    +	}
    +	
    +	/**
    +	 * @param $model - profile model
    +	 * @param $field - profile fields model item
    +	 * @param $params - htmlOptions
    +	 * @return string
    +	 */
    +	public function editAttribute($model,$field,$htmlOptions=array()) {
    +		$list = array();
    +		if ($this->params['emptyField']) $list[0] = $this->params['emptyField'];
    +		
    +		$models = CActiveRecord::model($this->params['modelName'])->findAll();
    +		foreach ($models as $m)
    +			$list[$m->id] = (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id);
    +		return CHtml::activeDropDownList($model,$field->varname,$list,$htmlOptions=array(
    +				'ajax'=>array(
    +						'type'=>'POST',
    +						'url'=>CController::createUrl('/user/profileField/getDroDownDepValues'),
    +						'data'=>array('model'=>$this->params['modelDestName'], 'field_dest'=>$this->params['destField'], 'varname'=>$field->varname, $field->varname=>'js:this.value', 'optionDestName'=>$this->params['optionDestName']),
    +						'success'=>'function(data){
    +        						$("#ajax_loader").hide();
    +        						$("#Profile_'.$this->params['destField'].'").html(data)
    +        				}',
    +						'beforeSend'=>'function(){
    +	        					$("#ajax_loader").fadeIn();
    +	        			}',
    +				)
    +				));
    +	}
    +	
    +}
    diff --git a/www/protected/modules/yii-user-master/components/UWfile.php b/www/protected/modules/yii-user-master/components/UWfile.php
    new file mode 100644
    index 0000000..9cdeb7f
    --- /dev/null
    +++ b/www/protected/modules/yii-user-master/components/UWfile.php
    @@ -0,0 +1,148 @@
    +'assets');
    +    
    +    private $_file_instance = NULL;
    +    private $_old_file_path = '';
    +    private $_new_file_path = '';
    +    
    +    /**
    +     * Widget initialization
    +     * @return array
    +     */
    +    public function init() {
    +        return array(
    +            'name'=>__CLASS__,
    +            'label'=>UserModule::t('File field'),
    +            'fieldType'=>array('VARCHAR'),
    +            'params'=>$this->params,
    +            'paramsLabels' => array(
    +                'path'=>UserModule::t('Upload path'),
    +            ),
    +            'other_validator'=>array(
    +                'file'=>array(
    +                    'allowEmpty'=>array('','false','true'),
    +                    'maxFiles'=>'',
    +                    'maxSize'=>'',
    +                    'minSize'=>'',
    +                    'tooLarge'=>'',
    +                    'tooMany'=>'',
    +                    'tooSmall'=>'',
    +                    'types'=>'',
    +                    'wrongType'=>'',
    +                    'safe'=>array('true','false'),
    +                ),
    +            ),
    +        );
    +    }
    +    
    +    /**
    +     * @param $value
    +     * @param $model
    +     * @param $field_varname
    +     * @return string
    +     */
    +    public function setAttributes($value,$model,$field_varname) {
    +        $this->_new_file_path = $this->_old_file_path = $model->getAttribute($field_varname);
    +        
    +        if ($this->_file_instance = CUploadedFile::getInstance($model,$field_varname)){
    +            
    +            $model->getEventHandlers('onAfterSave')->insertAt(0,array($this, 'processFile'));
    +            $file_name = str_replace(' ', '-', $this->_file_instance->name);
    +            $this->_new_file_path = $this->params['path'].'/';
    +            
    +            if ($this->_old_file_path){
    +                $this->_new_file_path = pathinfo($this->_old_file_path, PATHINFO_DIRNAME).'/';
    +            } else {
    +                $this->_new_file_path .= $this->unique_dir($this->_new_file_path).'/';
    +            }
    +            
    +            $this->_new_file_path .= $file_name;
    +            
    +        } else {
    +            if (isset($_POST[get_class($model)]['uwfdel'][$field_varname])&&$_POST[get_class($model)]['uwfdel'][$field_varname]){
    +                $model->onAfterSave = array($this, 'processFile');
    +                $path = '';
    +            }
    +        }
    +        
    +        return $this->_new_file_path;
    +    }
    +        
    +    /**
    +     * @param $value
    +     * @return string
    +     */
    +    public function viewAttribute($model,$field) {
    +        $file = $model->getAttribute($field->varname);
    +        if ($file) {
    +            $file = Yii::app()->baseUrl.'/'.$file;
    +            return CHtml::link(pathinfo($file, PATHINFO_FILENAME),$file);
    +        } else
    +            return '';
    +    }
    +        
    +    /**
    +     * @param $value
    +     * @return string
    +     */
    +    public function editAttribute($model,$field,$params=array()) {
    +        if (!isset($params['options'])) $params['options'] = array();
    +        $options = $params['options'];
    +        unset($params['options']);
    +        
    +        return CHtml::activeFileField($model,$field->varname,$params)
    +        .(($model->getAttribute($field->varname))?'
    '.CHtml::activeCheckBox($model,'[uwfdel]'.$field->varname,$params) + .' '.CHtml::activeLabelEx($model,'[uwfdel]'.$field->varname,array('label'=>UserModule::t('Delete file'),'style'=>'display:inline;')):'') + ; + } + + public function processFile($event){ + + $model = $event->sender; + + if ($this->_old_file_path && file_exists($this->_old_file_path)){ + unlink($this->_old_file_path); + $files = scandir(pathinfo($this->_old_file_path, PATHINFO_DIRNAME)); + if (empty($files[2])){ + //No files in directory left + rmdir(pathinfo($this->_old_file_path, PATHINFO_DIRNAME)); + } + + } + if ($this->_file_instance){ + if (!is_dir(pathinfo($this->_new_file_path, PATHINFO_DIRNAME))){ + mkdir(pathinfo($this->_new_file_path, PATHINFO_DIRNAME), 0777, TRUE); + } + $this->_file_instance->saveAs($this->_new_file_path); + } + } + + private function unique_dir($base_path='') + { + $unique_dir = $this->random_string(); + + while (is_dir($base_path . $unique_dir)) { + $unique_dir = $this->random_string(); + } + + return $unique_dir; + } + + private function random_string($max = 20){ + $string = ''; + $chars = "abcdefghijklmnopqrstuvwxwz0123456789_-ABCDEGFHIJKLMNOPQRSTUVW"; + for($i = 0; $i < $max; $i++){ + $rand_key = mt_rand(0, strlen($chars)); + $string .= substr($chars, $rand_key, 1); + } + return str_shuffle($string); + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/components/UWjuiAutoComplete.php b/www/protected/modules/yii-user-master/components/UWjuiAutoComplete.php new file mode 100644 index 0000000..b25cc7b --- /dev/null +++ b/www/protected/modules/yii-user-master/components/UWjuiAutoComplete.php @@ -0,0 +1,110 @@ +'base', + 'modelName'=>'', + 'optionName'=>'', + 'emptyFieldLabel'=>'Not found', + 'emptyFieldValue'=>0, + 'relationName'=>'', + 'minLength'=>'', + ); + + /** + * Widget initialization + * @return array + */ + public function init() { + return array( + 'name'=>__CLASS__, + 'label'=>UserModule::t('jQueryUI autocomplete',array(),__CLASS__), + 'fieldType'=>array('INTEGER'), + 'params'=>$this->params, + 'paramsLabels' => array( + 'modelName'=>UserModule::t('Model Name',array(),__CLASS__), + 'optionName'=>UserModule::t('Lable field name',array(),__CLASS__), + 'emptyFieldLabel'=>UserModule::t('Empty item name',array(),__CLASS__), + 'emptyFieldValue'=>UserModule::t('Empty item value',array(),__CLASS__), + 'relationName'=>UserModule::t('Profile model relation name',array(),__CLASS__), + 'minLength'=>UserModule::t('minimal start research length',array(),__CLASS__), + ), + ); + } + + /** + * @param $value + * @param $model + * @param $field_varname + * @return string + */ + public function setAttributes($value,$model,$field_varname) { + return $value; + } + + /** + * @param $model - profile model + * @param $field - profile fields model item + * @return string + */ + public function viewAttribute($model,$field) { + $relation = $model->relations(); + if ($this->params['relationName']&&isset($relation[$this->params['relationName']])) { + $m = $model->__get($this->params['relationName']); + } else { + $m = CActiveRecord::model($this->params['modelName'])->findByPk($model->getAttribute($field->varname)); + } + + if ($m) + return (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id); + else + return $this->params['emptyFieldLabel']; + } + + /** + * @param $model - profile model + * @param $field - profile fields model item + * @param $params - htmlOptions + * @return string + */ + public function editAttribute($model,$field,$htmlOptions=array()) { + $list = array(); + if (isset($this->params['emptyFieldValue'])) $list[]=array('id'=>$this->params['emptyFieldValue'],'label'=>$this->params['emptyFieldLabel']); + $models = CActiveRecord::model($this->params['modelName'])->findAll(); + foreach ($models as $m) + $list[] = (($this->params['optionName'])?array('label'=>$m->getAttribute($this->params['optionName']),'id'=>$m->id):array('label'=>$m->id,'id'=>$m->id)); + + if (!isset($htmlOptions['id'])) $htmlOptions['id'] = $field->varname; + $id = $htmlOptions['id']; + + $relation = $model->relations(); + if ($this->params['relationName']&&isset($relation[$this->params['relationName']])) { + $m = $model->__get($this->params['relationName']); + } else { + $m = CActiveRecord::model($this->params['modelName'])->findByPk($model->getAttribute($field->varname)); + } + + if ($m) + $default_value = (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id); + else + $default_value = ''; + + $htmlOptions['value'] = $default_value; + $options['source'] = $list; + $options['minLength'] = $this->params['minLength']; + $options['showAnim'] = 'fold'; + $options['select'] = "js:function(event, ui) { $('#".get_class($model)."_".$field->varname."').val(ui.item.id);}"; + $options=CJavaScript::encode($options); + //$basePath=Yii::getPathOfAlias('application.views.asset'); + $basePath=Yii::getPathOfAlias('application.modules.user.views.asset'); + $baseUrl=Yii::app()->getAssetManager()->publish($basePath); + $cs = Yii::app()->getClientScript(); + $cs->registerCssFile($baseUrl.'/css/'.$this->params['ui-theme'].'/jquery-ui.css'); + $cs->registerScriptFile($baseUrl.'/js/jquery-ui.min.js'); + $js = "jQuery('#{$id}').autocomplete({$options});"; + $cs->registerScript('Autocomplete'.'#'.$id, $js); + + return CHtml::activeTextField($model,$field->varname,$htmlOptions).CHtml::activehiddenField($model,$field->varname); + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/components/UWjuidate.php b/www/protected/modules/yii-user-master/components/UWjuidate.php new file mode 100644 index 0000000..68d81cf --- /dev/null +++ b/www/protected/modules/yii-user-master/components/UWjuidate.php @@ -0,0 +1,70 @@ +'base', + 'language'=>'en', + ); + + /** + * Initialization + * @return array + */ + public function init() { + return array( + 'name'=>__CLASS__, + 'label'=>UserModule::t('jQueryUI datepicker'), + 'fieldType'=>array('DATE','VARCHAR'), + 'params'=>$this->params, + 'paramsLabels' => array( + 'dateFormat'=>UserModule::t('Date format'), + ), + ); + } + + /** + * @param $model - profile model + * @param $field - profile fields model item + * @return string + */ + public function viewAttribute($model,$field) { + return $model->getAttribute($field->varname); + } + + /** + * @param $model - profile model + * @param $field - profile fields model item + * @param $params - htmlOptions + * @return string + */ + public function editAttribute($model,$field,$htmlOptions=array()) { + if (!isset($htmlOptions['size'])) $htmlOptions['size'] = 60; + if (!isset($htmlOptions['maxlength'])) $htmlOptions['maxlength'] = (($field->field_size)?$field->field_size:10); + if (!isset($htmlOptions['id'])) $htmlOptions['id'] = get_class($model).'_'.$field->varname; + + $id = $htmlOptions['id']; + $options['dateFormat'] = 'yy-mm-dd'; + $options=CJavaScript::encode($options); + + $basePath=Yii::getPathOfAlias('user.views.asset'); + $baseUrl=Yii::app()->getAssetManager()->publish($basePath); + $cs = Yii::app()->getClientScript(); + $cs->registerCssFile($baseUrl.'/css/'.$this->params['ui-theme'].'/jquery-ui.css'); + $cs->registerScriptFile($baseUrl.'/js/jquery-ui.min.js'); + + $language = $this->params['language']; + if ($language!='en') { + $js = "jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false}, jQuery.datepicker.regional['{$language}'], {$options}));"; + $cs->registerScriptFile($baseUrl.'/js/jquery-ui-i18n.min.js'); + } else $js = "jQuery('#{$id}').datepicker({$options});"; + + $cs->registerScript('ProfileFieldController'.'#'.$id, $js); + + return CHtml::activeTextField($model,$field->varname,$htmlOptions); + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/components/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/components/UWrelBelongsTo.php new file mode 100644 index 0000000..ec85ac9 --- /dev/null +++ b/www/protected/modules/yii-user-master/components/UWrelBelongsTo.php @@ -0,0 +1,77 @@ +'', + 'optionName'=>'', + 'emptyField'=>'', + 'relationName'=>'', + ); + + /** + * Widget initialization + * @return array + */ + public function init() { + return array( + 'name'=>__CLASS__, + 'label'=>UserModule::t('Relation Belongs To',array(),__CLASS__), + 'fieldType'=>array('INTEGER'), + 'params'=>$this->params, + 'paramsLabels' => array( + 'modelName'=>UserModule::t('Model Name',array(),__CLASS__), + 'optionName'=>UserModule::t('Lable field name',array(),__CLASS__), + 'emptyField'=>UserModule::t('Empty item name',array(),__CLASS__), + 'relationName'=>UserModule::t('Profile model relation name',array(),__CLASS__), + ), + ); + } + + /** + * @param $value + * @param $model + * @param $field_varname + * @return string + */ + public function setAttributes($value,$model,$field_varname) { + return $value; + } + + /** + * @param $model - profile model + * @param $field - profile fields model item + * @return string + */ + public function viewAttribute($model,$field) { + $relation = $model->relations(); + if ($this->params['relationName']&&isset($relation[$this->params['relationName']])) { + $m = $model->__get($this->params['relationName']); + } else { + $m = CActiveRecord::model($this->params['modelName'])->findByPk($model->getAttribute($field->varname)); + } + + if ($m) + return (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id); + else + return $this->params['emptyField']; + + } + + /** + * @param $model - profile model + * @param $field - profile fields model item + * @param $params - htmlOptions + * @return string + */ + public function editAttribute($model,$field,$htmlOptions=array()) { + $list = array(); + if ($this->params['emptyField']) $list[0] = $this->params['emptyField']; + + $models = CActiveRecord::model($this->params['modelName'])->findAll(); + foreach ($models as $m) + $list[$m->id] = (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id); + return CHtml::activeDropDownList($model,$field->varname,$list,$htmlOptions=array()); + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/components/UserIdentity.php b/www/protected/modules/yii-user-master/components/UserIdentity.php new file mode 100644 index 0000000..6f8986c --- /dev/null +++ b/www/protected/modules/yii-user-master/components/UserIdentity.php @@ -0,0 +1,56 @@ +username,"@")) { + $user=User::model()->notsafe()->findByAttributes(array('email'=>$this->username)); + } else { + $user=User::model()->notsafe()->findByAttributes(array('username'=>$this->username)); + } + if($user===null) + if (strpos($this->username,"@")) { + $this->errorCode=self::ERROR_EMAIL_INVALID; + } else { + $this->errorCode=self::ERROR_USERNAME_INVALID; + } + else if(Yii::app()->getModule('user')->encrypting($this->password)!==$user->password) + $this->errorCode=self::ERROR_PASSWORD_INVALID; + else if($user->status==0&&Yii::app()->getModule('user')->loginNotActiv==false) + $this->errorCode=self::ERROR_STATUS_NOTACTIV; + else if($user->status==-1) + $this->errorCode=self::ERROR_STATUS_BAN; + else { + $this->_id=$user->id; + $this->username=$user->username; + $this->errorCode=self::ERROR_NONE; + } + return !$this->errorCode; + } + + /** + * @return integer the ID of the user record + */ + public function getId() + { + return $this->_id; + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/components/WebUser.php b/www/protected/modules/yii-user-master/components/WebUser.php new file mode 100644 index 0000000..4a664f6 --- /dev/null +++ b/www/protected/modules/yii-user-master/components/WebUser.php @@ -0,0 +1,83 @@ +getState('__role'); + } + + public function getId() + { + return $this->getState('__id') ? $this->getState('__id') : 0; + } + +// protected function beforeLogin($id, $states, $fromCookie) +// { +// parent::beforeLogin($id, $states, $fromCookie); +// +// $model = new UserLoginStats(); +// $model->attributes = array( +// 'user_id' => $id, +// 'ip' => ip2long(Yii::app()->request->getUserHostAddress()) +// ); +// $model->save(); +// +// return true; +// } + + protected function afterLogin($fromCookie) + { + parent::afterLogin($fromCookie); + $this->updateSession(); + } + + public function updateSession() { + $user = Yii::app()->getModule('user')->user($this->id); + $this->name = $user->username; + $userAttributes = CMap::mergeArray(array( + 'email'=>$user->email, + 'username'=>$user->username, + 'create_at'=>$user->create_at, + 'lastvisit_at'=>$user->lastvisit_at, + ),$user->profile->getAttributes()); + foreach ($userAttributes as $attrName=>$attrValue) { + $this->setState($attrName,$attrValue); + } + } + + public function model($id=0) { + return Yii::app()->getModule('user')->user($id); + } + + public function user($id=0) { + return $this->model($id); + } + + public function getUserByName($username) { + return Yii::app()->getModule('user')->getUserByName($username); + } + + public function getAdmins() { + return Yii::app()->getModule('user')->getAdmins(); + } + + public function isAdmin() { + return Yii::app()->getModule('user')->isAdmin(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/ActivationController.php b/www/protected/modules/yii-user-master/controllers/ActivationController.php new file mode 100644 index 0000000..13c3a47 --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/ActivationController.php @@ -0,0 +1,31 @@ +notsafe()->findByAttributes(array('email'=>$email)); + if (isset($find)&&$find->status) { + $this->render('/user/message',array('title'=>UserModule::t("User activation"),'content'=>UserModule::t("You account is active."))); + } elseif(isset($find->activkey) && ($find->activkey==$activkey)) { + $find->activkey = UserModule::encrypting(microtime()); + $find->status = 1; + $find->save(); + $this->render('/user/message',array('title'=>UserModule::t("User activation"),'content'=>UserModule::t("You account is activated."))); + } else { + $this->render('/user/message',array('title'=>UserModule::t("User activation"),'content'=>UserModule::t("Incorrect activation URL."))); + } + } else { + $this->render('/user/message',array('title'=>UserModule::t("User activation"),'content'=>UserModule::t("Incorrect activation URL."))); + } + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/AdminController.php b/www/protected/modules/yii-user-master/controllers/AdminController.php new file mode 100644 index 0000000..b2e5576 --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/AdminController.php @@ -0,0 +1,191 @@ +array('admin','delete','create','update','view'), + 'users'=>UserModule::getAdmins(), + ), + array('deny', // deny all users + 'users'=>array('*'), + ), + ); + } + /** + * Manages all models. + */ + public function actionAdmin() + { + $model=new User('search'); + $model->unsetAttributes(); // clear any default values + if(isset($_GET['User'])) + $model->attributes=$_GET['User']; + + $this->render('index',array( + 'model'=>$model, + )); + /*$dataProvider=new CActiveDataProvider('User', array( + 'pagination'=>array( + 'pageSize'=>Yii::app()->controller->module->user_page_size, + ), + )); + + $this->render('index',array( + 'dataProvider'=>$dataProvider, + ));//*/ + } + + + /** + * Displays a particular model. + */ + public function actionView() + { + $model = $this->loadModel(); + $this->render('view',array( + 'model'=>$model, + )); + } + + /** + * Creates a new model. + * If creation is successful, the browser will be redirected to the 'view' page. + */ + public function actionCreate() + { + $model=new User; + $profile=new Profile; + $this->performAjaxValidation(array($model,$profile)); + if(isset($_POST['User'])) + { + $model->attributes=$_POST['User']; + $model->activkey=Yii::app()->controller->module->encrypting(microtime().$model->password); + $profile->attributes=$_POST['Profile']; + $profile->user_id=0; + if($model->validate()&&$profile->validate()) { + $model->password=Yii::app()->controller->module->encrypting($model->password); + if($model->save()) { + $profile->user_id=$model->id; + $profile->save(); + } + $this->redirect(array('view','id'=>$model->id)); + } else $profile->validate(); + } + + $this->render('create',array( + 'model'=>$model, + 'profile'=>$profile, + )); + } + + /** + * Updates a particular model. + * If update is successful, the browser will be redirected to the 'view' page. + */ + public function actionUpdate() + { + $model=$this->loadModel(); + $profile=$model->profile; + $this->performAjaxValidation(array($model,$profile)); + if(isset($_POST['User'])) + { + $model->attributes=$_POST['User']; + $profile->attributes=$_POST['Profile']; + + if($model->validate()&&$profile->validate()) { + $old_password = User::model()->notsafe()->findByPk($model->id); + if ($old_password->password!=$model->password) { + $model->password=Yii::app()->controller->module->encrypting($model->password); + $model->activkey=Yii::app()->controller->module->encrypting(microtime().$model->password); + } + $model->save(); + $profile->save(); + $this->redirect(array('view','id'=>$model->id)); + } else $profile->validate(); + } + + $this->render('update',array( + 'model'=>$model, + 'profile'=>$profile, + )); + } + + + /** + * Deletes a particular model. + * If deletion is successful, the browser will be redirected to the 'index' page. + */ + public function actionDelete() + { + if(Yii::app()->request->isPostRequest) + { + // we only allow deletion via POST request + $model = $this->loadModel(); + $profile = Profile::model()->findByPk($model->id); + + // Make sure profile exists + if ($profile) + $profile->delete(); + + $model->delete(); + // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser + if(!isset($_POST['ajax'])) + $this->redirect(array('/user/admin')); + } + else + throw new CHttpException(400,'Invalid request. Please do not repeat this request again.'); + } + + /** + * Performs the AJAX validation. + * @param CModel the model to be validated + */ + protected function performAjaxValidation($validate) + { + if(isset($_POST['ajax']) && $_POST['ajax']==='user-form') + { + echo CActiveForm::validate($validate); + Yii::app()->end(); + } + } + + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + */ + public function loadModel() + { + if($this->_model===null) + { + if(isset($_GET['id'])) + $this->_model=User::model()->notsafe()->findbyPk($_GET['id']); + if($this->_model===null) + throw new CHttpException(404,'The requested page does not exist.'); + } + return $this->_model; + } + +} diff --git a/www/protected/modules/yii-user-master/controllers/DefaultController.php b/www/protected/modules/yii-user-master/controllers/DefaultController.php new file mode 100644 index 0000000..f21ea2b --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/DefaultController.php @@ -0,0 +1,25 @@ +array( + 'condition'=>'status>'.User::STATUS_BANNED, + ), + 'pagination'=>array( + 'pageSize'=>Yii::app()->controller->module->user_page_size, + ), + )); + + $this->render('/user/index',array( + 'dataProvider'=>$dataProvider, + )); + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/LoginController.php b/www/protected/modules/yii-user-master/controllers/LoginController.php new file mode 100644 index 0000000..db03de5 --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/LoginController.php @@ -0,0 +1,39 @@ +user->isGuest) { + $model=new UserLogin; + // collect user input data + if(isset($_POST['UserLogin'])) + { + $model->attributes=$_POST['UserLogin']; + // validate user input and redirect to previous page if valid + if($model->validate()) { + $this->lastViset(); + if (Yii::app()->getBaseUrl()."/index.php" === Yii::app()->user->returnUrl) + $this->redirect(Yii::app()->controller->module->returnUrl); + else + $this->redirect(Yii::app()->user->returnUrl); + } + } + // display the login form + $this->render('/user/login',array('model'=>$model)); + } else + $this->redirect(Yii::app()->controller->module->returnUrl); + } + + private function lastViset() { + $lastVisit = User::model()->notsafe()->findByPk(Yii::app()->user->id); + $lastVisit->lastvisit_at = date('Y-m-d H:i:s'); + $lastVisit->save(); + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/LogoutController.php b/www/protected/modules/yii-user-master/controllers/LogoutController.php new file mode 100644 index 0000000..c9419ad --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/LogoutController.php @@ -0,0 +1,16 @@ +user->logout(); + $this->redirect(Yii::app()->controller->module->returnLogoutUrl); + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/ProfileController.php b/www/protected/modules/yii-user-master/controllers/ProfileController.php new file mode 100644 index 0000000..2eb3070 --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/ProfileController.php @@ -0,0 +1,105 @@ +loadUser(); + $this->render('profile',array( + 'model'=>$model, + 'profile'=>$model->profile, + )); + } + + + /** + * Updates a particular model. + * If update is successful, the browser will be redirected to the 'view' page. + */ + public function actionEdit() + { + $model = $this->loadUser(); + $profile=$model->profile; + + // ajax validator + if(isset($_POST['ajax']) && $_POST['ajax']==='profile-form') + { + echo UActiveForm::validate(array($model,$profile)); + Yii::app()->end(); + } + + if(isset($_POST['User'])) + { + $model->attributes=$_POST['User']; + $profile->attributes=$_POST['Profile']; + + if($model->validate()&&$profile->validate()) { + $model->save(); + $profile->save(); + Yii::app()->user->setFlash('profileMessage',UserModule::t("Changes is saved.")); + $this->redirect(array('/user/profile')); + } else $profile->validate(); + } + + $this->render('edit',array( + 'model'=>$model, + 'profile'=>$profile, + )); + } + + /** + * Change password + */ + public function actionChangepassword() { + $model = new UserChangePassword; + if (Yii::app()->user->id) { + + // ajax validator + if(isset($_POST['ajax']) && $_POST['ajax']==='changepassword-form') + { + echo UActiveForm::validate($model); + Yii::app()->end(); + } + + if(isset($_POST['UserChangePassword'])) { + $model->attributes=$_POST['UserChangePassword']; + if($model->validate()) { + $new_password = User::model()->notsafe()->findbyPk(Yii::app()->user->id); + $new_password->password = UserModule::encrypting($model->password); + $new_password->activkey=UserModule::encrypting(microtime().$model->password); + $new_password->save(); + Yii::app()->user->setFlash('profileMessage',UserModule::t("New password is saved.")); + $this->redirect(array("profile")); + } + } + $this->render('changepassword',array('model'=>$model)); + } + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + * @param integer the primary key value. Defaults to null, meaning using the 'id' GET variable + */ + public function loadUser() + { + if($this->_model===null) + { + if(Yii::app()->user->id) + $this->_model=Yii::app()->controller->module->user(); + if($this->_model===null) + $this->redirect(Yii::app()->controller->module->loginUrl); + } + return $this->_model; + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/ProfileFieldController.php b/www/protected/modules/yii-user-master/controllers/ProfileFieldController.php new file mode 100644 index 0000000..2eb912a --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/ProfileFieldController.php @@ -0,0 +1,570 @@ +array('*'), + 'users'=>array('*'), + ), + array('allow', // allow admin user to perform 'admin' and 'delete' actions + 'actions'=>array('create','update','view','admin','delete'), + 'users'=>UserModule::getAdmins(), + ), + array('deny', // deny all users + 'users'=>array('*'), + ), + ); + } + + /** + * Displays a particular model. + */ + public function actionView() + { + $this->render('view',array( + 'model'=>$this->loadModel(), + )); + } + + /** + * Register Script + */ + public function registerScript() { + $basePath=Yii::getPathOfAlias('application.modules.user.views.asset'); + $baseUrl=Yii::app()->getAssetManager()->publish($basePath); + $cs = Yii::app()->getClientScript(); + $cs->registerCoreScript('jquery'); + $cs->registerCssFile($baseUrl.'/css/redmond/jquery-ui.css'); + $cs->registerCssFile($baseUrl.'/css/style.css'); + $cs->registerScriptFile($baseUrl.'/js/jquery-ui.min.js'); + $cs->registerScriptFile($baseUrl.'/js/form.js'); + $cs->registerScriptFile($baseUrl.'/js/jquery.json.js'); + + $widgets = self::getWidgets(); + + $wgByTypes = ProfileField::itemAlias('field_type'); + foreach ($wgByTypes as $k=>$v) { + $wgByTypes[$k] = array(); + } + + foreach ($widgets[1] as $widget) { + if (isset($widget['fieldType'])&&count($widget['fieldType'])) { + foreach($widget['fieldType'] as $type) { + array_push($wgByTypes[$type],$widget['name']); + } + } + } + //echo '
    '; print_r($widgets[1]); die();
    +		$js = "
    +
    +	var name = $('#name'),
    +	value = $('#value'),
    +	allFields = $([]).add(name).add(value),
    +	tips = $('.validateTips');
    +	
    +	var listWidgets = jQuery.parseJSON('".str_replace("'","\'",CJavaScript::jsonEncode($widgets[0]))."');
    +	var widgets = jQuery.parseJSON('".str_replace("'","\'",CJavaScript::jsonEncode($widgets[1]))."');
    +	var wgByType = jQuery.parseJSON('".str_replace("'","\'",CJavaScript::jsonEncode($wgByTypes))."');
    +	
    +	var fieldType = {
    +			'INTEGER':{
    +				'hide':['match','other_validator','widgetparams'],
    +				'val':{
    +					'field_size':10,
    +					'default':'0',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			},
    +			'VARCHAR':{
    +				'hide':['widgetparams'],
    +				'val':{
    +					'field_size':255,
    +					'default':'',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			},
    +			'TEXT':{
    +				'hide':['field_size','range','widgetparams'],
    +				'val':{
    +					'field_size':0,
    +					'default':'',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			},
    +			'DATE':{
    +				'hide':['field_size','field_size_min','match','range','widgetparams'],
    +				'val':{
    +					'field_size':0,
    +					'default':'0000-00-00',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			},
    +			'FLOAT':{
    +				'hide':['match','other_validator','widgetparams'],
    +				'val':{
    +					'field_size':'10.2',
    +					'default':'0.00',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			},
    +			'DECIMAL':{
    +				'hide':['match','other_validator','widgetparams'],
    +				'val':{
    +					'field_size':'10,2',
    +					'default':'0',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			},
    +			'BOOL':{
    +				'hide':['field_size','field_size_min','match','widgetparams'],
    +				'val':{
    +					'field_size':0,
    +					'default':0,
    +					'range':'1==".UserModule::t('Yes').";0==".UserModule::t('No')."',
    +					'widgetparams':''
    +				}
    +			},
    +			'BLOB':{
    +				'hide':['field_size','field_size_min','match','widgetparams'],
    +				'val':{
    +					'field_size':0,
    +					'default':'',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			},
    +			'BINARY':{
    +				'hide':['field_size','field_size_min','match','widgetparams'],
    +				'val':{
    +					'field_size':0,
    +					'default':'',
    +					'range':'',
    +					'widgetparams':''
    +				}
    +			}
    +		};
    +			
    +	function showWidgetList(type) {
    +		$('div.widget select').empty();
    +		$('div.widget select').append('');
    +		if (wgByType[type]) {
    +			for (var k in wgByType[type]) {
    +				$('div.widget select').append('');
    +			}
    +		}
    +	}
    +		
    +	function setFields(type) {
    +		if (fieldType[type]) {
    +			if (".((isset($_GET['id']))?0:1).") {
    +				showWidgetList(type);
    +				$('#widgetlist option:first').attr('selected', 'selected');
    +			}
    +			
    +			$('div.row').addClass('toshow').removeClass('tohide');
    +			if (fieldType[type].hide.length) $('div.'+fieldType[type].hide.join(', div.')).addClass('tohide').removeClass('toshow');
    +			if ($('div.widget select').val()) {
    +				$('div.widgetparams').removeClass('tohide');
    +			}
    +			$('div.toshow').show(500);
    +			$('div.tohide').hide(500);
    +			".((!isset($_GET['id']))?"
    +			for (var k in fieldType[type].val) { 
    +				$('div.'+k+' input').val(fieldType[type].val[k]);
    +			}":'')."
    +		}
    +	}
    +	
    +	function isArray(obj) {
    +		if (obj.constructor.toString().indexOf('Array') == -1)
    +			return false;
    +		else
    +			return true;
    +	}
    +		
    +	$('#dialog-form').dialog({
    +		autoOpen: false,
    +		height: 400,
    +		width: 400,
    +		modal: true,
    +		buttons: {
    +			'".UserModule::t('Save')."': function() {
    +				var wparam = {};
    +				var fparam = {};
    +				$('#dialog-form fieldset .wparam').each(function(){
    +					if ($(this).val()) wparam[$(this).attr('name')] = $(this).val();
    +				});
    +				
    +				var tab = $('#tabs ul li.ui-tabs-selected').text();
    +				fparam[tab] = {};
    +				$('#dialog-form fieldset .tab-'+tab).each(function(){
    +					if ($(this).val()) fparam[tab][$(this).attr('name')] = $(this).val();
    +				});
    +				
    +				if ($.JSON.encode(wparam)!='{}') $('div.widgetparams input').val($.JSON.encode(wparam));
    +				if ($.JSON.encode(fparam[tab])!='{}') $('div.other_validator input').val($.JSON.encode(fparam)); 
    +				
    +				$(this).dialog('close');
    +			},
    +			'".UserModule::t('Cancel')."': function() {
    +				$(this).dialog('close');
    +			}
    +		},
    +		close: function() {
    +		}
    +	});
    +
    +
    +	$('#widgetparams').focus(function() {
    +		var widget = widgets[$('#widgetlist').val()];
    +		var html = '';
    +		var wparam = ($('div.widgetparams input').val())?$.JSON.decode($('div.widgetparams input').val()):{};
    +		var fparam = ($('div.other_validator input').val())?$.JSON.decode($('div.other_validator input').val()):{};
    +		
    +		// Class params
    +		for (var k in widget.params) {
    +			html += '';
    +			html += '';
    +		}
    +		// Validator params		
    +		if (widget.other_validator) {
    +			var tabs = '';
    +			var li = '';
    +			for (var t in widget.other_validator) {
    +				tabs += '
    '; + li += ''+t+''; + + for (var k in widget.other_validator[t]) { + tabs += ''; + if (isArray(widget.other_validator[t][k])) { + tabs += ''; + } else { + tabs += ''; + } + } + tabs += '
    '; + } + html += '
      '+li+'
    '+tabs+'
    '; + } + + $('#dialog-form fieldset').html(html); + + $('#tabs').tabs(); + + // Show form + $('#dialog-form').dialog('open'); + }); + + $('#field_type').change(function() { + setFields($(this).val()); + }); + + $('#widgetlist').change(function() { + if ($(this).val()) { + $('div.widgetparams').show(500); + } else { + $('div.widgetparams').hide(500); + } + + }); + + // show all function + $('div.form p.note').append('
    ".UserModule::t('Show all')."'); + $('#showAll').click(function(){ + $('div.row').show(500); + return false; + }); + + // init + setFields($('#field_type').val()); + + "; + $cs->registerScript(__CLASS__.'#dialog', $js); + } + + /** + * Creates a new model. + * If creation is successful, the browser will be redirected to the 'view' page. + */ + public function actionCreate() + { + $model=new ProfileField; + $scheme = get_class(Yii::app()->db->schema); + if(isset($_POST['ProfileField'])) + { + $model->attributes=$_POST['ProfileField']; + + if($model->validate()) { + $sql = 'ALTER TABLE '.Profile::model()->tableName().' ADD `'.$model->varname.'` '; + $sql .= $this->fieldType($model->field_type); + if ( + $model->field_type!='TEXT' + && $model->field_type!='DATE' + && $model->field_type!='BOOL' + && $model->field_type!='BLOB' + && $model->field_type!='BINARY' + ) + $sql .= '('.$model->field_size.')'; + $sql .= ' NOT NULL '; + + if ($model->field_type!='TEXT'&&$model->field_type!='BLOB'||$scheme!='CMysqlSchema') { + if ($model->default) + $sql .= " DEFAULT '".$model->default."'"; + else + $sql .= (( + $model->field_type=='TEXT' + ||$model->field_type=='VARCHAR' + ||$model->field_type=='BLOB' + ||$model->field_type=='BINARY' + )?" DEFAULT ''":(($model->field_type=='DATE')?" DEFAULT '0000-00-00'":" DEFAULT 0")); + } + $model->dbConnection->createCommand($sql)->execute(); + $model->save(); + $this->redirect(array('view','id'=>$model->id)); + } + } + + $this->registerScript(); + $this->render('create',array( + 'model'=>$model, + )); + } + + /** + * Updates a particular model. + * If update is successful, the browser will be redirected to the 'view' page. + */ + public function actionUpdate() + { + $model=$this->loadModel(); + if(isset($_POST['ProfileField'])) + { + $model->attributes=$_POST['ProfileField']; + if($model->save()) + $this->redirect(array('view','id'=>$model->id)); + } + $this->registerScript(); + + $this->render('update',array( + 'model'=>$model, + )); + } + + /** + * Deletes a particular model. + * If deletion is successful, the browser will be redirected to the 'index' page. + */ + public function actionDelete() + { + if(Yii::app()->request->isPostRequest) + { + // we only allow deletion via POST request + $scheme = get_class(Yii::app()->db->schema); + $model = $this->loadModel(); + if ($scheme=='CSqliteSchema') { + $attr = Profile::model()->attributes; + unset($attr[$model->varname]); + $attr = array_keys($attr); + $connection=Yii::app()->db; + $transaction=$connection->beginTransaction(); + $status=true; + try + { + $sql = ''; + $connection->createCommand( + "CREATE TEMPORARY TABLE ".Profile::model()->tableName()."_backup (".implode(',',$attr).")" + )->execute(); + + $connection->createCommand( + "INSERT INTO ".Profile::model()->tableName()."_backup SELECT ".implode(',',$attr)." FROM ".Profile::model()->tableName() + )->execute(); + + $connection->createCommand( + "DROP TABLE ".Profile::model()->tableName() + )->execute(); + + $connection->createCommand( + "CREATE TABLE ".Profile::model()->tableName()." (".implode(',',$attr).")" + )->execute(); + + $connection->createCommand( + "INSERT INTO ".Profile::model()->tableName()." SELECT ".implode(',',$attr)." FROM ".Profile::model()->tableName()."_backup" + )->execute(); + + $connection->createCommand( + "DROP TABLE ".Profile::model()->tableName()."_backup" + )->execute(); + + $transaction->commit(); + } + catch(Exception $e) + { + $transaction->rollBack(); + $status=false; + } + if ($status) { + $model->delete(); + } + + } else { + $sql = 'ALTER TABLE '.Profile::model()->tableName().' DROP `'.$model->varname.'`'; + if ($model->dbConnection->createCommand($sql)->execute()) { + $model->delete(); + } + } + + // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser + if(!isset($_POST['ajax'])) + $this->redirect(array('admin')); + } + else + throw new CHttpException(400,'Invalid request. Please do not repeat this request again.'); + } + + /** + * Manages all models. + */ + public function actionAdmin() + { + $model=new ProfileField('search'); + $model->unsetAttributes(); // clear any default values + if(isset($_GET['ProfileField'])) + $model->attributes=$_GET['ProfileField']; + + $this->render('admin',array( + 'model'=>$model, + )); + /* + $dataProvider=new CActiveDataProvider('ProfileField', array( + 'pagination'=>array( + 'pageSize'=>Yii::app()->controller->module->fields_page_size, + ), + 'sort'=>array( + 'defaultOrder'=>'position', + ), + )); + + $this->render('admin',array( + 'dataProvider'=>$dataProvider, + ));//*/ + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + */ + public function loadModel() + { + if($this->_model===null) + { + if(isset($_GET['id'])) + $this->_model=ProfileField::model()->findbyPk($_GET['id']); + if($this->_model===null) + throw new CHttpException(404,'The requested page does not exist.'); + } + return $this->_model; + } + + /** + * MySQL field type + * @param $type string + * @return string + */ + public function fieldType($type) { + $type = str_replace('UNIX-DATE','INTEGER',$type); + return $type; + } + + public static function getWidgets($fieldType='') { + $basePath=Yii::getPathOfAlias('application.modules.user.components'); + $widgets = array(); + $list = array(''=>UserModule::t('No')); + if (self::$_widgets) { + $widgets = self::$_widgets; + } else { + $d = dir($basePath); + while (false !== ($file = $d->read())) { + if (strpos($file,'UW')===0) { + list($className) = explode('.',$file); + if (class_exists($className)) { + $widgetClass = new $className; + if ($widgetClass->init()) { + $widgets[$className] = $widgetClass->init(); + if ($fieldType) { + if (in_array($fieldType,$widgets[$className]['fieldType'])) $list[$className] = $widgets[$className]['label']; + } else { + $list[$className] = $widgets[$className]['label']; + } + } + } + } + } + $d->close(); + } + return array($list,$widgets); + } + + /** + * Get Values for Dependent DropDownList. + * @author juan.gaviria@dsotogroup.com + */ + public function actionGetDroDownDepValues(){ + $post = $_POST; + $model = new $post['model']; + $data = CHtml::listData($model->findAll($post['varname'].'=:'.$post['varname'], array(':'.$post['varname']=>$post[$post['varname']])), 'id', $post['optionDestName']); + echo CHtml::tag('option', array('value'=>''), CHtml::encode('Seleccione...'), true); + foreach($data AS $value=>$name){ + echo CHtml::tag('option', array('value'=>$value), CHtml::encode($name), true); + } + } + + /** + * Performs the AJAX validation. + * @param CModel the model to be validated + */ + protected function performAjaxValidation($model) + { + if(isset($_POST['ajax']) && $_POST['ajax']==='profile-field-form') + { + echo CActiveForm::validate($model); + Yii::app()->end(); + } + } +} diff --git a/www/protected/modules/yii-user-master/controllers/RecoveryController.php b/www/protected/modules/yii-user-master/controllers/RecoveryController.php new file mode 100644 index 0000000..97d36bc --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/RecoveryController.php @@ -0,0 +1,67 @@ +user->id) { + $this->redirect(Yii::app()->controller->module->returnUrl); + } else { + $email = ((isset($_GET['email']))?$_GET['email']:''); + $activkey = ((isset($_GET['activkey']))?$_GET['activkey']:''); + if ($email&&$activkey) { + $form2 = new UserChangePassword; + $find = User::model()->notsafe()->findByAttributes(array('email'=>$email)); + if(isset($find)&&$find->activkey==$activkey) { + if(isset($_POST['UserChangePassword'])) { + $form2->attributes=$_POST['UserChangePassword']; + if($form2->validate()) { + $find->password = Yii::app()->controller->module->encrypting($form2->password); + $find->activkey=Yii::app()->controller->module->encrypting(microtime().$form2->password); + if ($find->status==0) { + $find->status = 1; + } + $find->save(); + Yii::app()->user->setFlash('recoveryMessage',UserModule::t("New password is saved.")); + $this->redirect(Yii::app()->controller->module->recoveryUrl); + } + } + $this->render('changepassword',array('form'=>$form2)); + } else { + Yii::app()->user->setFlash('recoveryMessage',UserModule::t("Incorrect recovery link.")); + $this->redirect(Yii::app()->controller->module->recoveryUrl); + } + } else { + if(isset($_POST['UserRecoveryForm'])) { + $form->attributes=$_POST['UserRecoveryForm']; + if($form->validate()) { + $user = User::model()->notsafe()->findbyPk($form->user_id); + $activation_url = 'http://' . $_SERVER['HTTP_HOST'].$this->createUrl(implode(Yii::app()->controller->module->recoveryUrl),array("activkey" => $user->activkey, "email" => $user->email)); + + $subject = UserModule::t("You have requested the password recovery site {site_name}", + array( + '{site_name}'=>Yii::app()->name, + )); + $message = UserModule::t("You have requested the password recovery site {site_name}. To receive a new password, go to {activation_url}.", + array( + '{site_name}'=>Yii::app()->name, + '{activation_url}'=>$activation_url, + )); + + UserModule::sendMail($user->email,$subject,$message); + + Yii::app()->user->setFlash('recoveryMessage',UserModule::t("Please check your email. An instructions was sent to your email address.")); + $this->refresh(); + } + } + $this->render('recovery',array('form'=>$form)); + } + } + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/RegistrationController.php b/www/protected/modules/yii-user-master/controllers/RegistrationController.php new file mode 100644 index 0000000..7890b65 --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/RegistrationController.php @@ -0,0 +1,80 @@ +array( + 'class'=>'CCaptchaAction', + 'backColor'=>0xFFFFFF, + ), + ); + } + /** + * Registration user + */ + public function actionRegistration() { + Profile::$regMode = true; + $model = new RegistrationForm; + $profile=new Profile; + + // ajax validator + if(isset($_POST['ajax']) && $_POST['ajax']==='registration-form') + { + echo UActiveForm::validate(array($model,$profile)); + Yii::app()->end(); + } + + if (Yii::app()->user->id) { + $this->redirect(Yii::app()->controller->module->profileUrl); + } else { + if(isset($_POST['RegistrationForm'])) { + $model->attributes=$_POST['RegistrationForm']; + $profile->attributes=((isset($_POST['Profile'])?$_POST['Profile']:array())); + if($model->validate()&&$profile->validate()) + { + $soucePassword = $model->password; + $model->activkey=UserModule::encrypting(microtime().$model->password); + $model->password=UserModule::encrypting($model->password); + $model->verifyPassword=UserModule::encrypting($model->verifyPassword); + $model->superuser=0; + $model->status=((Yii::app()->controller->module->activeAfterRegister)?User::STATUS_ACTIVE:User::STATUS_NOACTIVE); + + if ($model->save()) { + $profile->user_id=$model->id; + $profile->save(); + if (Yii::app()->controller->module->sendActivationMail) { + $activation_url = $this->createAbsoluteUrl('/user/activation/activation',array("activkey" => $model->activkey, "email" => $model->email)); + UserModule::sendMail($model->email,UserModule::t("You registered from {site_name}",array('{site_name}'=>Yii::app()->name)),UserModule::t("Please activate you account go to {activation_url}",array('{activation_url}'=>$activation_url))); + } + + if ((Yii::app()->controller->module->loginNotActiv||(Yii::app()->controller->module->activeAfterRegister&&Yii::app()->controller->module->sendActivationMail==false))&&Yii::app()->controller->module->autoLogin) { + $identity=new UserIdentity($model->username,$soucePassword); + $identity->authenticate(); + Yii::app()->user->login($identity,0); + $this->redirect(Yii::app()->controller->module->returnUrl); + } else { + if (!Yii::app()->controller->module->activeAfterRegister&&!Yii::app()->controller->module->sendActivationMail) { + Yii::app()->user->setFlash('registration',UserModule::t("Thank you for your registration. Contact Admin to activate your account.")); + } elseif(Yii::app()->controller->module->activeAfterRegister&&Yii::app()->controller->module->sendActivationMail==false) { + Yii::app()->user->setFlash('registration',UserModule::t("Thank you for your registration. Please {{login}}.",array('{{login}}'=>CHtml::link(UserModule::t('Login'),Yii::app()->controller->module->loginUrl)))); + } elseif(Yii::app()->controller->module->loginNotActiv) { + Yii::app()->user->setFlash('registration',UserModule::t("Thank you for your registration. Please check your email or login.")); + } else { + Yii::app()->user->setFlash('registration',UserModule::t("Thank you for your registration. Please check your email.")); + } + $this->refresh(); + } + } + } else $profile->validate(); + } + $this->render('/user/registration',array('model'=>$model,'profile'=>$profile)); + } + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/controllers/UserController.php b/www/protected/modules/yii-user-master/controllers/UserController.php new file mode 100644 index 0000000..2fc5f18 --- /dev/null +++ b/www/protected/modules/yii-user-master/controllers/UserController.php @@ -0,0 +1,101 @@ +array('index','view'), + 'users'=>array('*'), + ), + array('deny', // deny all users + 'users'=>array('*'), + ), + ); + } + + /** + * Displays a particular model. + */ + public function actionView() + { + $model = $this->loadModel(); + $this->render('view',array( + 'model'=>$model, + )); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $dataProvider=new CActiveDataProvider('User', array( + 'criteria'=>array( + 'condition'=>'status>'.User::STATUS_BANNED, + ), + + 'pagination'=>array( + 'pageSize'=>Yii::app()->controller->module->user_page_size, + ), + )); + + $this->render('index',array( + 'dataProvider'=>$dataProvider, + )); + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + */ + public function loadModel() + { + if($this->_model===null) + { + if(isset($_GET['id'])) + $this->_model=User::model()->findbyPk($_GET['id']); + if($this->_model===null) + throw new CHttpException(404,'The requested page does not exist.'); + } + return $this->_model; + } + + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + * @param integer the primary key value. Defaults to null, meaning using the 'id' GET variable + */ + public function loadUser($id=null) + { + if($this->_model===null) + { + if($id!==null || isset($_GET['id'])) + $this->_model=User::model()->findbyPk($id!==null ? $id : $_GET['id']); + if($this->_model===null) + throw new CHttpException(404,'The requested page does not exist.'); + } + return $this->_model; + } +} diff --git a/www/protected/modules/yii-user-master/data/schema.mysql.sql b/www/protected/modules/yii-user-master/data/schema.mysql.sql new file mode 100644 index 0000000..607451d --- /dev/null +++ b/www/protected/modules/yii-user-master/data/schema.mysql.sql @@ -0,0 +1,60 @@ +CREATE TABLE `tbl_users` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(20) NOT NULL, + `password` varchar(128) NOT NULL, + `email` varchar(128) NOT NULL, + `activkey` varchar(128) NOT NULL DEFAULT '', + `create_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + `lastvisit_at` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + `superuser` int(1) NOT NULL DEFAULT '0', + `status` int(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `email` (`email`), + KEY `status` (`status`), + KEY `superuser` (`superuser`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; + +CREATE TABLE `tbl_profiles` ( + `user_id` int(11) NOT NULL AUTO_INCREMENT, + `lastname` varchar(50) NOT NULL DEFAULT '', + `firstname` varchar(50) NOT NULL DEFAULT '', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; + +ALTER TABLE `tbl_profiles` + ADD CONSTRAINT `user_profile_id` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON DELETE CASCADE; + +CREATE TABLE `tbl_profiles_fields` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `varname` varchar(50) NOT NULL, + `title` varchar(255) NOT NULL, + `field_type` varchar(50) NOT NULL, + `field_size` varchar(15) NOT NULL DEFAULT '0', + `field_size_min` varchar(15) NOT NULL DEFAULT '0', + `required` int(1) NOT NULL DEFAULT '0', + `match` varchar(255) NOT NULL DEFAULT '', + `range` varchar(255) NOT NULL DEFAULT '', + `error_message` varchar(255) NOT NULL DEFAULT '', + `other_validator` varchar(5000) NOT NULL DEFAULT '', + `default` varchar(255) NOT NULL DEFAULT '', + `widget` varchar(255) NOT NULL DEFAULT '', + `widgetparams` varchar(5000) NOT NULL DEFAULT '', + `position` int(3) NOT NULL DEFAULT '0', + `visible` int(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `varname` (`varname`,`widget`,`visible`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; + + +INSERT INTO `tbl_users` (`id`, `username`, `password`, `email`, `activkey`, `superuser`, `status`) VALUES +(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'webmaster@example.com', '9a24eff8c15a6a141ece27eb6947da0f', 1, 1), +(2, 'demo', 'fe01ce2a7fbac8fafaed7c982a04e229', 'demo@example.com', '099f825543f7850cc038b90aaff39fac', 0, 1); + +INSERT INTO `tbl_profiles` (`user_id`, `lastname`, `firstname`) VALUES +(1, 'Admin', 'Administrator'), +(2, 'Demo', 'Demo'); + +INSERT INTO `tbl_profiles_fields` (`id`, `varname`, `title`, `field_type`, `field_size`, `field_size_min`, `required`, `match`, `range`, `error_message`, `other_validator`, `default`, `widget`, `widgetparams`, `position`, `visible`) VALUES +(1, 'lastname', 'Last Name', 'VARCHAR', 50, 3, 1, '', '', 'Incorrect Last Name (length between 3 and 50 characters).', '', '', '', '', 1, 3), +(2, 'firstname', 'First Name', 'VARCHAR', 50, 3, 1, '', '', 'Incorrect First Name (length between 3 and 50 characters).', '', '', '', '', 0, 3); \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/data/schema.sqlite.sql b/www/protected/modules/yii-user-master/data/schema.sqlite.sql new file mode 100644 index 0000000..0762f39 --- /dev/null +++ b/www/protected/modules/yii-user-master/data/schema.sqlite.sql @@ -0,0 +1,45 @@ +CREATE TABLE tbl_users ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + username varchar(20) NOT NULL, + password varchar(128) NOT NULL, + email varchar(128) NOT NULL, + activkey varchar(128) NOT NULL DEFAULT '', + create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + lastvisit_at TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', + superuser int(1) NOT NULL DEFAULT '0', + status int(1) NOT NULL DEFAULT '0' +); + +CREATE TABLE tbl_profiles ( + user_id INTEGER NOT NULL PRIMARY KEY, + lastname varchar(50) NOT NULL DEFAULT '', + firstname varchar(50) NOT NULL DEFAULT '' +); + +CREATE TABLE tbl_profiles_fields ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + varname varchar(50) NOT NULL, + title varchar(255) NOT NULL, + field_type varchar(50) NOT NULL, + field_size int(3) NOT NULL DEFAULT '0', + field_size_min int(3) NOT NULL DEFAULT '0', + required int(1) NOT NULL DEFAULT '0', + match varchar(255) NOT NULL DEFAULT '', + range varchar(255) NOT NULL DEFAULT '', + error_message varchar(255) NOT NULL DEFAULT '', + other_validator TEXT NOT NULL DEFAULT '', + 'default' varchar(255) NOT NULL DEFAULT '', + widget varchar(255) NOT NULL DEFAULT '', + widgetparams TEXT NOT NULL DEFAULT '', + position int(3) NOT NULL DEFAULT '0', + visible int(1) NOT NULL DEFAULT '0' +); + +INSERT INTO tbl_users (id, username, password, email, activkey, superuser, status) VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'webmaster@example.com', '21232f297a57a5a743894a0e4a801fc3', 1, 1); +INSERT INTO tbl_users (id, username, password, email, activkey, superuser, status) VALUES (2, 'demo', 'fe01ce2a7fbac8fafaed7c982a04e229', 'demo@example.com', 'fe01ce2a7fbac8fafaed7c982a04e229', 0, 1); + +INSERT INTO tbl_profiles (user_id, lastname, firstname) VALUES (1, 'Admin', 'Administrator'); +INSERT INTO tbl_profiles (user_id, lastname, firstname) VALUES (2, 'Demo', 'Demo'); + +INSERT INTO tbl_profiles_fields (id, varname, title, field_type, field_size, field_size_min, required, 'match', range, error_message, other_validator, 'default', widget, widgetparams, position, visible) VALUES (1, 'lastname', 'Last Name', 'VARCHAR', 50, 3, 1, '', '', 'Incorrect Last Name (length between 3 and 50 characters).', '', '', '', '', 1, 3); +INSERT INTO tbl_profiles_fields (id, varname, title, field_type, field_size, field_size_min, required, 'match', range, error_message, other_validator, 'default', widget, widgetparams, position, visible) VALUES (2, 'firstname', 'First Name', 'VARCHAR', 50, 3, 1, '', '', 'Incorrect First Name (length between 3 and 50 characters).', '', '', '', '', 0, 3); diff --git a/www/protected/modules/yii-user-master/data/user.sqlite b/www/protected/modules/yii-user-master/data/user.sqlite new file mode 100644 index 0000000..9607732 Binary files /dev/null and b/www/protected/modules/yii-user-master/data/user.sqlite differ diff --git a/www/protected/modules/yii-user-master/messages/de/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/de/UWrelBelongsTo.php new file mode 100644 index 0000000..4ec5f7f --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/de/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Modellbezeichnung', + 'Lable field name'=>'Lable Feldnamen', + 'Empty item name'=>'Empty Artikelnamen', + 'Profile model relation name'=>'Profil Modell Verhältnis Namen', +); diff --git a/www/protected/modules/yii-user-master/messages/de/user.php b/www/protected/modules/yii-user-master/messages/de/user.php new file mode 100644 index 0000000..959865e --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/de/user.php @@ -0,0 +1,127 @@ + 'Registrierung', + 'Register' => 'Registrieren', + 'Login' => 'Login', + 'Logout' => 'Logout', + 'username' => 'Benutzername', + 'username or email' => 'Benutzername oder E-Mail', + 'password' => 'Passwort', + 'Remember me next time' => 'Das nächste Mal an mich erinnern', + 'Username is incorrect.' => 'Benutzername ist falsch.', + 'Email is incorrect.' => 'E-Mail ist nicht korrekt.', + 'This user\'s name already exists.' => 'Der Benutzer Name existiert bereits.', + 'This user\'s email address already exists.' => 'Der Benutzer E-Mail-Adresse existiert bereits.', + 'You registered from {site_name}' => 'Du musst registiert aus {site_name}', + 'Please activate you account go to {activation_url}' => 'Bitte aktivieren Sie Konto gehen {activation_url}', + 'You account is not activated.' => 'Ihr Konto wurde nicht aktiviert.', + 'You account is blocked.' => 'Ihr Konto wurde blockiert.', + 'Password is incorrect.' => 'Passwort ist falsch.', + 'E-mail' => 'E-mail', + 'Verification Code' => 'Verification Code', + 'Retype Password' => 'Passwort wiederholen', + 'Retype Password is incorrect.' => 'Wiederholtes Passwort ist falsch.', + 'Incorrect password (minimal length 4 symbols).' => 'Falsches Passwort (minimale Länge 4 Zeichen).', + 'Incorrect username (length between 3 and 20 characters).' => 'Falscher Benutzername (Länge zwischen 3 und 20 Zeichen).', + 'Incorrect symbol\'s. (A-z0-9)' => 'Im Benutzernamen sind nur Buchstaben und Zahlen erlaubt.', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Variable Name kann von az bestehen, 0-9, Unterstriche, mit einem Buchstaben beginnen.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Länge des ' + n + ' muss zwischen '+min+' und '+max+'.", + 'Please enter the letters as they are shown in the image above.' => 'Bitte geben Sie die, oben im Bild angezeigten, Buchstaben ein.', + 'Letters are not case-sensitive.' => 'Zwischen Groß-und Kleinschreibung wird nicht unterschieden.', + 'Minimal password length 4 symbols.' => 'Minimale Länge des Passworts 4 Zeichen.', + 'Lost Password?' => 'Passwort vergessen?', + 'Profile' => 'Profil', + 'activation key' => 'Aktivierungsschlüssel', + 'User activation' => 'User-Aktivierung', + 'You account is active.' => 'Ihr Konto ist aktiv.', + 'You account is activated.' => 'Ihr Konto wurde aktiviert.', + 'Incorrect activation URL.' => 'Falsche Aktivierungs URL.', + 'Registration date' => 'Anmeldedatum', + 'Last visit' => 'Letzter Besuch', + 'Superuser' => 'Superuser', + 'Status' => 'Status', + 'Ok' => 'Ok', + 'Show all'=> 'Alle anzeigen', + 'Save' => 'Sichern', + 'Cancel'=> 'Stornieren', + 'New password is saved.' => 'Neues Passwort wird gespeichert.', + 'Change password' => 'Passwort ändern', + 'Your profile' => 'Ihr Profil', + 'Thank you for your registration. Please check your email or login.' => 'Vielen Dank für Ihre Anmeldung. Bitte überprüfen Sie Ihre E-Mails oder loggen Sie sich ein.', + 'Thank you for your registration. Please check your email.' => 'Vielen Dank für Ihre Anmeldung. Bitte überprüfen Sie Ihre E-Mails.', + 'Please check your email. An instructions was sent to your email address.' => 'Bitte überprüfen Sie Ihre E-Mails. Eine Anleitung wurde an Ihre E-Mail-Adresse geschickt.', + 'Thank you for your registration. Please {{login}}.' => 'Vielen Dank für Ihre Anmeldung. Bitte Login {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Vielen Dank für Ihre Anmeldung. Kontakt Admin Ihr Konto zu aktivieren.', + 'Restore' => 'Wiederherstellen', + 'Please enter your login or email addres.' => 'Bitte geben Sie Ihren Benutzernamen oder E-Mail-Adresse ein.', + 'Incorrect recovery link.' => 'Recovery link ist falsch.', + 'Already exists.' => 'Existiert bereits.', + 'First Name' => 'Vorname', + 'Last Name' => 'Nachname', + 'No' => 'Nein', + 'Yes' => 'Ja', + 'Yes and show on registration form' => 'Ja, und zeigen auf Anmeldeformular', + 'No, but show on registration form' => 'Nein, aber zeige auf Anmeldeformular', + 'Not active' => 'Nicht aktiv', + 'Active' => 'Aktiv', + 'Banned' => 'Verbannt', + 'Please fill out the following form with your login credentials:' => 'Bitte Ihren Login-Daten eingeben:', + 'Fields with * are required.' => 'Felder mit * sind erforderlich.', + 'List User' => 'Benutzer auflisten', + 'Edit' => 'Bearbeiten', + 'Edit profile' => 'Meine Daten bearbeiten', + 'Create User' => 'Benutzer anlegen', + 'Create' => 'Schaffen', + 'Manage' => 'Verwalten', + 'Manage Users' => 'Benutzer verwalten', + 'Users' => 'Benutzer', + 'Update User' => 'Benutzer bearbeiten', + 'Delete User' => 'Benutzer löschen', + 'Delete file' => 'Datei löschen', + 'View User' => 'Benutzer anzeigen', + 'Are you sure to delete this item?' => 'Sind Sie sicher, dass Sie dieses Element wirklich löschen wollen? ', + 'Changes is saved.' => 'Änderungen wurde gespeichert.', + 'Manage Profile Field' => 'Mange Profil Field', + 'Variable name' => 'Variablen name', + 'Title' => 'Titel', + 'Field Type' => 'Feldtyp', + 'Field Size' => 'Feldgröße', + 'Field Size min' => 'min Feldgröße', + 'Required' => 'Benötigt', + 'Match' => 'Treffer', + 'Range' => 'Bereich', + 'Error Message' => 'Fehlermeldung', + 'Other Validator' => 'Andere Validatoren', + 'JSON string (example: {example}).' => 'JSON string (beispiel: {example}).', + 'Default' => 'Default', + 'Position' => 'Position', + 'Visible' => 'Sichtbar', + 'Registered users' => 'Registrierte Benutzer', + 'For all' => 'Für alle', + 'Only owner' => 'Nur Besitzer', + 'Hidden' => 'Verstecken', + 'Profile Fields' => 'Profil Fields', + 'View Profile Field #' => 'Profil anzeigen Field #', + 'Manage Profile Fields' => 'Manage Profile Fields', + 'Create Profile Field' => 'Profil erstellen Field', + 'List Profile Field' => 'Liste Profile Field', + 'View Profile Field' => 'Profil anzeigen Field', + 'Delete Profile Field' => 'Profil löschen Field', + 'Update Profile Field' => 'Update Field anzeigen', + 'Widget'=>'Widget', + 'Widget parametrs'=>'Widget parametrs', + 'Widget name.'=>'Widget name.', + 'Allowed lowercase letters and digits.' => 'Erlaubt Kleinbuchstaben und Ziffern.', + 'Field name on the language of "sourceLanguage".' => 'Feldname auf die Sprache der "SourceLanguage".', + 'Field type column in the database.' => 'Field type-Spalte in der Datenbank.', + 'Field size column in the database.' => 'Feldgröße Spalte in der Datenbank.', + 'The minimum value of the field (form validator).' => 'Der minimale Wert des Feldes (Form Validator).', + 'Required field (form validator).' => 'Pflichtfeld (Form Validator).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Regulärer Ausdruck (beispiel: '/^[A-Za-z0-9\s,]+$/u').", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Vordefinierte Werte (beispiel: 1;2;3;4;5 oder 1==One;2==Two;3==Three;4==Four;5==Five).', + 'Error message when you validate the form.' => 'Fehlermeldung: wenn Sie das Formular zu validieren.', + 'The value of the default field (database).' => 'Der Wert des Standard-Bereich (Datenbank).', + 'Display order of fields.' => 'Anzeige Reihenfolge der Felder.', + 'Not visited' => 'Nicht besucht', +); diff --git a/www/protected/modules/yii-user-master/messages/el/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/el/UWrelBelongsTo.php new file mode 100644 index 0000000..062938d --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/el/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Ονομασία Μοντέλου', + 'Lable field name'=>'Όνομα πεδίου ετικέτας', + 'Empty item name'=>'Όνομα κενού αντικειμένου', + 'Profile model relation name'=>'Όνομα σχέσης του Προφίλ Μοντέλου.', +); diff --git a/www/protected/modules/yii-user-master/messages/el/user.php b/www/protected/modules/yii-user-master/messages/el/user.php new file mode 100644 index 0000000..513f430 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/el/user.php @@ -0,0 +1,134 @@ + 'Εγγραφή', + 'Register' => 'Εγγραφή', + 'Login' => 'Είσοδος', + 'Logout' => 'Έξοδος', + 'username' => 'Όνομα χρήστη', + 'username or email' => 'Όνομα χρήστη ή email', + 'password' => 'Συνθηματικό', + 'Remember me next time' => 'Θυμήσου με την επόμενη φορά.', + 'Username is incorrect.' => 'Το όνομα χρήστη είναι λάθος.', + 'Email is incorrect.' => 'Το email είναι λάθος.', + 'This user\'s name already exists.' => 'Αυτό το όνομα χρήστη υπάρχει ήδη.', + 'This user\'s email address already exists.' => 'Αυτό το email χρήστη υπάρχει ήδη.', + 'You registered from {site_name}' => 'Εχετε εγγραφεί στο {site_name}', + 'Please activate you account go to {activation_url}' => 'Παρακαλούμε ενεργοποιήστε το λογαριασμό σας κάνοντας κλικ σ\'αυτόν τον σύνδεσμο: {activation_url}', + 'You account is not activated.' => 'Ο λογαριασμός σας δεν είναι ενεργοποιημένος.', + 'You account is blocked.' =>'Ο λογαριασμός σας είναι φραγμένος.', + 'Password is incorrect.' => 'Λάθος συνθηματικό.', + 'E-mail' => 'email', + 'Verification Code' => 'Κώδικας επαλήθευσης.', + 'Retype Password' => 'Πληκτρολογήστε ξανά το συνθηματικό', + 'Retype Password is incorrect.' => 'Πληκτρολογήσατε λάθος την επαλήθευση του συνθηματικού.', + 'Incorrect password (minimal length 4 symbols).' => 'Μη αποδεκτό συνθηματικό (τουλάχιστον 4 χαρακτήρες).', + 'Incorrect username (length between 3 and 20 characters).' => 'Μη αποδεκτό όνομα χρήστη (από 3 έως 20 χαρακτήρες).', + 'Incorrect First Name (length between 3 and 50 characters).' => 'Μη αποδεκτό όνομα χρήστη (από 3 έως 20 χαρακτήρες).', + 'Incorrect symbol\'s. (A-z0-9)' => 'Λάθος σύμβολα.(A-z0-9)', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Το όνομα της μεταβλητής μπορεί να αποτελείται από τους χαρακτήρες a-z,0-9,κάτω παύλα.Πρέπει ν\'αρχίζει με γράμμα.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Το μήκος του ' + n + ' πρέπει να είναι από '+min+' έως '+max+'.", + 'Please enter the letters as they are shown in the image above.' => 'Παρακαλούμε πληκτρολογείστε τα γράμματα της παραπάνω εικόνας.', + 'Letters are not case-sensitive.' => 'Τα γράμματα μπορούν να είναι κεφαλαία και μικρά.', + 'Minimal password length 4 symbols.' => 'Μήκος συνθηματικού τουλάχιστον 4 χαρακτήρες.', + 'Lost Password?' => 'Έχετε ξεχάσει το συνθηματικό;', + 'Profile' => 'Προφίλ', + 'activation key' => 'Κλειδί ενεργοποίησης', + 'User activation' => 'Ενεργοποίηση χρήστη', + 'You account is active.' => 'Ο λογαριασμός σας είναι ενεργός.', + 'You account is activated.' => 'Ο λογαριασμός σας έχει ενεργοποιηθεί', + 'Incorrect activation URL.' => 'Λάθος URL ενεργοποίησης.', + 'Registration date' => 'Ημερομηνία εγγραφής', + 'Last visit' => 'Τελευταία επίσκεψη', + 'Superuser' => 'Υπερχρήστης', + 'Status' => 'Κατάσταση', + 'Ok' => 'Εντάξει', + 'Show all'=> 'Όλα', + 'Save' => 'Αποθήκευση', + 'Cancel'=> 'Άκυρο', + 'New password is saved.' => 'Το νέο συνθηματικό έχει αποθηκευτεί.', + 'Change password' => 'Αλλαγή συνθηματικού', + 'Your profile' => 'Το προφίλ σας.', + 'Thank you for your registration. Please check your email or login.' => 'Ευχαριστούμε για την εγγραφή σας.Παρακαλούμε δείτε το ηλεκτρονικό σας ταχυδρομείο ή συνδεθείτε.', + 'Thank you for your registration. Please check your email.' => 'Ευχαριστούμε για την εγγραφή σας.Παρακαλούμε δείτε το ηλεκτρονικό σας ταχυδρομείο.', + 'Please check your email. An instructions was sent to your email address.' => 'Παρακαλούμε δείτε το ηλεκτρονικό σας ταχυδρομείο,έχουν σταλεί οδηγίες.', + 'Thank you for your registration. Please {{login}}.' => 'Ευχαριστούμε για την εγγραφή σας.Παρακαλούμε συνδεθείτε {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Ευχαριστούμε για την εγγραφή σας.Επικοινωνείστε με τον Διαχειριστή για να ενεργοποιήσει το λογαριασμό σας.', + 'Restore' => 'Επανάκτηση', + 'Please enter your login or email addres.' => 'Παρακαλούμε εισάγετε το όνομα χρήστη ή το email σας.', + 'Incorrect recovery link.' => 'Λάθος σύνδεσμος επανάκτησης συνθηματικού.', + 'Already exists.' => 'Υπάρχει ήδη.', + 'First Name' => 'Όνομα', + 'Last Name' => 'Επώνυμο', + 'No' => 'Όχι', + 'Yes' => 'Ναι', + 'Yes and show on registration form' => 'Ναι και να εμφανίζεται στη φόρμα εγγραφής', + 'No, but show on registration form' => 'Όχι,αλλά να εμφανίζεται στη φόρμα εγγραφής.', + 'Not active' => 'Ανενεργός', + 'Active' => 'Ενεργός', + 'Banned' => 'Φραγμένος', + 'Please fill out the following form with your login credentials:' => 'Παρακαλούμε πληκτρολογείστε τα στοιχεία της σύνδεσής σας.', + 'Fields with * are required.' => 'Πεδία με * απαιτούνται.', + 'List User' => 'Λίστα χρηστών', + 'List Users' => 'Λίστα χρηστών', + 'Edit' => 'Αλλαγή', + 'Edit profile' => 'Αλλαγές στο προφίλ', + 'Create User' => 'Δημιουργία χρήστη', + 'Create' => 'Δημιουργία', + 'Manage' => 'Διαχείριση', + 'Manage User' => 'Διαχείριση Χρήστη', + 'Manage Users' => 'Διαχείριση Χρηστών', + 'Users' => 'Χρήστες', + 'Update User' => 'Ανανέωση Χρήστη', + 'Update' => 'Ανανέωση', + 'Delete User' => 'Διαγραφή Χρήστη', + 'Delete file' => 'Διαγαραφή αρχείου', + 'View User' => 'Εμφάνιση Χρήστη', + 'Are you sure to delete this item?' => 'Σίγουρα θέλετε να διαγράψετε αυτό το αντικείμενο;', + 'Changes is saved.' => 'Οι αλλαγές αποθηκεύτηκαν', + 'Manage Profile Field' => 'Διαχείρηση Πεδίων Προφίλ', + 'Variable name' => 'Όνομα μεταβλητής', + 'Title' => 'Τίτλος', + 'Field Type' => 'Τύπος πεδίου', + 'Field Size' => 'Μήκος πεδίου', + 'Field Size min' => 'Ελάχιστο μήκος πεδίου', + 'Required' => 'Απαιτείται', + 'Match' => 'Ταιριάζει με αυτή τη πρότυπη μορφή (Regular Expression)', + 'Range' => 'Εμβέλεια', + 'Error Message' => 'Μύνημα λάθους', + 'Other Validator' => 'Άλλος Επαληθευτής', + 'JSON string (example: {example}).' => 'JSON κείμενο (Παράδειγμα: {example}).', + 'Default' => 'Εξ\'ορισμού', + 'Position' => 'Θέση', + 'Visible' => 'Εμφανίζεται', + 'Registered users' => 'Εγγεγραμμένοι χρήστες', + 'For all' => 'Για όλους', + 'Only owner' => 'Μόνο ο ιδιοκτήτης', + 'Hidden' => 'Απόκρυψη', + 'Profile Fields' => 'Πεδία Προφίλ', + 'View Profile Field #' => 'Εμφάνιση πεδίου προφίλ #', + 'Manage Profile Fields' => 'Διαχείριση Πεδίων Προφίλ ', + 'Create Profile Field' => 'Δημιουργία Πεδίου Προφίλ', + 'Create Profile Fields' => 'Δημιουργία Πεδίου Προφίλ', + 'List Profile Field' => 'Λίστα Πεδίων Προφίλ', + 'View Profile Field' => 'Εμφάνιση Πεδίου Προφίλ', + 'Delete Profile Field' => 'Διαγραφή Πεδίου Προφίλ', + 'Update Profile Field' => 'Ανανέωση Πεδίου Προφίλ', + 'My profile'=>'Το προφίλ μου', + 'Widget'=>'Widget', + 'Widget parametrs'=>'Παράμετροι Widget ', + 'Widget name.'=>'Όνομα Widget', + 'Allowed lowercase letters and digits.' => 'Επιτρέπονται μικρά γράμματα και ψηφία.', + 'Field name on the language of "sourceLanguage".' => 'Όνομα πεδίου στη Πηγαία Γλώσσα (συνήθως Αγγλικά).', + 'Field type column in the database.' => 'Τύπος πεδίου στη στήλη της βάσης δεδομένων.', + 'Field size column in the database.' => 'Μήκος πεδίου στη στήλη της βάσης δεδομένων.', + 'The minimum value of the field (form validator).' => 'Το ελάχιστο μήκος του πεδίου (Επαληθευτής Φόρμας).', + 'Required field (form validator).' => 'Απαιτούμενο πεδίο (Επαληθευτής Φόρμας).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Regular expression (Παράδειγμα: '/^[A-Za-z0-9\s,]+$/u').", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Προκαθορισμένες Τιμές (παράδειγμα: 1;2;3;4;5 ή 1==Ένα;2==Δύο;3==Τρία;4==Τέσσερα;5==Πέντε).', + 'Error message when you validate the form.' => 'Μύνημα λάθους κατά την επαλήθευση της φόρμας.', + 'The value of the default field (database).' => 'Η τιμή του εξ\'ορισμού πεδίου (βάση δεδομένων).', + 'Display order of fields.' => 'Σειρά εμφάνισης των πεδίων.', + 'Not visited' => 'Δεν έχει επισκεφθεί', + 'Birthday'=>'Ημερομηνία Γέννησης' +); diff --git a/www/protected/modules/yii-user-master/messages/es/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/es/UWrelBelongsTo.php new file mode 100644 index 0000000..34c4853 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/es/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Nombre del modelo', + 'Lable field name'=>'Nombre del campo lable', + 'Empty item name'=>'Vider nom de l\'article', + 'Profile model relation name'=>'Modelo de perfil respecto nombre', +); diff --git a/www/protected/modules/yii-user-master/messages/es/user.php b/www/protected/modules/yii-user-master/messages/es/user.php new file mode 100644 index 0000000..322415e --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/es/user.php @@ -0,0 +1,129 @@ + + */ +return array( + 'Registration' => 'Registro', + 'Register' => 'Registrar', + 'Login' => 'Inicio de Sesión', + 'Logout' => 'Cerrar sesión', + 'username' => "Nombre de Usuario", + 'username or email' => "Nombre de Usuario o Email", + 'password' => 'Contraseña', + 'Remember me next time' => 'Recordarme más tarde', + 'Username is incorrect.' => "El nombre de usuario es incorrecto.", + 'Email is incorrect.' => 'El E-mail es incorrecto.', + 'This user\'s name already exists.' => 'Este nombre de usuario ya existe.', + 'This user\'s email address already exists.' => 'El dirección de email ya existe.', + 'You registered from {site_name}' => 'Se registró a partir {site_name}', + 'Please activate you account go to {activation_url}' => 'Por favor, active su cuenta ir al enlace {activation_url}', + 'You account is not activated.' => "Su cuenta no está activada.", + 'You account is blocked.' => 'Su cuenta está bloqueada.', + 'Password is incorrect.' => 'La contraseña es incorrecta.', + 'E-mail' => 'Correo electrónico', + 'Verification Code' => 'Código de verificación', + 'Retype Password' => 'Redigite la contraseña', + 'Retype Password is incorrect.' => 'La redigitación de la contraseña es incorrecta.', + 'Incorrect password (minimal length 4 symbols).' => 'Contraseña incorrecta (mínimo 4 caracteres).', + 'Incorrect username (length between 3 and 20 characters).' => "Nombre de usuario incorrecto (entre 4 y 20 caracteres).", + 'Incorrect symbol\'s. (A-z0-9)' => 'Caracteres incorrectos. (A-z0-9)', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Nombre de la variable puede consistir en az, 0-9, guión, comenzar con una letra.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Longitud de ' + n + ' debe estar entre '+min+' y '+max+'.", + 'Please enter the letters as they are shown in the image above.' => "Por favor digite las letras como se muestra en la imagen.", + 'Letters are not case-sensitive.' => 'Las letras no diferencian mayúsculas de minúsculas.', + 'Minimal password length 4 symbols.' => 'La contraseña debe ser de mínimo cuatro caracteres.', + 'Lost Password?' => '¿Olvidó su contraseña?', + 'Profile' => 'Perfil', + 'activation key' => "Clave de activación", + 'User activation' => "Activación de usuario", + 'You account is active.' => 'Su cuenta está activa.', + 'You account is activated.' => 'Su cuenta está activada.', + 'Incorrect activation URL.' => 'La URL de activación es incorrecta.', + 'Registration date' => "Fecha de registro", + 'Last visit' => 'Última visita', + 'Superuser' => 'Superusuario', + 'Status' => 'Estado', + 'Ok' => "Aceptar", + 'Show all'=> 'Mostrar todas las', + 'Save' => 'Guardar', + 'Cancel'=> 'Cancelar', + 'New password is saved.' => 'La nueva contraseña ha sido guardada.', + 'Change password' => 'Cambiar la contraseña', + 'Your profile' => 'Su perfil', + 'Thank you for your registration. Please check your email or login.' => "Gracias por registrarse. Por favor revise su email o nombre de usuario.", + 'Thank you for your registration. Please check your email.' => "Gracias por registrarse. Por favor revise su email.", + 'Please check your email. An instructions was sent to your email address.' => "Por favor verifique su email. Una instrucción fue enviada a su dirección de email.", + 'Thank you for your registration. Please {{login}}.' => 'Thank you for your registration.Por favor, {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Gracias por su registro. Contactar con el Administrador para activar tu cuenta.', + 'Restore' => 'Restaurar', + 'Please enter your login or email addres.' => "Por favor digite su nombre de usuario o dirección de email.", + 'Incorrect recovery link.' => 'Vínculo de recuperación incorrecto.', + 'Already exists.' => 'Ya existe.', + 'First Name' => 'Nombres', + 'Last Name' => 'Apellidos', + 'No' => 'No', + 'Yes' => 'Sí', + 'Yes and show on registration form' => 'Sí y se muestra en el formulario de registro', + 'No, but show on registration form' => 'No, pero mostrado en el formulario de registro', + 'Not active' => 'Inactivo', + 'Active' => 'Activo', + 'Banned' => 'Banned', + 'Please fill out the following form with your login credentials:' => "Por favor llene el siguiente formulario con sus datos de inicio de sesión:", + 'Fields with * are required.' => 'Los campos con * son obligatorios.', + 'List User' => 'Listar Usuarios', + 'Edit' => 'Editar', + 'Edit profile' => 'Editar perfil', + 'Create User' => 'Crear Nuevo Usuario', + 'Create' => 'Crear nuevo', + 'Manage' => 'Administrar', + 'Manage Users' => 'Administrar Usuarios', + 'Users' => 'Usuarios', + 'Update User' => 'Editar Usuario', + 'Delete User' => 'Eliminar Usuario', + 'Delete file' => 'Eliminar archivo', + 'View User' => 'Ver Usuario', + 'Are you sure to delete this item?' => '¿Está seguro de que desea eliminar este elemento?', + 'Changes is saved.' => 'Los cambios han sido guardados.', + 'Manage Profile Field' => 'Administrar Campos de Perfil', + 'Variable name' => 'Nombre de la variable', + 'Title' => 'Título', + 'Field Type' => 'Tipo de Campo', + 'Field Size' => 'Tamaño de campo', + 'Field Size min' => 'Tamaño mínimo del campo', + 'Required' => 'Requerido', + 'Match' => 'Coincidir (Match)', + 'Range' => 'Rango', + 'Error Message' => "Mensaje de error", + 'Other Validator' => 'Otra validación', + 'JSON string (example: {example}).' => 'JSON cadena (ejemplo: {example}).', + 'Default' => 'Por defecto', + 'Position' => 'Posición', + 'Visible' => 'Visible', + 'Registered users' => 'Usuarios registrados', + 'For all' => 'Para todos', + 'Only owner' => 'Solo propietario', + 'Hidden' => 'Oculto', + 'Profile Fields' => 'El perfil de Campos', + 'View Profile Field #' => 'Ver Campo de Perfil #', + 'Manage Profile Fields' => 'Administrar Campos de Perfil', + 'Create Profile Field' => 'Crear nuevo Campo de Perfil', + 'View Profile Field' => 'Ver Campo de Perfil', + 'Delete Profile Field' => 'Eliminar Campo de Perfil', + 'Update Profile Field' => 'Editar Campo de Perfil', + 'Widget'=>'Widget', + 'Widget parametrs' => 'Widget parametrs', + 'Widget name.' => 'Nombre del widget.', + 'Allowed lowercase letters and digits.' => 'Se permiten letras en minúsculas y dígitos', + 'Field name on the language of "sourceLanguage".' => 'El nombre del campo en el idioma origen (sourceLanguage).', + 'Field type column in the database.' => 'El tipo de dato de la columna en la base de datos.', + 'Field size column in the database.' => 'Tamaño del campo de la columna de la base de datos', + 'The minimum value of the field (form validator).' => 'El valor mínimo del valor del campo (validador del formulario)', + 'Required field (form validator).' => 'Campo requerido (validador de formulario)', + 'Regular expression (example: \'/^[A-Za-z0-9\s,]+$/u\').' => 'Expresión regular (ejemplo: \'/^[A-Za-z0-9\s,]+$/u\').', + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Valores predefinidos (ejemplo: 1;2;3;4;5 o 1==Uno;2==Dos;3==Tres;4==Cuatro;5==Cinco).', + 'Error message when you validate the form.' => 'Mensaje de error cuando se valida el formulario.', + 'The value of the default field (database).' => 'El valor por defecto del campo (base de datos)', + 'Display order of fields.' => 'Mostrar orden de los campos', + 'Not visited' => 'No visitó', + +); diff --git a/www/protected/modules/yii-user-master/messages/fr/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/fr/UWrelBelongsTo.php new file mode 100644 index 0000000..96a8c25 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/fr/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Nom du modèle', + 'Lable field name'=>'Nom du champ Lable', + 'Empty item name'=>'Vider nom de l\'article', + 'Profile model relation name'=>'Nom du profil modèle des relations', +); diff --git a/www/protected/modules/yii-user-master/messages/fr/user.php b/www/protected/modules/yii-user-master/messages/fr/user.php new file mode 100644 index 0000000..1a12801 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/fr/user.php @@ -0,0 +1,130 @@ + 'Inscription', + 'Register' => "S'inscrire", + 'Login' => 'Connexion', + 'Logout' => 'Déconnexion', + 'username' => "Nom d'utilisateur", + 'username or email' => "Nom d'utilisateur ou e-mail", + 'password' => 'Mot de passe', + 'Remember me next time' => 'Se souvenir de moi', + 'Username is incorrect.' => "Nom d'utilisateur est incorrect.", + 'Email is incorrect.' => 'E-mail est incorrect.', + 'This user\'s name already exists.' => 'Le nom de cet utilisateur existe déjà.', + 'This user\'s email address already exists.' => 'Adresse e-mail de cet utilisateur existe déjà.', + 'You registered from {site_name}' => 'Vous vous êtes inscrit sur le site {site_name}', + 'Please activate you account go to {activation_url}' => "Pour activer votre compte s'il vous plaît cliquer sur le lien suivant {activation_url}", + 'You account is not activated.' => "Votre compte n'est pas activé.", + 'You account is blocked.' => 'Votre compte est bloqué.', + 'Password is incorrect.' => 'Mot de passe est incorrect.', + 'E-mail' => 'E-mail', + 'Verification Code' => 'Code de vérification', + 'Old Password' => 'Ancien mot de passe', + 'Old Password is incorrect.' => 'Ancien mot de passe est incorrect.', + 'Retype Password' => 'Retaper mot de passe', + 'Retype Password is incorrect.' => 'Retaper mot de passe est incorrect.', + 'Incorrect password (minimal length 4 symbols).' => 'Mot de passe incorrect (longueur minimale 4 symboles).', + 'Incorrect username (length between 3 and 20 characters).' => "Nom d'utilisateur incorrect (longueur entre 3 et 20 caractères).", + 'Incorrect symbol\'s. (A-z0-9)' => 'Incorrect symbole. (A-z0-9)', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Nom de la variable peut être composé de az, 0-9, souligne, commencer par une lettre.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Durée de ' + n + ' doit être compris entre '+min+' et '+max+'.", + 'Please enter the letters as they are shown in the image above.' => "S'il vous plaît entrez les lettres telles qu'elles figurent dans l'image ci-dessus.", + 'Letters are not case-sensitive.' => 'Lettres ne sont pas sensibles à la casse.', + 'Minimal password length 4 symbols.' => 'Mot de passe de longueur minimale 4 symboles.', + 'Lost Password?' => 'Mot de passe oublié?', + 'Profile' => 'Profil', + 'activation key' => "clé d'activation", + 'User activation' => "Utilisateur d'activation", + 'You account is active.' => 'Votre compte est actif.', + 'You account is activated.' => 'Votre compte est activé.', + 'Incorrect activation URL.' => 'Activation URL incorrecte.', + 'Registration date' => "Date d'enregistrement", + 'Last visit' => 'Dernière visite', + 'Superuser' => 'Superuser', + 'Status' => 'Statut', + 'Ok' => "D'accord", + 'Show all'=> 'Afficher tous', + 'Save' => 'Sauver', + 'Cancel'=> 'Annuler', + 'New password is saved.' => 'Nouveau mot de passe est enregistré.', + 'Change password' => 'Changer mot de passe', + 'Your profile' => 'Votre profil', + 'Thank you for your registration. Please check your email or login.' => "Nous vous remercions de votre inscription. S'il vous plaît vérifier votre e-mail ou login.", + 'Thank you for your registration. Please check your email.' => "Nous vous remercions de votre inscription. S'il vous plaît vérifier votre email.", + 'Please check your email. An instructions was sent to your email address.' => "S'il vous plaît vérifier votre email. Une instruction a été envoyée à votre adresse e-mail.", + 'Thank you for your registration. Please {{login}}.' => 'Nous vous remercions de votre inscription. S\'il vous plaît {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Nous vous remercions de votre inscription. Contact Admin pour activer votre compte.', + 'Restore' => 'Restaurer', + 'Please enter your login or email addres.' => "S'il vous plaît entrer votre login ou votre adresse e-mail.", + 'Incorrect recovery link.' => 'Récupération lien incorrect.', + 'Already exists.' => 'Existe déjà.', + 'First Name' => 'Prénom', + 'Last Name' => 'Nom', + 'No' => 'Aucun', + 'Yes' => 'Oui', + 'Yes and show on registration form' => 'Oui et voir sur le formulaire d\'inscription', + 'No, but show on registration form' => 'Non, mais montrer sur le formulaire d\'inscription', + 'Not active' => 'Inactif', + 'Active' => 'Actif', + 'Banned' => 'Banni', + 'Please fill out the following form with your login credentials:' => "S'il vous plaît remplir le formulaire suivant avec vos identifiants de connexion:", + 'Fields with * are required.' => 'Les champs avec * sont obligatoires.', + 'List User' => 'Liste des membres', + 'Edit' => 'Éditer', + 'Edit profile' => 'Modifier le profil', + 'Create User' => 'Créer un utilisateur', + 'Create' => 'Créer', + 'Manage' => 'Gérer', + 'Manage Users' => 'Gérer les utilisateurs', + 'Users' => 'Utilisateurs', + 'Update User' => 'Mise à jour User', + 'Delete User' => 'Supprimer l\'utilisateur', + 'Delete file' => 'Supprimer le fichier', + 'View User' => 'Voir utilisateur', + 'Are you sure to delete this item?' => 'Etes-vous sûr de vouloir supprimer cet élément?', + 'Changes is saved.' => 'Changes est sauvé.', + 'Mange Profile Field' => 'Gerer les champs de profil', + 'Variable name' => 'Nom de la variable', + 'Title' => 'Titre', + 'Field Type' => 'Type de champ', + 'Field Size' => 'Taille du champ', + 'Field Size min' => 'Field Size min', // TODO: translate + 'Required' => 'Requis', + 'Match' => 'Match', + 'Range' => 'Gamme', + 'Error Message' => "Message d'erreur", + 'Other Validator' => 'Autres Validation', + 'JSON string (example: {example}).' => 'Chaîne JSON (exemple: {example}).', + 'Default' => 'Par défaut', + 'Position' => 'Position', + 'Visible' => 'Visible', + 'Registered users' => 'Les utilisateurs enregistrés', + 'For all' => 'Pour tous les', + 'Only owner' => 'Seulement pour le propriétaire', + 'Hidden' => 'Caché', + 'Profile Fields' => 'Champs de profil', + 'View Profile Field #' => 'Champ Voir le profil #', + 'Manage Profile Fields' => 'Gérer les champs du profil', + 'Manage Profile Field' => 'Gérer les champs du profil', + 'Create Profile Field' => 'Créer un champ de profil', + 'List Profile Field' => 'Champ profil Liste', + 'View Profile Field' => 'Voir le profil de terrain', + 'Delete Profile Field' => 'Supprimer le champ profil', + 'Update Profile Field' => 'Mise à jour le profil de terrain', + 'Widget'=>'Widget', + 'Widget parametrs'=>'Widget parametrs', + 'Widget name.'=>'Nom de Widget.', + 'Allowed lowercase letters and digits.' => 'Admis minuscules et des chiffres.', + 'Field name on the language of "sourceLanguage".' => 'Nom du champ sur la langue de "sourceLanguage".', + 'Field type column in the database.' => 'Colonne de type de champ dans la base de données.', + 'Field size column in the database.' => 'Colonne de taille du champ dans la base de données.', + 'The minimum value of the field (form validator).' => 'La valeur minimale du champ (validateur formulaire).', + 'Required field (form validator).' => 'Ce champ est obligatoire (sous forme de validation).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Expression régulière (par exemple: '/^[A-Za-z0-9\s,]+$/u').", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Valeurs prédéfinies (par exemple: 1;2;3;4;5 ou 1==One;2==Deux;3==Trois;4==Quatre;5==Cinq).', + 'Error message when you validate the form.' => 'Message d\'erreur lorsque vous validez le formulaire.', + 'The value of the default field (database).' => 'La valeur du champ par défaut (base de données).', + 'Display order of fields.' => 'Ordre d\'affichage des champs.', + 'Not visited' => 'Non visité', +); diff --git a/www/protected/modules/yii-user-master/messages/hu/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/hu/UWrelBelongsTo.php new file mode 100644 index 0000000..2d3d41e --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/hu/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Model Név', + 'Lable field name'=>'Elnevezés mező név', + 'Empty item name'=>'Üres elem név', + 'Profile model relation name'=>'Profil model reláció név', +); diff --git a/www/protected/modules/yii-user-master/messages/hu/user.php b/www/protected/modules/yii-user-master/messages/hu/user.php new file mode 100644 index 0000000..031c4ec --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/hu/user.php @@ -0,0 +1,126 @@ + 'Regisztráció', + 'Register' => 'Regisztráció', + 'Login' => 'Bejelentkezés', + 'Logout' => 'Kijelentkezés', + 'username' => 'Felhasználónév', + 'username or email' => 'Felhasználónév vagy e-mail', + 'password' => 'Jelszó', + 'Remember me next time' => 'Emlékezzen rám legközelebb', + 'Username is incorrect.' => 'Hibás felhasználónév.', + 'Email is incorrect.' => 'Hibás e-mail cím.', + 'This user\'s name already exists.' => 'A felhasználónév már foglalt.', + 'This user\'s email address already exists.' => 'Az e-mail cím már regisztrálva van.', + 'You registered from {site_name}' => 'A következő oldalról regisztráltál {site_name}', + 'Please activate you account go to {activation_url}' => 'Kérlek aktiváld hozzáférésedet a következő oldalon {activation_url}', + 'You account is not activated.' => 'Hozzáférésed inaktív.', + 'You account is blocked.' => 'Hozzáférésed felfüggesztve.', + 'Password is incorrect.' => 'Jelszó helytelen.', + 'E-mail' => 'e-mail', + 'Verification Code' => 'Ellenőrző kód', + 'Retype Password' => 'Jelszó újra', + 'Retype Password is incorrect.' => 'A két jelszó nem egyezik', + 'Incorrect password (minimal length 4 symbols).' => 'Helytelen jelszó (legalább 4 karakter).', + 'Incorrect username (length between 3 and 20 characters).' => 'Helytelen felhasználónév (minimum 3 és maximum 20 karakter).', + 'Incorrect symbol\'s. (A-z0-9)' => 'Érvénytelen karakterek (A-z0-9)', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'A változó név tartalmazhat: a-z, 0-9, alulvonást (_) és betűvel kezdődhet', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"' + n + ' hosszúságának '+min+' és '+max+' között kell lennie.", + 'Please enter the letters as they are shown in the image above.' => 'Kérlek add meg a fenti képen látható karaktereket.', + 'Letters are not case-sensitive.' => 'Kis és nagybetűk nincsenek megkülönböztetve.', + 'Minimal password length 4 symbols.' => 'A jelszónak legalább 4 karakterből kell állnia.', + 'Lost Password?' => 'Elfelejtett jelszó?', + 'Profile' => 'Profil', + 'activation key' => 'Aktiváló kulcs', + 'User activation' => 'Felhasználó aktiválás', + 'You account is active.' => 'A hozzáférésed aktív.', + 'You account is activated.' => 'A hozzáférésed aktíválva lett.', + 'Incorrect activation URL.' => 'Érvénytelen aktivációs link', + 'Registration date' => 'Regisztráció dátuma', + 'Last visit' => 'Utolsó látogatás', + 'Superuser' => 'Superuser', + 'Status' => 'Státusz', + 'Ok' => 'Ok', + 'Show all'=> 'Mindet mutat', + 'Save' => 'Mentés', + 'Cancel'=> 'Mégsem', + 'New password is saved.' => 'Új jelszó elmentve.', + 'Change password' => 'Jelszó változtatás', + 'Your profile' => 'Profilod', + 'Thank you for your registration. Please check your email or login.' => 'Köszönjük a regisztrációt. Kérlek ellenörizd az e-mail fiokod vagy jelentkezz be.', + 'Thank you for your registration. Please check your email.' => 'Köszönjük a regisztrációt. Kérlek ellenörizd az e-mailed.', + 'Please check your email. An instructions was sent to your email address.' => 'Kérlek ellenörizd az e-mail fiokod. Utasításokat elküldtük.', + 'Thank you for your registration. Please {{login}}.' => 'Köszönjük a regisztrációt. Kérlek {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Köszönjük a regisztrációt. Lépj kapcsolatba az Adminokkal hozzáférésed aktiválásáért.', + 'Restore' => 'Visszaállítás', + 'Please enter your login or email addres.' => 'Kérlek add meg a felhasználónevet vagy e-mail címet.', + 'Incorrect recovery link.' => 'Érvénytelen visszaállítási link', + 'Already exists.' => 'Már létezik.', + 'First Name' => 'Utónév', + 'Last Name' => 'Családi név', + 'No' => 'Nem', + 'Yes' => 'Igen', + 'Yes and show on registration form' => 'Igen, és mutassa regisztrációnál', + 'No, but show on registration form' => 'Nem, de mutassa regisztrációnál', + 'Not active' => 'Nem aktív', + 'Active' => 'Aktív', + 'Banned' => 'Kitiltva', + 'Please fill out the following form with your login credentials:' => 'Kérem adja meg bejelentkezési adatait:', + 'Fields with * are required.' => '*-al jelölt mezők kitöltése kötelező.', + 'List User' => 'Felhasználók listája', + 'Edit' => 'Szerkesztés', + 'Edit profile' => 'Profil szerkesztése', + 'Create User' => 'Új felhasználó', + 'Create' => 'Létrehoz', + 'Manage' => 'Kezelés', + 'Manage Users' => 'Felhasználó kezelés', + 'Users' => 'Felhasználók', + 'Update User' => 'Felhasználó módosítása', + 'Delete User' => 'Felhasználó törlés', + 'Delete file' => 'File törlés', + 'View User' => 'Felhasználó megtekintése', + 'Are you sure to delete this item?' => 'Biztosan törölni akarod ezt az elemet?', + 'Changes is saved.' => 'Változások mentve.', + 'Manage Profile Field' => 'Profil mezők kezelése', + 'Variable name' => 'Változó neve', + 'Title' => 'Cím', + 'Field Type' => 'Mező típus', + 'Field Size' => 'Mező mérete', + 'Field Size min' => 'Minimum méret', + 'Required' => 'Kötelező', + 'Match' => 'Találat', + 'Range' => 'Tartomány', + 'Error Message' => 'Hibaüzenet', + 'Other Validator' => 'Más ellenőrzés', + 'Default' => 'Alapértelmezett', + 'Position' => 'Pozicíó', + 'Visible' => 'Látható', + 'Registered users' => 'Regisztrált felhasználók', + 'For all' => 'Mindenkinek', + 'Only owner' => 'Csak tulajdonosnak', + 'Hidden' => 'Rejtett', + 'Profile Fields' => 'Profil mezők', + 'View Profile Field #' => 'Profil mező megtekintése #', + 'Manage Profile Fields' => 'Profil mezők kezelése', + 'Create Profile Field' => 'Profil mező létrehozása', + 'List Profile Field' => 'Profil mezők listázása', + 'View Profile Field' => 'Profil mező megtekintése', + 'Delete Profile Field' => 'Profil mező törlése', + 'Update Profile Field' => 'Profil mező módosítása', + 'Widget'=>'Widget', + 'Widget parametrs'=>'Widget paraméter', + 'Widget name.'=>'Widget név.', + 'Allowed lowercase letters and digits.' => 'Csak kisbetűk és számok használhatók.', + 'Field name on the language of "sourceLanguage".' => 'Mező név a "SourceLanguage" nyelvén.', + 'Field type column in the database.' => 'Mező típusa az adatbázisban.', + 'Field size column in the database.' => 'Mező mérete az adatbázisban.', + 'The minimum value of the field (form validator).' => 'A mező minimális értéke (Validátortól).', + 'Required field (form validator).' => 'Kötelező mező (Validátortól).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Reguláris kifejezés (például: '/^[A-Za-z0-9\s,]+$/u').", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Előre definiált értékek (például: 1;2;3;4;5 vagy 1==Egy;2==Kettő;3==Három;4==Négy;5==Öt).', + 'Error message when you validate the form.' => 'Hibaüzenet validációnál.', + 'The value of the default field (database).' => 'Az alapértelmezett mező értéke (Adatbázis).', + 'Display order of fields.' => 'Mezők sorrendjének megjelenítése.', + 'Not visited' => 'Nem látogatott', +); diff --git a/www/protected/modules/yii-user-master/messages/ja/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/ja/UWrelBelongsTo.php new file mode 100644 index 0000000..1c0d8f6 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/ja/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'モデル名', + 'Lable field name'=>'ラベル・フィールド名', + 'Empty item name'=>'空白アイテム名', + 'Profile model relation name'=>'プロフィール・モデル・リレーション名', +); diff --git a/www/protected/modules/yii-user-master/messages/ja/user.php b/www/protected/modules/yii-user-master/messages/ja/user.php new file mode 100644 index 0000000..13eb9f0 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/ja/user.php @@ -0,0 +1,128 @@ + 'ユーザー登録', + 'Register' => 'ユーザー登録', + 'Login' => 'ログイン', + 'Logout' => 'ログアウト', + 'username' => 'ユーザー名', + 'username or email' => 'ユーザー名 または E-Mail', + 'password' => 'パスワード', + 'Remember me next time' => '次回からは自動ログイン', + 'Username is incorrect.' => 'ユーザー名が正しくありません。', + 'Email is incorrect.' => 'E-Mail が正しくありません。', + 'This user\'s name already exists.' => 'このユーザー名は既に他のユーザーが使用しています。', + 'This user\'s email address already exists.' => 'この E-Mail アドレスは既に他のユーザーが使用しています。', + 'You registered from {site_name}' => 'あなたは {site_name} にユーザー登録されました。', + 'Please activate you account go to {activation_url}' => 'あなたのアカウントを有効にするために、アカウント認証 URL {activation_url} にアクセスして下さい。', + 'You account is not activated.' => 'あなたのアカウントは認証が完了していません。', + 'You account is blocked.' => 'あなたのアカウントは停止されています。', + 'Password is incorrect.' => 'パスワードが正しくありません。', + 'E-mail' => 'E-mail', + 'Verification Code' => '検証コード', + 'Retype Password' => 'パスワード(確認)', + 'Retype Password is incorrect.' => 'パスワード(確認)が正しくありません。', + 'Incorrect password (minimal length 4 symbols).' => 'パスワードが正しくありません。(4 文字以上)', + 'Incorrect username (length between 3 and 20 characters).' => 'ユーザー名が正しくありません。(3 文字以上、20 文字以下)', + 'Incorrect symbol\'s. (A-z0-9)' => '使用できない文字です。(A-z0-9)', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'変数名に使用出来る文字は、小文字のアルファベット(a-z)、数字(0-9)、アンダースコア (_) のみで、先頭はアルファベットでなければなりません。', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"' + n + ' の長さは、'+min+'以上、'+max+'以下でなければなりません。", + 'Please enter the letters as they are shown in the image above.' => '上の画像に表示されている文字を入力して下さい。', + 'Letters are not case-sensitive.' => 'アルファベットの大文字と小文字は区別されません。', + 'Minimal password length 4 symbols.' => 'パスワードは 4 文字以上でなければなりません。', + 'Lost Password?' => 'パスワード再設定', + 'Profile' => 'プロフィール', + 'activation key' => 'アカウント認証キー', + 'User activation' => 'アカウントの認証', + 'You account is active.' => 'あなたのアカウントは認証が完了しています。', + 'You account is activated.' => 'あなたのアカウントの認証が完了しました。', + 'Incorrect activation URL.' => 'アカウント認証の URL が正しくありません。', + 'Registration date' => '登録日付', + 'Last visit' => '最後の訪問', + 'Superuser' => '管理者', + 'Status' => '状態', + 'Ok' => 'Ok', + 'Show all'=> '全て表示', + 'Save' => '保存する', + 'Cancel'=> 'キャンセル', + 'New password is saved.' => '新しいパスワードが保存されました。', + 'Change password' => 'パスワードを変更する', + 'Your profile' => 'あなたのプロフィール', + 'Thank you for your registration. Please check your email or login.' => 'ユーザー登録ありがとうございます。メールを確認するか、ログインして下さい。', + 'Thank you for your registration. Please check your email.' => 'ユーザー登録ありがとうございます。メールを確認して下さい。', + 'Please check your email. An instructions was sent to your email address.' => '方法をお知らせするメールをあなたのメール・アドレスに送信しました。メールを確認して下さい。', + 'Thank you for your registration. Please {{login}}.' => 'ユーザー登録ありがとうございます。{{login}}してください。', + 'Thank you for your registration. Contact Admin to activate your account.' => 'ユーザー登録ありがとうございます。アカウント認証を完了するために、管理者に連絡を取ってください。', + 'Restore' => 'パスワード再設定', + 'Please enter your login or email addres.' => 'ユーザー名またはメール・アドレスを入力して下さい。', + 'Incorrect recovery link.' => 'リカバリー・リンクが正しくありません。', + 'Already exists.' => '既に存在します。', + 'First Name' => '名', + 'Last Name' => '姓', + 'No' => 'いいえ', + 'Yes' => 'はい', + 'Yes and show on registration form' => 'はい、登録フォームにも表示', + 'No, but show on registration form' => 'いいえ、ただし登録フォームには表示', + 'Not active' => '未認証', + 'Active' => '有効', + 'Banned' => '停止', + 'Please fill out the following form with your login credentials:' => 'あなたのログイン認証情報を入力してください。', + 'Fields with * are required.' => '* は必須入力項目です。', + 'List User' => 'ユーザー一覧', + 'Edit' => '編集', + 'Edit profile' => 'プロフィールを編集', + 'Create User' => 'ユーザーを作成', + 'Create' => '作成', + 'Manage' => '管理', + 'Manage User' => 'ユーザー管理', + 'Manage Users' => 'ユーザー管理', + 'Users' => 'ユーザー', + 'Update User' => 'ユーザーを更新', + 'Delete User' => 'ユーザーを削除', + 'Delete file' => 'ファイルを削除', + 'View User' => 'ユーザーを閲覧', + 'Are you sure to delete this item?' => 'このアイテムを削除します。よろしいですか?', + 'Changes is saved.' => '変更が保存されました。', + 'Manage Profile Field' => 'プロフィール項目の管理', + 'Variable name' => 'フィールド名', + 'Title' => '項目名', + 'Field Type' => 'フィールドの型', + 'Field Size' => 'フィールドのサイズ', + 'Field Size min' => 'フィールドのサイズ(最小)', + 'Required' => '必須', + 'Match' => '一致', + 'Range' => '有効な値', + 'Error Message' => 'エラー・メッセージ', + 'Other Validator' => 'その他の検証方法', + 'JSON string (example: {example}).' => 'JSON 文字列 (例: {example})', + 'Default' => 'デフォルト値', + 'Position' => '表示順', + 'Visible' => '表示', + 'Registered users' => '登録ユーザーだけに表示', + 'For all' => '全員に表示', + 'Only owner' => '本人のみに表示', + 'Hidden' => '非表示', + 'Profile Fields' => 'プロフィール項目', + 'View Profile Field #' => 'プロフィール項目の閲覧 #', + 'Manage Profile Fields' => 'プロフィール項目の管理', + 'Create Profile Field' => 'プロフィール項目の作成', + 'List Profile Field' => 'プロフィール項目の一覧', + 'View Profile Field' => 'プロフィール項目の閲覧', + 'Delete Profile Field' => 'プロフィール項目の削除', + 'Update Profile Field' => 'プロフィール項目の更新', + 'Widget'=>'Widget', + 'Widget parametrs'=>'Widget のパラメータ', + 'Widget name.'=>'Widget の名称。', + 'Allowed lowercase letters and digits.' => '使用出来る文字は小文字のアルファベット(a-z) と 数字(0-9)。', + 'Field name on the language of "sourceLanguage".' => 'フォームに表示される項目名。', + 'Field type column in the database.' => 'データベースのフィールド・タイプ。', + 'Field size column in the database.' => 'データベースのフィールド・サイズ。', + 'The minimum value of the field (form validator).' => 'フォーム検証時の項目の最小長。', + 'Required field (form validator).' => 'フォーム検証時に必須入力項目とするかどうか。', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "正規表現 (例: '/^[A-Za-z0-9\s,]+$/u')", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => '有効な値を列挙。(例: 1;2;3;4;5 または 1==One;2==Two;3==Three;4==Four;5==Five) ', + 'Error message when you validate the form.' => 'フォーム検証時のエラー・メッセージ。', + 'The value of the default field (database).' => 'データベースのフィールドのデフォルト値。', + 'Display order of fields.' => 'フォームでの項目の表示順。', + 'Not visited' => '訪問無し', +); diff --git a/www/protected/modules/yii-user-master/messages/nl/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/nl/UWrelBelongsTo.php new file mode 100644 index 0000000..b6d689b --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/nl/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Modelnaam', + 'Lable field name'=>'Lable veldnamen', + 'Empty item name'=>'Leeg item-naam', + 'Profile model relation name'=>'Profiel model relatienaam', +); diff --git a/www/protected/modules/yii-user-master/messages/nl/user.php b/www/protected/modules/yii-user-master/messages/nl/user.php new file mode 100644 index 0000000..ea6eaf7 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/nl/user.php @@ -0,0 +1,127 @@ + 'Registratie', + 'Register' => 'Registreren', + 'Login' => 'Inloggen', + 'Logout' => 'Uitloggen', + 'username' => 'Gebruikersnaam', + 'username or email' => 'Gebruikersnaam of email', + 'password' => 'Wachtwoord', + 'Remember me next time' => 'Herinner me de volgende keer', + 'Username is incorrect.' => 'Gebruikersnaam is niet bekend.', + 'Email is incorrect.' => 'E-Mail is niet bekend.', + 'This user\'s name already exists.' => 'Deze gebruikersnaam bestaat al.', + 'This user\'s email address already exists.' => 'Dit email adres bestaat al.', + 'You registered from {site_name}' => 'U bent geregistreerd vanaf {site_name}', + 'Please activate you account go to {activation_url}' => 'Om uw account te activeren ga naar {activation_url}', + 'You account is not activated.' => 'Uw account is nu geactiveerd.', + 'You account is blocked.' => 'Uw account is geblokkeerd.', + 'Password is incorrect.' => 'Wachtwoord is niet correct.', + 'E-mail' => 'E-mail', + 'Verification Code' => 'Verificatiecode', + 'Retype Password' => 'Wachtwoord opnieuw invoeren', + 'Retype Password is incorrect.' => 'Opnieuw wachtwoord invoeren is niet correct.', + 'Incorrect password (minimal length 4 symbols).' => 'Ongeldig wachtwoord (minimaal 4 karakters).', + 'Incorrect username (length between 3 and 20 characters).' => 'Ongeldige gebruikersnaam (lengte tussen 3 en 20 karakters).', + 'Incorrect symbol\'s. (A-z0-9)' => 'In uw gebruikersnaam mag u alleen letters en getallen gebruiken.', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Variabele mag alleen a-z, 0-9, underscores bevatten en moet beginnen met een letter.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Lengte van ' + n + ' moet tussen '+min+' en '+max+' liggen.", + 'Please enter the letters as they are shown in the image above.' => 'Voer de letters in zoals die in de afbeelding hierboven worden weergegeven.', + 'Letters are not case-sensitive.' => 'Letters zijn niet hoofdletter gevoelig.', + 'Minimal password length 4 symbols.' => 'Minimale lengte voor wachtwoord is 4 karakters.', + 'Lost Password?' => 'Wachtwoord vergeten?', + 'Profile' => 'Profiel', + 'activation key' => 'Activeringscode', + 'User activation' => 'Gebruikersactivering', + 'You account is active.' => 'Uw account is actief.', + 'You account is activated.' => 'Uw account is geactiveerd.', + 'Incorrect activation URL.' => 'Ongeldige URL voor activering.', + 'Registration date' => 'Registratiedatum', + 'Last visit' => 'Laatste bezoek', + 'Superuser' => 'Superuser', + 'Status' => 'Status', + 'Ok' => 'Ok', + 'Show all'=> 'Toon alle', + 'Save' => 'Opslaan', + 'Cancel'=> 'Annuleren', + 'New password is saved.' => 'Nieuw wachtwoord is opgeslagen.', + 'Change password' => 'Wijzig wachtwoord', + 'Your profile' => 'Uw profiel', + 'Thank you for your registration. Please check your email or login.' => 'Dank u wel voor uw registratie. Controleer uw email of log direct in.', + 'Thank you for your registration. Please check your email.' => 'Dank u wel voor uw registratie. Controleer alstublieft uw email.', + 'Please check your email. An instructions was sent to your email address.' => 'Controleer alstublieft uw email. De instructies zijn naar uw emailadres verzonden.', + 'Thank you for your registration. Please {{login}}.' => 'Dank u wel voor uw registratie. U kunt nu {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Dank u wel voor uw registratie. Neem contact op met de Systeembeheerder om uw account te activeren.', + 'Restore' => 'Herstellen', + 'Please enter your login or email addres.' => 'Voer uw login of emailadres in.', + 'Incorrect recovery link.' => 'Ongeldige herstel-link.', + 'Already exists.' => 'Bestaat reeds.', + 'First Name' => 'Voornaam', + 'Last Name' => 'Achternaam', + 'No' => 'Nee', + 'Yes' => 'Ja', + 'Yes and show on registration form' => 'Ja, en toon op registratiescherm', + 'No, but show on registration form' => 'Nee, maar toon op registratiescherm', + 'Not active' => 'Niet actief', + 'Active' => 'Actief', + 'Banned' => 'Verbannen', + 'Please fill out the following form with your login credentials:' => 'Vul het volgende formulier in met uw login-gegevens:', + 'Fields with * are required.' => 'Velden met * zijn verplicht.', + 'List User' => 'Gebruikerslijst', + 'Edit' => 'Bewerken', + 'Edit profile' => 'Bewerk profiel', + 'Create User' => 'Gebruiker aanmaken', + 'Create' => 'Aanmaken', + 'Manage' => 'Beheren', + 'Manage User' => 'Beheer gebruikers', + 'Users' => 'Gebruikers', + 'Update User' => 'Bewerk gebruiker', + 'Delete User' => 'Verwijder gebruiker', + 'Delete file' => 'Verwijder bestand', + 'View User' => 'Bekijk gebruiker', + 'Are you sure to delete this item?' => 'Weet u zeker dat u dit item wilt verijderen? ', + 'Changes is saved.' => 'Wijzigingen opgelagen.', + 'Manage Profile Field' => 'Beheer profiel-veld', + 'Variable name' => 'Variabele naam', + 'Title' => 'Titel', + 'Field Type' => 'Veldtype', + 'Field Size' => 'Veldgrootte', + 'Field Size min' => 'minimale veldgrootte', + 'Required' => 'Vereist', + 'Match' => 'Match', + 'Range' => 'Bereik', + 'Error Message' => 'Foutmelding', + 'Other Validator' => 'Andere validator', + 'JSON string (example: {example}).' => 'JSON string (voorbeeld: {example}).', + 'Default' => 'Standaard', + 'Position' => 'Positie', + 'Visible' => 'Zichtbaar', + 'Registered users' => 'Geregistreerde gebruikers', + 'For all' => 'Voor alle', + 'Only owner' => 'Enige eigenaar', + 'Hidden' => 'Verborgen', + 'Profile Fields' => 'Profiel velden', + 'View Profile Field #' => 'Bekijk Profiel-veld #', + 'Manage Profile Fields' => 'Beheer Profiel-velden', + 'Create Profile Field' => 'Maak Profiel-veld', + 'List Profile Field' => 'Profiel veldenlijst', + 'View Profile Field' => 'Bekijk Profiel-velden', + 'Delete Profile Field' => 'Verwijder Profiel-veld', + 'Update Profile Field' => 'Bewerk Profiel-veld', + 'Widget'=>'Widget', + 'Widget parametrs'=>'Widget parameters', + 'Widget name.'=>'Widget naam.', + 'Allowed lowercase letters and digits.' => 'Kleine letters en cijfers toegestaan.', + 'Field name on the language of "sourceLanguage".' => 'Veldnaam van de taal "SourceLanguage".', + 'Field type column in the database.' => 'Veldtype kolom in de database.', + 'Field size column in the database.' => 'Veldtype grootte in de database.', + 'The minimum value of the field (form validator).' => 'De minimaal verplichte velden (Form Validator).', + 'Required field (form validator).' => 'Verplicht veld (Form Validator).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Reguliere expressie (bijvoorbeeld: '/^[A-Za-z0-9\s,]+$/u').", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Voorgedefinieerde waarden (bijvoorbeeld: 1;2;3;4;5 of 1==One;2==Two;3==Three;4==Four;5==Five).', + 'Error message when you validate the form.' => 'Foutmelding: bij formulier validatie.', + 'The value of the default field (database).' => 'De waarde van het standaard veld (database).', + 'Display order of fields.' => 'Geef volgorde van velden weer.', + 'Not visited' => 'Niet bezocht', +); diff --git a/www/protected/modules/yii-user-master/messages/pl/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/pl/UWrelBelongsTo.php new file mode 100644 index 0000000..0202bf5 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/pl/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Nazwa modelu', + 'Lable field name'=>'Nazwa etykiety pola', + 'Empty item name'=>'Nazwa pustego elementu', + 'Profile model relation name'=>'Nazwa profilu modelu', +); diff --git a/www/protected/modules/yii-user-master/messages/pl/user.php b/www/protected/modules/yii-user-master/messages/pl/user.php new file mode 100644 index 0000000..3d2c560 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/pl/user.php @@ -0,0 +1,133 @@ + 'Rejestracja', + 'Register' => "Zarejestruj", + 'Login' => 'Logowanie', + 'Logout' => 'Wyloguj', + 'username' => "Nazwa użytkownika", + 'username or email' => "Nazwa użytkownika lub e-mail", + 'password' => 'Hasło', + 'Remember me next time' => 'Zapamiętaj mnie', + 'Username is incorrect.' => "Nazwa użytkownika jest nieprawidłowa.", + 'Email is incorrect.' => 'E-mail jest nieprawidłowy.', + 'This user\'s name already exists.' => 'Nazwa użytkownika już istnieje.', + 'This user\'s email adress already exists.' => 'Adres e-mail już istnieje.', + 'You registered from {site_name}' => 'Zarejestrowano no {site_name}', + 'Please activate you account go to {activation_url}' => "Aby aktywować konto udaj się pod adres {activation_url}", + 'You account is not activated.' => "Twoje konto nie zostało aktywowane.", + 'You account is blocked.' => 'Twoje konto zostało zablokowane.', + 'Password is incorrect.' => 'Nieprawidłowe hasło.', + 'E-mail' => 'E-mail', + 'Verification Code' => 'Kod weryfikacyjny', + 'Retype Password' => 'Hasło ponownie', + 'Retype Password is incorrect.' => 'Przepisane hasło jest inne.', + 'Incorrect password (minimal length 4 symbols).' => 'Niepoprawne hasło (minimalna długość to 4 znaki).', + 'Incorrect username (length between 3 and 20 characters).' => "Niewłaściwa nazwa użytkownika (wpis powienien mieć od 3 do 20 znaków).", + 'Incorrect symbol\'s. (A-z0-9)' => 'Niepoprawny wpis. (A-z0-9)', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Nazwa zmiennej moze składać się ze znaków a-z, 0-9, podkreśleń, zaczynać się od litery.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Długość ' + n + ' musi być pomiędzy '+min+' i '+max+'.", + 'Please enter the letters as they are shown in the image above.' => "Przepis znaki z obrazka.", + 'Letters are not case-sensitive.' => 'Wielkość liter nie jest istotna.', + 'Minimal password length 4 symbols.' => 'Minimalna długość hasła to 4 znaki.', + 'Lost Password?' => 'Zapomniane hasło?', + 'Profile' => 'Profil', + 'activation key' => "klucz aktywacyjny", + 'User activation' => "Aktywacja użytkownika", + 'You account is active.' => 'Twoje konto jest aktywne.', + 'You account is activated.' => 'Twoje konto zostało aktywowane.', + 'Incorrect activation URL.' => 'Niepoprawny URL aktywacyjny.', + 'Registration date' => "Data rejestracji", + 'Last visit' => 'Ostatnia wizyta', + 'Superuser' => 'Superużytkownik', + 'Status' => 'Status', + 'Ok' => "Ok", + 'Show all'=> 'Pokaż wszystko', + 'Save' => 'Zapisz', + 'Cancel'=> 'Anuluj', + 'New password is saved.' => 'Nowe hasło zostało zapisane.', + 'Change password' => 'Zmień hasło', + 'Your profile' => 'Twój profil', + 'Thank you for your registration. Please check your email or login.' => "Dziękujemy za rejestrację. Prosimy sprawdzić skrzynkę e-mail lub zalogować się.", + 'Thank you for your registration. Please check your email.' => "Dziękujemy za rejestrację. Prosimy sprawdzić skrzynkę e-mail.", + 'Please check your email. An instructions was sent to your email address.' => "Prosimy sprawdzić skrzynkę e-mail. Instrukcje zostały wysłane na podany adres e-mail.", + 'Thank you for your registration. Please {{login}}.' => 'Dziękujemy za rejestrację. Prosimy się zalogować {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Nous vous remercions de votre inscription. Contact Admin pour activer votre compte.', + 'Restore' => 'Przywróć', + 'Please enter your login or email addres.' => "Wpisz swój login lub adres e-mail.", + 'Incorrect recovery link.' => 'Niepoprawny link resetujący hasło.', + 'Already exists.' => 'Już istnieje.', + 'First Name' => 'Imię', + 'Last Name' => 'Nazwisko', + 'No' => 'Nie', + 'Yes' => 'Tak', + 'Yes and show on registration form' => 'Tak. Przejdź do formularza rejestracyjnego', + 'No, but show on registration form' => 'Nie, ale pokaż formularz rejestracyjny', + 'Not active' => 'Nieaktywne', + 'Active' => 'Aktywne', + 'Banned' => 'Banni', + 'Please fill out the following form with your login credentials:' => "Wypełnij formularz następującymi danymi:", + 'Fields with * are required.' => 'Pola z * są obowiązkowe.', + 'List User' => 'Pokaż użytkowników', + 'Edit' => 'Edytuj', + 'Edit profile' => 'Edytuj profil', + 'Create User' => 'Dodaj użytkownika', + 'Create' => 'Dodaj', + 'Manage' => 'Zarządzaj', + 'Manage Users' => 'Zarządzaj użytkownikiem', + 'Users' => 'Użytkownicy', + 'Update User' => 'Aktualizuj użytkownika', + 'Delete User' => 'Usuń użytkownika', + 'Delete file' => 'Usuń plik', + 'View User' => 'Pokaż użytkownika', + 'Are you sure to delete this item?' => 'Czy na pewno usunąć wybrany element?', + 'Changes is saved.' => 'Zapisano zmiany.', + 'Mange Profile Field' => 'Zarządzaj polami profilowymi', + 'Variable name' => 'Nazwa zmiennej', + 'Title' => 'Tytuł', + 'Field Type' => 'Typ pola', + 'Field Size' => 'Rozmiar pola', + 'Field Size min' => 'Minimalny rozmiar pola', + 'Required' => 'Wymagane', + 'Match' => 'Zaznacz', + 'Range' => 'Zakres', + 'Error Message' => "Komunikat błędu", + 'Other Validator' => 'Inna weryfikacja', + 'JSON string (example: {example}).' => 'Łańcuch JSON (przykład: {example}).', + 'Default' => 'Domyślny', + 'Position' => 'Kolejność', + 'Visible' => 'Widoczny', + 'Registered users' => 'Zarejestrowani użytkownicy', + 'For all' => 'Dla wszystkich', + 'Only owner' => 'Tylko właściciel', + 'Hidden' => 'Ukryte', + 'Profile Fields' => 'Pola profilu', + 'View Profile Field #' => 'Zobacz pole profilu #', + 'Manage Profile Fields' => 'Zarządzaj polami profilu', + 'Manage Profile Field' => 'Zarządzaj polem profilu', + 'Create Profile Field' => 'Dodaj pole profilu', + 'List Profile Field' => 'Pokaż pole profilu', + 'View Profile Field' => 'Wyświetl pole profilu', + 'Delete Profile Field' => 'Usuń pole profilu', + 'Update Profile Field' => 'Zaktualizuj pole profilu', + 'Widget'=>'Gadżet', + 'Widget parametrs'=>'Parametry gadżetów', + 'Widget name.'=>'Nazwa gadżetu.', + 'Allowed lowercase letters and digits.' => 'Dozwolone małe litery oraz cyfry.', + 'Field name on the language of "sourceLanguage".' => 'Nazwa pola w języku "sourceLanguage".', + 'Field type column in the database.' => 'Typ kolumny w bazie danych.', + 'Field size column in the database.' => 'Rozmiar kolumny w bazie danych.', + 'The minimum value of the field (form validator).' => 'Minimalna wartość pola (z walidatora).', + 'Required field (form validator).' => 'Wymagane pole (z walidatora).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Wyrażenie regularne (przykład: '/^[A-Za-z0-9\s,]+$/u').", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Predefiniowane wartości (przykład: 1;2;3;4;5 lub 1==Jeden;2==Dwa;3==Trzy;4==Cztery;5==Pięć).', + 'Error message when you validate the form.' => 'Wiadomość błędu po walidacji formularza.', + 'The value of the default field (database).' => 'Wartość domyślnego pola (baza danych).', + 'Display order of fields.' => 'Wyświetl kolejność pól.', + 'Not visited' => 'Nie odwiedzane', +); diff --git a/www/protected/modules/yii-user-master/messages/pt/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/pt/UWrelBelongsTo.php new file mode 100644 index 0000000..27a6845 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/pt/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Nome do modelo', + 'Lable field name'=>'Nome do campo', + 'Empty item name'=>'Nome de item vazio', + 'Profile model relation name'=>'Modelo de perfil com relação ao nome', +); diff --git a/www/protected/modules/yii-user-master/messages/pt/user.php b/www/protected/modules/yii-user-master/messages/pt/user.php new file mode 100644 index 0000000..52176a0 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/pt/user.php @@ -0,0 +1,129 @@ + + */ +return array( + 'Registration' => 'Cadastro', + 'Register' => 'Cadastre-se', + 'Login' => 'Login', + 'Logout' => 'Logout', + 'username' => "Login", + 'username or email' => "Login ou Email", + 'password' => 'Senha', + 'Remember me next time' => 'Lembrar de mim, mais tarde.', + 'Username is incorrect.' => "Login incorreto.", + 'Email is incorrect.' => 'Email incorreto.', + 'This user\'s name already exists.' => 'Este login já existe.', + 'This user\'s email address already exists.' => 'Este email já existe.', + 'You registered from {site_name}' => 'Você se cadastrou no site {site_name}', + 'Please activate you account go to {activation_url}' => 'Por favor, ative a sua conta indo na seguinte url:
    {activation_url}', + 'You account is not activated.' => "Sua conta não está ativada.", + 'You account is blocked.' => 'Sua conta está bloqueada.', + 'Password is incorrect.' => 'Senha incorreta.', + 'E-mail' => 'Email', + 'Verification Code' => 'Código de verificação', + 'Retype Password' => 'Redigite a senha', + 'Retype Password is incorrect.' => 'A redigitação de senha está incorreta.', + 'Incorrect password (minimal length 4 symbols).' => 'Senha incorreta (mínimo 4 caracteres).', + 'Incorrect username (length between 3 and 20 characters).' => "Login incorreto (entre 4 e 20 caracteres).", + 'Incorrect symbol\'s. (A-z0-9)' => 'Caracteres incorretos. (A-z0-9)', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Nombre de la variable puede consistir en az, 0-9, guión, comenzar con una letra.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Longitud de ' + n + ' debe estar entre '+min+' y '+max+'.", + 'Please enter the letters as they are shown in the image above.' => "Por favor, digite as letras como mostrada na imagem.", + 'Letters are not case-sensitive.' => 'As letras não diferenciam de maiúsculas e minúsculas.', + 'Minimal password length 4 symbols.' => 'A senha deve ter no mínimo 4 caracteres.', + 'Lost Password?' => 'Esqueceu a senha?', + 'Profile' => 'Perfil', + 'activation key' => "Chave de ativação", + 'User activation' => "Ativação de usuário", + 'You account is active.' => 'Sua conta está ativa.', + 'You account is activated.' => 'Sua conta está ativada.', + 'Incorrect activation URL.' => 'A URL de ativação está incorreta.', + 'Registration date' => "Data de Cadastro", + 'Last visit' => 'Última visita', + 'Superuser' => 'Superusuário', + 'Status' => 'Estado', + 'Ok' => "Aceita", + 'Show all'=> 'Mostrar todas', + 'Save' => 'Salvar', + 'Cancel'=> 'Cancelar', + 'New password is saved.' => 'Nova senha salva.', + 'Change password' => 'Mudar senha', + 'Your profile' => 'Seu perfil', + 'Thank you for your registration. Please check your email or login.' => "Obrigado por cadastrar-se. Dentro de poucos minutos você receberá um email com as instruções para ativação de seu login.", + 'Thank you for your registration. Please check your email.' => "Obrigado por cadastrar-se. Dentro de poucos minutos você receberá um email com as instruções para ativação de seu login.", + 'Please check your email. An instructions was sent to your email address.' => "Por favor verifique seu email. As instruções já foram enviadas.", + 'Thank you for your registration. Please {{login}}.' => 'Obrigado por cadastrar-se. Por favor, {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Obrigado por cadastrar-se. Contate com o Administrador para ativar sua conta.', + 'Restore' => 'Restaurar', + 'Please enter your login or email addres.' => "Por favor digite seu login ou email.", + 'Incorrect recovery link.' => 'Vínculo de recuperação incorreto.', + 'Already exists.' => 'Já existe.', + 'First Name' => 'Nome', + 'Last Name' => 'Sobrenome', + 'No' => 'Não', + 'Yes' => 'Sim', + 'Yes and show on registration form' => 'Sim e mostre-me o formulário de cadastro', + 'No, but show on registration form' => 'Não, más mostre-me o formulário de cadastro', + 'Not active' => 'Inativo', + 'Active' => 'Ativo', + 'Banned' => 'Banido', + 'Please fill out the following form with your login credentials:' => "Por favor, preencha o seguinte formulário com as suas credenciais:", + 'Fields with * are required.' => 'Os campos com * são obrigatórios.', + 'List User' => 'Listar Usuários', + 'Edit' => 'Editar', + 'Edit profile' => 'Editar perfil', + 'Create User' => 'Criar Novo Usuário', + 'Create' => 'Criar', + 'Manage' => 'Administrar', + 'Manage Users' => 'Administrar Usuários', + 'Users' => 'Usuários', + 'Update User' => 'Editar Usuário', + 'Delete User' => 'Eliminar Usuário', + 'Delete file' => 'Eliminar arquivo', + 'View User' => 'Ver Usuário', + 'Are you sure to delete this item?' => 'Confirma que deseja apagar este item?', + 'Changes is saved.' => 'Atualizações realizadas com sucesso.', + 'Manage Profile Field' => 'Administrar Campos de Perfil', + 'Variable name' => 'Nome da variável', + 'Title' => 'Título', + 'Field Type' => 'Tipo de Campo', + 'Field Size' => 'Tamanho de campo', + 'Field Size min' => 'Tamanho mínimo do campo', + 'Required' => 'Obrigatório', + 'Match' => 'Coincidir (Match)', + 'Range' => 'Range', + 'Error Message' => "Mensagem de erro", + 'Other Validator' => 'Outra validação', + 'JSON string (examplo: {examplo}).' => 'JSON string (exemplo: {exemplo}).', + 'Default' => 'Padrão', + 'Position' => 'Posição', + 'Visible' => 'Visível', + 'Registered users' => 'Usuários cadastrados', + 'For all' => 'Para todos', + 'Only owner' => 'Somente o propietário', + 'Hidden' => 'Oculto', + 'Profile Fields' => 'Camos de perfil', + 'View Profile Field #' => 'Ver Campo de Perfil #', + 'Manage Profile Fields' => 'Administrar Campos de Perfil', + 'Create Profile Field' => 'Criar novo Campo de Perfil', + 'View Profile Field' => 'Ver Campo de Perfil', + 'Delete Profile Field' => 'Eliminar Campo de Perfil', + 'Update Profile Field' => 'Editar Campo de Perfil', + 'Widget'=>'Widget', + 'Widget parametrs' => 'Widget parametrs', + 'Widget name.' => 'Nome do widget.', + 'Allowed lowercase letters and digits.' => 'São permitidas letras minúsculas e números', + 'Field name on the language of "sourceLanguage".' => 'O nome do campo no idioma de origem (sourceLanguage).', + 'Field type column in the database.' => 'O tipo de dado da coluna na base de dados.', + 'Field size column in the database.' => 'Tamanho do campo da coluna na base de dados', + 'The minimum value of the field (form validator).' => 'O valor mínimo do campo (validação de formulário)', + 'Required field (form validator).' => 'Campo obrigatório (validação de formulário)', + 'Regular expression (example: \'/^[A-Za-z0-9\s,]+$/u\').' => 'Expressão regular (exemplo: \'/^[A-Za-z0-9\s,]+$/u\').', + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Valores predefinidos (exemplo: 1;2;3;4;5 o 1==Um;2==Dois;3==Três;4==Quatro;5==Cinco).', + 'Error message when you validate the form.' => 'Mensagem de erro quando valida o formulário.', + 'The value of the default field (database).' => 'O valor padrão do campo (base de dados)', + 'Display order of fields.' => 'Mostrar ordenação dos campos', + 'Not visited' => 'Não visitou', + +); diff --git a/www/protected/modules/yii-user-master/messages/ro/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/ro/UWrelBelongsTo.php new file mode 100644 index 0000000..a6c1313 --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/ro/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Nume model', + 'Lable field name'=>'Eticheta nume camp', + 'Empty item name'=>'Nume element gol', + 'Profile model relation name'=>'Denumire model relational profil', +); diff --git a/www/protected/modules/yii-user-master/messages/ro/user.php b/www/protected/modules/yii-user-master/messages/ro/user.php new file mode 100644 index 0000000..cc9bfcf --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/ro/user.php @@ -0,0 +1,128 @@ + 'Inregistrare', + 'Register' => 'Inregistrare', + 'Login' => 'Conectare', + 'Logout' => 'Deconectare', + 'username' => 'Nume utilizator', + 'username or email' => 'Nume utilizator sau e-mail', + 'password' => 'Parola', + 'Remember me next time' => 'Tine-ma minte data viitoare', + 'Username is incorrect.' => 'Nume utilizator sau parola gresite.', + 'Email is incorrect.' => 'E-mail incorect.', + 'This user\'s name already exists.' => 'Acest nume utilizator deja exista.', + 'This user\'s email adress already exists.' => 'Aceasta adresa de e-mail este deja utilizata.', + 'You registered from {site_name}' => 'V-ati inregistrat pe site-ul {site_name}', + 'Please activate you account go to {activation_url}' => 'Va rugam sa va activati adresa la link-ul {activation_url}', + 'You account is not activated.' => 'Contul dumneavoastra nu este activat.', + 'You account is blocked.' => 'Contul dumneavoastra nu este blocat.', + 'Password is incorrect.' => 'Parola este gresita.', + 'E-mail' => 'E-mail', + 'Verification Code' => 'Cod de verificare', + 'Retype Password' => 'Reintroduceti parola', + 'Retype Password is incorrect.' => 'Parola reintrodusa este gresita.', + 'Incorrect password (minimal length 4 symbols).' => 'Parola incorecta (minim 4 caractere).', + 'Incorrect username (length between 3 and 20 characters).' => 'Nume utilizator incorect (Intre 3 si 20 caractere).', + 'Incorrect symbol\'s. (A-z0-9)' => 'Utilizati doar litere si cifre.', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'Denumirile variabilelor trebuie sa fie formate doar din a-z, 0-9, underscore si trebuie sa inceapa cu o litera.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Lungimea ' + n + ' trebuie sa fie intre '+min+' si'+max+'.", + 'Please enter the letters as they are shown in the image above.' => 'Va rugam introduceti literele asa cum sunt aratate in imaginea de mai sus.', + 'Letters are not case-sensitive.' => 'Literele nu sunt case-sensitive.', + 'Minimal password length 4 symbols.' => 'Lungimea minima a parolei este de 4 caractere.', + 'Lost Password?' => 'Ati pierdut parola?', + 'Profile' => 'Profil', + 'activation key' => 'cheie activare', + 'User activation' => 'Activare utilizator', + 'You account is active.' => 'Contul dumneavoastra este activ.', + 'You account is activated.' => 'Contul dumneavoastra este activat.', + 'Incorrect activation URL.' => 'URL pentru activare incorect.', + 'Registration date' => 'Data inregistrarii', + 'Last visit' => 'Ultima vizita', + 'Superuser' => 'Superuser', + 'Status' => 'Status', + 'Ok' => 'Ok', + 'Show all'=> 'Afisare completa', + 'Save' => 'Salvare', + 'Cancel'=> 'Renuntare', + 'New password is saved.' => 'Noua parola este salvata.', + 'Change password' => 'Schimbare parola', + 'Your profile' => 'Profilul dumneavoastra', + 'Thank you for your registration. Please check your email or login.' => 'Va multumim pentru inregistrare. Va rugam sa va verificati adresa de e-mail sau conectati-va.', + 'Thank you for your registration. Please check your email.' => 'Va multumim pentru inregistrare. Va rugam sa va verificati adresa de e-mail.', + 'Please check your email. An instructions was sent to your email address.' => 'Va rugam sa va verificati adresa de e-mail. O instructiune a fost trimisa pe adresa dumneavoastra.', + 'Thank you for your registration. Please {{login}}.' => 'Va multumim pentru inregistrare. Va rugam sa treceti la {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Va multumim pentru inregistrare. Contactati administratorul pentru a va activa contul.', + 'Restore' => 'Restaurare', + 'Please enter your login or email addres.' => 'Va rugam introduceti numele utilizator sau adresa de e-mail.', + 'Incorrect recovery link.' => 'Link de restaurare incorect.', + 'Already exists.' => 'Deja exista.', + 'First Name' => 'Prenumele', + 'Last Name' => 'Numele', + 'No' => 'Nu', + 'Yes' => 'Da', + 'Yes and show on registration form' => 'Da, si afiseaza formularul de inregistrare', + 'No, but show on registration form' => 'Nu, dar afiseaza formularul de inregistrare', + 'Not active' => 'Inactiv', + 'Active' => 'Activ', + 'Banned' => 'Blocat', + 'Please fill out the following form with your login credentials:' => 'Completati campurile cu informatiile dumneavoastra:', + 'Fields with * are required.' => 'Campurile cu * sunt obligatorii.', + 'List User' => 'Lista utilizatori', + 'Edit' => 'Editare', + 'Edit profile' => 'Editare profil', + 'Create User' => 'Creare utilizator', + 'Create' => 'Creare', + 'Manage' => 'Administrare', + 'Manage Users' => 'Administrare utilizatori', + 'Users' => 'Utilizatori', + 'Update User' => 'Actualizare utilizator', + 'Delete User' => 'Inlaturare utilizator', + 'Delete file' => 'Stergere fisier', + 'View User' => 'Afisare utilizator', + 'Are you sure to delete this item?' => 'Sunteti sigur/a ca doriti sa inlaturati acest element? ', + 'Changes is saved.' => 'Modificarile au fost salvate.', + 'Manage Profile Field' => 'Administrare campuri profil', + 'Variable name' => 'Denumire variabila', + 'Title' => 'Titlu', + 'Field Type' => 'Tip camp', + 'Field Size' => 'Dimensiune camp', + 'Field Size min' => 'dimensiune minima camp', + 'Required' => 'Impus', + 'Match' => 'Potrivire', + 'Range' => 'Plaja', + 'Error Message' => 'Mesaj de eroare', + 'Other Validator' => 'Alt validator', + 'JSON string (example: {example}).' => 'JSON string (exemplu: {example}).', + 'Default' => 'Implicit', + 'Position' => 'Pozitie', + 'Visible' => 'Vizibil', + 'Registered users' => 'Utilizatori inregistrati', + 'For all' => 'Pentru toti', + 'Only owner' => 'Doar posesorul', + 'Hidden' => 'Ascuns', + 'Profile Fields' => 'Campuri profil', + 'View Profile Field #' => 'Vezi campul profilului #', + 'Manage Profile Fields' => 'Administrare campuri profil', + 'Create Profile Field' => 'Creare camp profil', + 'List Profile Field' => 'Listare camp profil', + 'View Profile Field' => 'Vezi camp profil', + 'Delete Profile Field' => 'Stergere camp profil', + 'Update Profile Field' => 'Actualizare camp profil', + 'Widget'=>'Widget', + 'Widget parametrs'=>'Parametri Widget', + 'Widget name.'=>'Denumire Widget.', + 'Allowed lowercase letters and digits.' => 'Sunt permise litere mici si numere.', + 'Field name on the language of "sourceLanguage".' => 'Numele campului in "sourceLanguage".', + 'Field type column in the database.' => 'Tipul coloanei campului in baza de date.', + 'Field size column in the database.' => 'Dimensiunea coloanei campului in baza de date.', + 'The minimum value of the field (form validator).' => 'Valoarea minima a campului (Form Validator).', + 'Required field (form validator).' => 'Camp obligatoriu (Form Validator).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Expresii regulare (exemplu: '/^[A-Za-z0-9\s,]+$/u').", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Valori predefinite (exemplu: 1;2;3;4;5 sau 1==One;2==Two;3==Three;4==Four;5==Five).', + 'Error message when you validate the form.' => 'Mesaj de eroare pentru validarea formularului.', + 'The value of the default field (database).' => 'Valoarea campului implicit (baza de date).', + 'Display order of fields.' => 'Afisare ordinea campurilor.', + 'Not visited' => 'Nevizitat', + 'Birthday'=>'Data nasterii', +); diff --git a/www/protected/modules/yii-user-master/messages/ru/UWrelBelongsTo.php b/www/protected/modules/yii-user-master/messages/ru/UWrelBelongsTo.php new file mode 100644 index 0000000..be92c9b --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/ru/UWrelBelongsTo.php @@ -0,0 +1,8 @@ +'Имя модели', + 'Lable field name'=>'Поле для отображения в списке', + 'Empty item name'=>'Текст пустого поля', + 'Profile model relation name'=>'Название связи (relation) модели профиля', +); diff --git a/www/protected/modules/yii-user-master/messages/ru/user.php b/www/protected/modules/yii-user-master/messages/ru/user.php new file mode 100644 index 0000000..325e5ea --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/ru/user.php @@ -0,0 +1,133 @@ + 'Регистрация', + 'Register' => 'Зарегистрироваться', + 'Login' => 'Вход', + 'Logout' => 'Выйти', + 'username' => 'Логин', + 'username or email' => 'Логин или email', + 'password' => 'Пароль', + 'Remember me next time' => 'Запомнить меня', + 'Username is incorrect.' => 'Пользователь с таким именем не зарегистрирован.', + 'Email is incorrect.' => 'Пользователь с таким электроным адресом не зарегистрирован.', + "This user's name already exists." => 'Пользователь с таким именем уже существует.', + "This user's email address already exists." => 'Пользователь с таким электронным адресом уже существует.', + 'You registered from {site_name}' => 'Вы зарегистрировались на сайте {site_name}', + 'Please activate you account go to {activation_url}' => 'Для активации аккаунта пожалуйста перейдите по следующей ссылке {activation_url}', + 'You account is not activated.' => 'Ваш аккаунт не активирован.', + 'You account is blocked.' => 'Ваш аккаунт заблокирован.', + 'Password is incorrect.' => 'Неверный пароль.', + 'E-mail' => 'Электронная почта', + 'Verification Code' => 'Проверочный код', + 'Old Password' => 'Старый пароль', + 'Old Password is incorrect.' => 'Неправильный старый пароль', + 'Retype Password' => 'Подтверждение пароля', + 'Retype Password is incorrect.' => 'Пароли не совпадают.', + 'Incorrect password (minimal length 4 symbols).' => 'Минимальная длина пароля 4 символа.', + 'Incorrect username (length between 3 and 20 characters).' => 'Длина имени пользователя от 3 до 20 символов.', + "Incorrect symbols (A-z0-9)." => 'В имени пользователя допускаются только латинские буквы и цифры.', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'В название переменной допускаются только латинские буквы, цифры и символ подчеркивания.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Длинна ' + n + ' должна быть не меньше '+min+' и не более '+max+' символов.", + 'Please enter the letters as they are shown in the image above.' => 'Пожалуйста, введите буквы, показанные на картинке выше.', + 'Letters are not case-sensitive.' => 'Регистр значение не имеет.', + 'Minimal password length 4 symbols.' => 'Минимальная длина пароля 4 символа.', + 'Lost Password?' => 'Забыли пароль?', + 'Profile' => 'Профиль', + 'activation key' => 'Ключ активации', + 'User activation' => 'Активация пользователя', + 'You account is active.' => 'Ваша учетная запись уже активирована.', + 'You account is activated.' => 'Ваша учетная запись активирована.', + 'Incorrect activation URL.' => 'Неправильная ссылка активации учетной записи.', + 'Registration date' => 'Дата регистрации', + 'Last visit' => 'Последний визит', + 'Superuser' => 'Супер пользователь', + 'Status' => 'Статус', + 'Ok' => 'Ok', + 'Show all'=> 'Показать все', + 'Save' => 'Сохранить', + 'Cancel'=> 'Отмена', + 'New password is saved.' => 'Новый пароль сохранен.', + 'Change password' => 'Изменить пароль', + 'Your profile' => 'Ваш профиль', + 'Thank you for your registration. Please check your email or login.' => 'Регистрация завершена. Пожалуйста проверьте свой электронный ящик или выполните вход.', + 'Thank you for your registration. Please check your email.' => 'Регистрация завершена. Пожалуйста проверьте свой электронный ящик.', + 'Please check your email. An instructions was sent to your email address.' => 'На Ваш адрес электронной почты было отправлено письмо с инструкциями.', + 'Thank you for your registration. Please {{login}}.' => 'Регистрация завершена. {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Регистрация завершена. Пожалуйста свяжитесь с администрацией сайта для активации аккаунта.', + 'Restore' => 'Восстановить', + 'Please enter your login or email addres.' => 'Пожалуйста, введите Ваш логин или адрес электронной почты.', + 'Incorrect recovery link.' => 'Неправильная ссылка востановления пароля.', + 'Already exists.' => 'Уже существует.', + 'First Name' => 'Имя', + 'Last Name' => 'Фамилия', + 'No' => 'Нет', + 'Yes' => 'Да', + 'Yes and show on registration form' => 'Да и показать при регистрации', + 'No, but show on registration form' => 'Нет, но показать при регистрации', + 'Not active' => 'Не активирован', + 'Active' => 'Активирован', + 'Banned' => 'Заблокирован', + 'Please fill out the following form with your login credentials:' => 'Пожалуйста, заполните следующую форму с вашими Логин и паролем:', + 'Fields with * are required.' => '* Обязательные поля.', + 'List User' => 'Список пользователей', + 'Edit' => 'Редактировать', + 'Edit profile' => 'Редактирование профиля', + 'Create User' => 'Новый', + 'Create' => 'Добавить', + 'Manage' => 'Управление', + 'Manage Users' => 'Управление пользователями', + 'Users' => 'Пользователи', + 'Update User' => 'Править', + 'Delete User' => 'Удалить', + 'Delete file' => 'Удалить файл', + 'View User' => 'Просмотр профиля', + 'Are you sure to delete this item?' => 'Вы действительно хотите удалить пользователя?', + 'Changes is saved.' => 'Изменения сохранены.', + 'Manage Profile Field' => 'Настройка полей', + 'Variable name' => 'Имя переменной', + 'Title' => 'Название', + 'Field Type' => 'Тип поля', + 'Field Size' => 'Размер поля', + 'Field Size min' => 'Минимальное значение', + 'Required' => 'Обязательность', + 'Match' => 'Совпадение (RegExp)', + 'Range' => 'Ряд значений', + 'Error Message' => 'Сообщение об ошибке', + 'Other Validator' => 'Другой валидатор', + 'JSON string (example: {example}).'=>'JSON строка (пример: {example}).', + 'Default' => 'По умолчанию', + 'Position' => 'Позиция', + 'Visible' => 'Видимость', + 'Registered users' => 'Зарегистрированные пользователи', + 'For all' => 'Для всех', + 'Only owner' => 'Только владелец', + 'Hidden' => 'Скрыт', + 'Profile Fields' => 'Поля профиля', + 'View Profile Field #' => 'Поле профиля #', + 'Manage Profile Fields' => 'Настройка полей', + 'Create Profile Field' => 'Добавить', + 'List Profile Field' => 'Список', + 'View Profile Field' => 'Просмотр', + 'Delete Profile Field' => 'Удалить', + 'Update Profile Field' => 'Править', + 'Widget'=>'Виджет', + 'Widget parametrs'=>'Параметры виджета', + 'Widget name.'=>'Название виджета.', + 'Allowed lowercase letters and digits.' => 'Допускаются строчные буквы и цифры.', + 'Field name on the language of "sourceLanguage".' => 'Название поля на языке "sourceLanguage".', + 'Field type column in the database.' => 'Тип поля колонки в базе данных.', + 'Field size column in the database.' => 'Размер поля колонки в базе данных', + 'The minimum value of the field (form validator).' => 'Минимальное значение поля (проверка формы).', + 'Required field (form validator).' => 'Обязательное поле (проверка формы).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Регулярные выражения (пример: '/^[A-Za-z0-9\s,]+$/u')", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Предопределенные значения (пример: 1;2;3;4;5 или 1==Один;2==Два;3==Три;4==Четыре;5==Пять).', + 'Error message when you validate the form.' => 'Сообщение об ошибке при проверке формы.', + 'The value of the default field (database).' => 'Значение поля по умолчанию (база данных).', + 'Display order of fields.' => 'Порядок отображения полей.', + 'Not visited' => 'Не входил', + 'Search' => 'Искать', + 'Advanced Search' => 'Расширенный поиск', + 'You may optionally enter a comparison operator (<, <=, >, >=, <> or =) at the beginning of each of your search values to specify how the comparison should be done.'=>'Вы можете использовать операторы сравнения (<, <=, >, >=, <> or =) установив их перед значением.', +); + diff --git a/www/protected/modules/yii-user-master/messages/uk/user.php b/www/protected/modules/yii-user-master/messages/uk/user.php new file mode 100644 index 0000000..3a2373b --- /dev/null +++ b/www/protected/modules/yii-user-master/messages/uk/user.php @@ -0,0 +1,136 @@ + 'Реєстрація', + 'Register' => 'Зареєструватися', + 'Login' => 'Вхід', + 'Logout' => 'Вийти', + 'username' => 'Логін', + 'username or email' => 'Логін або email', + 'password' => 'Пароль', + 'Remember me next time' => 'Запам\'ятати мене', + 'Username is incorrect.' => 'Користувач з таким ім\'ям вже зареєструвався', + 'Email is incorrect.' => 'Користувач з такою електронною адресою не зареєструвався', + "This user's name already exists." => 'Користувач з таким ім\'ям вже зареєструвався', + "This user's email address already exists." => 'Користувач з такою електронною адресою вже зареєструвався.', + 'You registered from {site_name}' => 'Ви зареєструвалися на сайті {site_name}', + 'Please activate you account go to {activation_url}' => 'Для активації профіля, будь ласка, перейдіть за цим посиланням {activation_url}', + 'You account is not activated.' => 'Ваш профіль не активовано', + 'You account is blocked.' => 'Ваш профіль заблоковано', + 'Password is incorrect.' => 'Невірний пароль', + 'E-mail' => 'Електронна пошта', + 'Verification Code' => 'Перевірочний код', + 'Retype Password' => 'Повторіть пароль', + 'Retype Password is incorrect.' => 'Паролі не співпадають', + 'Incorrect password (minimal length 4 symbols).' => 'Мінімальна довжина паролю 4 символи', + 'Incorrect username (length between 3 and 20 characters).' => 'Довжина імені користувача від 3 до 20 символів', + "Incorrect symbol's. (A-z0-9)" => 'В імені користувача допускаються лише латинські літери та цифри', + 'Variable name may consist of a-z, 0-9, underscores, begin with a letter.'=>'В назі змінної можуть бути тільки латинські літери, цифри та символ нижнього підкреслення.', + "Length of ' + n + ' must be between '+min+' and '+max+'."=>"Довжина ' + n + ' має бути не менше '+min+' і не більше '+max+' символів.", + 'Please enter the letters as they are shown in the image above.' => 'Будь ласка, введіть букви, вказані на малюнку', + 'Letters are not case-sensitive.' => 'Реєстр не має значення', + 'Minimal password length 4 symbols.' => 'Мінімальна довжина паролю 4 символи', + 'Lost Password?' => 'Забули пароль?', + 'Profile' => 'Профіль', + 'activation key' => 'Ключ активації', + 'User activation' => 'Активація користувача', + 'You account is active.' => 'Ваш профіль на сайті вже активовано', + 'You account is activated.' => 'Ваш профіль на сайті активовано', + 'Incorrect activation URL.' => 'Неправильне посилання активації профілю', + 'Registration date' => 'Дата реєстрації', + 'Last visit' => 'Останній візит', + 'Superuser' => 'Супер користувач', + 'Status' => 'Статус', + 'Ok' => 'Ok', + 'Show all'=> 'Показати все', + 'Save' => 'Зберегти', + 'Cancel'=> 'Відмінити', + 'New password is saved.' => 'Новий пароль збережено', + 'Change password' => 'Змінити пароль', + 'Your profile' => 'Ваш профіль', + 'Thank you for your registration. Please check your email or login.' => 'Реєстрацію завершено. Будь ласка, перевірте свою електронну пошту або увійдіть на сайт', + 'Thank you for your registration. Please check your email.' => 'Реєстрацію завершено. Будь ласка, перевірте свою електронну пошту', + 'Please check your email. An instructions was sent to your email address.' => 'На Вашу електронну пошту було надіслано лист з інструкціями', + 'Thank you for your registration. Please {{login}}.' => 'Реєстрацію завершено. {{login}}.', + 'Thank you for your registration. Contact Admin to activate your account.' => 'Реєстрацію завершено. Будь ласка, зв\'яжіться з адміністрацією сайту для активації вашого аккаунта', + 'Restore' => 'Відновити', + 'Please enter your login or email addres.' => 'Будь ласка, введіть Ваш логін або електронну пошту', + 'Incorrect recovery link.' => 'Неправильне посилання відновлення паролю', + 'Already exists.' => 'Вже існує', + 'First Name' => 'Ім\'я', + 'Last Name' => 'Прізвище', + 'No' => 'Ні', + 'Yes' => 'Так', + 'Yes and show on registration form' => 'Так і показати при реєстрації', + 'No, but show on registration form' => 'Ні, але показати при реєстрації', + 'Not active' => 'Не активовано', + 'Active' => 'Активовано', + 'Banned' => 'Заблоковано', + 'Please fill out the following form with your login credentials:' => 'Будь ласка, заповніть наступну форму з вашим Логіном та паролем:', + 'Fields with * are required.' => '* Обов\'язкові поля', + 'List User' => 'Список користувачів', + 'Edit' => 'Редагувати', + 'Edit profile' => 'Редагування профілю', + 'Create User' => 'Новий', + 'Create' => 'Новий', + 'Manage' => 'Управління', + 'Manage Users' => 'Управління користувачами', + 'Users' => 'Користувачі', + 'Update User' => 'Редагувати', + 'Delete User' => 'Видалити', + 'Delete file' => 'Видалити файл', + 'View User' => 'Перегляд профілю', + 'Are you sure to delete this item?' => 'Ви дійсно хочете видалити користувача?', + 'Changes is saved.' => 'Зміни збережено', + 'Manage Profile Field' => 'Налаштування полів', + 'Variable name' => 'Ім\'я змінної', + 'Title' => 'Назва', + 'Field Type' => 'Тип поля', + 'Field Size' => 'Розмір поля', + 'Field Size min' => 'Мінімальне значення', + 'Required' => 'Обов\'язковість', + 'Match' => 'Збіг (RegExp)', + 'Range' => 'Ряд значень', + 'Error Message' => 'Повідомлення про помилку', + 'Other Validator' => 'Інший валідатор', + 'JSON string (example: {example}).'=>'JSON строка (приклад: {example}).', + 'Default' => 'За замовчуванням', + 'Position' => 'Позиція', + 'Visible' => 'Видимість', + 'Registered users' => 'Зареєстровані користувачі', + 'For all' => 'Для всіх', + 'Only owner' => 'Тільки власник', + 'Hidden' => 'Приховано', + 'Profile Fields' => 'Поля профілю', + 'View Profile Field #' => 'Поле профілю #', + 'Manage Profile Fields' => 'Налаштування полів', + 'Create Profile Field' => 'Додати', + 'List Profile Field' => 'Список', + 'View Profile Field' => 'Перегляд', + 'Delete Profile Field' => 'Видалити', + 'Update Profile Field' => 'Редагувати', + 'Widget'=>'Віджет', + 'Widget parametrs'=>'Параметри віджета', + 'Widget name.'=>'Назва віджета.', + 'Allowed lowercase letters and digits.' => 'Допускаються малі літери і цифри.', + 'Field name on the language of "sourceLanguage".' => 'Назва поля на мові "sourceLanguage".', + 'Field type column in the database.' => 'Тип поля колонки в базі даних.', + 'Field size column in the database.' => 'Розмір поля колонки в базі даних', + 'The minimum value of the field (form validator).' => 'Мінімальне значення поля (перевірка форми).', + 'Required field (form validator).' => 'Обов\'язкове поле (перевірка форми).', + "Regular expression (example: '/^[A-Za-z0-9\s,]+$/u')." => "Регулярні вирази (приклад: '/^[A-Za-z0-9\s,]+$/u')", + 'Predefined values (example: 1;2;3;4;5 or 1==One;2==Two;3==Three;4==Four;5==Five).' => 'Допустимі значения (приклад: 1;2;3;4;5 або 1==Один;2==Два;3==Три;4==Чотири;5==П\'ять).', + 'Error message when you validate the form.' => 'Повідомлення про помилку при перевірці форми.', + 'The value of the default field (database).' => 'Значення поля за замовчуванням (база даних).', + 'Display order of fields.' => 'Порядок відображення полів.', + 'Not visited' => 'Користувач не відвідував сайт', + + + + + + +); \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/migrations/m110805_153437_installYiiUser.php b/www/protected/modules/yii-user-master/migrations/m110805_153437_installYiiUser.php new file mode 100644 index 0000000..6130658 --- /dev/null +++ b/www/protected/modules/yii-user-master/migrations/m110805_153437_installYiiUser.php @@ -0,0 +1,212 @@ +getModule('user')) { + echo "\n\nAdd to console.php :\n" + ."'modules'=>array(\n" + ."...\n" + ." 'user'=>array(\n" + ." ... # copy settings from main config\n" + ." ),\n" + ."...\n" + ."),\n" + ."\n"; + return false; + } + Yii::import('user.models.User'); + //* + switch ($this->dbType()) { + case "mysql": + $this->createTable(Yii::app()->getModule('user')->tableUsers, array( + "id" => "pk", + "username" => "varchar(20) NOT NULL DEFAULT ''", + "password" => "varchar(128) NOT NULL DEFAULT ''", + "email" => "varchar(128) NOT NULL DEFAULT ''", + "activkey" => "varchar(128) NOT NULL DEFAULT ''", + "createtime" => "int(10) NOT NULL DEFAULT 0", + "lastvisit" => "int(10) NOT NULL DEFAULT 0", + "superuser" => "int(1) NOT NULL DEFAULT 0", + "status" => "int(1) NOT NULL DEFAULT 0", + ), $this->MySqlOptions); + $this->createIndex('user_username', Yii::app()->getModule('user')->tableUsers, 'username', true); + $this->createIndex('user_email', Yii::app()->getModule('user')->tableUsers, 'email', true); + $this->createTable(Yii::app()->getModule('user')->tableProfiles, array( + 'user_id' => 'pk', + 'first_name' => 'string', + 'last_name' => 'string', + ), $this->MySqlOptions); + $this->addForeignKey('user_profile_id', Yii::app()->getModule('user')->tableProfiles, 'user_id', Yii::app()->getModule('user')->tableUsers, 'id', 'CASCADE', 'RESTRICT'); + $this->createTable(Yii::app()->getModule('user')->tableProfileFields, array( + "id" => "pk", + "varname" => "varchar(50) NOT NULL DEFAULT ''", + "title" => "varchar(255) NOT NULL DEFAULT ''", + "field_type" => "varchar(50) NOT NULL DEFAULT ''", + "field_size" => "int(3) NOT NULL DEFAULT 0", + "field_size_min" => "int(3) NOT NULL DEFAULT 0", + "required" => "int(1) NOT NULL DEFAULT 0", + "match" => "varchar(255) NOT NULL DEFAULT ''", + "range" => "varchar(255) NOT NULL DEFAULT ''", + "error_message" => "varchar(255) NOT NULL DEFAULT ''", + "other_validator" => "text", + "default" => "varchar(255) NOT NULL DEFAULT ''", + "widget" => "varchar(255) NOT NULL DEFAULT ''", + "widgetparams" => "text", + "position" => "int(3) NOT NULL DEFAULT 0", + "visible" => "int(1) NOT NULL DEFAULT 0", + ), $this->MySqlOptions); + break; + + case "sqlite": + default: + $this->createTable(Yii::app()->getModule('user')->tableUsers, array( + "id" => "pk", + "username" => "varchar(20) NOT NULL", + "password" => "varchar(128) NOT NULL", + "email" => "varchar(128) NOT NULL", + "activkey" => "varchar(128) NOT NULL", + "createtime" => "int(10) NOT NULL", + "lastvisit" => "int(10) NOT NULL", + "superuser" => "int(1) NOT NULL", + "status" => "int(1) NOT NULL", + )); + $this->createIndex('user_username', Yii::app()->getModule('user')->tableUsers, 'username', true); + $this->createIndex('user_email', Yii::app()->getModule('user')->tableUsers, 'email', true); + $this->createTable(Yii::app()->getModule('user')->tableProfiles, array( + 'user_id' => 'pk', + 'first_name' => 'string', + 'last_name' => 'string', + )); + $this->createTable(Yii::app()->getModule('user')->tableProfileFields, array( + "id" => "pk", + "varname" => "varchar(50) NOT NULL", + "title" => "varchar(255) NOT NULL", + "field_type" => "varchar(50) NOT NULL", + "field_size" => "int(3) NOT NULL", + "field_size_min" => "int(3) NOT NULL", + "required" => "int(1) NOT NULL", + "match" => "varchar(255) NOT NULL", + "range" => "varchar(255) NOT NULL", + "error_message" => "varchar(255) NOT NULL", + "other_validator" => "text NOT NULL", + "default" => "varchar(255) NOT NULL", + "widget" => "varchar(255) NOT NULL", + "widgetparams" => "text NOT NULL", + "position" => "int(3) NOT NULL", + "visible" => "int(1) NOT NULL", + )); + + break; + }//*/ + + if (in_array('--interactive=0',$_SERVER['argv'])) { + $this->_model->username = 'admin'; + $this->_model->email = 'webmaster@example.com'; + $this->_model->password = 'admin'; + } else { + $this->readStdinUser('Admin login', 'username', 'admin'); + $this->readStdinUser('Admin email', 'email', 'webmaster@example.com'); + $this->readStdinUser('Admin password', 'password', 'admin'); + } + + $this->insert(Yii::app()->getModule('user')->tableUsers, array( + "id" => "1", + "username" => $this->_model->username, + "password" => Yii::app()->getModule('user')->encrypting($this->_model->password), + "email" => $this->_model->email, + "activkey" => Yii::app()->getModule('user')->encrypting(microtime()), + "createtime" => time(), + "lastvisit" => "0", + "superuser" => "1", + "status" => "1", + )); + + $this->insert(Yii::app()->getModule('user')->tableProfiles, array( + "user_id" => "1", + "first_name" => "Administrator", + "last_name" => "Admin", + )); + + $this->insert(Yii::app()->getModule('user')->tableProfileFields, array( + "id" => "1", + "varname" => "first_name", + "title" => "First Name", + "field_type" => "VARCHAR", + "field_size" => "255", + "field_size_min" => "3", + "required" => "2", + "match" => "", + "range" => "", + "error_message" => "Incorrect First Name (length between 3 and 50 characters).", + "other_validator" => "", + "default" => "", + "widget" => "", + "widgetparams" => "", + "position" => "1", + "visible" => "3", + )); + $this->insert(Yii::app()->getModule('user')->tableProfileFields, array( + "id" => "2", + "varname" => "last_name", + "title" => "Last Name", + "field_type" => "VARCHAR", + "field_size" => "255", + "field_size_min" => "3", + "required" => "2", + "match" => "", + "range" => "", + "error_message" => "Incorrect Last Name (length between 3 and 50 characters).", + "other_validator" => "", + "default" => "", + "widget" => "", + "widgetparams" => "", + "position" => "2", + "visible" => "3", + )); + } + + public function safeDown() + { + $this->dropTable(Yii::app()->getModule('user')->tableProfileFields); + $this->dropTable(Yii::app()->getModule('user')->tableProfiles); + $this->dropTable(Yii::app()->getModule('user')->tableUsers); + } + + public function dbType() + { + list($type) = explode(':',Yii::app()->db->connectionString); + echo "type db: ".$type."\n"; + return $type; + } + + private function readStdin($prompt, $valid_inputs, $default = '') { + while(!isset($input) || (is_array($valid_inputs) && !in_array($input, $valid_inputs)) || ($valid_inputs == 'is_file' && !is_file($input))) { + echo $prompt; + $input = strtolower(trim(fgets(STDIN))); + if(empty($input) && !empty($default)) { + $input = $default; + } + } + return $input; + } + + private function readStdinUser($prompt, $field, $default = '') { + if (!$this->_model) + $this->_model = new User; + + while(!isset($input) || !$this->_model->validate(array($field))) { + echo $prompt.(($default)?" [$default]":'').': '; + $input = (trim(fgets(STDIN))); + if(empty($input) && !empty($default)) { + $input = $default; + } + $this->_model->setAttribute($field,$input); + } + return $input; + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/migrations/m110810_162301_userTimestampFix.php b/www/protected/modules/yii-user-master/migrations/m110810_162301_userTimestampFix.php new file mode 100644 index 0000000..60361ef --- /dev/null +++ b/www/protected/modules/yii-user-master/migrations/m110810_162301_userTimestampFix.php @@ -0,0 +1,91 @@ +getModule('user')) { + echo "\n\nAdd to console.php :\n" + ."'modules'=>array(\n" + ."...\n" + ." 'user'=>array(\n" + ." ... # copy settings from main config\n" + ." ),\n" + ."...\n" + ."),\n" + ."\n"; + return false; + } + + switch ($this->dbType()) { + case "mysql": + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'create_at',"TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"); + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'lastvisit_at',"TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'"); + $this->execute("UPDATE ".Yii::app()->getModule('user')->tableUsers." SET create_at = FROM_UNIXTIME(createtime), lastvisit_at = IF(lastvisit,FROM_UNIXTIME(lastvisit),'0000-00-00 00:00:00')"); + $this->dropColumn(Yii::app()->getModule('user')->tableUsers,'createtime'); + $this->dropColumn(Yii::app()->getModule('user')->tableUsers,'lastvisit'); + break; + case "sqlite": + default: + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'create_at',"TIMESTAMP"); + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'lastvisit_at',"TIMESTAMP"); + $this->execute("UPDATE ".Yii::app()->getModule('user')->tableUsers." SET create_at = datetime(createtime, 'unixepoch'), lastvisit_at = datetime(lastvisit, 'unixepoch')"); + $this->execute('ALTER TABLE "'.Yii::app()->getModule('user')->tableUsers.'" RENAME TO "'.__CLASS__.'_'.Yii::app()->getModule('user')->tableUsers.'"'); + $this->createTable(Yii::app()->getModule('user')->tableUsers, array( + "id" => "pk", + "username" => "varchar(20) NOT NULL", + "password" => "varchar(128) NOT NULL", + "email" => "varchar(128) NOT NULL", + "activkey" => "varchar(128) NOT NULL", + "superuser" => "int(1) NOT NULL", + "status" => "int(1) NOT NULL", + "create_at" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP", + "lastvisit_at" => "TIMESTAMP", + )); + $this->execute('INSERT INTO "'.Yii::app()->getModule('user')->tableUsers.'" SELECT "id","username","password","email","activkey","superuser","status","create_at","lastvisit_at" FROM "'.__CLASS__.'_'.Yii::app()->getModule('user')->tableUsers.'"'); + $this->dropTable(__CLASS__.'_'.Yii::app()->getModule('user')->tableUsers); + break; + } + } + + public function safeDown() + { + + switch ($this->dbType()) { + case "mysql": + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'createtime',"int(10) NOT NULL"); + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'lastvisit',"int(10) NOT NULL"); + $this->execute("UPDATE ".Yii::app()->getModule('user')->tableUsers." SET createtime = UNIX_TIMESTAMP(create_at), lastvisit = UNIX_TIMESTAMP(lastvisit_at)"); + $this->dropColumn(Yii::app()->getModule('user')->tableUsers,'create_at'); + $this->dropColumn(Yii::app()->getModule('user')->tableUsers,'lastvisit_at'); + break; + case "sqlite": + default: + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'createtime',"int(10)"); + $this->addColumn(Yii::app()->getModule('user')->tableUsers,'lastvisit',"int(10)"); + $this->execute("UPDATE ".Yii::app()->getModule('user')->tableUsers." SET createtime = strftime('%s',create_at), lastvisit = strftime('%s',lastvisit_at)"); + $this->execute('ALTER TABLE "'.Yii::app()->getModule('user')->tableUsers.'" RENAME TO "'.__CLASS__.'_'.Yii::app()->getModule('user')->tableUsers.'"'); + $this->createTable(Yii::app()->getModule('user')->tableUsers, array( + "id" => "pk", + "username" => "varchar(20) NOT NULL", + "password" => "varchar(128) NOT NULL", + "email" => "varchar(128) NOT NULL", + "activkey" => "varchar(128) NOT NULL", + "createtime" => "int(10) NOT NULL", + "lastvisit" => "int(10) NOT NULL", + "superuser" => "int(1) NOT NULL", + "status" => "int(1) NOT NULL", + )); + $this->execute('INSERT INTO "'.Yii::app()->getModule('user')->tableUsers.'" SELECT "id","username","password","email","activkey","createtime","lastvisit","superuser","status" FROM "'.__CLASS__.'_'.Yii::app()->getModule('user')->tableUsers.'"'); + $this->execute('DROP TABLE "'.__CLASS__.'_'.Yii::app()->getModule('user')->tableUsers.'"'); + break; + } + } + + public function dbType() + { + list($type) = explode(':',Yii::app()->db->connectionString); + echo "type db: ".$type."\n"; + return $type; + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/models/Profile.php b/www/protected/modules/yii-user-master/models/Profile.php new file mode 100644 index 0000000..00b6719 --- /dev/null +++ b/www/protected/modules/yii-user-master/models/Profile.php @@ -0,0 +1,194 @@ +getModule('user')->tableProfiles; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() + { + if (!self::$_rules) { + $required = array(); + $numerical = array(); + $float = array(); + $decimal = array(); + $rules = array(); + + $model=self::getFields(); + + foreach ($model as $field) { + $field_rule = array(); + if ($field->required==ProfileField::REQUIRED_YES_NOT_SHOW_REG||$field->required==ProfileField::REQUIRED_YES_SHOW_REG) + array_push($required,$field->varname); + if ($field->field_type=='FLOAT') + array_push($float,$field->varname); + if ($field->field_type=='DECIMAL') + array_push($decimal,$field->varname); + if ($field->field_type=='INTEGER') + array_push($numerical,$field->varname); + if ($field->field_type=='VARCHAR'||$field->field_type=='TEXT') { + $field_rule = array($field->varname, 'length', 'max'=>$field->field_size, 'min' => $field->field_size_min); + if ($field->error_message) $field_rule['message'] = UserModule::t($field->error_message); + array_push($rules,$field_rule); + } + if ($field->other_validator) { + if (strpos($field->other_validator,'{')===0) { + $validator = (array)CJavaScript::jsonDecode($field->other_validator); + foreach ($validator as $name=>$val) { + $field_rule = array($field->varname, $name); + $field_rule = array_merge($field_rule,(array)$validator[$name]); + if ($field->error_message) $field_rule['message'] = UserModule::t($field->error_message); + array_push($rules,$field_rule); + } + } else { + $field_rule = array($field->varname, $field->other_validator); + if ($field->error_message) $field_rule['message'] = UserModule::t($field->error_message); + array_push($rules,$field_rule); + } + } elseif ($field->field_type=='DATE') { + if ($field->required) + $field_rule = array($field->varname, 'date', 'format' => array('yyyy-mm-dd')); + else + $field_rule = array($field->varname, 'date', 'format' => array('yyyy-mm-dd','0000-00-00'), 'allowEmpty'=>true); + + if ($field->error_message) $field_rule['message'] = UserModule::t($field->error_message); + array_push($rules,$field_rule); + } + if ($field->match) { + $field_rule = array($field->varname, 'match', 'pattern' => $field->match); + if ($field->error_message) $field_rule['message'] = UserModule::t($field->error_message); + array_push($rules,$field_rule); + } + if ($field->range) { + $field_rule = array($field->varname, 'in', 'range' => self::rangeRules($field->range)); + if ($field->error_message) $field_rule['message'] = UserModule::t($field->error_message); + array_push($rules,$field_rule); + } + } + + array_push($rules,array(implode(',',$required), 'required')); + array_push($rules,array(implode(',',$numerical), 'numerical', 'integerOnly'=>true)); + array_push($rules,array(implode(',',$float), 'type', 'type'=>'float')); + array_push($rules,array(implode(',',$decimal), 'match', 'pattern' => '/^\s*[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\s*$/')); + self::$_rules = $rules; + } + return self::$_rules; + } + + /** + * @return array relational rules. + */ + public function relations() + { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + $relations = array( + 'user'=>array(self::HAS_ONE, 'User', 'id'), + ); + if (isset(Yii::app()->getModule('user')->profileRelations)) $relations = array_merge($relations,Yii::app()->getModule('user')->profileRelations); + return $relations; + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() + { + $labels = array( + 'user_id' => UserModule::t('User ID'), + ); + $model=self::getFields(); + + foreach ($model as $field) + $labels[$field->varname] = ((Yii::app()->getModule('user')->fieldsMessage)?UserModule::t($field->title,array(),Yii::app()->getModule('user')->fieldsMessage):UserModule::t($field->title)); + + return $labels; + } + + private function rangeRules($str) { + $rules = explode(';',$str); + for ($i=0;$iwidget) $data[$field->varname]=$field->widget; + } + return $data; + } + + public function widgetParams($fieldName) { + $data = array(); + $model=self::getFields(); + + foreach ($model as $field) { + if ($field->widget) $data[$field->varname]=$field->widgetparams; + } + return $data[$fieldName]; + } + + public static function getFields() { + if (self::$regMode) { + if (!self::$_modelReg) + self::$_modelReg=ProfileField::model()->forRegistration()->findAll(); + return self::$_modelReg; + } else { + if (!self::$_model) + self::$_model=ProfileField::model()->forOwner()->findAll(); + return self::$_model; + } + } + + public function afterSave() { + if (get_class(Yii::app())=='CWebApplication'&&Profile::$regMode==false) { + Yii::app()->user->updateSession(); + } + return parent::afterSave(); + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/models/ProfileField.php b/www/protected/modules/yii-user-master/models/ProfileField.php new file mode 100644 index 0000000..3723ff9 --- /dev/null +++ b/www/protected/modules/yii-user-master/models/ProfileField.php @@ -0,0 +1,247 @@ +getModule('user')->tableProfileFields; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() + { + // NOTE: you should only define rules for those attributes that + // will receive user inputs. + return array( + array('varname, title, field_type', 'required'), + array('varname', 'match', 'pattern' => '/^[A-Za-z_0-9]+$/u','message' => UserModule::t("Variable name may consist of A-z, 0-9, underscores, begin with a letter.")), + array('varname', 'unique', 'message' => UserModule::t("This field already exists.")), + array('varname, field_type', 'length', 'max'=>50), + array('field_size_min, required, position, visible', 'numerical', 'integerOnly'=>true), + array('field_size', 'match', 'pattern' => '/^\s*[-+]?[0-9]*\,*\.?[0-9]+([eE][-+]?[0-9]+)?\s*$/'), + array('title, match, error_message, other_validator, default, widget', 'length', 'max'=>255), + array('range, widgetparams', 'length', 'max'=>5000), + array('id, varname, title, field_type, field_size, field_size_min, required, match, range, error_message, other_validator, default, widget, widgetparams, position, visible', 'safe', 'on'=>'search'), + ); + } + + /** + * @return array relational rules. + */ + public function relations() + { + // NOTE: you may need to adjust the relation name and the related + // class name for the relations automatically generated below. + return array( + ); + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() + { + return array( + 'id' => UserModule::t('Id'), + 'varname' => UserModule::t('Variable name'), + 'title' => UserModule::t('Title'), + 'field_type' => UserModule::t('Field Type'), + 'field_size' => UserModule::t('Field Size'), + 'field_size_min' => UserModule::t('Field Size min'), + 'required' => UserModule::t('Required'), + 'match' => UserModule::t('Match'), + 'range' => UserModule::t('Range'), + 'error_message' => UserModule::t('Error Message'), + 'other_validator' => UserModule::t('Other Validator'), + 'default' => UserModule::t('Default'), + 'widget' => UserModule::t('Widget'), + 'widgetparams' => UserModule::t('Widget parametrs'), + 'position' => UserModule::t('Position'), + 'visible' => UserModule::t('Visible'), + ); + } + + public function scopes() + { + return array( + 'forAll'=>array( + 'condition'=>'visible='.self::VISIBLE_ALL, + 'order'=>'position', + ), + 'forUser'=>array( + 'condition'=>'visible>='.self::VISIBLE_REGISTER_USER, + 'order'=>'position', + ), + 'forOwner'=>array( + 'condition'=>'visible>='.self::VISIBLE_ONLY_OWNER, + 'order'=>'position', + ), + 'forRegistration'=>array( + 'condition'=>'required='.self::REQUIRED_NO_SHOW_REG.' OR required='.self::REQUIRED_YES_SHOW_REG, + 'order'=>'position', + ), + 'sort'=>array( + 'order'=>'position', + ), + ); + } + + /** + * @param $value + * @return formated value (string) + */ + public function widgetView($model) { + if ($this->widget && class_exists($this->widget)) { + $widgetClass = new $this->widget; + + $arr = $this->widgetparams; + if ($arr) { + $newParams = $widgetClass->params; + $arr = (array)CJavaScript::jsonDecode($arr); + foreach ($arr as $p=>$v) { + if (isset($newParams[$p])) $newParams[$p] = $v; + } + $widgetClass->params = $newParams; + } + + if (method_exists($widgetClass,'viewAttribute')) { + return $widgetClass->viewAttribute($model,$this); + } + } + return false; + } + + public function widgetEdit($model,$params=array()) { + if ($this->widget && class_exists($this->widget)) { + $widgetClass = new $this->widget; + + $arr = $this->widgetparams; + if ($arr) { + $newParams = $widgetClass->params; + $arr = (array)CJavaScript::jsonDecode($arr); + foreach ($arr as $p=>$v) { + if (isset($newParams[$p])) $newParams[$p] = $v; + } + $widgetClass->params = $newParams; + } + + if (method_exists($widgetClass,'editAttribute')) { + return $widgetClass->editAttribute($model,$this,$params); + } + } + return false; + } + + public static function itemAlias($type,$code=NULL) { + $_items = array( + 'field_type' => array( + 'INTEGER' => UserModule::t('INTEGER'), + 'VARCHAR' => UserModule::t('VARCHAR'), + 'TEXT'=> UserModule::t('TEXT'), + 'DATE'=> UserModule::t('DATE'), + 'FLOAT'=> UserModule::t('FLOAT'), + 'DECIMAL'=> UserModule::t('DECIMAL'), + 'BOOL'=> UserModule::t('BOOL'), + 'BLOB'=> UserModule::t('BLOB'), + 'BINARY'=> UserModule::t('BINARY'), + ), + 'required' => array( + self::REQUIRED_NO => UserModule::t('No'), + self::REQUIRED_NO_SHOW_REG => UserModule::t('No, but show on registration form'), + self::REQUIRED_YES_SHOW_REG => UserModule::t('Yes and show on registration form'), + self::REQUIRED_YES_NOT_SHOW_REG => UserModule::t('Yes'), + ), + 'visible' => array( + self::VISIBLE_ALL => UserModule::t('For all'), + self::VISIBLE_REGISTER_USER => UserModule::t('Registered users'), + self::VISIBLE_ONLY_OWNER => UserModule::t('Only owner'), + self::VISIBLE_NO => UserModule::t('Hidden'), + ), + ); + if (isset($code)) + return isset($_items[$type][$code]) ? $_items[$type][$code] : false; + else + return isset($_items[$type]) ? $_items[$type] : false; + } + + /** + * Retrieves a list of models based on the current search/filter conditions. + * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. + */ + public function search() + { + // Warning: Please modify the following code to remove attributes that + // should not be searched. + + $criteria=new CDbCriteria; + + $criteria->compare('id',$this->id); + $criteria->compare('varname',$this->varname,true); + $criteria->compare('title',$this->title,true); + $criteria->compare('field_type',$this->field_type,true); + $criteria->compare('field_size',$this->field_size); + $criteria->compare('field_size_min',$this->field_size_min); + $criteria->compare('required',$this->required); + $criteria->compare('match',$this->match,true); + $criteria->compare('range',$this->range,true); + $criteria->compare('error_message',$this->error_message,true); + $criteria->compare('other_validator',$this->other_validator,true); + $criteria->compare('default',$this->default,true); + $criteria->compare('widget',$this->widget,true); + $criteria->compare('widgetparams',$this->widgetparams,true); + $criteria->compare('position',$this->position); + $criteria->compare('visible',$this->visible); + + return new CActiveDataProvider(get_class($this), array( + 'criteria'=>$criteria, + 'pagination'=>array( + 'pageSize'=>Yii::app()->controller->module->fields_page_size, + ), + 'sort'=>array( + 'defaultOrder'=>'position', + ), + )); + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/models/RegistrationForm.php b/www/protected/modules/yii-user-master/models/RegistrationForm.php new file mode 100644 index 0000000..ca48c41 --- /dev/null +++ b/www/protected/modules/yii-user-master/models/RegistrationForm.php @@ -0,0 +1,30 @@ +20, 'min' => 3,'message' => UserModule::t("Incorrect username (length between 3 and 20 characters).")), + array('password', 'length', 'max'=>128, 'min' => 4,'message' => UserModule::t("Incorrect password (minimal length 4 symbols).")), + array('email', 'email'), + array('username', 'unique', 'message' => UserModule::t("This user's name already exists.")), + array('email', 'unique', 'message' => UserModule::t("This user's email address already exists.")), + //array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message' => UserModule::t("Retype Password is incorrect.")), + array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => UserModule::t("Incorrect symbols (A-z0-9).")), + ); + if (!(isset($_POST['ajax']) && $_POST['ajax']==='registration-form')) { + array_push($rules,array('verifyCode', 'captcha', 'allowEmpty'=>!UserModule::doCaptcha('registration'))); + } + + array_push($rules,array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message' => UserModule::t("Retype Password is incorrect."))); + return $rules; + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/models/User.php b/www/protected/modules/yii-user-master/models/User.php new file mode 100644 index 0000000..a245586 --- /dev/null +++ b/www/protected/modules/yii-user-master/models/User.php @@ -0,0 +1,206 @@ +getModule('user')->tableUsers; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() + { + // NOTE: you should only define rules for those attributes that + // will receive user inputs.CConsoleApplication + return ((get_class(Yii::app())=='CConsoleApplication' || (get_class(Yii::app())!='CConsoleApplication' && Yii::app()->getModule('user')->isAdmin()))?array( + array('username', 'length', 'max'=>20, 'min' => 3,'message' => UserModule::t("Incorrect username (length between 3 and 20 characters).")), + array('password', 'length', 'max'=>128, 'min' => 4,'message' => UserModule::t("Incorrect password (minimal length 4 symbols).")), + array('email', 'email'), + array('username', 'unique', 'message' => UserModule::t("This user's name already exists.")), + array('email', 'unique', 'message' => UserModule::t("This user's email address already exists.")), + array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => UserModule::t("Incorrect symbols (A-z0-9).")), + array('status', 'in', 'range'=>array(self::STATUS_NOACTIVE,self::STATUS_ACTIVE,self::STATUS_BANNED)), + array('superuser', 'in', 'range'=>array(0,1)), + array('create_at', 'default', 'value' => date('Y-m-d H:i:s'), 'setOnEmpty' => true, 'on' => 'insert'), + array('lastvisit_at', 'default', 'value' => '0000-00-00 00:00:00', 'setOnEmpty' => true, 'on' => 'insert'), + array('username, email, superuser, status', 'required'), + array('superuser, status', 'numerical', 'integerOnly'=>true), + array('id, username, password, email, activkey, create_at, lastvisit_at, superuser, status', 'safe', 'on'=>'search'), + ):((Yii::app()->user->id==$this->id)?array( + array('username, email', 'required'), + array('username', 'length', 'max'=>20, 'min' => 3,'message' => UserModule::t("Incorrect username (length between 3 and 20 characters).")), + array('email', 'email'), + array('username', 'unique', 'message' => UserModule::t("This user's name already exists.")), + array('username', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => UserModule::t("Incorrect symbols (A-z0-9).")), + array('email', 'unique', 'message' => UserModule::t("This user's email address already exists.")), + ):array())); + } + + /** + * @return array relational rules. + */ + public function relations() + { + $relations = Yii::app()->getModule('user')->relations; + if (!isset($relations['profile'])) + $relations['profile'] = array(self::HAS_ONE, 'Profile', 'user_id'); + return $relations; + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() + { + return array( + 'id' => UserModule::t("Id"), + 'username'=>UserModule::t("username"), + 'password'=>UserModule::t("password"), + 'verifyPassword'=>UserModule::t("Retype Password"), + 'email'=>UserModule::t("E-mail"), + 'verifyCode'=>UserModule::t("Verification Code"), + 'activkey' => UserModule::t("activation key"), + 'createtime' => UserModule::t("Registration date"), + 'create_at' => UserModule::t("Registration date"), + + 'lastvisit_at' => UserModule::t("Last visit"), + 'superuser' => UserModule::t("Superuser"), + 'status' => UserModule::t("Status"), + ); + } + + public function scopes() + { + return array( + 'active'=>array( + 'condition'=>'status='.self::STATUS_ACTIVE, + ), + 'notactive'=>array( + 'condition'=>'status='.self::STATUS_NOACTIVE, + ), + 'banned'=>array( + 'condition'=>'status='.self::STATUS_BANNED, + ), + 'superuser'=>array( + 'condition'=>'superuser=1', + ), + 'notsafe'=>array( + 'select' => 'id, username, password, email, activkey, create_at, lastvisit_at, superuser, status', + ), + ); + } + + public function defaultScope() + { + return CMap::mergeArray(Yii::app()->getModule('user')->defaultScope,array( + 'alias'=>'user', + 'select' => 'user.id, user.username, user.email, user.create_at, user.lastvisit_at, user.superuser, user.status', + )); + } + + public static function itemAlias($type,$code=NULL) { + $_items = array( + 'UserStatus' => array( + self::STATUS_NOACTIVE => UserModule::t('Not active'), + self::STATUS_ACTIVE => UserModule::t('Active'), + self::STATUS_BANNED => UserModule::t('Banned'), + ), + 'AdminStatus' => array( + '0' => UserModule::t('No'), + '1' => UserModule::t('Yes'), + ), + ); + if (isset($code)) + return isset($_items[$type][$code]) ? $_items[$type][$code] : false; + else + return isset($_items[$type]) ? $_items[$type] : false; + } + +/** + * Retrieves a list of models based on the current search/filter conditions. + * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. + */ + public function search() + { + // Warning: Please modify the following code to remove attributes that + // should not be searched. + + $criteria=new CDbCriteria; + + $criteria->compare('id',$this->id); + $criteria->compare('username',$this->username,true); + $criteria->compare('password',$this->password); + $criteria->compare('email',$this->email,true); + $criteria->compare('activkey',$this->activkey); + $criteria->compare('create_at',$this->create_at); + $criteria->compare('lastvisit_at',$this->lastvisit_at); + $criteria->compare('superuser',$this->superuser); + $criteria->compare('status',$this->status); + + return new CActiveDataProvider(get_class($this), array( + 'criteria'=>$criteria, + 'pagination'=>array( + 'pageSize'=>Yii::app()->getModule('user')->user_page_size, + ), + )); + } + + public function getCreatetime() { + return strtotime($this->create_at); + } + + public function setCreatetime($value) { + $this->create_at=date('Y-m-d H:i:s',$value); + } + + public function getLastvisit() { + return strtotime($this->lastvisit_at); + } + + public function setLastvisit($value) { + $this->lastvisit_at=date('Y-m-d H:i:s',$value); + } + + public function afterSave() { + if (get_class(Yii::app())=='CWebApplication'&&Profile::$regMode==false) { + Yii::app()->user->updateSession(); + } + return parent::afterSave(); + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/models/UserChangePassword.php b/www/protected/modules/yii-user-master/models/UserChangePassword.php new file mode 100644 index 0000000..e1256f5 --- /dev/null +++ b/www/protected/modules/yii-user-master/models/UserChangePassword.php @@ -0,0 +1,45 @@ +controller->id == 'recovery' ? array( + array('password, verifyPassword', 'required'), + array('password, verifyPassword', 'length', 'max'=>128, 'min' => 4,'message' => UserModule::t("Incorrect password (minimal length 4 symbols).")), + array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message' => UserModule::t("Retype Password is incorrect.")), + ) : array( + array('oldPassword, password, verifyPassword', 'required'), + array('oldPassword, password, verifyPassword', 'length', 'max'=>128, 'min' => 4,'message' => UserModule::t("Incorrect password (minimal length 4 symbols).")), + array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message' => UserModule::t("Retype Password is incorrect.")), + array('oldPassword', 'verifyOldPassword'), + ); + } + + /** + * Declares attribute labels. + */ + public function attributeLabels() + { + return array( + 'oldPassword'=>UserModule::t("Old Password"), + 'password'=>UserModule::t("password"), + 'verifyPassword'=>UserModule::t("Retype Password"), + ); + } + + /** + * Verify Old Password + */ + public function verifyOldPassword($attribute, $params) + { + if (User::model()->notsafe()->findByPk(Yii::app()->user->id)->password != Yii::app()->getModule('user')->encrypting($this->$attribute)) + $this->addError($attribute, UserModule::t("Old Password is incorrect.")); + } +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/models/UserLogin.php b/www/protected/modules/yii-user-master/models/UserLogin.php new file mode 100644 index 0000000..ed22f18 --- /dev/null +++ b/www/protected/modules/yii-user-master/models/UserLogin.php @@ -0,0 +1,77 @@ +UserModule::t("Remember me next time"), + 'username'=>UserModule::t("username or email"), + 'password'=>UserModule::t("password"), + ); + } + + /** + * Authenticates the password. + * This is the 'authenticate' validator as declared in rules(). + */ + public function authenticate($attribute,$params) + { + if(!$this->hasErrors()) // we only want to authenticate when no input errors + { + $identity=new UserIdentity($this->username,$this->password); + $identity->authenticate(); + switch($identity->errorCode) + { + case UserIdentity::ERROR_NONE: + $duration=$this->rememberMe ? Yii::app()->controller->module->rememberMeTime : 0; + Yii::app()->user->login($identity,$duration); + break; + case UserIdentity::ERROR_EMAIL_INVALID: + $this->addError("username",UserModule::t("Email is incorrect.")); + break; + case UserIdentity::ERROR_USERNAME_INVALID: + $this->addError("username",UserModule::t("Username is incorrect.")); + break; + case UserIdentity::ERROR_STATUS_NOTACTIV: + $this->addError("status",UserModule::t("You account is not activated.")); + break; + case UserIdentity::ERROR_STATUS_BAN: + $this->addError("status",UserModule::t("You account is blocked.")); + break; + case UserIdentity::ERROR_PASSWORD_INVALID: + $this->addError("password",UserModule::t("Password is incorrect.")); + break; + } + } + } +} diff --git a/www/protected/modules/yii-user-master/models/UserRecoveryForm.php b/www/protected/modules/yii-user-master/models/UserRecoveryForm.php new file mode 100644 index 0000000..98b0f12 --- /dev/null +++ b/www/protected/modules/yii-user-master/models/UserRecoveryForm.php @@ -0,0 +1,58 @@ + '/^[A-Za-z0-9@.-\s,]+$/u','message' => UserModule::t("Incorrect symbols (A-z0-9).")), + // password needs to be authenticated + array('login_or_email', 'checkexists'), + ); + } + /** + * Declares attribute labels. + */ + public function attributeLabels() + { + return array( + 'login_or_email'=>UserModule::t("username or email"), + ); + } + + public function checkexists($attribute,$params) { + if(!$this->hasErrors()) // we only want to authenticate when no input errors + { + if (strpos($this->login_or_email,"@")) { + $user=User::model()->findByAttributes(array('email'=>$this->login_or_email)); + if ($user) + $this->user_id=$user->id; + } else { + $user=User::model()->findByAttributes(array('username'=>$this->login_or_email)); + if ($user) + $this->user_id=$user->id; + } + + if($user===null) + if (strpos($this->login_or_email,"@")) { + $this->addError("login_or_email",UserModule::t("Email is incorrect.")); + } else { + $this->addError("login_or_email",UserModule::t("Username is incorrect.")); + } + } + } + +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/admin/_form.php b/www/protected/modules/yii-user-master/views/admin/_form.php new file mode 100644 index 0000000..0d294c8 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/admin/_form.php @@ -0,0 +1,73 @@ +
    + +beginWidget('CActiveForm', array( + 'id'=>'user-form', + 'enableAjaxValidation'=>true, + 'htmlOptions' => array('enctype'=>'multipart/form-data'), +)); +?> + +

    * are required.'); ?>

    + + errorSummary(array($model,$profile)); ?> + +
    + labelEx($model,'username'); ?> + textField($model,'username',array('size'=>20,'maxlength'=>20)); ?> + error($model,'username'); ?> +
    + +
    + labelEx($model,'password'); ?> + passwordField($model,'password',array('size'=>60,'maxlength'=>128)); ?> + error($model,'password'); ?> +
    + +
    + labelEx($model,'email'); ?> + textField($model,'email',array('size'=>60,'maxlength'=>128)); ?> + error($model,'email'); ?> +
    + +
    + labelEx($model,'superuser'); ?> + dropDownList($model,'superuser',User::itemAlias('AdminStatus')); ?> + error($model,'superuser'); ?> +
    + +
    + labelEx($model,'status'); ?> + dropDownList($model,'status',User::itemAlias('UserStatus')); ?> + error($model,'status'); ?> +
    + +
    + labelEx($profile,$field->varname); ?> + widgetEdit($profile)) { + echo $widgetEdit; + } elseif ($field->range) { + echo $form->dropDownList($profile,$field->varname,Profile::range($field->range)); + } elseif ($field->field_type=="TEXT") { + echo CHtml::activeTextArea($profile,$field->varname,array('rows'=>6, 'cols'=>50)); + } else { + echo $form->textField($profile,$field->varname,array('size'=>60,'maxlength'=>(($field->field_size)?$field->field_size:255))); + } + ?> + error($profile,$field->varname); ?> +
    + +
    + isNewRecord ? UserModule::t('Create') : UserModule::t('Save')); ?> +
    + +endWidget(); ?> + +
    \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/admin/_search.php b/www/protected/modules/yii-user-master/views/admin/_search.php new file mode 100644 index 0000000..7a7d02e --- /dev/null +++ b/www/protected/modules/yii-user-master/views/admin/_search.php @@ -0,0 +1,54 @@ +
    + +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
    + label($model,'id'); ?> + textField($model,'id'); ?> +
    + +
    + label($model,'username'); ?> + textField($model,'username',array('size'=>20,'maxlength'=>20)); ?> +
    + +
    + label($model,'email'); ?> + textField($model,'email',array('size'=>60,'maxlength'=>128)); ?> +
    + +
    + label($model,'activkey'); ?> + textField($model,'activkey',array('size'=>60,'maxlength'=>128)); ?> +
    + +
    + label($model,'create_at'); ?> + textField($model,'create_at'); ?> +
    + +
    + label($model,'lastvisit_at'); ?> + textField($model,'lastvisit_at'); ?> +
    + +
    + label($model,'superuser'); ?> + dropDownList($model,'superuser',$model->itemAlias('AdminStatus')); ?> +
    + +
    + label($model,'status'); ?> + dropDownList($model,'status',$model->itemAlias('UserStatus')); ?> +
    + +
    + +
    + +endWidget(); ?> + +
    \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/admin/create.php b/www/protected/modules/yii-user-master/views/admin/create.php new file mode 100644 index 0000000..a4680f6 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/admin/create.php @@ -0,0 +1,17 @@ +breadcrumbs=array( + UserModule::t('Users')=>array('admin'), + UserModule::t('Create'), +); + +$this->menu=array( + array('label'=>UserModule::t('Manage Users'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('profileField/admin')), + array('label'=>UserModule::t('List User'), 'url'=>array('/user')), +); +?> +

    + +renderPartial('_form', array('model'=>$model,'profile'=>$profile)); +?> \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/admin/index.php b/www/protected/modules/yii-user-master/views/admin/index.php new file mode 100644 index 0000000..c4706b9 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/admin/index.php @@ -0,0 +1,75 @@ +breadcrumbs=array( + UserModule::t('Users')=>array('/user'), + UserModule::t('Manage'), +); + +$this->menu=array( + array('label'=>UserModule::t('Create User'), 'url'=>array('create')), + array('label'=>UserModule::t('Manage Users'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('profileField/admin')), + array('label'=>UserModule::t('List User'), 'url'=>array('/user')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $.fn.yiiGridView.update('user-grid', { + data: $(this).serialize() + }); + return false; +}); +"); + +?> +

    + +

    <, <=, >, >=, <> or =) at the beginning of each of your search values to specify how the comparison should be done."); ?>

    + +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'user-grid', + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + array( + 'name' => 'id', + 'type'=>'raw', + 'value' => 'CHtml::link(CHtml::encode($data->id),array("admin/update","id"=>$data->id))', + ), + array( + 'name' => 'username', + 'type'=>'raw', + 'value' => 'CHtml::link(UHtml::markSearch($data,"username"),array("admin/view","id"=>$data->id))', + ), + array( + 'name'=>'email', + 'type'=>'raw', + 'value'=>'CHtml::link(UHtml::markSearch($data,"email"), "mailto:".$data->email)', + ), + 'create_at', + 'lastvisit_at', + array( + 'name'=>'superuser', + 'value'=>'User::itemAlias("AdminStatus",$data->superuser)', + 'filter'=>User::itemAlias("AdminStatus"), + ), + array( + 'name'=>'status', + 'value'=>'User::itemAlias("UserStatus",$data->status)', + 'filter' => User::itemAlias("UserStatus"), + ), + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/www/protected/modules/yii-user-master/views/admin/update.php b/www/protected/modules/yii-user-master/views/admin/update.php new file mode 100644 index 0000000..4a1d7e5 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/admin/update.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + (UserModule::t('Users'))=>array('admin'), + $model->username=>array('view','id'=>$model->id), + (UserModule::t('Update')), +); +$this->menu=array( + array('label'=>UserModule::t('Create User'), 'url'=>array('create')), + array('label'=>UserModule::t('View User'), 'url'=>array('view','id'=>$model->id)), + array('label'=>UserModule::t('Manage Users'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('profileField/admin')), + array('label'=>UserModule::t('List User'), 'url'=>array('/user')), +); +?> + +

    id; ?>

    + +renderPartial('_form', array('model'=>$model,'profile'=>$profile)); +?> \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/admin/view.php b/www/protected/modules/yii-user-master/views/admin/view.php new file mode 100644 index 0000000..4f2dafe --- /dev/null +++ b/www/protected/modules/yii-user-master/views/admin/view.php @@ -0,0 +1,60 @@ +breadcrumbs=array( + UserModule::t('Users')=>array('admin'), + $model->username, +); + + +$this->menu=array( + array('label'=>UserModule::t('Create User'), 'url'=>array('create')), + array('label'=>UserModule::t('Update User'), 'url'=>array('update','id'=>$model->id)), + array('label'=>UserModule::t('Delete User'), 'url'=>'#','linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>UserModule::t('Are you sure to delete this item?'))), + array('label'=>UserModule::t('Manage Users'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('profileField/admin')), + array('label'=>UserModule::t('List User'), 'url'=>array('/user')), +); +?> +

    username.'"'; ?>

    + +forOwner()->sort()->findAll(); + if ($profileFields) { + foreach($profileFields as $field) { + array_push($attributes,array( + 'label' => UserModule::t($field->title), + 'name' => $field->varname, + 'type'=>'raw', + 'value' => (($field->widgetView($model->profile))?$field->widgetView($model->profile):(($field->range)?Profile::range($field->range,$model->profile->getAttribute($field->varname)):$model->profile->getAttribute($field->varname))), + )); + } + } + + array_push($attributes, + 'password', + 'email', + 'activkey', + 'create_at', + 'lastvisit_at', + array( + 'name' => 'superuser', + 'value' => User::itemAlias("AdminStatus",$model->superuser), + ), + array( + 'name' => 'status', + 'value' => User::itemAlias("UserStatus",$model->status), + ) + ); + + $this->widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>$attributes, + )); + + +?> diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-anim_basic_16x16.gif b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-anim_basic_16x16.gif new file mode 100644 index 0000000..085ccae Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-anim_basic_16x16.gif differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_flat_0_aaaaaa_40x100.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000..5b5dab2 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_flat_75_ffffff_40x100.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000..ac8b229 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_flat_75_ffffff_40x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_55_fbf9ee_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000..ad3d634 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_65_ffffff_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000..42ccba2 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_75_dadada_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000..5a46b47 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_75_dadada_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_75_e6e6e6_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000..86c2baa Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_75_e6e6e6_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_95_fef1ec_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000..4443fdc Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000..7c9fa6c Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_222222_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..ee039dc Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_222222_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_2e83ff_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000..45e8928 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_2e83ff_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_454545_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000..7ec70d1 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_454545_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_888888_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000..5ba708c Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_888888_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_cd0a0a_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000..7930a55 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/base/images/ui-icons_cd0a0a_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery-ui.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery-ui.css new file mode 100644 index 0000000..6af2aff --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery-ui.css @@ -0,0 +1,484 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } +/* Accordion +----------------------------------*/ +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +/* IE7-/Win - Fix extra vertical space in lists */ +.ui-accordion a { zoom: 1; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; }/* Autocomplete +----------------------------------*/ +.ui-autocomplete { position: absolute; cursor: default; } +.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* Menu +----------------------------------*/ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* Button +----------------------------------*/ + +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ + + + + + +/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* Dialog +----------------------------------*/ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* Progressbar +----------------------------------*/ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable +----------------------------------*/ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider +----------------------------------*/ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs +----------------------------------*/ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/ +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } +.ui-widget-content a { color: #222222/*{fcContent}*/; } +.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } +.ui-widget-header a { color: #222222/*{fcHeader}*/; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-top { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-right { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-left { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all { -moz-border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; border-radius: 4px/*{cornerRadius}*/; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } +.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.accordion.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.accordion.css new file mode 100644 index 0000000..8d8a1a6 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.accordion.css @@ -0,0 +1,12 @@ +/* Accordion +----------------------------------*/ +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +/* IE7-/Win - Fix extra vertical space in lists */ +.ui-accordion a { zoom: 1; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.all.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.all.css new file mode 100644 index 0000000..6ee0fdf --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.all.css @@ -0,0 +1,2 @@ +@import "jquery.ui.base.css"; +@import "jquery.ui.theme.css"; diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.autocomplete.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.autocomplete.css new file mode 100644 index 0000000..f990062 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.autocomplete.css @@ -0,0 +1,39 @@ +/* Autocomplete +----------------------------------*/ +.ui-autocomplete { position: absolute; cursor: default; } +.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* Menu +----------------------------------*/ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.base.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.base.css new file mode 100644 index 0000000..eed06a2 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.base.css @@ -0,0 +1,11 @@ +@import url("jquery.ui.core.css"); + +@import url("jquery.ui.accordion.css"); +@import url("jquery.ui.autocomplete.css"); +@import url("jquery.ui.button.css"); +@import url("jquery.ui.datepicker.css"); +@import url("jquery.ui.dialog.css"); +@import url("jquery.ui.progressbar.css"); +@import url("jquery.ui.resizable.css"); +@import url("jquery.ui.slider.css"); +@import url("jquery.ui.tabs.css"); diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.button.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.button.css new file mode 100644 index 0000000..47777a4 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.button.css @@ -0,0 +1,35 @@ +/* Button +----------------------------------*/ + +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ + + + + + diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.core.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.core.css new file mode 100644 index 0000000..b3e8193 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.core.css @@ -0,0 +1,37 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.datepicker.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.datepicker.css new file mode 100644 index 0000000..a1116e6 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.datepicker.css @@ -0,0 +1,61 @@ +/* Datepicker +----------------------------------*/ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.dialog.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.dialog.css new file mode 100644 index 0000000..f835464 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.dialog.css @@ -0,0 +1,13 @@ +/* Dialog +----------------------------------*/ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.progressbar.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.progressbar.css new file mode 100644 index 0000000..bc0939e --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.progressbar.css @@ -0,0 +1,4 @@ +/* Progressbar +----------------------------------*/ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.resizable.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.resizable.css new file mode 100644 index 0000000..366643b --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.resizable.css @@ -0,0 +1,13 @@ +/* Resizable +----------------------------------*/ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.slider.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.slider.css new file mode 100644 index 0000000..07c6f4e --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.slider.css @@ -0,0 +1,17 @@ +/* Slider +----------------------------------*/ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; } \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.tabs.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.tabs.css new file mode 100644 index 0000000..99e16db --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.tabs.css @@ -0,0 +1,11 @@ +/* Tabs +----------------------------------*/ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } diff --git a/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.theme.css b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.theme.css new file mode 100644 index 0000000..3fcc20a --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/base/jquery.ui.theme.css @@ -0,0 +1,247 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/ +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } +.ui-widget-content a { color: #222222/*{fcContent}*/; } +.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } +.ui-widget-header a { color: #222222/*{fcHeader}*/; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-top { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-right { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-left { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all { -moz-border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; border-radius: 4px/*{cornerRadius}*/; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } +.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000..5b5dab2 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png new file mode 100644 index 0000000..8ff0d29 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png new file mode 100644 index 0000000..9fb564f Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png new file mode 100644 index 0000000..0149515 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000..4443fdc Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png new file mode 100644 index 0000000..81ecc36 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png new file mode 100644 index 0000000..4f3faf8 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png new file mode 100644 index 0000000..38c3833 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_217bc0_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_217bc0_256x240.png new file mode 100644 index 0000000..ca1736e Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_217bc0_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_2e83ff_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000..09d1cdc Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_2e83ff_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_469bdd_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_469bdd_256x240.png new file mode 100644 index 0000000..bd2cf07 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_469bdd_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_6da8d5_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_6da8d5_256x240.png new file mode 100644 index 0000000..3d6f567 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_6da8d5_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_cd0a0a_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000..2ab019b Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_cd0a0a_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_d8e7f3_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_d8e7f3_256x240.png new file mode 100644 index 0000000..c11e925 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_d8e7f3_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_f9bd01_256x240.png b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_f9bd01_256x240.png new file mode 100644 index 0000000..7862502 Binary files /dev/null and b/www/protected/modules/yii-user-master/views/asset/css/redmond/images/ui-icons_f9bd01_256x240.png differ diff --git a/www/protected/modules/yii-user-master/views/asset/css/redmond/jquery-ui.css b/www/protected/modules/yii-user-master/views/asset/css/redmond/jquery-ui.css new file mode 100644 index 0000000..728ea35 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/redmond/jquery-ui.css @@ -0,0 +1,572 @@ +/* + * jQuery UI CSS Framework @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; } +.ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; } +.ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } +.ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } +.ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } +.ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } +.ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } +.ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* + * jQuery UI Resizable @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; }/* + * jQuery UI Autocomplete @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Dialog @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Slider @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI Datepicker @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Progressbar @VERSION + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/css/style.css b/www/protected/modules/yii-user-master/views/asset/css/style.css new file mode 100644 index 0000000..2436244 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/css/style.css @@ -0,0 +1,7 @@ +@CHARSET "UTF-8"; +.ui-widget {font-size:1em;} + +#dialog-form label, #dialog-form input {display:block;} +#dialog-form input.text { margin-bottom:12px; width:95%; padding: .4em; } +#dialog-form fieldset { padding:0; border:0; margin-top:25px; } +.ui-widget .ui-widget {font-size:0.8em;} \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/js/jquery-ui-1.8.4.custom.min.js b/www/protected/modules/yii-user-master/views/asset/js/jquery-ui-1.8.4.custom.min.js new file mode 100644 index 0000000..b1cac98 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/js/jquery-ui-1.8.4.custom.min.js @@ -0,0 +1,763 @@ +/*! + * jQuery UI 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.4",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); +;/*! + * jQuery UI Widget 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,j){var k=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return k.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options); +b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}): +this.each(function(){var g=b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}); +this._create();this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}b.each(d,function(f, +h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= +b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +;/*! + * jQuery UI Mouse 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&& +this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault(); +return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&& +this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX- +a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h= +0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+= +g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k, +elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"? +-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position= +"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top- +this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions(); +d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis|| +this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element, +b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this== +a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| +0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top- +(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment== +"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&& +a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"), +10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft(): +f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options; +if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!= +"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height; +f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", +b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top= +a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidthb.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, +k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ +a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this, +arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable, +{version:"1.8.4"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize, +function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n= +(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition= +false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left- +a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize", +b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top", +"Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset, +f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left= +a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+ +a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&& +e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative", +height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width= +d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
    ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this, +arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem= +c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset, +{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment(); +if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start", +a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute"); +if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a, +c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]== +document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate", +null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem): +d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute|| +"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")}, +_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!= +this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a= +this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable"); +if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h= +0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width= +this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f}, +update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b= +null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this)); +this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])? +g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive", +g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over= +0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var f=d.closest(".ui-accordion-header");a.active=f.length?f:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",function(g){return a._keydown(g)}).next().attr("role", +"tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(g){a._clickHandler.call(a,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers); +this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(g){c(a.target).attr("tabIndex",-1);c(g).attr("tabIndex",0);g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected); +a.next().addClass("ui-accordion-content-active")}h=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):h,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(h,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},h=this.active=c([]);this._toggle(h,f,g)}},_toggle:function(a,b,d,f,g){var h=this,e=h.options;h.toShow=a;h.toHide=b;h.data=d;var j=function(){if(h)return h._completed.apply(h,arguments)};h._trigger("changestart",null,h.data);h.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),toHide:b,complete:j, +down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!f[k]&&!c.easing[k])k="slide";f[k]||(f[k]=function(l){this.slide(l,{easing:k,duration:i||700})}); +f[k](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.4",animations:{slide:function(a, +b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},h={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){h[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);g[i]={value:j[1], +unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(h,{step:function(j,i){if(i.prop=="height")f=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=f*g[i.prop].value+g[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",paddingTop:"hide", +paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(e){e.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},_create:function(){var a=this,b=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!a.options.disabled){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage", +c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:case d.NUMPAD_ENTER:a.menu.element.is(":visible")&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay); +break}}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("
      ").addClass("ui-autocomplete").appendTo(e(this.options.appendTo||"body",b)[0]).mousedown(function(c){var d=a.menu.element[0]; +c.target===d&&setTimeout(function(){e(document).one("mousedown",function(f){f.target!==a.element[0]&&f.target!==d&&!e.ui.contains(d,f.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");var f=a.previous;if(a.element[0]!==b.activeElement){a.element.focus(); +a.previous=f}false!==a._trigger("select",c,{item:d})&&a.element.val(d.value);a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove(); +e.Widget.prototype.destroy.call(this)},_setOption:function(a,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a,b;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(a,c.term))}}else if(typeof this.options.source==="string"){b=this.options.source;this.source=function(c,d){e.getJSON(b, +c,d)}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();if(a.length").data("item.autocomplete",b).append(e("").text(b.label)).appendTo(a)},_move:function(a, +b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value|| +d)})}})})(jQuery); +(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(b){a.activate(b, +e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c, +this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active|| +this.first())this.activate(a,this.element.children(":last"));else{var b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()
      ").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary"); +this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,j){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",of:window,collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title"); +if(typeof this.originalTitle!=="string")this.originalTitle="";var a=this,b=a.options,d=b.title||a.originalTitle||" ",f=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
      ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(i){a.moveToTop(false, +i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var e=(a.uiDialogTitlebar=c("
      ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i); +return false}).appendTo(e);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id",f).html(d).prependTo(e);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;e.find("*").add(e).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&& +g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog"); +b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,f=d.options;if(f.modal&&!a||!f.stack&&!f.modal)return d._trigger("focus",b);if(f.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ= +f.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show); +a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(f){if(f.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),e=g.filter(":first");g=g.filter(":last");if(f.target===g[0]&&!f.shiftKey){e.focus(1);return false}else if(f.target===e[0]&&f.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false, +f=c("
      ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
      ").addClass("ui-dialog-buttonset").appendTo(f);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,function(e,h){e=c('').text(e).click(function(){h.apply(b.element[0],arguments)}).appendTo(g);c.fn.button&&e.button()});f.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(e){return{position:e.position, +offset:e.offset}}var b=this,d=b.options,f=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",e,a(h))},drag:function(e,h){b._trigger("drag",e,a(h))},stop:function(e,h){d.position=[h.position.left-f.scrollLeft(),h.position.top-f.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g); +b._trigger("dragStop",e,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}a=a===j?this.options.resizable:a;var d=this,f=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:d._minHeight(), +handles:a,start:function(e,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",e,b(h))},resize:function(e,h){d._trigger("resize",e,b(h))},stop:function(e,h){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();d._trigger("resizeStop",e,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight, +a.height)},_position:function(a){var b=[],d=[0,0],f;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,e){if(+b[g]===b[g]){d[g]=b[g];b[g]=e}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(f=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a); +f||this.uiDialog.hide()},_setOption:function(a,b){var d=this,f=d.uiDialog,g=f.is(":data(resizable)"),e=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);e=true;break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":f.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case "draggable":b? +d._makeDraggable():f.draggable("destroy");break;case "height":e=true;break;case "maxHeight":g&&f.resizable("option","maxHeight",b);e=true;break;case "maxWidth":g&&f.resizable("option","maxWidth",b);e=true;break;case "minHeight":g&&f.resizable("option","minHeight",b);e=true;break;case "minWidth":g&&f.resizable("option","minWidth",b);e=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&f.resizable("destroy");g&&typeof b==="string"&&f.resizable("option","handles",b);!g&&b!==false&& +d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break;case "width":e=true;break}c.Widget.prototype._setOption.apply(d,arguments);e&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height- +b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.4",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), +create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("
      ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), +height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); +b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a");if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}else this.range=d("
      ");this.range.appendTo(this.element).addClass("ui-slider-range");if(b.range==="min"||b.range==="max")this.range.addClass("ui-slider-range-"+b.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("").appendTo(this.element).addClass("ui-slider-handle"); +if(b.values&&b.values.length)for(;d(".ui-slider-handle",this.element).length").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur(); +else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),h,g,i;if(!a.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e= +false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");h=a._start(c,f);if(h===false)return}break}i=a.options.step;h=a.options.values&&a.options.values.length?(g=a.values(f)):(g=a.value());switch(c.keyCode){case d.ui.keyCode.HOME:g=a._valueMin();break;case d.ui.keyCode.END:g=a._valueMax();break;case d.ui.keyCode.PAGE_UP:g=a._trimAlignValue(h+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:g=a._trimAlignValue(h-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(h=== +a._valueMax())return;g=a._trimAlignValue(h+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(h===a._valueMin())return;g=a._trimAlignValue(h-i);break}a._slide(c,f,g);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(c,e);a._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); +this._mouseDestroy();return this},_mouseCapture:function(a){var b=this.options,c,e,f,h,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});e=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(i){var j=Math.abs(c-h.values(i));if(e>j){e=j;f=d(this);g=i}});if(b.range===true&&this.values(1)===b.min){g+=1;f=d(this.handles[g])}if(this._start(a, +g)===false)return false;this._mouseSliding=true;h._handleIndex=g;f.addClass("ui-state-active").focus();b=f.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-f.width()/2,top:a.pageY-b.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var e;if(this.options.values&&this.options.values.length){e=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>e||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;fthis._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=a%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,e=!this._animateOff?b.animate:false,f,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({width:f- +g+"%"},{queue:false,duration:b.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:b.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.4"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
      ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
    • #{label}
    • "},_create:function(){this._tabify(true)},_setOption:function(a,e){if(a=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[a]=e;this._tabify()}},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var a=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[a].concat(d.makeArray(arguments)))},_ui:function(a,e){return{tab:a,panel:e,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var a= +d(this);a.html(a.data("label.tabs")).removeData("label.tabs")})},_tabify:function(a){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var b=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){j=f.hash;f.href=j}if(h.test(j))b.panels=b.panels.add(b._sanitizeSelector(j));else if(j!=="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=b._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(c.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(b.panels[g-1]||b.list);f.data("destroy.tabs",true)}b.panels=b.panels.add(f)}else c.disabled.push(g)});if(a){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(b._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return b.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){this.panels.eq(c.selected).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");b.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[c.selected],b.panels[c.selected]))});this.load(c.selected)}d(window).bind("unload",function(){b.lis.add(b.anchors).unbind(".tabs");b.lis=b.anchors=b.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[c.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);a=0;for(var i;i=this.lis[a];a++)d(i)[d.inArray(a,c.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);b._trigger("show", +null,b._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");b._trigger("show",null,b._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);b.element.dequeue("tabs")})}:function(g,f){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");b.element.dequeue("tabs")};this.anchors.bind(c.event+".tabs", +function(){var g=this,f=d(g).closest("li"),j=b.panels.filter(":not(.ui-tabs-hide)"),l=d(b._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||b._trigger("select",null,b._ui(this,l[0]))===false){this.blur();return false}c.selected=b.anchors.index(this);b.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){s(g, +j)}).dequeue("tabs");this.blur();return false}else if(!j.length){c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this));this.blur();return false}c.cookie&&b._cookie(c.selected,c.cookie);if(l.length){j.length&&b.element.queue("tabs",function(){s(g,j)});b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},_getIndex:function(a){if(typeof a=="string")a=this.anchors.index(this.anchors.filter("[href$="+a+"]"));return a},destroy:function(){var a=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href= +e;var b=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){b.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});a.cookie&&this._cookie(null,a.cookie);return this},add:function(a,e,b){if(b===p)b=this.anchors.length; +var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,a).replace(/#\{label\}/g,e));a=!a.indexOf("#")?a.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var i=d("#"+a);i.length||(i=d(h.panelTemplate).attr("id",a).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(b>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[b]); +i.insertBefore(this.panels[b])}h.disabled=d.map(h.disabled,function(k){return k>=b?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[b],this.panels[b]));return this},remove:function(a){a=this._getIndex(a);var e=this.options,b=this.lis.eq(a).remove(),c=this.panels.eq(a).remove(); +if(b.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(a+(a+1=a?--h:h});this._tabify();this._trigger("remove",null,this._ui(b.find("a")[0],c[0]));return this},enable:function(a){a=this._getIndex(a);var e=this.options;if(d.inArray(a,e.disabled)!=-1){this.lis.eq(a).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(b){return b!=a});this._trigger("enable",null, +this._ui(this.anchors[a],this.panels[a]));return this}},disable:function(a){a=this._getIndex(a);var e=this.options;if(a!=e.selected){this.lis.eq(a).addClass("ui-state-disabled");e.disabled.push(a);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))}return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this}, +load:function(a){a=this._getIndex(a);var e=this,b=this.options,c=this.anchors.eq(a)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(a).addClass("ui-state-processing");if(b.spinner){var i=d("span",c);i.data("label.tabs",i.html()).html(b.spinner)}this.xhr=d.ajax(d.extend({},b.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();b.cache&&d.data(c,"cache.tabs", +true);e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.error(k,n,a,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(a, +e){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.4"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(a,e){var b=this,c=this.options,h=b._rotate||(b._rotate=function(i){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var k=c.selected;b.select(++k')}function E(a,b){d.extend(a, +b);for(var c in b)if(b[c]==null||b[c]==G)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.4"}});var y=(new Date).getTime();d.extend(L.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]= +f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('
      ')}}, +_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&& +b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== +""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, +c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), +true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor== +Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]); +d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}}, +_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false; +for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target|| +a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a); +d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&& +d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f, +h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover"); +this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover"); +this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"); +a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(), +k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"]; +a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val(): +"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&& +!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth; +b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b= +this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a= +d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a, +"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b== +"object"?b.toString():b+"";if(b=="")return null;for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1-1){k=1;l=u;do{e=this._getDaysInMonth(c, +k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return""; +var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+112?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear|| +a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? +new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m, +g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
      '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
      ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var M=this._getDefaultDate(a),I="",C=0;C1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
      '+(/all|left/.test(t)&&C==0?c? +f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'
      ';var A=k?'":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=A+"";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O";var P=!k?"":'";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,K=B&&!H||!F[0]||j&&qo;P+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=P+""}g++;if(g>11){g=0;m++}x+="
      '+this._get(a,"weekHeader")+"
      '+this._get(a,"calculateWeek")(q)+""+(B&&!w?" ":K?''+q.getDate()+ +"":''+q.getDate()+"")+"
      "+(l?""+(i[0]>0&&D==i[1]-1?'
      ':""):"");N+=x}I+=N}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='
      ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b, +i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
      ";return j},_adjustInstDate:function(a,b,c){var e= +a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, +"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); +c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, +"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= +function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b)); +return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new L;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.4";window["DP_jQuery_"+y]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,c){b.widget("ui.progressbar",{options:{value:0},min:0,max:100,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this._value()});this.valueDiv=b("
      ").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a=this.value();this.valueDiv.toggleClass("ui-corner-right", +a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.4"})})(jQuery); +;/* + * jQuery UI Effects 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function l(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return m.transparent;return m[f.trim(c).toLowerCase()]}function r(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return l(b)}function n(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function o(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in s||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function t(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=r(b.elem,a);b.end=l(b.end);b.colorInit= +true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var m={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189, +183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255, +165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},p=["add","remove","toggle"],s={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=o(n.call(this)),q,u=e.attr("className");f.each(p,function(v, +i){c[i]&&e[i+"Class"](c[i])});q=o(n.call(this));e.attr("className",u);e.animate(t(h,q),a,b,function(){f.each(p,function(v,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a? +f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.4",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this, +arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c, +a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+ +b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2, +10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)* +a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100* +f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.4 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/asset/js/jquery-ui-i18n.min.js b/www/protected/modules/yii-user-master/views/asset/js/jquery-ui-i18n.min.js new file mode 100644 index 0000000..8aff2d9 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/js/jquery-ui-i18n.min.js @@ -0,0 +1,124 @@ +jQuery(function(a){a.datepicker.regional.af={closeText:"Selekteer",prevText:"Vorige",nextText:"Volgende",currentText:"Vandag",monthNames:["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],dayNamesShort:["Son","Maa","Din","Woe","Don","Vry","Sat"],dayNamesMin:["So", +"Ma","Di","Wo","Do","Vr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.af)}); +jQuery(function(a){a.datepicker.regional.ar={closeText:"\u0625\u063a\u0644\u0627\u0642",prevText:"<\u0627\u0644\u0633\u0627\u0628\u0642",nextText:"\u0627\u0644\u062a\u0627\u0644\u064a>",currentText:"\u0627\u0644\u064a\u0648\u0645",monthNames:["\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a","\u0634\u0628\u0627\u0637","\u0622\u0630\u0627\u0631","\u0646\u064a\u0633\u0627\u0646","\u0622\u0630\u0627\u0631","\u062d\u0632\u064a\u0631\u0627\u0646","\u062a\u0645\u0648\u0632", +"\u0622\u0628","\u0623\u064a\u0644\u0648\u0644","\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644","\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a","\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["\u0627\u0644\u0633\u0628\u062a","\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", +"\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629"],dayNamesShort:["\u0633\u0628\u062a","\u0623\u062d\u062f","\u0627\u062b\u0646\u064a\u0646","\u062b\u0644\u0627\u062b\u0627\u0621","\u0623\u0631\u0628\u0639\u0627\u0621","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639\u0629"],dayNamesMin:["\u0633\u0628\u062a","\u0623\u062d\u062f","\u0627\u062b\u0646\u064a\u0646","\u062b\u0644\u0627\u062b\u0627\u0621","\u0623\u0631\u0628\u0639\u0627\u0621","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639\u0629"], +weekHeader:"\u0623\u0633\u0628\u0648\u0639",dateFormat:"dd/mm/yy",firstDay:0,isRTL:true,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ar)}); +jQuery(function(a){a.datepicker.regional.az={closeText:"Ba\u011fla",prevText:"<Geri",nextText:"\u0130r\u0259li>",currentText:"Bug\u00fcn",monthNames:["Yanvar","Fevral","Mart","Aprel","May","\u0130yun","\u0130yul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthNamesShort:["Yan","Fev","Mar","Apr","May","\u0130yun","\u0130yul","Avq","Sen","Okt","Noy","Dek"],dayNames:["Bazar","Bazar ert\u0259si","\u00c7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131","\u00c7\u0259r\u015f\u0259nb\u0259", +"C\u00fcm\u0259 ax\u015fam\u0131","C\u00fcm\u0259","\u015e\u0259nb\u0259"],dayNamesShort:["B","Be","\u00c7a","\u00c7","Ca","C","\u015e"],dayNamesMin:["B","B","\u00c7","\u0421","\u00c7","C","\u015e"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.az)}); +jQuery(function(a){a.datepicker.regional.bg={closeText:"\u0437\u0430\u0442\u0432\u043e\u0440\u0438",prevText:"<\u043d\u0430\u0437\u0430\u0434",nextText:"\u043d\u0430\u043f\u0440\u0435\u0434>",nextBigText:">>",currentText:"\u0434\u043d\u0435\u0441",monthNames:["\u042f\u043d\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0439","\u042e\u043d\u0438","\u042e\u043b\u0438","\u0410\u0432\u0433\u0443\u0441\u0442", +"\u0421\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438","\u041e\u043a\u0442\u043e\u043c\u0432\u0440\u0438","\u041d\u043e\u0435\u043c\u0432\u0440\u0438","\u0414\u0435\u043a\u0435\u043c\u0432\u0440\u0438"],monthNamesShort:["\u042f\u043d\u0443","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u042e\u043d\u0438","\u042e\u043b\u0438","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u043a"],dayNames:["\u041d\u0435\u0434\u0435\u043b\u044f", +"\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a","\u0412\u0442\u043e\u0440\u043d\u0438\u043a","\u0421\u0440\u044f\u0434\u0430","\u0427\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a","\u041f\u0435\u0442\u044a\u043a","\u0421\u044a\u0431\u043e\u0442\u0430"],dayNamesShort:["\u041d\u0435\u0434","\u041f\u043e\u043d","\u0412\u0442\u043e","\u0421\u0440\u044f","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u044a\u0431"],dayNamesMin:["\u041d\u0435","\u041f\u043e","\u0412\u0442","\u0421\u0440", +"\u0427\u0435","\u041f\u0435","\u0421\u044a"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.bg)}); +jQuery(function(a){a.datepicker.regional.bs={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Srijeda","\u010cetvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","\u010cet","Pet","Sub"],dayNamesMin:["Ne","Po", +"Ut","Sr","\u010ce","Pe","Su"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.bs)}); +jQuery(function(a){a.datepicker.regional.ca={closeText:"Tancar",prevText:"<Ant",nextText:"Seg>",currentText:"Avui",monthNames:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthNamesShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],dayNames:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],dayNamesShort:["Dug","Dln","Dmt","Dmc","Djs","Dvn","Dsb"],dayNamesMin:["Dg", +"Dl","Dt","Dc","Dj","Dv","Ds"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ca)}); +jQuery(function(a){a.datepicker.regional.cs={closeText:"Zav\u0159\u00edt",prevText:"<D\u0159\u00edve",nextText:"Pozd\u011bji>",currentText:"Nyn\u00ed",monthNames:["leden","\u00fanor","b\u0159ezen","duben","kv\u011bten","\u010derven","\u010dervenec","srpen","z\u00e1\u0159\u00ed","\u0159\u00edjen","listopad","prosinec"],monthNamesShort:["led","\u00fano","b\u0159e","dub","kv\u011b","\u010der","\u010dvc","srp","z\u00e1\u0159","\u0159\u00edj","lis","pro"],dayNames:["ned\u011ble","pond\u011bl\u00ed", +"\u00fater\u00fd","st\u0159eda","\u010dtvrtek","p\u00e1tek","sobota"],dayNamesShort:["ne","po","\u00fat","st","\u010dt","p\u00e1","so"],dayNamesMin:["ne","po","\u00fat","st","\u010dt","p\u00e1","so"],weekHeader:"T\u00fdd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.cs)}); +jQuery(function(a){a.datepicker.regional.da={closeText:"Luk",prevText:"<Forrige",nextText:"N\u00e6ste>",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["S\u00f8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\u00f8rdag"],dayNamesShort:["S\u00f8n","Man","Tir","Ons","Tor","Fre","L\u00f8r"],dayNamesMin:["S\u00f8", +"Ma","Ti","On","To","Fr","L\u00f8"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.da)}); +jQuery(function(a){a.datepicker.regional.de={closeText:"schlie\u00dfen",prevText:"<zur\u00fcck",nextText:"Vor>",currentText:"heute",monthNames:["Januar","Februar","M\u00e4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","M\u00e4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So", +"Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"Wo",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.de)}); +jQuery(function(a){a.datepicker.regional.el={closeText:"\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf",prevText:"\u03a0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf\u03c2",nextText:"\u0395\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2",currentText:"\u03a4\u03c1\u03ad\u03c7\u03c9\u03bd \u039c\u03ae\u03bd\u03b1\u03c2",monthNames:["\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2","\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2","\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2", +"\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2","\u039c\u03ac\u03b9\u03bf\u03c2","\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2","\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2","\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2","\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2","\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2","\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2","\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2"],monthNamesShort:["\u0399\u03b1\u03bd", +"\u03a6\u03b5\u03b2","\u039c\u03b1\u03c1","\u0391\u03c0\u03c1","\u039c\u03b1\u03b9","\u0399\u03bf\u03c5\u03bd","\u0399\u03bf\u03c5\u03bb","\u0391\u03c5\u03b3","\u03a3\u03b5\u03c0","\u039f\u03ba\u03c4","\u039d\u03bf\u03b5","\u0394\u03b5\u03ba"],dayNames:["\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae","\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1","\u03a4\u03c1\u03af\u03c4\u03b7","\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7","\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7","\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae", +"\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"],dayNamesShort:["\u039a\u03c5\u03c1","\u0394\u03b5\u03c5","\u03a4\u03c1\u03b9","\u03a4\u03b5\u03c4","\u03a0\u03b5\u03bc","\u03a0\u03b1\u03c1","\u03a3\u03b1\u03b2"],dayNamesMin:["\u039a\u03c5","\u0394\u03b5","\u03a4\u03c1","\u03a4\u03b5","\u03a0\u03b5","\u03a0\u03b1","\u03a3\u03b1"],weekHeader:"\u0395\u03b2\u03b4",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.el)}); +jQuery(function(a){a.datepicker.regional["en-GB"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu", +"We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["en-GB"])}); +jQuery(function(a){a.datepicker.regional.eo={closeText:"Fermi",prevText:"<Anta",nextText:"Sekv>",currentText:"Nuna",monthNames:["Januaro","Februaro","Marto","Aprilo","Majo","Junio","Julio","A\u016dgusto","Septembro","Oktobro","Novembro","Decembro"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","A\u016dg","Sep","Okt","Nov","Dec"],dayNames:["Diman\u0109o","Lundo","Mardo","Merkredo","\u0134a\u016ddo","Vendredo","Sabato"],dayNamesShort:["Dim","Lun","Mar","Mer","\u0134a\u016d","Ven", +"Sab"],dayNamesMin:["Di","Lu","Ma","Me","\u0134a","Ve","Sa"],weekHeader:"Sb",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.eo)}); +jQuery(function(a){a.datepicker.regional.es={closeText:"Cerrar",prevText:"<Ant",nextText:"Sig>",currentText:"Hoy",monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthNamesShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],dayNames:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"], +dayNamesMin:["Do","Lu","Ma","Mi","Ju","Vi","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.es)}); +jQuery(function(a){a.datepicker.regional.et={closeText:"Sulge",prevText:"Eelnev",nextText:"J\u00e4rgnev",currentText:"T\u00e4na",monthNames:["Jaanuar","Veebruar","M\u00e4rts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthNamesShort:["Jaan","Veebr","M\u00e4rts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],dayNames:["P\u00fchap\u00e4ev","Esmasp\u00e4ev","Teisip\u00e4ev","Kolmap\u00e4ev","Neljap\u00e4ev","Reede","Laup\u00e4ev"],dayNamesShort:["P\u00fchap", +"Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],dayNamesMin:["P","E","T","K","N","R","L"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.et)}); +jQuery(function(a){a.datepicker.regional.eu={closeText:"Egina",prevText:"<Aur",nextText:"Hur>",currentText:"Gaur",monthNames:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthNamesShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],dayNames:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],dayNamesShort:["Iga","Ast","Ast","Ast","Ost","Ost","Lar"],dayNamesMin:["Ig", +"As","As","As","Os","Os","La"],weekHeader:"Wk",dateFormat:"yy/mm/dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.eu)}); +jQuery(function(a){a.datepicker.regional.fa={closeText:"\u0628\u0633\u062a\u0646",prevText:"<\u0642\u0628\u0644\u064a",nextText:"\u0628\u0639\u062f\u064a>",currentText:"\u0627\u0645\u0631\u0648\u0632",monthNames:["\u0641\u0631\u0648\u0631\u062f\u064a\u0646","\u0627\u0631\u062f\u064a\u0628\u0647\u0634\u062a","\u062e\u0631\u062f\u0627\u062f","\u062a\u064a\u0631","\u0645\u0631\u062f\u0627\u062f","\u0634\u0647\u0631\u064a\u0648\u0631","\u0645\u0647\u0631","\u0622\u0628\u0627\u0646","\u0622\u0630\u0631", +"\u062f\u064a","\u0628\u0647\u0645\u0646","\u0627\u0633\u0641\u0646\u062f"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["\u064a\u06a9\u0634\u0646\u0628\u0647","\u062f\u0648\u0634\u0646\u0628\u0647","\u0633\u0647\u0634\u0646\u0628\u0647","\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647","\u067e\u0646\u062c\u0634\u0646\u0628\u0647","\u062c\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"],dayNamesShort:["\u064a","\u062f","\u0633","\u0686","\u067e","\u062c","\u0634"], +dayNamesMin:["\u064a","\u062f","\u0633","\u0686","\u067e","\u062c","\u0634"],weekHeader:"\u0647\u0641",dateFormat:"yy/mm/dd",firstDay:6,isRTL:true,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fa)}); +jQuery(function(a){a.datepicker.regional.fi={closeText:"Sulje",prevText:"«Edellinen",nextText:"Seuraava»",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","Su"],dayNames:["Sunnuntai","Maanantai", +"Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fi)}); +jQuery(function(a){a.datepicker.regional.fo={closeText:"Lat aftur",prevText:"<Fyrra",nextText:"N\u00e6sta>",currentText:"\u00cd dag",monthNames:["Januar","Februar","Mars","Apr\u00edl","Mei","Juni","Juli","August","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sunnudagur","M\u00e1nadagur","T\u00fdsdagur","Mikudagur","H\u00f3sdagur","Fr\u00edggjadagur","Leyardagur"],dayNamesShort:["Sun","M\u00e1n", +"T\u00fds","Mik","H\u00f3s","Fr\u00ed","Ley"],dayNamesMin:["Su","M\u00e1","T\u00fd","Mi","H\u00f3","Fr","Le"],weekHeader:"Vk",dateFormat:"dd-mm-yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fo)}); +jQuery(function(a){a.datepicker.regional["fr-CH"]={closeText:"Fermer",prevText:"<Pr\u00e9c",nextText:"Suiv>",currentText:"Courant",monthNames:["Janvier","F\u00e9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\u00fbt","Septembre","Octobre","Novembre","D\u00e9cembre"],monthNamesShort:["Jan","F\u00e9v","Mar","Avr","Mai","Jun","Jul","Ao\u00fb","Sep","Oct","Nov","D\u00e9c"],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim","Lun","Mar","Mer","Jeu", +"Ven","Sam"],dayNamesMin:["Di","Lu","Ma","Me","Je","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["fr-CH"])}); +jQuery(function(a){a.datepicker.regional.fr={closeText:"Fermer",prevText:"<Pr\u00e9c",nextText:"Suiv>",currentText:"Courant",monthNames:["Janvier","F\u00e9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\u00fbt","Septembre","Octobre","Novembre","D\u00e9cembre"],monthNamesShort:["Jan","F\u00e9v","Mar","Avr","Mai","Jun","Jul","Ao\u00fb","Sep","Oct","Nov","D\u00e9c"],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim","Lun","Mar","Mer","Jeu","Ven", +"Sam"],dayNamesMin:["Di","Lu","Ma","Me","Je","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.fr)}); +jQuery(function(a){a.datepicker.regional.he={closeText:"\u05e1\u05d2\u05d5\u05e8",prevText:"<\u05d4\u05e7\u05d5\u05d3\u05dd",nextText:"\u05d4\u05d1\u05d0>",currentText:"\u05d4\u05d9\u05d5\u05dd",monthNames:["\u05d9\u05e0\u05d5\u05d0\u05e8","\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8","\u05de\u05e8\u05e5","\u05d0\u05e4\u05e8\u05d9\u05dc","\u05de\u05d0\u05d9","\u05d9\u05d5\u05e0\u05d9","\u05d9\u05d5\u05dc\u05d9","\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8","\u05e1\u05e4\u05d8\u05de\u05d1\u05e8","\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8", +"\u05e0\u05d5\u05d1\u05de\u05d1\u05e8","\u05d3\u05e6\u05de\u05d1\u05e8"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["\u05e8\u05d0\u05e9\u05d5\u05df","\u05e9\u05e0\u05d9","\u05e9\u05dc\u05d9\u05e9\u05d9","\u05e8\u05d1\u05d9\u05e2\u05d9","\u05d7\u05de\u05d9\u05e9\u05d9","\u05e9\u05d9\u05e9\u05d9","\u05e9\u05d1\u05ea"],dayNamesShort:["\u05d0'","\u05d1'","\u05d2'","\u05d3'","\u05d4'","\u05d5'","\u05e9\u05d1\u05ea"],dayNamesMin:["\u05d0'","\u05d1'","\u05d2'","\u05d3'", +"\u05d4'","\u05d5'","\u05e9\u05d1\u05ea"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:true,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.he)}); +jQuery(function(a){a.datepicker.regional.hr={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Sije\u010danj","Velja\u010da","O\u017eujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","O\u017eu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010cetvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","\u010cet", +"Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","\u010ce","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.hr)}); +jQuery(function(a){a.datepicker.regional.hu={closeText:"bez\u00e1r\u00e1s",prevText:"« vissza",nextText:"el\u0151re »",currentText:"ma",monthNames:["Janu\u00e1r","Febru\u00e1r","M\u00e1rcius","\u00c1prilis","M\u00e1jus","J\u00fanius","J\u00falius","Augusztus","Szeptember","Okt\u00f3ber","November","December"],monthNamesShort:["Jan","Feb","M\u00e1r","\u00c1pr","M\u00e1j","J\u00fan","J\u00fal","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vas\u00e1rnap","H\u00e9tf\u00f6","Kedd","Szerda", +"Cs\u00fct\u00f6rt\u00f6k","P\u00e9ntek","Szombat"],dayNamesShort:["Vas","H\u00e9t","Ked","Sze","Cs\u00fc","P\u00e9n","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"H\u00e9",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.hu)}); +jQuery(function(a){a.datepicker.regional.hy={closeText:"\u0553\u0561\u056f\u0565\u056c",prevText:"<\u0546\u0561\u056d.",nextText:"\u0540\u0561\u057b.>",currentText:"\u0531\u0575\u057d\u0585\u0580",monthNames:["\u0540\u0578\u0582\u0576\u057e\u0561\u0580","\u0553\u0565\u057f\u0580\u057e\u0561\u0580","\u0544\u0561\u0580\u057f","\u0531\u057a\u0580\u056b\u056c","\u0544\u0561\u0575\u056b\u057d","\u0540\u0578\u0582\u0576\u056b\u057d","\u0540\u0578\u0582\u056c\u056b\u057d","\u0555\u0563\u0578\u057d\u057f\u0578\u057d", +"\u054d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580","\u0540\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580","\u0546\u0578\u0575\u0565\u0574\u0562\u0565\u0580","\u0534\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580"],monthNamesShort:["\u0540\u0578\u0582\u0576\u057e","\u0553\u0565\u057f\u0580","\u0544\u0561\u0580\u057f","\u0531\u057a\u0580","\u0544\u0561\u0575\u056b\u057d","\u0540\u0578\u0582\u0576\u056b\u057d","\u0540\u0578\u0582\u056c","\u0555\u0563\u057d","\u054d\u0565\u057a","\u0540\u0578\u056f", +"\u0546\u0578\u0575","\u0534\u0565\u056f"],dayNames:["\u056f\u056b\u0580\u0561\u056f\u056b","\u0565\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b","\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b","\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b","\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b","\u0578\u0582\u0580\u0562\u0561\u0569","\u0577\u0561\u0562\u0561\u0569"],dayNamesShort:["\u056f\u056b\u0580","\u0565\u0580\u056f","\u0565\u0580\u0584","\u0579\u0580\u0584","\u0570\u0576\u0563", +"\u0578\u0582\u0580\u0562","\u0577\u0562\u0569"],dayNamesMin:["\u056f\u056b\u0580","\u0565\u0580\u056f","\u0565\u0580\u0584","\u0579\u0580\u0584","\u0570\u0576\u0563","\u0578\u0582\u0580\u0562","\u0577\u0562\u0569"],weekHeader:"\u0547\u0532\u054f",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.hy)}); +jQuery(function(a){a.datepicker.regional.id={closeText:"Tutup",prevText:"<mundur",nextText:"maju>",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl", +"Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.id)}); +jQuery(function(a){a.datepicker.regional.is={closeText:"Loka",prevText:"< Fyrri",nextText:"Næsti >",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur", +"Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.is)}); +jQuery(function(a){a.datepicker.regional.it={closeText:"Chiudi",prevText:"<Prec",nextText:"Succ>",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven", +"Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.it)}); +jQuery(function(a){a.datepicker.regional.ja={closeText:"\u9589\u3058\u308b",prevText:"<\u524d",nextText:"\u6b21>",currentText:"\u4eca\u65e5",monthNames:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],monthNamesShort:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],dayNames:["\u65e5\u66dc\u65e5","\u6708\u66dc\u65e5","\u706b\u66dc\u65e5", +"\u6c34\u66dc\u65e5","\u6728\u66dc\u65e5","\u91d1\u66dc\u65e5","\u571f\u66dc\u65e5"],dayNamesShort:["\u65e5","\u6708","\u706b","\u6c34","\u6728","\u91d1","\u571f"],dayNamesMin:["\u65e5","\u6708","\u706b","\u6c34","\u6728","\u91d1","\u571f"],weekHeader:"\u9031",dateFormat:"yy/mm/dd",firstDay:0,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional.ja)}); +jQuery(function(a){a.datepicker.regional.ko={closeText:"\ub2eb\uae30",prevText:"\uc774\uc804\ub2ec",nextText:"\ub2e4\uc74c\ub2ec",currentText:"\uc624\ub298",monthNames:["1\uc6d4(JAN)","2\uc6d4(FEB)","3\uc6d4(MAR)","4\uc6d4(APR)","5\uc6d4(MAY)","6\uc6d4(JUN)","7\uc6d4(JUL)","8\uc6d4(AUG)","9\uc6d4(SEP)","10\uc6d4(OCT)","11\uc6d4(NOV)","12\uc6d4(DEC)"],monthNamesShort:["1\uc6d4(JAN)","2\uc6d4(FEB)","3\uc6d4(MAR)","4\uc6d4(APR)","5\uc6d4(MAY)","6\uc6d4(JUN)","7\uc6d4(JUL)","8\uc6d4(AUG)","9\uc6d4(SEP)", +"10\uc6d4(OCT)","11\uc6d4(NOV)","12\uc6d4(DEC)"],dayNames:["\uc77c","\uc6d4","\ud654","\uc218","\ubaa9","\uae08","\ud1a0"],dayNamesShort:["\uc77c","\uc6d4","\ud654","\uc218","\ubaa9","\uae08","\ud1a0"],dayNamesMin:["\uc77c","\uc6d4","\ud654","\uc218","\ubaa9","\uae08","\ud1a0"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:"\ub144"};a.datepicker.setDefaults(a.datepicker.regional.ko)}); +jQuery(function(a){a.datepicker.regional.lt={closeText:"U\u017edaryti",prevText:"<Atgal",nextText:"Pirmyn>",currentText:"\u0160iandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegu\u017e\u0117","Bir\u017eelis","Liepa","Rugpj\u016btis","Rugs\u0117jis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","tre\u010diadienis","ketvirtadienis","penktadienis","\u0161e\u0161tadienis"], +dayNamesShort:["sek","pir","ant","tre","ket","pen","\u0161e\u0161"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","\u0160e"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.lt)}); +jQuery(function(a){a.datepicker.regional.lv={closeText:"Aizv\u0113rt",prevText:"Iepr",nextText:"N\u0101ka",currentText:"\u0160odien",monthNames:["Janv\u0101ris","Febru\u0101ris","Marts","Apr\u012blis","Maijs","J\u016bnijs","J\u016blijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","J\u016bn","J\u016bl","Aug","Sep","Okt","Nov","Dec"],dayNames:["sv\u0113tdiena","pirmdiena","otrdiena","tre\u0161diena","ceturtdiena","piektdiena","sestdiena"], +dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Nav",dateFormat:"dd-mm-yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.lv)}); +jQuery(function(a){a.datepicker.regional.ms={closeText:"Tutup",prevText:"<Sebelum",nextText:"Selepas>",currentText:"hari ini",monthNames:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthNamesShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],dayNames:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],dayNamesShort:["Aha","Isn","Sel","Rab","kha","Jum","Sab"],dayNamesMin:["Ah","Is","Se","Ra", +"Kh","Ju","Sa"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ms)}); +jQuery(function(a){a.datepicker.regional.nl={closeText:"Sluiten",prevText:"\u2190",nextText:"\u2192",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma", +"di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.nl)}); +jQuery(function(a){a.datepicker.regional.no={closeText:"Lukk",prevText:"«Forrige",nextText:"Neste»",currentText:"I dag",monthNames:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNamesShort:["S\u00f8n","Man","Tir","Ons","Tor","Fre","L\u00f8r"],dayNames:["S\u00f8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\u00f8rdag"],dayNamesMin:["S\u00f8", +"Ma","Ti","On","To","Fr","L\u00f8"],weekHeader:"Uke",dateFormat:"yy-mm-dd",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.no)}); +jQuery(function(a){a.datepicker.regional.pl={closeText:"Zamknij",prevText:"<Poprzedni",nextText:"Nast\u0119pny>",currentText:"Dzi\u015b",monthNames:["Stycze\u0144","Luty","Marzec","Kwiecie\u0144","Maj","Czerwiec","Lipiec","Sierpie\u0144","Wrzesie\u0144","Pa\u017adziernik","Listopad","Grudzie\u0144"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedzia\u0142ek","Wtorek","\u015aroda","Czwartek","Pi\u0105tek","Sobota"],dayNamesShort:["Nie", +"Pn","Wt","\u015ar","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","\u015ar","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.pl)}); +jQuery(function(a){a.datepicker.regional["pt-BR"]={closeText:"Fechar",prevText:"<Anterior",nextText:"Próximo>",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sabado"],dayNamesShort:["Dom", +"Seg","Ter","Qua","Qui","Sex","Sab"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["pt-BR"])}); +jQuery(function(a){a.datepicker.regional.ro={closeText:"\u00cenchide",prevText:"« Luna precedent\u0103",nextText:"Luna urm\u0103toare »",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminic\u0103","Luni","Mar\u0163i","Miercuri","Joi","Vineri","S\u00e2mb\u0103t\u0103"],dayNamesShort:["Dum", +"Lun","Mar","Mie","Joi","Vin","S\u00e2m"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","S\u00e2"],weekHeader:"S\u0103pt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ro)}); +jQuery(function(a){a.datepicker.regional.ru={closeText:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",prevText:"<\u041f\u0440\u0435\u0434",nextText:"\u0421\u043b\u0435\u0434>",currentText:"\u0421\u0435\u0433\u043e\u0434\u043d\u044f",monthNames:["\u042f\u043d\u0432\u0430\u0440\u044c","\u0424\u0435\u0432\u0440\u0430\u043b\u044c","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0435\u043b\u044c","\u041c\u0430\u0439","\u0418\u044e\u043d\u044c","\u0418\u044e\u043b\u044c","\u0410\u0432\u0433\u0443\u0441\u0442", +"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","\u041e\u043a\u0442\u044f\u0431\u0440\u044c","\u041d\u043e\u044f\u0431\u0440\u044c","\u0414\u0435\u043a\u0430\u0431\u0440\u044c"],monthNamesShort:["\u042f\u043d\u0432","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u0418\u044e\u043d","\u0418\u044e\u043b","\u0410\u0432\u0433","\u0421\u0435\u043d","\u041e\u043a\u0442","\u041d\u043e\u044f","\u0414\u0435\u043a"],dayNames:["\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435", +"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","\u0432\u0442\u043e\u0440\u043d\u0438\u043a","\u0441\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043f\u044f\u0442\u043d\u0438\u0446\u0430","\u0441\u0443\u0431\u0431\u043e\u0442\u0430"],dayNamesShort:["\u0432\u0441\u043a","\u043f\u043d\u0434","\u0432\u0442\u0440","\u0441\u0440\u0434","\u0447\u0442\u0432","\u043f\u0442\u043d","\u0441\u0431\u0442"],dayNamesMin:["\u0412\u0441","\u041f\u043d","\u0412\u0442", +"\u0421\u0440","\u0427\u0442","\u041f\u0442","\u0421\u0431"],weekHeader:"\u041d\u0435",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ru)}); +jQuery(function(a){a.datepicker.regional.sk={closeText:"Zavrie\u0165",prevText:"<Predch\u00e1dzaj\u00faci",nextText:"Nasleduj\u00faci>",currentText:"Dnes",monthNames:["Janu\u00e1r","Febru\u00e1r","Marec","Apr\u00edl","M\u00e1j","J\u00fan","J\u00fal","August","September","Okt\u00f3ber","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","M\u00e1j","J\u00fan","J\u00fal","Aug","Sep","Okt","Nov","Dec"],dayNames:["Nedel'a","Pondelok","Utorok","Streda","\u0160tvrtok","Piatok","Sobota"], +dayNamesShort:["Ned","Pon","Uto","Str","\u0160tv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","\u0160t","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sk)}); +jQuery(function(a){a.datepicker.regional.sl={closeText:"Zapri",prevText:"<Prejšnji",nextText:"Naslednji>",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"], +dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sl)}); +jQuery(function(a){a.datepicker.regional.sq={closeText:"mbylle",prevText:"<mbrapa",nextText:"P\u00ebrpara>",currentText:"sot",monthNames:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","N\u00ebntor","Dhjetor"],monthNamesShort:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","N\u00ebn","Dhj"],dayNames:["E Diel","E H\u00ebn\u00eb","E Mart\u00eb","E M\u00ebrkur\u00eb","E Enjte","E Premte","E Shtune"],dayNamesShort:["Di","H\u00eb","Ma","M\u00eb", +"En","Pr","Sh"],dayNamesMin:["Di","H\u00eb","Ma","M\u00eb","En","Pr","Sh"],weekHeader:"Ja",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sq)}); +jQuery(function(a){a.datepicker.regional["sr-SR"]={closeText:"Zatvori",prevText:"<",nextText:">",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Sreda","\u010cetvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sre","\u010cet","Pet","Sub"],dayNamesMin:["Ne","Po", +"Ut","Sr","\u010ce","Pe","Su"],weekHeader:"Sed",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional["sr-SR"])}); +jQuery(function(a){a.datepicker.regional.sr={closeText:"\u0417\u0430\u0442\u0432\u043e\u0440\u0438",prevText:"<",nextText:">",currentText:"\u0414\u0430\u043d\u0430\u0441",monthNames:["\u0408\u0430\u043d\u0443\u0430\u0440","\u0424\u0435\u0431\u0440\u0443\u0430\u0440","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440","\u041e\u043a\u0442\u043e\u0431\u0430\u0440", +"\u041d\u043e\u0432\u0435\u043c\u0431\u0430\u0440","\u0414\u0435\u0446\u0435\u043c\u0431\u0430\u0440"],monthNamesShort:["\u0408\u0430\u043d","\u0424\u0435\u0431","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u0446"],dayNames:["\u041d\u0435\u0434\u0435\u0459\u0430","\u041f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a","\u0423\u0442\u043e\u0440\u0430\u043a", +"\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043a","\u041f\u0435\u0442\u0430\u043a","\u0421\u0443\u0431\u043e\u0442\u0430"],dayNamesShort:["\u041d\u0435\u0434","\u041f\u043e\u043d","\u0423\u0442\u043e","\u0421\u0440\u0435","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u0443\u0431"],dayNamesMin:["\u041d\u0435","\u041f\u043e","\u0423\u0442","\u0421\u0440","\u0427\u0435","\u041f\u0435","\u0421\u0443"],weekHeader:"\u0421\u0435\u0434",dateFormat:"dd/mm/yy",firstDay:1, +isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sr)}); +jQuery(function(a){a.datepicker.regional.sv={closeText:"St\u00e4ng",prevText:"«F\u00f6rra",nextText:"N\u00e4sta»",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["S\u00f6n","M\u00e5n","Tis","Ons","Tor","Fre","L\u00f6r"],dayNames:["S\u00f6ndag","M\u00e5ndag","Tisdag","Onsdag","Torsdag","Fredag", +"L\u00f6rdag"],dayNamesMin:["S\u00f6","M\u00e5","Ti","On","To","Fr","L\u00f6"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.sv)}); +jQuery(function(a){a.datepicker.regional.ta={closeText:"\u0bae\u0bc2\u0b9f\u0bc1",prevText:"\u0bae\u0bc1\u0ba9\u0bcd\u0ba9\u0bc8\u0baf\u0ba4\u0bc1",nextText:"\u0b85\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0ba4\u0bc1",currentText:"\u0b87\u0ba9\u0bcd\u0bb1\u0bc1",monthNames:["\u0ba4\u0bc8","\u0bae\u0bbe\u0b9a\u0bbf","\u0baa\u0b99\u0bcd\u0b95\u0bc1\u0ba9\u0bbf","\u0b9a\u0bbf\u0ba4\u0bcd\u0ba4\u0bbf\u0bb0\u0bc8","\u0bb5\u0bc8\u0b95\u0bbe\u0b9a\u0bbf","\u0b86\u0ba9\u0bbf","\u0b86\u0b9f\u0bbf","\u0b86\u0bb5\u0ba3\u0bbf", +"\u0baa\u0bc1\u0bb0\u0b9f\u0bcd\u0b9f\u0bbe\u0b9a\u0bbf","\u0b90\u0baa\u0bcd\u0baa\u0b9a\u0bbf","\u0b95\u0bbe\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4\u0bbf\u0b95\u0bc8","\u0bae\u0bbe\u0bb0\u0bcd\u0b95\u0bb4\u0bbf"],monthNamesShort:["\u0ba4\u0bc8","\u0bae\u0bbe\u0b9a\u0bbf","\u0baa\u0b99\u0bcd","\u0b9a\u0bbf\u0ba4\u0bcd","\u0bb5\u0bc8\u0b95\u0bbe","\u0b86\u0ba9\u0bbf","\u0b86\u0b9f\u0bbf","\u0b86\u0bb5","\u0baa\u0bc1\u0bb0","\u0b90\u0baa\u0bcd","\u0b95\u0bbe\u0bb0\u0bcd","\u0bae\u0bbe\u0bb0\u0bcd"],dayNames:["\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8", +"\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8"],dayNamesShort:["\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1", +"\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd","\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd","\u0baa\u0bc1\u0ba4\u0ba9\u0bcd","\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd","\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf","\u0b9a\u0ba9\u0bbf"],dayNamesMin:["\u0b9e\u0bbe","\u0ba4\u0bbf","\u0b9a\u0bc6","\u0baa\u0bc1","\u0bb5\u0bbf","\u0bb5\u0bc6","\u0b9a"],weekHeader:"\u041d\u0435",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.ta)}); +jQuery(function(a){a.datepicker.regional.th={closeText:"\u0e1b\u0e34\u0e14",prevText:"« \u0e22\u0e49\u0e2d\u0e19",nextText:"\u0e16\u0e31\u0e14\u0e44\u0e1b »",currentText:"\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49",monthNames:["\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21","\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c","\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21","\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19","\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21","\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19", +"\u0e01\u0e23\u0e01\u0e0f\u0e32\u0e04\u0e21","\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21","\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19","\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21","\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19","\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"],monthNamesShort:["\u0e21.\u0e04.","\u0e01.\u0e1e.","\u0e21\u0e35.\u0e04.","\u0e40\u0e21.\u0e22.","\u0e1e.\u0e04.","\u0e21\u0e34.\u0e22.","\u0e01.\u0e04.","\u0e2a.\u0e04.","\u0e01.\u0e22.","\u0e15.\u0e04.","\u0e1e.\u0e22.","\u0e18.\u0e04."], +dayNames:["\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c","\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c","\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23","\u0e1e\u0e38\u0e18","\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35","\u0e28\u0e38\u0e01\u0e23\u0e4c","\u0e40\u0e2a\u0e32\u0e23\u0e4c"],dayNamesShort:["\u0e2d\u0e32.","\u0e08.","\u0e2d.","\u0e1e.","\u0e1e\u0e24.","\u0e28.","\u0e2a."],dayNamesMin:["\u0e2d\u0e32.","\u0e08.","\u0e2d.","\u0e1e.","\u0e1e\u0e24.","\u0e28.","\u0e2a."],weekHeader:"Wk",dateFormat:"dd/mm/yy", +firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.th)}); +jQuery(function(a){a.datepicker.regional.tr={closeText:"kapat",prevText:"<geri",nextText:"ileri>",currentText:"bug\u00fcn",monthNames:["Ocak","\u015eubat","Mart","Nisan","May\u0131s","Haziran","Temmuz","A\u011fustos","Eyl\u00fcl","Ekim","Kas\u0131m","Aral\u0131k"],monthNamesShort:["Oca","\u015eub","Mar","Nis","May","Haz","Tem","A\u011fu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Sal\u0131","\u00c7ar\u015famba","Per\u015fembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa", +"\u00c7a","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","\u00c7a","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.tr)}); +jQuery(function(a){a.datepicker.regional.uk={closeText:"\u0417\u0430\u043a\u0440\u0438\u0442\u0438",prevText:"<",nextText:">",currentText:"\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456",monthNames:["\u0421\u0456\u0447\u0435\u043d\u044c","\u041b\u044e\u0442\u0438\u0439","\u0411\u0435\u0440\u0435\u0437\u0435\u043d\u044c","\u041a\u0432\u0456\u0442\u0435\u043d\u044c","\u0422\u0440\u0430\u0432\u0435\u043d\u044c","\u0427\u0435\u0440\u0432\u0435\u043d\u044c","\u041b\u0438\u043f\u0435\u043d\u044c", +"\u0421\u0435\u0440\u043f\u0435\u043d\u044c","\u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c","\u0416\u043e\u0432\u0442\u0435\u043d\u044c","\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434","\u0413\u0440\u0443\u0434\u0435\u043d\u044c"],monthNamesShort:["\u0421\u0456\u0447","\u041b\u044e\u0442","\u0411\u0435\u0440","\u041a\u0432\u0456","\u0422\u0440\u0430","\u0427\u0435\u0440","\u041b\u0438\u043f","\u0421\u0435\u0440","\u0412\u0435\u0440","\u0416\u043e\u0432","\u041b\u0438\u0441","\u0413\u0440\u0443"], +dayNames:["\u043d\u0435\u0434\u0456\u043b\u044f","\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a","\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a","\u0441\u0435\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440","\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f","\u0441\u0443\u0431\u043e\u0442\u0430"],dayNamesShort:["\u043d\u0435\u0434","\u043f\u043d\u0434","\u0432\u0456\u0432","\u0441\u0440\u0434","\u0447\u0442\u0432","\u043f\u0442\u043d","\u0441\u0431\u0442"],dayNamesMin:["\u041d\u0434", +"\u041f\u043d","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041f\u0442","\u0421\u0431"],weekHeader:"\u041d\u0435",dateFormat:"dd/mm/yy",firstDay:1,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.uk)}); +jQuery(function(a){a.datepicker.regional.vi={closeText:"\u0110\u00f3ng",prevText:"<Tr\u01b0\u1edbc",nextText:"Ti\u1ebfp>",currentText:"H\u00f4m nay",monthNames:["Th\u00e1ng M\u1ed9t","Th\u00e1ng Hai","Th\u00e1ng Ba","Th\u00e1ng T\u01b0","Th\u00e1ng N\u0103m","Th\u00e1ng S\u00e1u","Th\u00e1ng B\u1ea3y","Th\u00e1ng T\u00e1m","Th\u00e1ng Ch\u00edn","Th\u00e1ng M\u01b0\u1eddi","Th\u00e1ng M\u01b0\u1eddi M\u1ed9t","Th\u00e1ng M\u01b0\u1eddi Hai"],monthNamesShort:["Th\u00e1ng 1","Th\u00e1ng 2", +"Th\u00e1ng 3","Th\u00e1ng 4","Th\u00e1ng 5","Th\u00e1ng 6","Th\u00e1ng 7","Th\u00e1ng 8","Th\u00e1ng 9","Th\u00e1ng 10","Th\u00e1ng 11","Th\u00e1ng 12"],dayNames:["Ch\u1ee7 Nh\u1eadt","Th\u1ee9 Hai","Th\u1ee9 Ba","Th\u1ee9 T\u01b0","Th\u1ee9 N\u0103m","Th\u1ee9 S\u00e1u","Th\u1ee9 B\u1ea3y"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};a.datepicker.setDefaults(a.datepicker.regional.vi)}); +jQuery(function(a){a.datepicker.regional["zh-CN"]={closeText:"\u5173\u95ed",prevText:"<\u4e0a\u6708",nextText:"\u4e0b\u6708>",currentText:"\u4eca\u5929",monthNames:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],monthNamesShort:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"], +dayNames:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],dayNamesShort:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],dayNamesMin:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],weekHeader:"\u5468",dateFormat:"yy-mm-dd",firstDay:1,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional["zh-CN"])}); +jQuery(function(a){a.datepicker.regional["zh-HK"]={closeText:"\u95dc\u9589",prevText:"<\u4e0a\u6708",nextText:"\u4e0b\u6708>",currentText:"\u4eca\u5929",monthNames:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],monthNamesShort:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"], +dayNames:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],dayNamesShort:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],dayNamesMin:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],weekHeader:"\u5468",dateFormat:"dd-mm-yy",firstDay:0,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional["zh-HK"])}); +jQuery(function(a){a.datepicker.regional["zh-TW"]={closeText:"\u95dc\u9589",prevText:"<\u4e0a\u6708",nextText:"\u4e0b\u6708>",currentText:"\u4eca\u5929",monthNames:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],monthNamesShort:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"], +dayNames:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],dayNamesShort:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],dayNamesMin:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],weekHeader:"\u5468",dateFormat:"yy/mm/dd",firstDay:1,isRTL:false,showMonthAfterYear:true,yearSuffix:"\u5e74"};a.datepicker.setDefaults(a.datepicker.regional["zh-TW"])}); diff --git a/www/protected/modules/yii-user-master/views/asset/js/jquery-ui.min.js b/www/protected/modules/yii-user-master/views/asset/js/jquery-ui.min.js new file mode 100644 index 0000000..d70ec5d --- /dev/null +++ b/www/protected/modules/yii-user-master/views/asset/js/jquery-ui.min.js @@ -0,0 +1,392 @@ +/*! + * jQuery UI 1.8.1 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +jQuery.ui||function(c){c.ui={version:"1.8.1",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}(jQuery); +(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype= +b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g= +b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create(); +this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f, +h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= +b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&& +this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault(); +return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&& +this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX- +a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top- +this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions(); +d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis|| +this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element, +b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this== +a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| +0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top- +(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment== +"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&& +a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"), +10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft(): +f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options; +if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!= +"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>=i&& +e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!d(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var e=0;e');/sw|se|ne|nw/.test(g)&&f.css({zIndex:++a.zIndex});"se"==g&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[g]=".ui-resizable-"+g;this.element.append(f)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=d(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=d(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}d(this.handles[i])}};this._renderAxis(this.element);this._handles=d(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();d(this.element).addClass("ui-resizable-autohide").hover(function(){d(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){d(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){d(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(d(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +e=this.element;this.resizing=true;this.documentScroll={top:d(document).scrollTop(),left:d(document).scrollLeft()};if(e.is(".ui-draggable")||/absolute/.test(e.css("position")))e.css({position:"absolute",top:c.top,left:c.left});d.browser.opera&&/relative/.test(e.css("position"))&&e.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var g=m(this.helper.css("top"));if(a.containment){c+=d(a.containment).scrollLeft()||0;g+=d(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:g};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:c,top:g};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=d(".ui-resizable-"+this.axis).css("cursor");d("body").css("cursor",a=="auto"?this.axis+"-resize":a);e.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,e=this._change[this.axis];if(!e)return false;c=e.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var e=this._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName);e=g&&d.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height; +g={width:c.size.width-(g?0:c.sizeDiff.width),height:c.size.height-e};e=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var f=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(d.extend(g,{top:f,left:e}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}d("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", +b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,e=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(e=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(e=="nw"){b.top= +a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,e=k(b.width)&&a.maxWidth&&a.maxWidthb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(f)b.width=a.minWidth;if(h)b.height=a.minHeight;if(e)b.width=a.maxWidth;if(g)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, +l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(f&&l)b.left=i-a.minWidth;if(e&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(g&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=d.browser.msie&&d.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ +a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return d.extend(this._change.n.apply(this, +arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return d.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){d.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});d.extend(d.ui.resizable, +{version:"1.8.1"});d.ui.plugin.add("resizable","alsoResize",{start:function(){var b=d(this).data("resizable").options,a=function(c){d(c).each(function(){d(this).data("resizable-alsoresize",{width:parseInt(d(this).width(),10),height:parseInt(d(this).height(),10),left:parseInt(d(this).css("left"),10),top:parseInt(d(this).css("top"),10)})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else d.each(b.alsoResize,function(c){a(c)}); +else a(b.alsoResize)},resize:function(){var b=d(this).data("resizable"),a=b.options,c=b.originalSize,e=b.originalPosition,g={height:b.size.height-c.height||0,width:b.size.width-c.width||0,top:b.position.top-e.top||0,left:b.position.left-e.left||0},f=function(h,i){d(h).each(function(){var j=d(this),l=d(this).data("resizable-alsoresize"),p={};d.each((i&&i.length?i:["width","height","top","left"])||["width","height","top","left"],function(n,o){if((n=(l[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(/relative/.test(j.css("position"))&& +d.browser.opera){b._revertToRelativePosition=true;j.css({position:"absolute",top:"auto",left:"auto"})}j.css(p)})};typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?d.each(a.alsoResize,function(h,i){f(h,i)}):f(a.alsoResize)},stop:function(){var b=d(this).data("resizable");if(b._revertToRelativePosition&&d.browser.opera){b._revertToRelativePosition=false;el.css({position:"relative"})}d(this).removeData("resizable-alsoresize-start")}});d.ui.plugin.add("resizable","animate",{stop:function(b){var a= +d(this).data("resizable"),c=a.options,e=a._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName),f=g&&d.ui.hasScroll(e[0],"left")?0:a.sizeDiff.height;g={width:a.size.width-(g?0:a.sizeDiff.width),height:a.size.height-f};f=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(d.extend(g,h&&f?{top:h,left:f}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};e&&e.length&&d(e[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});d.ui.plugin.add("resizable","containment",{start:function(){var b=d(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof d?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +d(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:d(document),left:0,top:0,width:d(document).width(),height:d(document).height()||document.body.parentNode.scrollHeight}}else{var e=d(a),g=[];d(["Top","Right","Left","Bottom"]).each(function(i,j){g[i]=m(e.css("padding"+j))});b.containerOffset=e.offset();b.containerPosition=e.position();b.containerSize={height:e.innerHeight()-g[3],width:e.innerWidth()-g[1]};c=b.containerOffset; +var f=b.containerSize.height,h=b.containerSize.width;h=d.ui.hasScroll(a,"left")?a.scrollWidth:h;f=d.ui.hasScroll(a)?a.scrollHeight:f;b.parentData={element:a,left:c.left,top:c.top,width:h,height:f}}}},resize:function(b){var a=d(this).data("resizable"),c=a.options,e=a.containerOffset,g=a.position;b=a._aspectRatio||b.shiftKey;var f={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))f=e;if(g.left<(a._helper?e.left:0)){a.size.width+=a._helper?a.position.left-e.left: +a.position.left-f.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?e.left:0}if(g.top<(a._helper?e.top:0)){a.size.height+=a._helper?a.position.top-e.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?e.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-f.left:a.offset.left-f.left)+a.sizeDiff.width);e=Math.abs((a._helper?a.offset.top-f.top:a.offset.top- +e.top)+a.sizeDiff.height);g=a.containerElement.get(0)==a.element.parent().get(0);f=/relative|absolute/.test(a.containerElement.css("position"));if(g&&f)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(e+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-e;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=d(this).data("resizable"),a=b.options,c=b.containerOffset,e=b.containerPosition, +g=b.containerElement,f=d(b.helper),h=f.offset(),i=f.outerWidth()-b.sizeDiff.width;f=f.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f});b._helper&&!a.animate&&/static/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f})}});d.ui.plugin.add("resizable","ghost",{start:function(){var b=d(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=d(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=d(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});d.ui.plugin.add("resizable","grid",{resize:function(){var b= +d(this).data("resizable"),a=b.options,c=b.size,e=b.originalSize,g=b.originalPosition,f=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-e.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-e.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a}else if(/^(ne)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}else{if(/^(sw)$/.test(f)){b.size.width=e.width+h;b.size.height= +e.height+a}else{b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}b.position.left=g.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var d=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(d.options.filter,d.element[0]);f.each(function(){var c=e(this),b=c.offset();e.data(this,"selectable-item",{element:this,$element:c,left:b.left,top:b.top,right:b.left+c.outerWidth(),bottom:b.top+c.outerHeight(),startselected:false,selected:c.hasClass("ui-selected"), +selecting:c.hasClass("ui-selecting"),unselecting:c.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this}, +_mouseStart:function(d){var f=this;this.opos=[d.pageX,d.pageY];if(!this.options.disabled){var c=this.options;this.selectees=e(c.filter,this.element[0]);this._trigger("start",d);e(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});c.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!d.metaKey){b.$element.removeClass("ui-selected"); +b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",d,{unselecting:b.element})}});e(d.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){b.$element.removeClass("ui-unselecting").addClass("ui-selecting");b.unselecting=false;b.selecting=true;b.selected=true;f._trigger("selecting",d,{selecting:b.element});return false}})}},_mouseDrag:function(d){var f=this;this.dragged=true;if(!this.options.disabled){var c=this.options, +b=this.opos[0],g=this.opos[1],h=d.pageX,i=d.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(c.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(self, +arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem= +c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset, +{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment(); +if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start", +a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute"); +if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a, +c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]== +document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate", +null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem): +d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c}, +_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a= +this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)? +h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"), +b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)? +i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement, +c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height= +this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()- +parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0], +this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b= +1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update", +g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity", +this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this, +arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c, +a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+ +b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2, +10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)* +a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100* +f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},_create:function(){var a=this.options,b=this;this.running=0;this.element.addClass("ui-accordion ui-widget ui-helper-reset"); +this.element[0].nodeName=="UL"&&this.element.children("li").addClass("ui-accordion-li-fix");this.headers=this.element.find(a.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c(this).removeClass("ui-state-focus")}); +this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(a.navigation){var d=this.element.find("a").filter(a.navigationFilter);if(d.length){var f=d.closest(".ui-accordion-header");this.active=f.length?f:d.closest(".ui-accordion-content").prev()}}this.active=this._findActive(this.active||a.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active"); +this._createIcons();this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(g){return b._keydown(g)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();this.active.length?this.active.attr("aria-expanded","true").attr("tabIndex","0"):this.headers.eq(0).attr("tabIndex","0");c.browser.safari||this.headers.find("a").attr("tabIndex","-1");a.event&&this.headers.bind(a.event+ +".accordion",function(g){b._clickHandler.call(b,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion"); +this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(a.autoHeight||a.fillHeight)b.css("height", +"");return this},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();b&&this._createIcons()}},_keydown:function(a){var b=c.ui.keyCode;if(!(this.options.disabled||a.altKey||a.ctrlKey)){var d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target}, +a.target);a.preventDefault()}if(g){c(a.target).attr("tabIndex","-1");c(g).attr("tabIndex","0");g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0, +b-c(this).innerHeight()+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a=="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d= +this.options;if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]==this.active[0];d.active=d.collapsible&&b?false:c(".ui-accordion-header",this.element).index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected); +a.next().addClass("ui-accordion-content-active")}e=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):e,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(e,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},e=this.active=c([]);this._toggle(e,f,g)}},_toggle:function(a,b,d,f,g){var e=this.options,k=this;this.toShow=a;this.toHide=b;this.data=d;var i=function(){if(k)return k._completed.apply(k,arguments)};this._trigger("changestart",null,this.data);this.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]), +toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var h=e.duration,j=e.animated;if(j&&!f[j]&&!c.easing[j])j="slide";f[j]||(f[j]=function(l){this.slide(l,{easing:j, +duration:h||700})});f[j](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}i(true)}b.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();a.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(a){var b=this.options;this.running=a?0:--this.running;if(!this.running){b.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion, +{version:"1.8.1",animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},e={},k;b=a.toShow;k=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(i,h){e[h]="hide";i=(""+c.css(a.toShow[0], +h)).match(/^([\d+-.]+)(.*)$/);g[h]={value:i[1],unit:i[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(e,{step:function(i,h){if(h.prop=="height")f=h.end-h.start===0?0:(h.now-h.start)/(h.end-h.start);a.toShow[0].style[h.prop]=f*g[h.prop].value+g[h.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css("width",k);a.toShow.css({overflow:d});a.complete()}})}else a.toHide.animate({height:"hide"}, +a);else a.toShow.animate({height:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +(function(e){e.widget("ui.autocomplete",{options:{minLength:1,delay:300},_create:function(){var a=this,b=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage",c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault(); +break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:a.menu.active&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;case d.LEFT:case d.RIGHT:case d.SHIFT:case d.CONTROL:case d.ALT:break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){a.search(null,c)},a.options.delay);break}}).bind("focus.autocomplete",function(){a.selectedItem=null;a.previous=a.element.val()}).bind("blur.autocomplete", +function(c){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("
        ").addClass("ui-autocomplete").appendTo("body",b).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("select", +c,{item:d})&&a.element.val(d.value);a.close(c);c=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=c}a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"); +this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,b;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(a,c.term))}}else if(typeof this.options.source==="string"){b=this.options.source;this.source=function(c,d){e.getJSON(b,c,d)}}else this.source=this.options.source},search:function(a,b){a= +a!=null?a:this.element.val();if(a.length").data("item.autocomplete",b).append(""+b.label+"").appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&& +/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")},filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value||d)})}})})(jQuery); +(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active|| +this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last")); +else{var b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()
        ").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(), +d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon");this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}}); +a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +(function(d){function J(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass= +"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su", +"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10", +minDate:null,maxDate:null,duration:"_default",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('
        ')}function E(a,b){d.extend(a, +b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.1"}});var y=(new Date).getTime();d.extend(J.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]= +f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id)a.id="dp"+ ++this.uuid;var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('
        ')}}, +_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&& +b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== +""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, +c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), +true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){a="dp"+ ++this.uuid;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor==Date? +this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]); +d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}}, +_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false; +for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target|| +a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a); +d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&& +d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f, +h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover"); +this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover"); +this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"); +a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(), +k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"]; +a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val(): +"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&& +!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth; +b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){a=this._getInst(d(a)[0]); +a.input&&a._selectingMonthYear&&!d.browser.msie&&a.input.focus();a._selectingMonthYear=!a._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a, +"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")|| +this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null; +for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1-1){k=1;l=u;do{e=this._getDaysInMonth(c,k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c, +k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c? +c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+112?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear|| +a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? +new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m, +g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
        '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
        ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),G=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var K=this._getDefaultDate(a),H="",C=0;C1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
        '+(/all|left/.test(t)&&C==0?c? +f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'
        ';var A=k?'":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=A+"";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var N=0;N";var O=!k?"":'";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,I=B&&!G||!F[0]||j&&qo;O+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=O+""}g++;if(g>11){g=0;m++}x+="
        '+this._get(a,"weekHeader")+"
        '+this._get(a,"calculateWeek")(q)+""+(B&&!w?" ":I?''+q.getDate()+ +"":''+q.getDate()+"")+"
        "+(l?""+(i[0]>0&&D==i[1]-1?'
        ':""):"");L+=x}H+=L}H+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return H},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='
        ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b, +i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
        ";return j},_adjustInstDate:function(a,b,c){var e= +a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, +"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); +c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, +"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= +function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b)); +return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new J;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.1";window["DP_jQuery_"+y]=d})(jQuery); +(function(c){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");var a=this,b=a.options,d=b.title||a.originalTitle||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
        ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
        ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index", +c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false,e=c("
        ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a, +function(g,f){g=c('').text(g).click(function(){f.apply(b.element[0],arguments)}).appendTo(e);c.fn.button&&g.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging"); +b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===undefined?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position"); +a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop", +f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0];a=a||c.ui.dialog.prototype.options.position;if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(e,g){if(+b[e]===b[e]){d[e]=b[e];b[e]= +g}})}else if(typeof a==="object"){if("left"in a){b[0]="left";d[0]=a.left}else if("right"in a){b[0]="right";d[0]=-a.right}if("top"in a){b[1]="top";d[1]=a.top}else if("bottom"in a){b[1]="bottom";d[1]=-a.bottom}}(a=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position({my:b.join(" "),at:b.join(" "),offset:d.join(" "),of:window,collision:"fit",using:function(e){var g=c(this).css(e).offset().top;g<0&&c(this).css("top",e.top-g)}});a||this.uiDialog.hide()},_setOption:function(a, +b){var d=this,e=d.uiDialog,g=e.is(":data(resizable)"),f=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":b?d._makeDraggable():e.draggable("destroy");break; +case "height":f=true;break;case "maxHeight":g&&e.resizable("option","maxHeight",b);f=true;break;case "maxWidth":g&&e.resizable("option","maxWidth",b);f=true;break;case "minHeight":g&&e.resizable("option","minHeight",b);f=true;break;case "minWidth":g&&e.resizable("option","minWidth",b);f=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title", +d.uiDialogTitlebar).html(""+(b||" "));break;case "width":f=true;break}c.Widget.prototype._setOption.apply(d,arguments);f&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight", +this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.1",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&& +c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("
        ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&& +b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight, +document.body.offsetHeight);return a0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"? +-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position= +"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery); +(function(b){b.widget("ui.progressbar",{options:{value:0},_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=b("
        ").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===undefined)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){switch(a){case "value":this.options.value=c;this._refreshValue();this._trigger("change");break}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;if(athis._valueMax())a=this._valueMax();return a}, +_valueMin:function(){return 0},_valueMax:function(){return 100},_refreshValue:function(){var a=this.value();this.valueDiv[a===this._valueMax()?"addClass":"removeClass"]("ui-corner-right").width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.1"})})(jQuery); +(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");a.disabled&&this.element.addClass("ui-slider-disabled ui-disabled"); +this.range=d([]);if(a.range){if(a.range===true){this.range=d("
        ");if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}else this.range=d("
        ");this.range.appendTo(this.element).addClass("ui-slider-range");if(a.range==="min"||a.range==="max")this.range.addClass("ui-slider-range-"+a.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("").appendTo(this.element).addClass("ui-slider-handle"); +if(a.values&&a.values.length)for(;d(".ui-slider-handle",this.element).length").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur(); +else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),g,h,i;if(!b.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e= +false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");g=b._start(c,f);if(g===false)return}break}i=b.options.step;g=b.options.values&&b.options.values.length?(h=b.values(f)):(h=b.value());switch(c.keyCode){case d.ui.keyCode.HOME:h=b._valueMin();break;case d.ui.keyCode.END:h=b._valueMax();break;case d.ui.keyCode.PAGE_UP:h=g+(b._valueMax()-b._valueMin())/5;break;case d.ui.keyCode.PAGE_DOWN:h=g-(b._valueMax()-b._valueMin())/5;break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(g=== +b._valueMax())return;h=g+i;break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(g===b._valueMin())return;h=g-i;break}b._slide(c,f,h);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(c,e);b._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); +this._mouseDestroy();return this},_mouseCapture:function(b){var a=this.options,c,e,f,g,h,i;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c={x:b.pageX,y:b.pageY};e=this._normValueFromMouse(c);f=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(j){var k=Math.abs(e-h.values(j));if(f>k){f=k;g=d(this);i=j}});if(a.range===true&&this.values(1)===a.min){i+=1;g=d(this.handles[i])}if(this._start(b, +i)===false)return false;this._mouseSliding=true;h._handleIndex=i;g.addClass("ui-state-active").focus();a=g.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-g.width()/2,top:b.pageY-a.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)};e=this._normValueFromMouse(c);this._slide(b,i,e);return this._animateOff=true},_mouseStart:function(){return true}, +_mouseDrag:function(b){var a=this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a; +if(this.orientation==="horizontal"){a=this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value= +this.values(a);c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var e;if(this.options.values&&this.options.values.length){e=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>e||a===1&&c1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;fthis._valueMax())return this._valueMax();var a=this.options.step,c=b%a;b=b-c;if(c>=a/2)b+=a;return parseFloat(b.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,a=this.options,c=this, +e=!this._animateOff?a.animate:false,f,g={},h,i,j,k;if(this.options.values&&this.options.values.length)this.handles.each(function(l){f=(c.values(l)-c._valueMin())/(c._valueMax()-c._valueMin())*100;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](g,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(l===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},a.animate);if(l===1)c.range[e?"animate":"css"]({width:f-h+"%"},{queue:false,duration:a.animate})}else{if(l=== +0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},a.animate);if(l===1)c.range[e?"animate":"css"]({height:f-h+"%"},{queue:false,duration:a.animate})}h=f});else{i=this.value();j=this._valueMin();k=this._valueMax();f=k!==j?(i-j)/(k-j)*100:0;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](g,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[e? +"animate":"css"]({width:100-f+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.1"})})(jQuery); +(function(d){var s=0,u=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
        ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:'
      • #{label}
      • '},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&&e==this.options.selected|| +this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+ ++s},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+ ++u);return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c= +d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]|| +(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show", +null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs", +function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g, +j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this, +"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", +true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide"); +this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1=c?--h:h});this._tabify();this._trigger("remove", +null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this}, +select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing"); +if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}}, +abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.1"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate= +function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('R.O={A:({}.I?q:W),9:4(n){2 n<10?"0"+n:n},m:{"\\b":\'\\\\b\',"\\t":\'\\\\t\',"\\n":\'\\\\n\',"\\f":\'\\\\f\',"\\r":\'\\\\r\',\'"\':\'\\\\"\',"\\\\":\'\\\\\\\\\'},B:4(s){3(/["\\\\\\y-\\w]/.V(s)){2\'"\'+s.X(/([\\y-\\w\\\\"])/g,4(a,b){j c=m[b];3(c){2 c}c=b.U();2"\\\\S"+N.M(c/16).u(16)+(c%16).u(16)})+\'"\'}2\'"\'+s+\'"\'},z:4(o){j a=["["],b,i,l=o.P,v;x(i=0;ipageTitle=Yii::app()->name . ' - '.UserModule::t("Change password"); +$this->breadcrumbs=array( + UserModule::t("Profile") => array('/user/profile'), + UserModule::t("Change password"), +); +$this->menu=array( + ((UserModule::isAdmin()) + ?array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')) + :array()), + array('label'=>UserModule::t('List User'), 'url'=>array('/user')), + array('label'=>UserModule::t('Profile'), 'url'=>array('/user/profile')), + array('label'=>UserModule::t('Edit'), 'url'=>array('edit')), + array('label'=>UserModule::t('Logout'), 'url'=>array('/user/logout')), +); +?> + +

        + +
        +beginWidget('CActiveForm', array( + 'id'=>'changepassword-form', + 'enableAjaxValidation'=>true, + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), +)); ?> + +

        * are required.'); ?>

        + errorSummary($model); ?> + +
        + labelEx($model,'oldPassword'); ?> + passwordField($model,'oldPassword'); ?> + error($model,'oldPassword'); ?> +
        + +
        + labelEx($model,'password'); ?> + passwordField($model,'password'); ?> + error($model,'password'); ?> +

        + +

        +
        + +
        + labelEx($model,'verifyPassword'); ?> + passwordField($model,'verifyPassword'); ?> + error($model,'verifyPassword'); ?> +
        + + +
        + +
        + +endWidget(); ?> +
        \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/profile/edit.php b/www/protected/modules/yii-user-master/views/profile/edit.php new file mode 100644 index 0000000..5ee22a8 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profile/edit.php @@ -0,0 +1,74 @@ +pageTitle=Yii::app()->name . ' - '.UserModule::t("Profile"); +$this->breadcrumbs=array( + UserModule::t("Profile")=>array('profile'), + UserModule::t("Edit"), +); +$this->menu=array( + ((UserModule::isAdmin()) + ?array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')) + :array()), + array('label'=>UserModule::t('List User'), 'url'=>array('/user')), + array('label'=>UserModule::t('Profile'), 'url'=>array('/user/profile')), + array('label'=>UserModule::t('Change password'), 'url'=>array('changepassword')), + array('label'=>UserModule::t('Logout'), 'url'=>array('/user/logout')), +); +?>

        + +user->hasFlash('profileMessage')): ?> +
        +user->getFlash('profileMessage'); ?> +
        + +
        +beginWidget('CActiveForm', array( + 'id'=>'profile-form', + 'enableAjaxValidation'=>true, + 'htmlOptions' => array('enctype'=>'multipart/form-data'), +)); ?> + +

        * are required.'); ?>

        + + errorSummary(array($model,$profile)); ?> + + +
        + labelEx($profile,$field->varname); + + if ($widgetEdit = $field->widgetEdit($profile)) { + echo $widgetEdit; + } elseif ($field->range) { + echo $form->dropDownList($profile,$field->varname,Profile::range($field->range)); + } elseif ($field->field_type=="TEXT") { + echo $form->textArea($profile,$field->varname,array('rows'=>6, 'cols'=>50)); + } else { + echo $form->textField($profile,$field->varname,array('size'=>60,'maxlength'=>(($field->field_size)?$field->field_size:255))); + } + echo $form->error($profile,$field->varname); ?> +
        + +
        + labelEx($model,'username'); ?> + textField($model,'username',array('size'=>20,'maxlength'=>20)); ?> + error($model,'username'); ?> +
        + +
        + labelEx($model,'email'); ?> + textField($model,'email',array('size'=>60,'maxlength'=>128)); ?> + error($model,'email'); ?> +
        + +
        + isNewRecord ? UserModule::t('Create') : UserModule::t('Save')); ?> +
        + +endWidget(); ?> + +
        diff --git a/www/protected/modules/yii-user-master/views/profile/profile.php b/www/protected/modules/yii-user-master/views/profile/profile.php new file mode 100644 index 0000000..785420e --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profile/profile.php @@ -0,0 +1,56 @@ +pageTitle=Yii::app()->name . ' - '.UserModule::t("Profile"); +$this->breadcrumbs=array( + UserModule::t("Profile"), +); +$this->menu=array( + ((UserModule::isAdmin()) + ?array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')) + :array()), + array('label'=>UserModule::t('List User'), 'url'=>array('/user')), + array('label'=>UserModule::t('Edit'), 'url'=>array('edit')), + array('label'=>UserModule::t('Change password'), 'url'=>array('changepassword')), + array('label'=>UserModule::t('Logout'), 'url'=>array('/user/logout')), +); +?>

        + +user->hasFlash('profileMessage')): ?> +
        + user->getFlash('profileMessage'); ?> +
        + + + + + + + forOwner()->sort()->findAll(); + if ($profileFields) { + foreach($profileFields as $field) { + //echo "
        "; print_r($profile); die();
        +			?>
        +	
        + + + + getAttribute($field->varname) + } + ?> + + + + + + + + + + + + + + + + +
        getAttributeLabel('username')); ?>username); ?>
        title)); ?>widgetView($profile))?$field->widgetView($profile):CHtml::encode((($field->range)?Profile::range($field->range,$profile->getAttribute($field->varname)):$profile->getAttribute($field->varname)))); ?>
        getAttributeLabel('email')); ?>email); ?>
        getAttributeLabel('create_at')); ?>create_at; ?>
        getAttributeLabel('lastvisit_at')); ?>lastvisit_at; ?>
        getAttributeLabel('status')); ?>status)); ?>
        diff --git a/www/protected/modules/yii-user-master/views/profileField/_form.php b/www/protected/modules/yii-user-master/views/profileField/_form.php new file mode 100644 index 0000000..57ee4fa --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profileField/_form.php @@ -0,0 +1,132 @@ +
        + + + +

        * are required.'); ?>

        + + + +
        + + id)?CHtml::activeTextField($model,'varname',array('size'=>60,'maxlength'=>50,'readonly'=>true)):CHtml::activeTextField($model,'varname',array('size'=>60,'maxlength'=>50))); ?> + +

        +
        + +
        + + 60,'maxlength'=>255)); ?> + +

        +
        + +
        + + id)?CHtml::activeTextField($model,'field_type',array('size'=>60,'maxlength'=>50,'readonly'=>true,'id'=>'field_type')):CHtml::activeDropDownList($model,'field_type',ProfileField::itemAlias('field_type'),array('id'=>'field_type'))); ?> + +

        +
        + +
        + + id)?CHtml::activeTextField($model,'field_size',array('readonly'=>true)):CHtml::activeTextField($model,'field_size')); ?> + +

        +
        + +
        + + + +

        +
        + +
        + + + +

        +
        + +
        + + 60,'maxlength'=>255)); ?> + +

        +
        + +
        + + 60,'maxlength'=>5000)); ?> + +

        +
        + +
        + + 60,'maxlength'=>255)); ?> + +

        +
        + +
        + + 60,'maxlength'=>255)); ?> + +

        CJavaScript::jsonEncode(array('file'=>array('types'=>'jpg, gif, png'))))); ?>

        +
        + +
        + + id)?CHtml::activeTextField($model,'default',array('size'=>60,'maxlength'=>255,'readonly'=>true)):CHtml::activeTextField($model,'default',array('size'=>60,'maxlength'=>255))); ?> + +

        +
        + +
        + + field_type); + echo CHtml::activeDropDownList($model,'widget',$widgetsList,array('id'=>'widgetlist')); + //echo CHtml::activeTextField($model,'widget',array('size'=>60,'maxlength'=>255)); ?> + +

        +
        + +
        + + 60,'maxlength'=>5000,'id'=>'widgetparams')); ?> + +

        CJavaScript::jsonEncode(array('param1'=>array('val1','val2'),'param2'=>array('k1'=>'v1','k2'=>'v2'))))); ?>

        +
        + +
        + + + +

        +
        + +
        + + + +
        + +
        + isNewRecord ? UserModule::t('Create') : UserModule::t('Save')); ?> +
        + + + +
        +
        +
        +
        + + + + +
        +
        +
        diff --git a/www/protected/modules/yii-user-master/views/profileField/_search.php b/www/protected/modules/yii-user-master/views/profileField/_search.php new file mode 100644 index 0000000..ccb5175 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profileField/_search.php @@ -0,0 +1,94 @@ +
        + +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
        + label($model,'id'); ?> + textField($model,'id'); ?> +
        + +
        + label($model,'varname'); ?> + textField($model,'varname',array('size'=>50,'maxlength'=>50)); ?> +
        + +
        + label($model,'title'); ?> + textField($model,'title',array('size'=>60,'maxlength'=>255)); ?> +
        + +
        + label($model,'field_type'); ?> + dropDownList($model,'field_type',ProfileField::itemAlias('field_type')); ?> +
        + +
        + label($model,'field_size'); ?> + textField($model,'field_size'); ?> +
        + +
        + label($model,'field_size_min'); ?> + textField($model,'field_size_min'); ?> +
        + +
        + label($model,'required'); ?> + dropDownList($model,'required',ProfileField::itemAlias('required')); ?> +
        + +
        + label($model,'match'); ?> + textField($model,'match',array('size'=>60,'maxlength'=>255)); ?> +
        + +
        + label($model,'range'); ?> + textField($model,'range',array('size'=>60,'maxlength'=>255)); ?> +
        + +
        + label($model,'error_message'); ?> + textField($model,'error_message',array('size'=>60,'maxlength'=>255)); ?> +
        + +
        + label($model,'other_validator'); ?> + textField($model,'other_validator',array('size'=>60,'maxlength'=>5000)); ?> +
        + +
        + label($model,'default'); ?> + textField($model,'default',array('size'=>60,'maxlength'=>255)); ?> +
        + +
        + label($model,'widget'); ?> + textField($model,'widget',array('size'=>60,'maxlength'=>255)); ?> +
        + +
        + label($model,'widgetparams'); ?> + textField($model,'widgetparams',array('size'=>60,'maxlength'=>5000)); ?> +
        + +
        + label($model,'position'); ?> + textField($model,'position'); ?> +
        + +
        + label($model,'visible'); ?> + dropDownList($model,'visible',ProfileField::itemAlias('visible')); ?> +
        + +
        + +
        + +endWidget(); ?> + +
        \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/profileField/_view.php b/www/protected/modules/yii-user-master/views/profileField/_view.php new file mode 100644 index 0000000..0ba667d --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profileField/_view.php @@ -0,0 +1,62 @@ +
        + + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
        + + getAttributeLabel('varname')); ?>: + varname); ?> +
        + + getAttributeLabel('title')); ?>: + title); ?> +
        + + getAttributeLabel('field_type')); ?>: + field_type); ?> +
        + + getAttributeLabel('field_size')); ?>: + field_size); ?> +
        + + getAttributeLabel('field_size_min')); ?>: + field_size_min); ?> +
        + + getAttributeLabel('required')); ?>: + required); ?> +
        + + getAttributeLabel('match')); ?>: + match); ?> +
        + + getAttributeLabel('range')); ?>: + range); ?> +
        + + getAttributeLabel('error_message')); ?>: + error_message); ?> +
        + + getAttributeLabel('other_validator')); ?>: + other_validator); ?> +
        + + getAttributeLabel('default')); ?>: + default); ?> +
        + + getAttributeLabel('position')); ?>: + position); ?> +
        + + getAttributeLabel('visible')); ?>: + visible); ?> +
        + + */ ?> + +
        \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/profileField/admin.php b/www/protected/modules/yii-user-master/views/profileField/admin.php new file mode 100644 index 0000000..350b6c8 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profileField/admin.php @@ -0,0 +1,79 @@ +breadcrumbs=array( + UserModule::t('Profile Fields')=>array('admin'), + UserModule::t('Manage'), +); +$this->menu=array( + array('label'=>UserModule::t('Create Profile Field'), 'url'=>array('create')), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $.fn.yiiGridView.update('profile-field-grid', { + data: $(this).serialize() + }); + return false; +}); +"); + +?> +

        + +

        <, <=, >, >=, <> or =) at the beginning of each of your search values to specify how the comparison should be done."); ?>

        + +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'dataProvider'=>$model->search(), + 'filter'=>$model, + 'columns'=>array( + 'id', + array( + 'name'=>'varname', + 'type'=>'raw', + 'value'=>'UHtml::markSearch($data,"varname")', + ), + array( + 'name'=>'title', + 'value'=>'UserModule::t($data->title)', + ), + array( + 'name'=>'field_type', + 'value'=>'$data->field_type', + 'filter'=>ProfileField::itemAlias("field_type"), + ), + 'field_size', + //'field_size_min', + array( + 'name'=>'required', + 'value'=>'ProfileField::itemAlias("required",$data->required)', + 'filter'=>ProfileField::itemAlias("required"), + ), + //'match', + //'range', + //'error_message', + //'other_validator', + //'default', + 'position', + array( + 'name'=>'visible', + 'value'=>'ProfileField::itemAlias("visible",$data->visible)', + 'filter'=>ProfileField::itemAlias("visible"), + ), + //*/ + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/www/protected/modules/yii-user-master/views/profileField/create.php b/www/protected/modules/yii-user-master/views/profileField/create.php new file mode 100644 index 0000000..4186e6c --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profileField/create.php @@ -0,0 +1,12 @@ +breadcrumbs=array( + UserModule::t('Profile Fields')=>array('admin'), + UserModule::t('Create'), +); +$this->menu=array( + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')), +); +?> +

        +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/profileField/update.php b/www/protected/modules/yii-user-master/views/profileField/update.php new file mode 100644 index 0000000..db2e00b --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profileField/update.php @@ -0,0 +1,16 @@ +breadcrumbs=array( + UserModule::t('Profile Fields')=>array('admin'), + $model->title=>array('view','id'=>$model->id), + UserModule::t('Update'), +); +$this->menu=array( + array('label'=>UserModule::t('Create Profile Field'), 'url'=>array('create')), + array('label'=>UserModule::t('View Profile Field'), 'url'=>array('view','id'=>$model->id)), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')), +); +?> + +

        id; ?>

        +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/profileField/view.php b/www/protected/modules/yii-user-master/views/profileField/view.php new file mode 100644 index 0000000..febb55b --- /dev/null +++ b/www/protected/modules/yii-user-master/views/profileField/view.php @@ -0,0 +1,36 @@ +breadcrumbs=array( + UserModule::t('Profile Fields')=>array('admin'), + UserModule::t($model->title), +); +$this->menu=array( + array('label'=>UserModule::t('Create Profile Field'), 'url'=>array('create')), + array('label'=>UserModule::t('Update Profile Field'), 'url'=>array('update','id'=>$model->id)), + array('label'=>UserModule::t('Delete Profile Field'), 'url'=>'#','linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>UserModule::t('Are you sure to delete this item?'))), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('admin')), + array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')), +); +?> +

        varname; ?>

        + +widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>array( + 'id', + 'varname', + 'title', + 'field_type', + 'field_size', + 'field_size_min', + 'required', + 'match', + 'range', + 'error_message', + 'other_validator', + 'widget', + 'widgetparams', + 'default', + 'position', + 'visible', + ), +)); ?> diff --git a/www/protected/modules/yii-user-master/views/recovery/changepassword.php b/www/protected/modules/yii-user-master/views/recovery/changepassword.php new file mode 100644 index 0000000..1da2af7 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/recovery/changepassword.php @@ -0,0 +1,36 @@ +pageTitle=Yii::app()->name . ' - '.UserModule::t("Change password"); +$this->breadcrumbs=array( + UserModule::t("Login") => array('/user/login'), + UserModule::t("Change password"), +); +?> + +

        + + +
        + + +

        * are required.'); ?>

        + + +
        + + +

        + +

        +
        + +
        + + +
        + + +
        + +
        + + +
        \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/recovery/recovery.php b/www/protected/modules/yii-user-master/views/recovery/recovery.php new file mode 100644 index 0000000..35f782c --- /dev/null +++ b/www/protected/modules/yii-user-master/views/recovery/recovery.php @@ -0,0 +1,33 @@ +pageTitle=Yii::app()->name . ' - '.UserModule::t("Restore"); +$this->breadcrumbs=array( + UserModule::t("Login") => array('/user/login'), + UserModule::t("Restore"), +); +?> + +

        + +user->hasFlash('recoveryMessage')): ?> +
        +user->getFlash('recoveryMessage'); ?> +
        + + +
        + + + + +
        + + +

        +
        + +
        + +
        + + +
        + \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/user/index.php b/www/protected/modules/yii-user-master/views/user/index.php new file mode 100644 index 0000000..0715139 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/user/index.php @@ -0,0 +1,27 @@ +breadcrumbs=array( + UserModule::t("Users"), +); +if(UserModule::isAdmin()) { + $this->layout='//layouts/column2'; + $this->menu=array( + array('label'=>UserModule::t('Manage Users'), 'url'=>array('/user/admin')), + array('label'=>UserModule::t('Manage Profile Field'), 'url'=>array('profileField/admin')), + ); +} +?> + +

        + +widget('zii.widgets.grid.CGridView', array( + 'dataProvider'=>$dataProvider, + 'columns'=>array( + array( + 'name' => 'username', + 'type'=>'raw', + 'value' => 'CHtml::link(CHtml::encode($data->username),array("user/view","id"=>$data->id))', + ), + 'create_at', + 'lastvisit_at', + ), +)); ?> diff --git a/www/protected/modules/yii-user-master/views/user/login.php b/www/protected/modules/yii-user-master/views/user/login.php new file mode 100644 index 0000000..7064709 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/user/login.php @@ -0,0 +1,79 @@ +pageTitle=Yii::app()->name . ' - '.UserModule::t("Login"); +$this->breadcrumbs=array( + UserModule::t("Login"), +); +?> + +

        + +user->hasFlash('loginMessage')): ?> + +
        + user->getFlash('loginMessage'); ?> +
        + + + +

        + +
        + + +

        * are required.'); ?>

        + + + +
        + + +
        + +
        + + +
        + +
        +

        + getModule('user')->registrationUrl); ?> | getModule('user')->recoveryUrl); ?> +

        +
        + +
        + + +
        + +
        + +
        + + +
        + + +array( + 'username'=>array( + 'type'=>'text', + 'maxlength'=>32, + ), + 'password'=>array( + 'type'=>'password', + 'maxlength'=>32, + ), + 'rememberMe'=>array( + 'type'=>'checkbox', + ) + ), + + 'buttons'=>array( + 'login'=>array( + 'type'=>'submit', + 'label'=>'Login', + ), + ), +), $model); +?> \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/user/message.php b/www/protected/modules/yii-user-master/views/user/message.php new file mode 100644 index 0000000..2da9f74 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/user/message.php @@ -0,0 +1,8 @@ +pageTitle=Yii::app()->name . ' - '.UserModule::t("Login"); ?> + +

        + +
        + + +
        \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/user/registration.php b/www/protected/modules/yii-user-master/views/user/registration.php new file mode 100644 index 0000000..fdad6fc --- /dev/null +++ b/www/protected/modules/yii-user-master/views/user/registration.php @@ -0,0 +1,100 @@ +pageTitle=Yii::app()->name . ' - '.UserModule::t("Registration"); +$this->breadcrumbs=array( + UserModule::t("Registration"), +); +?> + +

        + +user->hasFlash('registration')): ?> +
        +user->getFlash('registration'); ?> +
        + + +
        +beginWidget('UActiveForm', array( + 'id'=>'registration-form', + 'enableAjaxValidation'=>true, + 'disableAjaxValidationAttributes'=>array('RegistrationForm_verifyCode'), + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), + 'htmlOptions' => array('enctype'=>'multipart/form-data'), +)); ?> + +

        * are required.'); ?>

        + + errorSummary(array($model,$profile)); ?> + +
        + labelEx($model,'username'); ?> + textField($model,'username'); ?> + error($model,'username'); ?> +
        + +
        + labelEx($model,'password'); ?> + passwordField($model,'password'); ?> + error($model,'password'); ?> +

        + +

        +
        + +
        + labelEx($model,'verifyPassword'); ?> + passwordField($model,'verifyPassword'); ?> + error($model,'verifyPassword'); ?> +
        + +
        + labelEx($model,'email'); ?> + textField($model,'email'); ?> + error($model,'email'); ?> +
        + + +
        + labelEx($profile,$field->varname); ?> + widgetEdit($profile)) { + echo $widgetEdit; + } elseif ($field->range) { + echo $form->dropDownList($profile,$field->varname,Profile::range($field->range)); + } elseif ($field->field_type=="TEXT") { + echo$form->textArea($profile,$field->varname,array('rows'=>6, 'cols'=>50)); + } else { + echo $form->textField($profile,$field->varname,array('size'=>60,'maxlength'=>(($field->field_size)?$field->field_size:255))); + } + ?> + error($profile,$field->varname); ?> +
        + + +
        + labelEx($model,'verifyCode'); ?> + + widget('CCaptcha'); ?> + textField($model,'verifyCode'); ?> + error($model,'verifyCode'); ?> + +

        +

        +
        + + +
        + +
        + +endWidget(); ?> +
        + \ No newline at end of file diff --git a/www/protected/modules/yii-user-master/views/user/view.php b/www/protected/modules/yii-user-master/views/user/view.php new file mode 100644 index 0000000..b1ab778 --- /dev/null +++ b/www/protected/modules/yii-user-master/views/user/view.php @@ -0,0 +1,43 @@ +breadcrumbs=array( + UserModule::t('Users')=>array('index'), + $model->username, +); +$this->layout='//layouts/column2'; +$this->menu=array( + array('label'=>UserModule::t('List User'), 'url'=>array('index')), +); +?> +

        username.'"'; ?>

        +forAll()->sort()->findAll(); + if ($profileFields) { + foreach($profileFields as $field) { + array_push($attributes,array( + 'label' => UserModule::t($field->title), + 'name' => $field->varname, + 'value' => (($field->widgetView($model->profile))?$field->widgetView($model->profile):(($field->range)?Profile::range($field->range,$model->profile->getAttribute($field->varname)):$model->profile->getAttribute($field->varname))), + + )); + } + } + array_push($attributes, + 'create_at', + array( + 'name' => 'lastvisit_at', + 'value' => (($model->lastvisit_at!='0000-00-00 00:00:00')?$model->lastvisit_at:UserModule::t('Not visited')), + ) + ); + + $this->widget('zii.widgets.CDetailView', array( + 'data'=>$model, + 'attributes'=>$attributes, + )); + +?> diff --git a/www/protected/tests/WebTestCase.php b/www/protected/tests/WebTestCase.php new file mode 100644 index 0000000..9e1cb6c --- /dev/null +++ b/www/protected/tests/WebTestCase.php @@ -0,0 +1,31 @@ +setBrowserUrl(TEST_BASE_URL); + } + +} diff --git a/www/protected/tests/bootstrap.php b/www/protected/tests/bootstrap.php new file mode 100644 index 0000000..4419f41 --- /dev/null +++ b/www/protected/tests/bootstrap.php @@ -0,0 +1,11 @@ +open(''); + $this->assertTextPresent('Welcome'); + } + + public function testContact() + { + $this->open('?r=site/contact'); + $this->assertTextPresent('Contact Us'); + $this->assertElementPresent('name=ContactForm[name]'); + + $this->type('name=ContactForm[name]','tester'); + $this->type('name=ContactForm[email]','tester@example.com'); + $this->type('name=ContactForm[subject]','test subject'); + $this->click("//input[@value='Submit']"); + $this->waitForTextPresent('Body cannot be blank.'); + } + + public function testLoginLogout() + { + $this->open(''); + // ensure the user is logged out + if($this->isTextPresent('Logout')) + $this->clickAndWait('link=Logout (demo)'); + + // test login process, including validation + $this->clickAndWait('link=Login'); + $this->assertElementPresent('name=LoginForm[username]'); + $this->type('name=LoginForm[username]','demo'); + $this->click("//input[@value='Login']"); + $this->waitForTextPresent('Password cannot be blank.'); + $this->type('name=LoginForm[password]','demo'); + $this->clickAndWait("//input[@value='Login']"); + $this->assertTextNotPresent('Password cannot be blank.'); + $this->assertTextPresent('Logout'); + + // test logout process + $this->assertTextNotPresent('Login'); + $this->clickAndWait('link=Logout (demo)'); + $this->assertTextPresent('Login'); + } +} diff --git a/www/protected/tests/modules/usuario/fixtures/tbl_perfiles.php b/www/protected/tests/modules/usuario/fixtures/tbl_perfiles.php new file mode 100644 index 0000000..354bd31 --- /dev/null +++ b/www/protected/tests/modules/usuario/fixtures/tbl_perfiles.php @@ -0,0 +1,30 @@ + array( + 'usuario_id' => 1, + 'nombre' => 'Administrador', + 'apellidos' => '-', + ), + 'usuario' => array( + 'usuario_id' => 2, + 'nombre' => 'Usuario', + 'apellidos' => 'Sin Activar', + ), + 'usuario' => array( + 'usuario_id' => 3, + 'nombre' => 'Usuario', + 'apellidos' => 'Activado', + ), + 'usuario' => array( + 'usuario_id' => 4, + 'nombre' => 'Usuario', + 'apellidos' => 'Bloqueado', + ), + 'usuario' => array( + 'usuario_id' => 5, + 'nombre' => 'Usuario', + 'apellidos' => 'Borrado', + ), +); + diff --git a/www/protected/tests/modules/usuario/fixtures/tbl_perfiles_campos.php b/www/protected/tests/modules/usuario/fixtures/tbl_perfiles_campos.php new file mode 100644 index 0000000..415a340 --- /dev/null +++ b/www/protected/tests/modules/usuario/fixtures/tbl_perfiles_campos.php @@ -0,0 +1,7 @@ + array('id' => '1', 'varname' => 'nombre', 'title' => 'Nombre', 'field_type' => 'VARCHAR', 'field_size' => '255', 'field_size_min' => '3', 'required' => '2', 'match' => '', 'range' => '', 'error_message' => 'Incorrect First Name (length between 3 and 50 characters).', 'other_validator' => '', 'default' => '', 'widget' => '', 'widgetparams' => '', 'position' => '1', 'visible' => '3'), + 'apellidos' => array('id' => '2', 'varname' => 'apellidos', 'title' => 'Apellidos', 'field_type' => 'VARCHAR', 'field_size' => '255', 'field_size_min' => '3', 'required' => '2', 'match' => '', 'range' => '', 'error_message' => 'Incorrect Last Name (length between 3 and 50 characters).', 'other_validator' => '', 'default' => '', 'widget' => '', 'widgetparams' => '', 'position' => '2', 'visible' => '3') +); + diff --git a/www/protected/tests/modules/usuario/fixtures/tbl_usuarios.php b/www/protected/tests/modules/usuario/fixtures/tbl_usuarios.php new file mode 100644 index 0000000..7af8d3c --- /dev/null +++ b/www/protected/tests/modules/usuario/fixtures/tbl_usuarios.php @@ -0,0 +1,59 @@ + array( + 'id' => 1, + 'username' => 'admin', + 'password' => 'admin password', + 'email' => 'admin@admin.com', + 'superusuario' => 1, + 'estado' => Usuario::ESTADO_ACTIVO, + 'fecha_registro' => new CDbExpression('SYSDATE()'), + 'ultima_visita' => new CDbExpression('SYSDATE()'), + ), + 'sin_activar' => array( + 'id' => 2, + 'username' => 'sin_activar', + 'password' => 'password', + 'email' => 'sin_activar@localhost.local', + 'superusuario' => 0, + 'estado' => Usuario::ESTADO_NOACTIVO, + 'fecha_registro' => new CDbExpression('SYSDATE()'), + 'ultima_visita' => new CDbExpression('SYSDATE()'), + 'clave_activacion' => 'eaf2a42cadde86331f821bda9b85ead3', + ), + 'activado' => array( + 'id' => 3, + 'username' => 'activado', + 'password' => 'password', + 'email' => 'activado@localhost.local', + 'superusuario' => 0, + 'estado' => Usuario::ESTADO_ACTIVO, + 'fecha_registro' => new CDbExpression('SYSDATE()'), + 'ultima_visita' => new CDbExpression('SYSDATE()'), + 'clave_activacion' => 'eaf2a42cadde86331f821bda9b85ead3', + ), + 'bloqueado' => array( + 'id' => 4, + 'username' => 'bloqueado', + 'password' => 'password', + 'email' => 'bloqueado@localhost.local', + 'superusuario' => 0, + 'estado' => Usuario::ESTADO_BLOQUEADO, + 'fecha_registro' => new CDbExpression('SYSDATE()'), + 'ultima_visita' => new CDbExpression('SYSDATE()'), + 'clave_activacion' => 'eaf2a42cadde86331f821bda9b85ead3', + ), + 'borrado' => array( + 'id' => 5, + 'username' => 'borrado', + 'password' => 'password', + 'email' => 'borrado@localhost.local', + 'superusuario' => 0, + 'estado' => Usuario::ESTADO_BORRADO, + 'fecha_registro' => new CDbExpression('SYSDATE()'), + 'ultima_visita' => new CDbExpression('SYSDATE()'), + 'clave_activacion' => 'eaf2a42cadde86331f821bda9b85ead3', + ), +); + diff --git a/www/protected/tests/modules/usuario/functional/ActivacionTest.php b/www/protected/tests/modules/usuario/functional/ActivacionTest.php new file mode 100644 index 0000000..7c8d49f --- /dev/null +++ b/www/protected/tests/modules/usuario/functional/ActivacionTest.php @@ -0,0 +1,77 @@ + 'Usuario', + 'perfiles' => 'Perfil', + 'campos' => 'CampoPerfil', + ); + + private $usuario_correcto = array( + 'username' => 'pepe', + 'password' => 'password', + 'email' => 'darranz@rodax-software.com', + 'nombre' => 'Pepe', + 'apellidos' => 'Pérez', + ); + + protected function setUp() { + $this->getFixtureManager()->basePath = Yii::getPathOfAlias('application.tests.modules.usuario.fixtures'); + parent::setUp(); + $this->setBrowserUrl(TEST_BASE_URL); + } + + public function testActivacionCorrecta() { + + $key = 'eaf2a42cadde86331f821bda9b85ead3'; + $email = 'sin_activar@localhost.local'; + + $this->open('?r=' . Yii::app()->getModule('usuario')->urlActivar . '&key=' . $key . '&email=' . $email); + + $this->pause(4000); + + $this->verifyTextPresent("Gracias por registrarse en FactuGES. Su cuenta ha sido confirmada."); + } + + public function testActivacionUsuarioYaActivado() { + + $key = 'eaf2a42cadde86331f821bda9b85ead3'; + $email = 'activado@localhost.local'; + + $this->open('?r=' . Yii::app()->getModule('usuario')->urlActivar . '&key=' . $key . '&email=' . $email); + + $this->pause(4000); + + $this->verifyTextPresent("No se ha realizado ningún cambio. La cuenta ya estaba activada."); + } + + public function testActivacionUsuarioBloqueado() { + + $key = 'eaf2a42cadde86331f821bda9b85ead3'; + $email = 'bloqueado@localhost.local'; + + $this->open('?r=' . Yii::app()->getModule('usuario')->urlActivar . '&key=' . $key . '&email=' . $email); + + $this->pause(4000); + + $this->verifyTextPresent("La cuenta ha sido bloqueada. Contacte con el administrador del sitio para obtener más información."); + } + + public function testActivacionUsuarioBorrado() { + + $key = 'eaf2a42cadde86331f821bda9b85ead3'; + $email = 'borrado@localhost.local'; + + $this->open('?r=' . Yii::app()->getModule('usuario')->urlActivar . '&key=' . $key . '&email=' . $email); + + $this->pause(4000); + + $this->verifyTextPresent("Gracias por registrarse en FactuGES. Su cuenta ha sido confirmada."); + } + +} diff --git a/www/protected/tests/modules/usuario/functional/LoginTest.php b/www/protected/tests/modules/usuario/functional/LoginTest.php new file mode 100644 index 0000000..128ecf6 --- /dev/null +++ b/www/protected/tests/modules/usuario/functional/LoginTest.php @@ -0,0 +1,33 @@ +open(''); + + // ensure the user is logged out + if ($this->isTextPresent('Logout')) + $this->clickAndWait('link=Logout (demo)'); + + // test login process, including validation + $this->clickAndWait('link=Login'); + /*$this->assertElementPresent('name=LoginForm[username]'); + $this->type('name=LoginForm[username]', 'demo'); + $this->click("//input[@value='Login']"); + $this->waitForTextPresent('Password cannot be blank.'); + $this->type('name=LoginForm[password]', 'demo'); + $this->clickAndWait("//input[@value='Login']"); + $this->assertTextNotPresent('Password cannot be blank.'); + $this->assertTextPresent('Logout'); + + // test logout process + $this->assertTextNotPresent('Login'); + $this->clickAndWait('link=Logout (demo)'); + $this->assertTextPresent('Login');*/ + } + +} \ No newline at end of file diff --git a/www/protected/tests/modules/usuario/functional/RegistroTest.php b/www/protected/tests/modules/usuario/functional/RegistroTest.php new file mode 100644 index 0000000..d182bf2 --- /dev/null +++ b/www/protected/tests/modules/usuario/functional/RegistroTest.php @@ -0,0 +1,97 @@ + 'Usuario', + 'perfiles' => 'Perfil', + 'campos' => 'CampoPerfil', + ); + + private $usuario_correcto = array( + 'username' => 'pepe', + 'password' => 'password', + 'email' => 'darranz@rodax-software.com', + 'nombre' => 'Pepe', + 'apellidos' => 'Pérez', + ); + + protected function setUp() { + $this->getFixtureManager()->basePath = Yii::getPathOfAlias('application.tests.modules.usuario.fixtures'); + parent::setUp(); + $this->setBrowserUrl(TEST_BASE_URL); + } + + public function testRegistroCorrecto() { + $this->open('?r=' . Yii::app()->getModule('usuario')->urlLogin); + + // ensure the user is logged out + if ($this->isTextPresent('Logout')) + $this->clickAndWait('link=Logout (demo)'); + + + // verify the sample post title exists + $this->assertTextPresent('Crear una cuenta'); + $this->clickAndWait('link=Crear una cuenta'); + + $this->assertElementPresent('id=FormularioRegistroUsuario_username'); + $this->type('id=FormularioRegistroUsuario_username', $this->usuario_correcto['username']); + + $this->assertElementPresent('name=FormularioRegistroUsuario[password]'); + $this->type('name=FormularioRegistroUsuario[password]', $this->usuario_correcto['password']); + + $this->assertElementPresent('name=FormularioRegistroUsuario[confirmacion_password]'); + $this->type('name=FormularioRegistroUsuario[confirmacion_password]', $this->usuario_correcto['password']); + + $this->assertElementPresent('name=FormularioRegistroUsuario[email]'); + $this->type('name=FormularioRegistroUsuario[email]', $this->usuario_correcto['email']); + + $this->assertElementPresent('id=Perfil_nombre'); + $this->type('id=Perfil_nombre', $this->usuario_correcto['nombre']); + + $this->assertElementPresent('id=Perfil_apellidos'); + $this->type('id=Perfil_apellidos', $this->usuario_correcto['apellidos']); + + $this->click("css=#uniform-undefined > span"); + $this->click("name=tnc"); + $this->click("name=yt0"); + + $this->pause(6000); + + $this->verifyTextPresent("Thank you for your registration. Please check your email."); + } + + public function testRegistroConErrores() { + $this->open('?r=' . Yii::app()->getModule('usuario')->urlLogin); + + // ensure the user is logged out + if ($this->isTextPresent('Logout')) + $this->clickAndWait('link=Logout (demo)'); + + // verify the sample post title exists + $this->assertTextPresent('Crear una cuenta'); + $this->clickAndWait('link=Crear una cuenta'); + + $this->assertElementPresent('id=FormularioRegistroUsuario_username'); + $this->type("id=FormularioRegistroUsuario_username", $this->usuario_correcto['username']); + $this->click("name=yt0"); + $this->waitForPageToLoad("1000"); + $this->assertTrue($this->isTextPresent("Contraseña no puede ser nulo.")); + + $this->assertElementPresent('id=FormularioRegistroUsuario_password'); + $this->type("id=FormularioRegistroUsuario_password", $this->usuario_correcto['password']); + $this->click("name=yt0"); + $this->waitForPageToLoad("1000"); + $this->assertTrue($this->isTextPresent("Confirmación de contraseña no puede ser nulo.")); + + $this->type("id=FormularioRegistroUsuario_confirmacion_password", $this->usuario_correcto['password']); + $this->click("name=yt0"); + $this->waitForPageToLoad("1000"); + $this->assertTrue($this->isTextPresent("E-mail no puede ser nulo.")); + } + +} diff --git a/www/protected/tests/modules/usuario/unit/UsuarioTest.php b/www/protected/tests/modules/usuario/unit/UsuarioTest.php new file mode 100644 index 0000000..7afbe2e --- /dev/null +++ b/www/protected/tests/modules/usuario/unit/UsuarioTest.php @@ -0,0 +1,125 @@ + 'Usuario', + 'perfiles' => 'Perfil', + ); + + protected function setUp() { + $this->getFixtureManager()->basePath = Yii::getPathOfAlias('application.tests.modules.usuario.fixtures'); + parent::setUp(); + } + + public function testCrear() { + + $usuario_correcto = array( + 'username' => 'username_correcto', + 'password' => 'pass word', + 'email' => 'prueba@prueba.com', + 'superusuario' => 0, + 'estado' => Usuario::ESTADO_ACTIVO, + ); + + $nuevoUsuario = new Usuario; + $nuevoUsuario->username = $usuario_correcto['username']; + $nuevoUsuario->password = UsuarioModule::cifrar($usuario_correcto['password']); + $nuevoUsuario->email = $usuario_correcto['email']; + $nuevoUsuario->superusuario = $usuario_correcto['superusuario']; + $nuevoUsuario->estado = $usuario_correcto['estado']; + + // Guardar usuario + $this->assertTrue($nuevoUsuario->save(false)); + + // Recuperar y comprobar + $usuarioRecuperado = Usuario::model()->findByPk($nuevoUsuario->id); + $this->assertTrue($usuarioRecuperado instanceof Usuario); + $this->assertEquals($nuevoUsuario->username, $usuarioRecuperado->username); + $this->assertEquals($nuevoUsuario->email, $usuarioRecuperado->email); + $this->assertEquals($nuevoUsuario->superusuario, $usuarioRecuperado->superusuario); + $this->assertEquals($nuevoUsuario->estado, $usuarioRecuperado->estado); + } + + public function testLeer() { + $usuarioRecuperado = $this->usuarios('admin'); + $this->assertTrue($usuarioRecuperado instanceof Usuario); + $this->assertEquals($this->usuarios['admin']['username'], $usuarioRecuperado->username); + } + + public function testValidaciones() { + + $usuario = new Usuario; + + // nombre de usuario en blanco + $usuario->username = ''; + $this->assertFalse($usuario->validate(array('username'))); + + // nombre de usuario con espacios en blanco + $usuario->username = 'con espacios en blanco'; + $this->assertFalse($usuario->validate(array('username'))); + + // nombre de usuario muy corto + $usuario->username = 'ab'; + $this->assertFalse($usuario->validate(array('username'))); + + // nombre de usuario muy largo + $usuario->username = 'abcdefghijklmnopqrstuvwxyz'; + $this->assertFalse($usuario->validate(array('username'))); + + // nombre de usuario OK + $usuario->username = 'username_correcto'; + $this->assertTrue($usuario->validate(array('username'))); + + // email incorrecto + $usuario->email = 'email_incorrecto'; + $this->assertFalse($usuario->validate(array('email'))); + + // email nulo + $usuario->email = ''; + $this->assertFalse($usuario->validate(array('email'))); + + // email OK + $usuario->email = 'prueba@prueba.com'; + $this->assertTrue($usuario->validate(array('email'))); + + // sin password + $usuario->password = ''; + $this->assertFalse($usuario->validate(array('password'))); + + // password muy corta + $usuario->password = 'abc'; + $this->assertFalse($usuario->validate(array('password'))); + + // password OK + $usuario->password = 'la contraseña'; + $this->assertTrue($usuario->validate(array('password'))); + + // estado no válido + $usuario->estado = -999; + $this->assertFalse($usuario->validate()); + + // estado no nomérico + $usuario->estado = 'abc'; + $this->assertFalse($usuario->validate()); + + // estado OK + $usuario->estado = Usuario::ESTADO_ACTIVO; + $this->assertTrue($usuario->validate()); + + // superusuario no válido + $usuario->superusuario = 9; + $this->assertFalse($usuario->validate()); + + // superusuario no nomérico + $usuario->superusuario = 'abc'; + $this->assertFalse($usuario->validate()); + + // superusuario OK + $usuario->superusuario = 0; + $this->assertTrue($usuario->validate()); + } + +} \ No newline at end of file diff --git a/www/protected/tests/phpunit.xml b/www/protected/tests/phpunit.xml new file mode 100644 index 0000000..950c4d2 --- /dev/null +++ b/www/protected/tests/phpunit.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/www/protected/tests/screenshots/5cd42d032b06e99e220f49cda2dc6665.png b/www/protected/tests/screenshots/5cd42d032b06e99e220f49cda2dc6665.png new file mode 100644 index 0000000..22f4648 Binary files /dev/null and b/www/protected/tests/screenshots/5cd42d032b06e99e220f49cda2dc6665.png differ diff --git a/www/protected/tests/screenshots/b06591e11f7612ba7a3f6c900e89849d.png b/www/protected/tests/screenshots/b06591e11f7612ba7a3f6c900e89849d.png new file mode 100644 index 0000000..22f4648 Binary files /dev/null and b/www/protected/tests/screenshots/b06591e11f7612ba7a3f6c900e89849d.png differ diff --git a/www/protected/tests/screenshots/c96ca12c61b33669b4b393794e17318a.png b/www/protected/tests/screenshots/c96ca12c61b33669b4b393794e17318a.png new file mode 100644 index 0000000..22f4648 Binary files /dev/null and b/www/protected/tests/screenshots/c96ca12c61b33669b4b393794e17318a.png differ diff --git a/www/protected/views/layouts/column1.php b/www/protected/views/layouts/column1.php new file mode 100644 index 0000000..702fd65 --- /dev/null +++ b/www/protected/views/layouts/column1.php @@ -0,0 +1,6 @@ + +beginContent('//layouts/main'); ?> +
        + +
        +endContent(); ?> \ No newline at end of file diff --git a/www/protected/views/layouts/column2.php b/www/protected/views/layouts/column2.php new file mode 100644 index 0000000..b588bf6 --- /dev/null +++ b/www/protected/views/layouts/column2.php @@ -0,0 +1,22 @@ + +beginContent('//layouts/main'); ?> +
        +
        + +
        +
        +
        + +
        +endContent(); ?> \ No newline at end of file diff --git a/www/protected/views/layouts/main.php b/www/protected/views/layouts/main.php new file mode 100644 index 0000000..ad0655e --- /dev/null +++ b/www/protected/views/layouts/main.php @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + <?php echo CHtml::encode($this->pageTitle); ?> + + + + +
        + + + + + breadcrumbs)):?> + widget('zii.widgets.CBreadcrumbs', array( + 'links'=>$this->breadcrumbs, + )); ?> + + + + +
        + + + +
        + + + diff --git a/www/protected/views/mails/confirmacion_cancelacion_usuario.php b/www/protected/views/mails/confirmacion_cancelacion_usuario.php new file mode 100644 index 0000000..3706e31 --- /dev/null +++ b/www/protected/views/mails/confirmacion_cancelacion_usuario.php @@ -0,0 +1,13 @@ + + + Cancelación de cuenta en FactuGES + + +

        Se cuenta de usuario ha sido cancelada en FactuGES

        +

        + Se ha confirmado su solicitud de cancelación. Su cuenta en FactuGES ha sido cancelada. +

        +

        No responda a este correo ya que ha sido generado automáticamente para su información.

        +

        El equipo de FactuGES

        + + \ No newline at end of file diff --git a/www/protected/views/mails/confirmacion_usuario.php b/www/protected/views/mails/confirmacion_usuario.php new file mode 100644 index 0000000..fb4be40 --- /dev/null +++ b/www/protected/views/mails/confirmacion_usuario.php @@ -0,0 +1,15 @@ + + + Gracias por Registrarse en FactuGES + + +

        Gracias por Registrarse en FactuGES

        +

        + Su cuenta ha sido confirmada. Su Producto es Individual con una Publicación Gratis 1 mes. + Posteriormente puede contratar otros Productos más amplios. +

        +

        Ya puede comenzar a Publicar sus Ofertas de Empleo.

        +

        No responda a este correo ya que ha sido generado automáticamente para su información.

        +

        El equipo de FactuGES

        + + \ No newline at end of file diff --git a/www/protected/views/mails/notificacion_cambio_password_usuario.php b/www/protected/views/mails/notificacion_cambio_password_usuario.php new file mode 100644 index 0000000..ab9bac0 --- /dev/null +++ b/www/protected/views/mails/notificacion_cambio_password_usuario.php @@ -0,0 +1,18 @@ + + + Se ha modificado su password en FactuGES + + +

        Se ha modificado su password en FactuGES

        + +

        Ha recibido este correo como confirmación de su reciente cambio de contraseña en http://www.factuges.com.

        +

        Si su contraseña de http://www.factuges.com fue cambiada sin su conocimento, pulse en el siguiente enlace para cambiarla de nuevo:
        + +

        +

        + Este correo se ha enviado desde http://www.factuges.com.
        + No responda a este correo ya que ha sido generado automáticamente para su información. +

        +

        El equipo de FactuGES

        + + diff --git a/www/protected/views/mails/notificacion_cambio_producto.php b/www/protected/views/mails/notificacion_cambio_producto.php new file mode 100644 index 0000000..838dea0 --- /dev/null +++ b/www/protected/views/mails/notificacion_cambio_producto.php @@ -0,0 +1,21 @@ + + + Se ha modificado su producto en FactuGES + + +

        Se ha modificado su producto en FactuGES

        + +

        Ha recibido este correo como confirmación de su cambio de producto en http://www.factuges.com.

        +

        Su nuevo producto es:

        +

        Datos para realizar el pago:
        + Forma de pago: Transferencia bancaria
        + Código de cuenta: XXXX-XXXX-XX-XXXXXXXXX
        + Importe: numberFormatter->formatCurrency($importe, 'EUR'); ?> +

        +

        + Este correo se ha enviado desde http://www.factuges.com.
        + No responda a este correo ya que ha sido generado automáticamente para su información. +

        +

        El equipo de FactuGES

        + + diff --git a/www/protected/views/mails/recuperacion_password_usuario.php b/www/protected/views/mails/recuperacion_password_usuario.php new file mode 100644 index 0000000..87296da --- /dev/null +++ b/www/protected/views/mails/recuperacion_password_usuario.php @@ -0,0 +1,17 @@ + + + Recuperación de su cuenta en FactuGES + + +

        Recuperación de su cuenta en FactuGES

        +

        Ha recibido este correo en respuesta a su solicitud de recuperación de su cuenta en FactuGES.

        +

        Para completar el proceso pulse en el siguiente enlace
        + +

        +

        + Este correo se ha enviado desde http://www.factuges.com.
        + No responda a este correo ya que ha sido generado automáticamente para su información. +

        +

        El equipo de FactuGES

        + + diff --git a/www/protected/views/mails/registro_agente.php b/www/protected/views/mails/registro_agente.php new file mode 100644 index 0000000..24e50cd --- /dev/null +++ b/www/protected/views/mails/registro_agente.php @@ -0,0 +1,18 @@ + + + Active su cuenta de agente en FactuGES + + +

        Active su cuenta de agente en FactuGES

        +

        + Para completar el registro, pulse en el siguiente enlace:
        + +

        +

        + Este correo se ha enviado desde http://www.factuges.com. + Usted ha recibido este correo porque han utilizado su dirección para registrarle como agente en FactuGES. +

        +

        No responda a este correo ya que ha sido generado automáticamente para su información.

        +

        El equipo de FactuGES

        + + \ No newline at end of file diff --git a/www/protected/views/mails/registro_usuario.php b/www/protected/views/mails/registro_usuario.php new file mode 100644 index 0000000..d503e8f --- /dev/null +++ b/www/protected/views/mails/registro_usuario.php @@ -0,0 +1,20 @@ + + + Active su cuenta en FactuGES + + +

        Active su cuenta en FactuGES

        +

        + Gracias por registrarse en FactuGES.
        + Para completar el registro, pulse en el siguiente enlace:
        + +

        +

        + Este correo se ha enviado desde http://www.factuges.com. + Usted ha recibido este correo porque ha utilizado la dirección para registrarse en FactuGES. + Si usted no ha realizado el registro en FactuGES únicamente tiene que ignorar este correo. +

        +

        No responda a este correo ya que ha sido generado automáticamente para su información.

        +

        El equipo de FactuGES

        + + \ No newline at end of file diff --git a/www/protected/views/mails/solicitud_cancelacion_usuario.php b/www/protected/views/mails/solicitud_cancelacion_usuario.php new file mode 100644 index 0000000..d627127 --- /dev/null +++ b/www/protected/views/mails/solicitud_cancelacion_usuario.php @@ -0,0 +1,17 @@ + + + Solicitud de cancelación de su cuenta en FactuGES + + +

        Solicitud de cancelación de su cuenta en FactuGES

        +

        Ha recibido este correo en respuesta a su solicitud de cancelación de su cuenta en FactuGES.

        +

        Para completar el proceso de baja pulse en el siguiente enlace
        + +

        +

        + Este correo se ha enviado desde http://www.factuges.com.
        + No responda a este correo ya que ha sido generado automáticamente para su información. +

        +

        El equipo de FactuGES

        + + diff --git a/www/protected/views/site/contact.php b/www/protected/views/site/contact.php new file mode 100644 index 0000000..baad25e --- /dev/null +++ b/www/protected/views/site/contact.php @@ -0,0 +1,85 @@ +pageTitle=Yii::app()->name . ' - Contact Us'; +$this->breadcrumbs=array( + 'Contact', +); +?> + +

        Contact Us

        + +user->hasFlash('contact')): ?> + +
        + user->getFlash('contact'); ?> +
        + + + +

        +If you have business inquiries or other questions, please fill out the following form to contact us. Thank you. +

        + +
        + +beginWidget('CActiveForm', array( + 'id'=>'contact-form', + 'enableClientValidation'=>true, + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), +)); ?> + +

        Fields with * are required.

        + + errorSummary($model); ?> + +
        + labelEx($model,'name'); ?> + textField($model,'name'); ?> + error($model,'name'); ?> +
        + +
        + labelEx($model,'email'); ?> + textField($model,'email'); ?> + error($model,'email'); ?> +
        + +
        + labelEx($model,'subject'); ?> + textField($model,'subject',array('size'=>60,'maxlength'=>128)); ?> + error($model,'subject'); ?> +
        + +
        + labelEx($model,'body'); ?> + textArea($model,'body',array('rows'=>6, 'cols'=>50)); ?> + error($model,'body'); ?> +
        + + +
        + labelEx($model,'verifyCode'); ?> +
        + widget('CCaptcha'); ?> + textField($model,'verifyCode'); ?> +
        +
        Please enter the letters as they are shown in the image above. +
        Letters are not case-sensitive.
        + error($model,'verifyCode'); ?> +
        + + +
        + +
        + +endWidget(); ?> + +
        + + \ No newline at end of file diff --git a/www/protected/views/site/error.php b/www/protected/views/site/error.php new file mode 100644 index 0000000..d0dcb80 --- /dev/null +++ b/www/protected/views/site/error.php @@ -0,0 +1,15 @@ +pageTitle=Yii::app()->name . ' - Error'; +$this->breadcrumbs=array( + 'Error', +); +?> + +

        Error

        + +
        + +
        \ No newline at end of file diff --git a/www/protected/views/site/index.php b/www/protected/views/site/index.php new file mode 100644 index 0000000..d521a85 --- /dev/null +++ b/www/protected/views/site/index.php @@ -0,0 +1,20 @@ +pageTitle=Yii::app()->name; +?> + +

        Welcome to name); ?>

        + +

        Congratulations! You have successfully created your Yii application.

        + +

        You may change the content of this page by modifying the following two files:

        +
          +
        • View file:
        • +
        • Layout file: getLayoutFile('main'); ?>
        • +
        + +

        For more details on how to further develop this application, please read +the documentation. +Feel free to ask in the forum, +should you have any questions.

        diff --git a/www/protected/views/site/login.php b/www/protected/views/site/login.php new file mode 100644 index 0000000..3c16748 --- /dev/null +++ b/www/protected/views/site/login.php @@ -0,0 +1,53 @@ +pageTitle=Yii::app()->name . ' - Login'; +$this->breadcrumbs=array( + 'Login', +); +?> + +

        Login

        + +

        Please fill out the following form with your login credentials:

        + +
        +beginWidget('CActiveForm', array( + 'id'=>'login-form', + 'enableClientValidation'=>true, + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), +)); ?> + +

        Fields with * are required.

        + +
        + labelEx($model,'username'); ?> + textField($model,'username'); ?> + error($model,'username'); ?> +
        + +
        + labelEx($model,'password'); ?> + passwordField($model,'password'); ?> + error($model,'password'); ?> +

        + Hint: You may login with demo/demo or admin/admin. +

        +
        + +
        + checkBox($model,'rememberMe'); ?> + label($model,'rememberMe'); ?> + error($model,'rememberMe'); ?> +
        + +
        + +
        + +endWidget(); ?> +
        diff --git a/www/protected/views/site/pages/about.php b/www/protected/views/site/pages/about.php new file mode 100644 index 0000000..d8aa3c5 --- /dev/null +++ b/www/protected/views/site/pages/about.php @@ -0,0 +1,12 @@ +pageTitle=Yii::app()->name . ' - About'; +$this->breadcrumbs=array( + 'About', +); +?> +

        About

        + +

        This is a "static" page. You may change the content of this page +by updating the file .

        diff --git a/www/protected/views/usuario/_form.php b/www/protected/views/usuario/_form.php new file mode 100644 index 0000000..0558b6a --- /dev/null +++ b/www/protected/views/usuario/_form.php @@ -0,0 +1,49 @@ + + +
        + +beginWidget('CActiveForm', array( + 'id'=>'usuario-form', + 'enableAjaxValidation'=>false, +)); ?> + +

        Fields with * are required.

        + + errorSummary($usuario); ?> + errorSummary($persona); ?> + +
        + labelEx($persona,'nombre'); ?> + textField($persona,'nombre',array('size'=>20,'maxlength'=>255)); ?> + error($persona,'nombre'); ?> +
        + +
        + labelEx($usuario,'username'); ?> + textField($usuario,'username',array('size'=>20,'maxlength'=>20)); ?> + error($usuario,'username'); ?> +
        + +
        + labelEx($usuario,'password'); ?> + passwordField($usuario,'password',array('size'=>20,'maxlength'=>64)); ?> + error($usuario,'password'); ?> +
        + +
        + labelEx($usuario,'password_repeat'); ?> + passwordField($usuario,'password_repeat',array('size'=>20,'maxlength'=>64)); ?> + error($usuario,'password_repeat'); ?> +
        + +
        + isNewRecord ? 'Create' : 'Save'); ?> +
        + +endWidget(); ?> + +
        \ No newline at end of file diff --git a/www/protected/views/usuario/_search.php b/www/protected/views/usuario/_search.php new file mode 100644 index 0000000..cdd885f --- /dev/null +++ b/www/protected/views/usuario/_search.php @@ -0,0 +1,40 @@ + + +
        + +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
        + label($usuario,'id'); ?> + textField($usuario,'id'); ?> +
        + +
        + label($usuario,'username'); ?> + textField($usuario,'username',array('size'=>20,'maxlength'=>20)); ?> +
        + +
        + label($usuario,'pwd_hash'); ?> + textField($usuario,'pwd_hash',array('size'=>34,'maxlength'=>34)); ?> +
        + +
        + label($usuario,'persona_id'); ?> + textField($usuario,'persona_id'); ?> +
        + +
        + +
        + +endWidget(); ?> + +
        \ No newline at end of file diff --git a/www/protected/views/usuario/_view.php b/www/protected/views/usuario/_view.php new file mode 100644 index 0000000..86cd5e2 --- /dev/null +++ b/www/protected/views/usuario/_view.php @@ -0,0 +1,25 @@ + + +
        + + getAttributeLabel('id')); ?>: + id), array('view', 'id'=>$data->id)); ?> +
        + + getAttributeLabel('username')); ?>: + username); ?> +
        + + getAttributeLabel('pwd_hash')); ?>: + pwd_hash); ?> +
        + + getAttributeLabel('persona_id')); ?>: + persona_id); ?> +
        + + +
        \ No newline at end of file diff --git a/www/protected/views/usuario/admin.php b/www/protected/views/usuario/admin.php new file mode 100644 index 0000000..05deb61 --- /dev/null +++ b/www/protected/views/usuario/admin.php @@ -0,0 +1,56 @@ +breadcrumbs=array( + 'Usuarios'=>array('index'), + 'Manage', +); + +$this->menu=array( + array('label'=>'List Usuario', 'url'=>array('index')), + array('label'=>'Create Usuario', 'url'=>array('create')), +); + +Yii::app()->clientScript->registerScript('search', " +$('.search-button').click(function(){ + $('.search-form').toggle(); + return false; +}); +$('.search-form form').submit(function(){ + $('#usuario-grid').yiiGridView('update', { + data: $(this).serialize() + }); + return false; +}); +"); +?> + +

        Manage Usuarios

        + +

        +You may optionally enter a comparison operator (<, <=, >, >=, <> +or =) at the beginning of each of your search values to specify how the comparison should be done. +

        + +'search-button')); ?> + + +widget('zii.widgets.grid.CGridView', array( + 'id'=>'usuario-grid', + 'dataProvider'=>$usuario->search(), + 'filter'=>$usuario, + 'columns'=>array( + 'id', + 'username', + 'pwd_hash', + 'persona_id', + array( + 'class'=>'CButtonColumn', + ), + ), +)); ?> diff --git a/www/protected/views/usuario/create.php b/www/protected/views/usuario/create.php new file mode 100644 index 0000000..bf461ab --- /dev/null +++ b/www/protected/views/usuario/create.php @@ -0,0 +1,22 @@ +breadcrumbs = array( + 'Usuarios' => array('index'), + 'Create', +); + +$this->menu = array( + array('label' => 'List Usuario', 'url' => array('index')), + array('label' => 'Manage Usuario', 'url' => array('admin')), +); +?> + +

        Create Usuario

        + +renderPartial('_form', array( + 'usuario' => $usuario, + 'persona' => $persona, + )); +?> \ No newline at end of file diff --git a/www/protected/views/usuario/index.php b/www/protected/views/usuario/index.php new file mode 100644 index 0000000..145c728 --- /dev/null +++ b/www/protected/views/usuario/index.php @@ -0,0 +1,20 @@ +breadcrumbs=array( + 'Usuarios', +); + +$this->menu=array( + array('label'=>'Create Usuario', 'url'=>array('create')), + array('label'=>'Manage Usuario', 'url'=>array('admin')), +); +?> + +

        Usuarios

        + +widget('zii.widgets.CListView', array( + 'dataProvider'=>$dataProvider, + 'itemView'=>'_view', +)); ?> diff --git a/www/protected/views/usuario/update.php b/www/protected/views/usuario/update.php new file mode 100644 index 0000000..c6808e8 --- /dev/null +++ b/www/protected/views/usuario/update.php @@ -0,0 +1,25 @@ +breadcrumbs=array( + 'Usuarios'=>array('index'), + $usuario->id=>array('view','id'=>$usuario->id), + 'Update', +); + +$this->menu=array( + array('label'=>'List Usuario', 'url'=>array('index')), + array('label'=>'Create Usuario', 'url'=>array('create')), + array('label'=>'View Usuario', 'url'=>array('view', 'id'=>$usuario->id)), + array('label'=>'Manage Usuario', 'url'=>array('admin')), +); +?> + +

        Update Usuario id; ?>

        + +renderPartial('_form', array( + 'usuario' => $usuario, + 'persona' => $persona, + )); +?> \ No newline at end of file diff --git a/www/protected/views/usuario/view.php b/www/protected/views/usuario/view.php new file mode 100644 index 0000000..a5318eb --- /dev/null +++ b/www/protected/views/usuario/view.php @@ -0,0 +1,29 @@ +breadcrumbs=array( + 'Usuarios'=>array('index'), + $usuario->id, +); + +$this->menu=array( + array('label'=>'List Usuario', 'url'=>array('index')), + array('label'=>'Create Usuario', 'url'=>array('create')), + array('label'=>'Update Usuario', 'url'=>array('update', 'id'=>$usuario->id)), + array('label'=>'Delete Usuario', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$usuario->id),'confirm'=>'Are you sure you want to delete this item?')), + array('label'=>'Manage Usuario', 'url'=>array('admin')), +); +?> + +

        View Usuario #id; ?>

        + +widget('zii.widgets.CDetailView', array( + 'data'=>$usuario, + 'attributes'=>array( + 'id', + 'username', + 'pwd_hash', + 'persona_id', + ), +)); ?> diff --git a/www/protected/yiic b/www/protected/yiic new file mode 100644 index 0000000..7f56f54 --- /dev/null +++ b/www/protected/yiic @@ -0,0 +1,4 @@ +#!/usr/bin/env php + +beginContent('//layouts/main'); ?> +
        +
        +
        + +
        +
        +
        + +
        +
        +endContent(); ?> \ No newline at end of file diff --git a/www/themes/bootstrap/views/layouts/main.php b/www/themes/bootstrap/views/layouts/main.php new file mode 100644 index 0000000..1bd2656 --- /dev/null +++ b/www/themes/bootstrap/views/layouts/main.php @@ -0,0 +1,54 @@ + + + + + + + + + + <?php echo CHtml::encode($this->pageTitle); ?> + + bootstrap->register(); ?> + + + + +widget('bootstrap.widgets.TbNavbar',array( + 'items'=>array( + array( + 'class'=>'bootstrap.widgets.TbMenu', + 'items'=>array( + array('label'=>'Home', 'url'=>array('/site/index')), + array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')), + array('label'=>'Contact', 'url'=>array('/site/contact')), + array('label'=>Yii::t('factuges', 'Usuarios'), 'url'=>array('/usuario/index'), 'visible'=>!Yii::app()->user->isGuest), + array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest), + array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest) + ), + ), + ), +)); ?> + +
        + + breadcrumbs)):?> + widget('bootstrap.widgets.TbBreadcrumbs', array( + 'links'=>$this->breadcrumbs, + )); ?> + + + + +
        + + + +
        + + + diff --git a/www/themes/bootstrap/views/site/contact.php b/www/themes/bootstrap/views/site/contact.php new file mode 100644 index 0000000..788fa8b --- /dev/null +++ b/www/themes/bootstrap/views/site/contact.php @@ -0,0 +1,67 @@ +pageTitle=Yii::app()->name . ' - Contact Us'; +$this->breadcrumbs=array( + 'Contact', +); +?> + +

        Contact Us

        + +user->hasFlash('contact')): ?> + + widget('bootstrap.widgets.TbAlert', array( + 'alerts'=>array('contact'), + )); ?> + + + +

        +If you have business inquiries or other questions, please fill out the following form to contact us. Thank you. +

        + +
        + +beginWidget('bootstrap.widgets.TbActiveForm', array( + 'id'=>'contact-form', + 'type'=>'horizontal', + 'enableClientValidation'=>true, + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), +)); ?> + +

        Fields with * are required.

        + + errorSummary($model); ?> + + textFieldRow($model,'name'); ?> + + textFieldRow($model,'email'); ?> + + textFieldRow($model,'subject',array('size'=>60,'maxlength'=>128)); ?> + + textAreaRow($model,'body',array('rows'=>6, 'class'=>'span8')); ?> + + + captchaRow($model,'verifyCode',array( + 'hint'=>'Please enter the letters as they are shown in the image above.
        Letters are not case-sensitive.', + )); ?> + + +
        + widget('bootstrap.widgets.TbButton',array( + 'buttonType'=>'submit', + 'type'=>'primary', + 'label'=>'Submit', + )); ?> +
        + +endWidget(); ?> + +
        + + \ No newline at end of file diff --git a/www/themes/bootstrap/views/site/index.php b/www/themes/bootstrap/views/site/index.php new file mode 100644 index 0000000..7aab995 --- /dev/null +++ b/www/themes/bootstrap/views/site/index.php @@ -0,0 +1,25 @@ +pageTitle=Yii::app()->name; +?> + +beginWidget('bootstrap.widgets.TbHeroUnit',array( + 'heading'=>'Welcome to '.CHtml::encode(Yii::app()->name), +)); ?> + +

        Congratulations! You have successfully created your Yii application.

        + +endWidget(); ?> + +

        You may change the content of this page by modifying the following two files:

        + +
          +
        • View file:
        • +
        • Layout file: getLayoutFile('main'); ?>
        • +
        + +

        For more details on how to further develop this application, please read + the documentation. + Feel free to ask in the forum, + should you have any questions.

        diff --git a/www/themes/bootstrap/views/site/login.php b/www/themes/bootstrap/views/site/login.php new file mode 100644 index 0000000..1757376 --- /dev/null +++ b/www/themes/bootstrap/views/site/login.php @@ -0,0 +1,47 @@ +pageTitle=Yii::app()->name . ' - Login'; +$this->breadcrumbs=array( + 'Login', +); +?> + +

        Login

        + +

        Please fill out the following form with your login credentials:

        + +
        + +beginWidget('bootstrap.widgets.TbActiveForm', array( + 'id'=>'login-form', + 'type'=>'horizontal', + 'enableClientValidation'=>true, + 'clientOptions'=>array( + 'validateOnSubmit'=>true, + ), +)); ?> + +

        Fields with * are required.

        + + textFieldRow($model,'username'); ?> + + passwordFieldRow($model,'password',array( + 'hint'=>'Hint: You may login with demo/demo or admin/admin', + )); ?> + + checkBoxRow($model,'rememberMe'); ?> + +
        + widget('bootstrap.widgets.TbButton', array( + 'buttonType'=>'submit', + 'type'=>'primary', + 'label'=>'Login', + )); ?> +
        + +endWidget(); ?> + +
        diff --git a/www/themes/classic/views/.htaccess b/www/themes/classic/views/.htaccess new file mode 100644 index 0000000..e019832 --- /dev/null +++ b/www/themes/classic/views/.htaccess @@ -0,0 +1 @@ +deny from all diff --git a/www/themes/factuges/assets/css/animate.css b/www/themes/factuges/assets/css/animate.css new file mode 100644 index 0000000..8dfcfe9 --- /dev/null +++ b/www/themes/factuges/assets/css/animate.css @@ -0,0 +1,3263 @@ +@charset "UTF-8"; +/* +Animate.css - http://daneden.me/animate +Licensed under the MIT license + +Copyright (c) 2013 Daniel Eden + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +body { /* Addresses a small issue in webkit: http://bit.ly/NEdoDq */ + -webkit-backface-visibility: hidden; +} +.animated { + -webkit-animation-duration: 1s; + -moz-animation-duration: 1s; + -o-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + -o-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + -moz-animation-duration: 2s; + -o-animation-duration: 2s; + animation-duration: 2s; +} + +@-webkit-keyframes flash { + 0%, 50%, 100% {opacity: 1;} + 25%, 75% {opacity: 0;} +} + +@-moz-keyframes flash { + 0%, 50%, 100% {opacity: 1;} + 25%, 75% {opacity: 0;} +} + +@-o-keyframes flash { + 0%, 50%, 100% {opacity: 1;} + 25%, 75% {opacity: 0;} +} + +@keyframes flash { + 0%, 50%, 100% {opacity: 1;} + 25%, 75% {opacity: 0;} +} + +.flash { + -webkit-animation-name: flash; + -moz-animation-name: flash; + -o-animation-name: flash; + animation-name: flash; +} +@-webkit-keyframes shake { + 0%, 100% {-webkit-transform: translateX(0);} + 10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-10px);} + 20%, 40%, 60%, 80% {-webkit-transform: translateX(10px);} +} + +@-moz-keyframes shake { + 0%, 100% {-moz-transform: translateX(0);} + 10%, 30%, 50%, 70%, 90% {-moz-transform: translateX(-10px);} + 20%, 40%, 60%, 80% {-moz-transform: translateX(10px);} +} + +@-o-keyframes shake { + 0%, 100% {-o-transform: translateX(0);} + 10%, 30%, 50%, 70%, 90% {-o-transform: translateX(-10px);} + 20%, 40%, 60%, 80% {-o-transform: translateX(10px);} +} + +@keyframes shake { + 0%, 100% {transform: translateX(0);} + 10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);} + 20%, 40%, 60%, 80% {transform: translateX(10px);} +} + +.shake { + -webkit-animation-name: shake; + -moz-animation-name: shake; + -o-animation-name: shake; + animation-name: shake; +} +@-webkit-keyframes bounce { + 0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);} + 40% {-webkit-transform: translateY(-30px);} + 60% {-webkit-transform: translateY(-15px);} +} + +@-moz-keyframes bounce { + 0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);} + 40% {-moz-transform: translateY(-30px);} + 60% {-moz-transform: translateY(-15px);} +} + +@-o-keyframes bounce { + 0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);} + 40% {-o-transform: translateY(-30px);} + 60% {-o-transform: translateY(-15px);} +} +@keyframes bounce { + 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} + 40% {transform: translateY(-30px);} + 60% {transform: translateY(-15px);} +} + +.bounce { + -webkit-animation-name: bounce; + -moz-animation-name: bounce; + -o-animation-name: bounce; + animation-name: bounce; +} +@-webkit-keyframes tada { + 0% {-webkit-transform: scale(1);} + 10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);} + 30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);} + 40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);} + 100% {-webkit-transform: scale(1) rotate(0);} +} + +@-moz-keyframes tada { + 0% {-moz-transform: scale(1);} + 10%, 20% {-moz-transform: scale(0.9) rotate(-3deg);} + 30%, 50%, 70%, 90% {-moz-transform: scale(1.1) rotate(3deg);} + 40%, 60%, 80% {-moz-transform: scale(1.1) rotate(-3deg);} + 100% {-moz-transform: scale(1) rotate(0);} +} + +@-o-keyframes tada { + 0% {-o-transform: scale(1);} + 10%, 20% {-o-transform: scale(0.9) rotate(-3deg);} + 30%, 50%, 70%, 90% {-o-transform: scale(1.1) rotate(3deg);} + 40%, 60%, 80% {-o-transform: scale(1.1) rotate(-3deg);} + 100% {-o-transform: scale(1) rotate(0);} +} + +@keyframes tada { + 0% {transform: scale(1);} + 10%, 20% {transform: scale(0.9) rotate(-3deg);} + 30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);} + 40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);} + 100% {transform: scale(1) rotate(0);} +} + +.tada { + -webkit-animation-name: tada; + -moz-animation-name: tada; + -o-animation-name: tada; + animation-name: tada; +} +@-webkit-keyframes swing { + 20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: top center; } + 20% { -webkit-transform: rotate(15deg); } + 40% { -webkit-transform: rotate(-10deg); } + 60% { -webkit-transform: rotate(5deg); } + 80% { -webkit-transform: rotate(-5deg); } + 100% { -webkit-transform: rotate(0deg); } +} + +@-moz-keyframes swing { + 20% { -moz-transform: rotate(15deg); } + 40% { -moz-transform: rotate(-10deg); } + 60% { -moz-transform: rotate(5deg); } + 80% { -moz-transform: rotate(-5deg); } + 100% { -moz-transform: rotate(0deg); } +} + +@-o-keyframes swing { + 20% { -o-transform: rotate(15deg); } + 40% { -o-transform: rotate(-10deg); } + 60% { -o-transform: rotate(5deg); } + 80% { -o-transform: rotate(-5deg); } + 100% { -o-transform: rotate(0deg); } +} + +@keyframes swing { + 20% { transform: rotate(15deg); } + 40% { transform: rotate(-10deg); } + 60% { transform: rotate(5deg); } + 80% { transform: rotate(-5deg); } + 100% { transform: rotate(0deg); } +} + +.swing { + -webkit-transform-origin: top center; + -moz-transform-origin: top center; + -o-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + -moz-animation-name: swing; + -o-animation-name: swing; + animation-name: swing; +} +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + 0% { -webkit-transform: translateX(0%); } + 15% { -webkit-transform: translateX(-25%) rotate(-5deg); } + 30% { -webkit-transform: translateX(20%) rotate(3deg); } + 45% { -webkit-transform: translateX(-15%) rotate(-3deg); } + 60% { -webkit-transform: translateX(10%) rotate(2deg); } + 75% { -webkit-transform: translateX(-5%) rotate(-1deg); } + 100% { -webkit-transform: translateX(0%); } +} + +@-moz-keyframes wobble { + 0% { -moz-transform: translateX(0%); } + 15% { -moz-transform: translateX(-25%) rotate(-5deg); } + 30% { -moz-transform: translateX(20%) rotate(3deg); } + 45% { -moz-transform: translateX(-15%) rotate(-3deg); } + 60% { -moz-transform: translateX(10%) rotate(2deg); } + 75% { -moz-transform: translateX(-5%) rotate(-1deg); } + 100% { -moz-transform: translateX(0%); } +} + +@-o-keyframes wobble { + 0% { -o-transform: translateX(0%); } + 15% { -o-transform: translateX(-25%) rotate(-5deg); } + 30% { -o-transform: translateX(20%) rotate(3deg); } + 45% { -o-transform: translateX(-15%) rotate(-3deg); } + 60% { -o-transform: translateX(10%) rotate(2deg); } + 75% { -o-transform: translateX(-5%) rotate(-1deg); } + 100% { -o-transform: translateX(0%); } +} + +@keyframes wobble { + 0% { transform: translateX(0%); } + 15% { transform: translateX(-25%) rotate(-5deg); } + 30% { transform: translateX(20%) rotate(3deg); } + 45% { transform: translateX(-15%) rotate(-3deg); } + 60% { transform: translateX(10%) rotate(2deg); } + 75% { transform: translateX(-5%) rotate(-1deg); } + 100% { transform: translateX(0%); } +} + +.wobble { + -webkit-animation-name: wobble; + -moz-animation-name: wobble; + -o-animation-name: wobble; + animation-name: wobble; +} +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 0% { -webkit-transform: scale(1); } + 50% { -webkit-transform: scale(1.1); } + 100% { -webkit-transform: scale(1); } +} +@-moz-keyframes pulse { + 0% { -moz-transform: scale(1); } + 50% { -moz-transform: scale(1.1); } + 100% { -moz-transform: scale(1); } +} +@-o-keyframes pulse { + 0% { -o-transform: scale(1); } + 50% { -o-transform: scale(1.1); } + 100% { -o-transform: scale(1); } +} +@keyframes pulse { + 0% { transform: scale(1); } + 50% { transform: scale(1.1); } + 100% { transform: scale(1); } +} + +.pulse { + -webkit-animation-name: pulse; + -moz-animation-name: pulse; + -o-animation-name: pulse; + animation-name: pulse; +} +@-webkit-keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotateY(0); + -webkit-animation-timing-function: ease-out; + } + 40% { + -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg); + -webkit-animation-timing-function: ease-out; + } + 50% { + -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + -webkit-animation-timing-function: ease-in; + } + 80% { + -webkit-transform: perspective(400px) rotateY(360deg) scale(.95); + -webkit-animation-timing-function: ease-in; + } + 100% { + -webkit-transform: perspective(400px) scale(1); + -webkit-animation-timing-function: ease-in; + } +} +@-moz-keyframes flip { + 0% { + -moz-transform: perspective(400px) rotateY(0); + -moz-animation-timing-function: ease-out; + } + 40% { + -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg); + -moz-animation-timing-function: ease-out; + } + 50% { + -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + -moz-animation-timing-function: ease-in; + } + 80% { + -moz-transform: perspective(400px) rotateY(360deg) scale(.95); + -moz-animation-timing-function: ease-in; + } + 100% { + -moz-transform: perspective(400px) scale(1); + -moz-animation-timing-function: ease-in; + } +} +@-o-keyframes flip { + 0% { + -o-transform: perspective(400px) rotateY(0); + -o-animation-timing-function: ease-out; + } + 40% { + -o-transform: perspective(400px) translateZ(150px) rotateY(170deg); + -o-animation-timing-function: ease-out; + } + 50% { + -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + -o-animation-timing-function: ease-in; + } + 80% { + -o-transform: perspective(400px) rotateY(360deg) scale(.95); + -o-animation-timing-function: ease-in; + } + 100% { + -o-transform: perspective(400px) scale(1); + -o-animation-timing-function: ease-in; + } +} +@keyframes flip { + 0% { + transform: perspective(400px) rotateY(0); + animation-timing-function: ease-out; + } + 40% { + transform: perspective(400px) translateZ(150px) rotateY(170deg); + animation-timing-function: ease-out; + } + 50% { + transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + animation-timing-function: ease-in; + } + 80% { + transform: perspective(400px) rotateY(360deg) scale(.95); + animation-timing-function: ease-in; + } + 100% { + transform: perspective(400px) scale(1); + animation-timing-function: ease-in; + } +} + +.flip { + -webkit-backface-visibility: visible !important; + -webkit-animation-name: flip; + -moz-backface-visibility: visible !important; + -moz-animation-name: flip; + -o-backface-visibility: visible !important; + -o-animation-name: flip; + backface-visibility: visible !important; + animation-name: flip; +} +@-webkit-keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotateX(90deg); + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotateX(-10deg); + } + + 70% { + -webkit-transform: perspective(400px) rotateX(10deg); + } + + 100% { + -webkit-transform: perspective(400px) rotateX(0deg); + opacity: 1; + } +} +@-moz-keyframes flipInX { + 0% { + -moz-transform: perspective(400px) rotateX(90deg); + opacity: 0; + } + + 40% { + -moz-transform: perspective(400px) rotateX(-10deg); + } + + 70% { + -moz-transform: perspective(400px) rotateX(10deg); + } + + 100% { + -moz-transform: perspective(400px) rotateX(0deg); + opacity: 1; + } +} +@-o-keyframes flipInX { + 0% { + -o-transform: perspective(400px) rotateX(90deg); + opacity: 0; + } + + 40% { + -o-transform: perspective(400px) rotateX(-10deg); + } + + 70% { + -o-transform: perspective(400px) rotateX(10deg); + } + + 100% { + -o-transform: perspective(400px) rotateX(0deg); + opacity: 1; + } +} +@keyframes flipInX { + 0% { + transform: perspective(400px) rotateX(90deg); + opacity: 0; + } + + 40% { + transform: perspective(400px) rotateX(-10deg); + } + + 70% { + transform: perspective(400px) rotateX(10deg); + } + + 100% { + transform: perspective(400px) rotateX(0deg); + opacity: 1; + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + -webkit-animation-name: flipInX; + -moz-backface-visibility: visible !important; + -moz-animation-name: flipInX; + -o-backface-visibility: visible !important; + -o-animation-name: flipInX; + backface-visibility: visible !important; + animation-name: flipInX; +} +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px) rotateX(0deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotateX(90deg); + opacity: 0; + } +} + +@-moz-keyframes flipOutX { + 0% { + -moz-transform: perspective(400px) rotateX(0deg); + opacity: 1; + } + 100% { + -moz-transform: perspective(400px) rotateX(90deg); + opacity: 0; + } +} + +@-o-keyframes flipOutX { + 0% { + -o-transform: perspective(400px) rotateX(0deg); + opacity: 1; + } + 100% { + -o-transform: perspective(400px) rotateX(90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + 0% { + transform: perspective(400px) rotateX(0deg); + opacity: 1; + } + 100% { + transform: perspective(400px) rotateX(90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + -moz-animation-name: flipOutX; + -moz-backface-visibility: visible !important; + -o-animation-name: flipOutX; + -o-backface-visibility: visible !important; + animation-name: flipOutX; + backface-visibility: visible !important; +} +@-webkit-keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotateY(90deg); + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotateY(-10deg); + } + + 70% { + -webkit-transform: perspective(400px) rotateY(10deg); + } + + 100% { + -webkit-transform: perspective(400px) rotateY(0deg); + opacity: 1; + } +} +@-moz-keyframes flipInY { + 0% { + -moz-transform: perspective(400px) rotateY(90deg); + opacity: 0; + } + + 40% { + -moz-transform: perspective(400px) rotateY(-10deg); + } + + 70% { + -moz-transform: perspective(400px) rotateY(10deg); + } + + 100% { + -moz-transform: perspective(400px) rotateY(0deg); + opacity: 1; + } +} +@-o-keyframes flipInY { + 0% { + -o-transform: perspective(400px) rotateY(90deg); + opacity: 0; + } + + 40% { + -o-transform: perspective(400px) rotateY(-10deg); + } + + 70% { + -o-transform: perspective(400px) rotateY(10deg); + } + + 100% { + -o-transform: perspective(400px) rotateY(0deg); + opacity: 1; + } +} +@keyframes flipInY { + 0% { + transform: perspective(400px) rotateY(90deg); + opacity: 0; + } + + 40% { + transform: perspective(400px) rotateY(-10deg); + } + + 70% { + transform: perspective(400px) rotateY(10deg); + } + + 100% { + transform: perspective(400px) rotateY(0deg); + opacity: 1; + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + -webkit-animation-name: flipInY; + -moz-backface-visibility: visible !important; + -moz-animation-name: flipInY; + -o-backface-visibility: visible !important; + -o-animation-name: flipInY; + backface-visibility: visible !important; + animation-name: flipInY; +} +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px) rotateY(0deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotateY(90deg); + opacity: 0; + } +} +@-moz-keyframes flipOutY { + 0% { + -moz-transform: perspective(400px) rotateY(0deg); + opacity: 1; + } + 100% { + -moz-transform: perspective(400px) rotateY(90deg); + opacity: 0; + } +} +@-o-keyframes flipOutY { + 0% { + -o-transform: perspective(400px) rotateY(0deg); + opacity: 1; + } + 100% { + -o-transform: perspective(400px) rotateY(90deg); + opacity: 0; + } +} +@keyframes flipOutY { + 0% { + transform: perspective(400px) rotateY(0deg); + opacity: 1; + } + 100% { + transform: perspective(400px) rotateY(90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + -moz-backface-visibility: visible !important; + -moz-animation-name: flipOutY; + -o-backface-visibility: visible !important; + -o-animation-name: flipOutY; + backface-visibility: visible !important; + animation-name: flipOutY; +} +@-webkit-keyframes fadeIn { + 0% {opacity: 0;} + 100% {opacity: 1;} +} + +@-moz-keyframes fadeIn { + 0% {opacity: 0;} + 100% {opacity: 1;} +} + +@-o-keyframes fadeIn { + 0% {opacity: 0;} + 100% {opacity: 1;} +} + +@keyframes fadeIn { + 0% {opacity: 0;} + 100% {opacity: 1;} +} + +.fadeIn { + -webkit-animation-name: fadeIn; + -moz-animation-name: fadeIn; + -o-animation-name: fadeIn; + animation-name: fadeIn; +} +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@-moz-keyframes fadeInUp { + 0% { + opacity: 0; + -moz-transform: translateY(20px); + } + + 100% { + opacity: 1; + -moz-transform: translateY(0); + } +} + +@-o-keyframes fadeInUp { + 0% { + opacity: 0; + -o-transform: translateY(20px); + } + + 100% { + opacity: 1; + -o-transform: translateY(0); + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + transform: translateY(20px); + } + + 100% { + opacity: 1; + transform: translateY(0); + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + -moz-animation-name: fadeInUp; + -o-animation-name: fadeInUp; + animation-name: fadeInUp; +} +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@-moz-keyframes fadeInDown { + 0% { + opacity: 0; + -moz-transform: translateY(-20px); + } + + 100% { + opacity: 1; + -moz-transform: translateY(0); + } +} + +@-o-keyframes fadeInDown { + 0% { + opacity: 0; + -o-transform: translateY(-20px); + } + + 100% { + opacity: 1; + -o-transform: translateY(0); + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + transform: translateY(-20px); + } + + 100% { + opacity: 1; + transform: translateY(0); + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + -moz-animation-name: fadeInDown; + -o-animation-name: fadeInDown; + animation-name: fadeInDown; +} +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@-moz-keyframes fadeInLeft { + 0% { + opacity: 0; + -moz-transform: translateX(-20px); + } + + 100% { + opacity: 1; + -moz-transform: translateX(0); + } +} + +@-o-keyframes fadeInLeft { + 0% { + opacity: 0; + -o-transform: translateX(-20px); + } + + 100% { + opacity: 1; + -o-transform: translateX(0); + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + transform: translateX(-20px); + } + + 100% { + opacity: 1; + transform: translateX(0); + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + -moz-animation-name: fadeInLeft; + -o-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@-moz-keyframes fadeInRight { + 0% { + opacity: 0; + -moz-transform: translateX(20px); + } + + 100% { + opacity: 1; + -moz-transform: translateX(0); + } +} + +@-o-keyframes fadeInRight { + 0% { + opacity: 0; + -o-transform: translateX(20px); + } + + 100% { + opacity: 1; + -o-transform: translateX(0); + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + transform: translateX(20px); + } + + 100% { + opacity: 1; + transform: translateX(0); + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + -moz-animation-name: fadeInRight; + -o-animation-name: fadeInRight; + animation-name: fadeInRight; +} +@-webkit-keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@-moz-keyframes fadeInUpBig { + 0% { + opacity: 0; + -moz-transform: translateY(2000px); + } + + 100% { + opacity: 1; + -moz-transform: translateY(0); + } +} + +@-o-keyframes fadeInUpBig { + 0% { + opacity: 0; + -o-transform: translateY(2000px); + } + + 100% { + opacity: 1; + -o-transform: translateY(0); + } +} + +@keyframes fadeInUpBig { + 0% { + opacity: 0; + transform: translateY(2000px); + } + + 100% { + opacity: 1; + transform: translateY(0); + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + -moz-animation-name: fadeInUpBig; + -o-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} +@-webkit-keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} + +@-moz-keyframes fadeInDownBig { + 0% { + opacity: 0; + -moz-transform: translateY(-2000px); + } + + 100% { + opacity: 1; + -moz-transform: translateY(0); + } +} + +@-o-keyframes fadeInDownBig { + 0% { + opacity: 0; + -o-transform: translateY(-2000px); + } + + 100% { + opacity: 1; + -o-transform: translateY(0); + } +} + +@keyframes fadeInDownBig { + 0% { + opacity: 0; + transform: translateY(-2000px); + } + + 100% { + opacity: 1; + transform: translateY(0); + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + -moz-animation-name: fadeInDownBig; + -o-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} +@-webkit-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} +@-moz-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -moz-transform: translateX(-2000px); + } + + 100% { + opacity: 1; + -moz-transform: translateX(0); + } +} +@-o-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -o-transform: translateX(-2000px); + } + + 100% { + opacity: 1; + -o-transform: translateX(0); + } +} +@keyframes fadeInLeftBig { + 0% { + opacity: 0; + transform: translateX(-2000px); + } + + 100% { + opacity: 1; + transform: translateX(0); + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + -moz-animation-name: fadeInLeftBig; + -o-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} +@-webkit-keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + } +} + +@-moz-keyframes fadeInRightBig { + 0% { + opacity: 0; + -moz-transform: translateX(2000px); + } + + 100% { + opacity: 1; + -moz-transform: translateX(0); + } +} + +@-o-keyframes fadeInRightBig { + 0% { + opacity: 0; + -o-transform: translateX(2000px); + } + + 100% { + opacity: 1; + -o-transform: translateX(0); + } +} + +@keyframes fadeInRightBig { + 0% { + opacity: 0; + transform: translateX(2000px); + } + + 100% { + opacity: 1; + transform: translateX(0); + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + -moz-animation-name: fadeInRightBig; + -o-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} +@-webkit-keyframes fadeOut { + 0% {opacity: 1;} + 100% {opacity: 0;} +} + +@-moz-keyframes fadeOut { + 0% {opacity: 1;} + 100% {opacity: 0;} +} + +@-o-keyframes fadeOut { + 0% {opacity: 1;} + 100% {opacity: 0;} +} + +@keyframes fadeOut { + 0% {opacity: 1;} + 100% {opacity: 0;} +} + +.fadeOut { + -webkit-animation-name: fadeOut; + -moz-animation-name: fadeOut; + -o-animation-name: fadeOut; + animation-name: fadeOut; +} +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-20px); + } +} +@-moz-keyframes fadeOutUp { + 0% { + opacity: 1; + -moz-transform: translateY(0); + } + + 100% { + opacity: 0; + -moz-transform: translateY(-20px); + } +} +@-o-keyframes fadeOutUp { + 0% { + opacity: 1; + -o-transform: translateY(0); + } + + 100% { + opacity: 0; + -o-transform: translateY(-20px); + } +} +@keyframes fadeOutUp { + 0% { + opacity: 1; + transform: translateY(0); + } + + 100% { + opacity: 0; + transform: translateY(-20px); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + -moz-animation-name: fadeOutUp; + -o-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(20px); + } +} + +@-moz-keyframes fadeOutDown { + 0% { + opacity: 1; + -moz-transform: translateY(0); + } + + 100% { + opacity: 0; + -moz-transform: translateY(20px); + } +} + +@-o-keyframes fadeOutDown { + 0% { + opacity: 1; + -o-transform: translateY(0); + } + + 100% { + opacity: 0; + -o-transform: translateY(20px); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + transform: translateY(0); + } + + 100% { + opacity: 0; + transform: translateY(20px); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + -moz-animation-name: fadeOutDown; + -o-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-20px); + } +} + +@-moz-keyframes fadeOutLeft { + 0% { + opacity: 1; + -moz-transform: translateX(0); + } + + 100% { + opacity: 0; + -moz-transform: translateX(-20px); + } +} + +@-o-keyframes fadeOutLeft { + 0% { + opacity: 1; + -o-transform: translateX(0); + } + + 100% { + opacity: 0; + -o-transform: translateX(-20px); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + transform: translateX(0); + } + + 100% { + opacity: 0; + transform: translateX(-20px); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + -moz-animation-name: fadeOutLeft; + -o-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(20px); + } +} + +@-moz-keyframes fadeOutRight { + 0% { + opacity: 1; + -moz-transform: translateX(0); + } + + 100% { + opacity: 0; + -moz-transform: translateX(20px); + } +} + +@-o-keyframes fadeOutRight { + 0% { + opacity: 1; + -o-transform: translateX(0); + } + + 100% { + opacity: 0; + -o-transform: translateX(20px); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + transform: translateX(0); + } + + 100% { + opacity: 0; + transform: translateX(20px); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + -moz-animation-name: fadeOutRight; + -o-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + } +} + +@-moz-keyframes fadeOutUpBig { + 0% { + opacity: 1; + -moz-transform: translateY(0); + } + + 100% { + opacity: 0; + -moz-transform: translateY(-2000px); + } +} + +@-o-keyframes fadeOutUpBig { + 0% { + opacity: 1; + -o-transform: translateY(0); + } + + 100% { + opacity: 0; + -o-transform: translateY(-2000px); + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1; + transform: translateY(0); + } + + 100% { + opacity: 0; + transform: translateY(-2000px); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + -moz-animation-name: fadeOutUpBig; + -o-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(2000px); + } +} + +@-moz-keyframes fadeOutDownBig { + 0% { + opacity: 1; + -moz-transform: translateY(0); + } + + 100% { + opacity: 0; + -moz-transform: translateY(2000px); + } +} + +@-o-keyframes fadeOutDownBig { + 0% { + opacity: 1; + -o-transform: translateY(0); + } + + 100% { + opacity: 0; + -o-transform: translateY(2000px); + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1; + transform: translateY(0); + } + + 100% { + opacity: 0; + transform: translateY(2000px); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + -moz-animation-name: fadeOutDownBig; + -o-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + } +} + +@-moz-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + -moz-transform: translateX(0); + } + + 100% { + opacity: 0; + -moz-transform: translateX(-2000px); + } +} + +@-o-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + -o-transform: translateX(0); + } + + 100% { + opacity: 0; + -o-transform: translateX(-2000px); + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1; + transform: translateX(0); + } + + 100% { + opacity: 0; + transform: translateX(-2000px); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + -moz-animation-name: fadeOutLeftBig; + -o-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + } +} +@-moz-keyframes fadeOutRightBig { + 0% { + opacity: 1; + -moz-transform: translateX(0); + } + + 100% { + opacity: 0; + -moz-transform: translateX(2000px); + } +} +@-o-keyframes fadeOutRightBig { + 0% { + opacity: 1; + -o-transform: translateX(0); + } + + 100% { + opacity: 0; + -o-transform: translateX(2000px); + } +} +@keyframes fadeOutRightBig { + 0% { + opacity: 1; + transform: translateX(0); + } + + 100% { + opacity: 0; + transform: translateX(2000px); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + -moz-animation-name: fadeOutRightBig; + -o-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} +@-webkit-keyframes bounceIn { + 0% { + opacity: 0; + -webkit-transform: scale(.3); + } + + 50% { + opacity: 1; + -webkit-transform: scale(1.05); + } + + 70% { + -webkit-transform: scale(.9); + } + + 100% { + -webkit-transform: scale(1); + } +} + +@-moz-keyframes bounceIn { + 0% { + opacity: 0; + -moz-transform: scale(.3); + } + + 50% { + opacity: 1; + -moz-transform: scale(1.05); + } + + 70% { + -moz-transform: scale(.9); + } + + 100% { + -moz-transform: scale(1); + } +} + +@-o-keyframes bounceIn { + 0% { + opacity: 0; + -o-transform: scale(.3); + } + + 50% { + opacity: 1; + -o-transform: scale(1.05); + } + + 70% { + -o-transform: scale(.9); + } + + 100% { + -o-transform: scale(1); + } +} + +@keyframes bounceIn { + 0% { + opacity: 0; + transform: scale(.3); + } + + 50% { + opacity: 1; + transform: scale(1.05); + } + + 70% { + transform: scale(.9); + } + + 100% { + transform: scale(1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + -moz-animation-name: bounceIn; + -o-animation-name: bounceIn; + animation-name: bounceIn; +} +@-webkit-keyframes bounceInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateY(-30px); + } + + 80% { + -webkit-transform: translateY(10px); + } + + 100% { + -webkit-transform: translateY(0); + } +} +@-moz-keyframes bounceInUp { + 0% { + opacity: 0; + -moz-transform: translateY(2000px); + } + + 60% { + opacity: 1; + -moz-transform: translateY(-30px); + } + + 80% { + -moz-transform: translateY(10px); + } + + 100% { + -moz-transform: translateY(0); + } +} + +@-o-keyframes bounceInUp { + 0% { + opacity: 0; + -o-transform: translateY(2000px); + } + + 60% { + opacity: 1; + -o-transform: translateY(-30px); + } + + 80% { + -o-transform: translateY(10px); + } + + 100% { + -o-transform: translateY(0); + } +} + +@keyframes bounceInUp { + 0% { + opacity: 0; + transform: translateY(2000px); + } + + 60% { + opacity: 1; + transform: translateY(-30px); + } + + 80% { + transform: translateY(10px); + } + + 100% { + transform: translateY(0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + -moz-animation-name: bounceInUp; + -o-animation-name: bounceInUp; + animation-name: bounceInUp; +} +@-webkit-keyframes bounceInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateY(30px); + } + + 80% { + -webkit-transform: translateY(-10px); + } + + 100% { + -webkit-transform: translateY(0); + } +} + +@-moz-keyframes bounceInDown { + 0% { + opacity: 0; + -moz-transform: translateY(-2000px); + } + + 60% { + opacity: 1; + -moz-transform: translateY(30px); + } + + 80% { + -moz-transform: translateY(-10px); + } + + 100% { + -moz-transform: translateY(0); + } +} + +@-o-keyframes bounceInDown { + 0% { + opacity: 0; + -o-transform: translateY(-2000px); + } + + 60% { + opacity: 1; + -o-transform: translateY(30px); + } + + 80% { + -o-transform: translateY(-10px); + } + + 100% { + -o-transform: translateY(0); + } +} + +@keyframes bounceInDown { + 0% { + opacity: 0; + transform: translateY(-2000px); + } + + 60% { + opacity: 1; + transform: translateY(30px); + } + + 80% { + transform: translateY(-10px); + } + + 100% { + transform: translateY(0); + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + -moz-animation-name: bounceInDown; + -o-animation-name: bounceInDown; + animation-name: bounceInDown; +} +@-webkit-keyframes bounceInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateX(30px); + } + + 80% { + -webkit-transform: translateX(-10px); + } + + 100% { + -webkit-transform: translateX(0); + } +} + +@-moz-keyframes bounceInLeft { + 0% { + opacity: 0; + -moz-transform: translateX(-2000px); + } + + 60% { + opacity: 1; + -moz-transform: translateX(30px); + } + + 80% { + -moz-transform: translateX(-10px); + } + + 100% { + -moz-transform: translateX(0); + } +} + +@-o-keyframes bounceInLeft { + 0% { + opacity: 0; + -o-transform: translateX(-2000px); + } + + 60% { + opacity: 1; + -o-transform: translateX(30px); + } + + 80% { + -o-transform: translateX(-10px); + } + + 100% { + -o-transform: translateX(0); + } +} + +@keyframes bounceInLeft { + 0% { + opacity: 0; + transform: translateX(-2000px); + } + + 60% { + opacity: 1; + transform: translateX(30px); + } + + 80% { + transform: translateX(-10px); + } + + 100% { + transform: translateX(0); + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + -moz-animation-name: bounceInLeft; + -o-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} +@-webkit-keyframes bounceInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateX(-30px); + } + + 80% { + -webkit-transform: translateX(10px); + } + + 100% { + -webkit-transform: translateX(0); + } +} + +@-moz-keyframes bounceInRight { + 0% { + opacity: 0; + -moz-transform: translateX(2000px); + } + + 60% { + opacity: 1; + -moz-transform: translateX(-30px); + } + + 80% { + -moz-transform: translateX(10px); + } + + 100% { + -moz-transform: translateX(0); + } +} + +@-o-keyframes bounceInRight { + 0% { + opacity: 0; + -o-transform: translateX(2000px); + } + + 60% { + opacity: 1; + -o-transform: translateX(-30px); + } + + 80% { + -o-transform: translateX(10px); + } + + 100% { + -o-transform: translateX(0); + } +} + +@keyframes bounceInRight { + 0% { + opacity: 0; + transform: translateX(2000px); + } + + 60% { + opacity: 1; + transform: translateX(-30px); + } + + 80% { + transform: translateX(10px); + } + + 100% { + transform: translateX(0); + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + -moz-animation-name: bounceInRight; + -o-animation-name: bounceInRight; + animation-name: bounceInRight; +} +@-webkit-keyframes bounceOut { + 0% { + -webkit-transform: scale(1); + } + + 25% { + -webkit-transform: scale(.95); + } + + 50% { + opacity: 1; + -webkit-transform: scale(1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.3); + } +} + +@-moz-keyframes bounceOut { + 0% { + -moz-transform: scale(1); + } + + 25% { + -moz-transform: scale(.95); + } + + 50% { + opacity: 1; + -moz-transform: scale(1.1); + } + + 100% { + opacity: 0; + -moz-transform: scale(.3); + } +} + +@-o-keyframes bounceOut { + 0% { + -o-transform: scale(1); + } + + 25% { + -o-transform: scale(.95); + } + + 50% { + opacity: 1; + -o-transform: scale(1.1); + } + + 100% { + opacity: 0; + -o-transform: scale(.3); + } +} + +@keyframes bounceOut { + 0% { + transform: scale(1); + } + + 25% { + transform: scale(.95); + } + + 50% { + opacity: 1; + transform: scale(1.1); + } + + 100% { + opacity: 0; + transform: scale(.3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + -moz-animation-name: bounceOut; + -o-animation-name: bounceOut; + animation-name: bounceOut; +} +@-webkit-keyframes bounceOutUp { + 0% { + -webkit-transform: translateY(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateY(20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + } +} + +@-moz-keyframes bounceOutUp { + 0% { + -moz-transform: translateY(0); + } + + 20% { + opacity: 1; + -moz-transform: translateY(20px); + } + + 100% { + opacity: 0; + -moz-transform: translateY(-2000px); + } +} + +@-o-keyframes bounceOutUp { + 0% { + -o-transform: translateY(0); + } + + 20% { + opacity: 1; + -o-transform: translateY(20px); + } + + 100% { + opacity: 0; + -o-transform: translateY(-2000px); + } +} + +@keyframes bounceOutUp { + 0% { + transform: translateY(0); + } + + 20% { + opacity: 1; + transform: translateY(20px); + } + + 100% { + opacity: 0; + transform: translateY(-2000px); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + -moz-animation-name: bounceOutUp; + -o-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} +@-webkit-keyframes bounceOutDown { + 0% { + -webkit-transform: translateY(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateY(-20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(2000px); + } +} + +@-moz-keyframes bounceOutDown { + 0% { + -moz-transform: translateY(0); + } + + 20% { + opacity: 1; + -moz-transform: translateY(-20px); + } + + 100% { + opacity: 0; + -moz-transform: translateY(2000px); + } +} + +@-o-keyframes bounceOutDown { + 0% { + -o-transform: translateY(0); + } + + 20% { + opacity: 1; + -o-transform: translateY(-20px); + } + + 100% { + opacity: 0; + -o-transform: translateY(2000px); + } +} + +@keyframes bounceOutDown { + 0% { + transform: translateY(0); + } + + 20% { + opacity: 1; + transform: translateY(-20px); + } + + 100% { + opacity: 0; + transform: translateY(2000px); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + -moz-animation-name: bounceOutDown; + -o-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} +@-webkit-keyframes bounceOutLeft { + 0% { + -webkit-transform: translateX(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateX(20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + } +} + +@-moz-keyframes bounceOutLeft { + 0% { + -moz-transform: translateX(0); + } + + 20% { + opacity: 1; + -moz-transform: translateX(20px); + } + + 100% { + opacity: 0; + -moz-transform: translateX(-2000px); + } +} + +@-o-keyframes bounceOutLeft { + 0% { + -o-transform: translateX(0); + } + + 20% { + opacity: 1; + -o-transform: translateX(20px); + } + + 100% { + opacity: 0; + -o-transform: translateX(-2000px); + } +} + +@keyframes bounceOutLeft { + 0% { + transform: translateX(0); + } + + 20% { + opacity: 1; + transform: translateX(20px); + } + + 100% { + opacity: 0; + transform: translateX(-2000px); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + -moz-animation-name: bounceOutLeft; + -o-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} +@-webkit-keyframes bounceOutRight { + 0% { + -webkit-transform: translateX(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateX(-20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + } +} + +@-moz-keyframes bounceOutRight { + 0% { + -moz-transform: translateX(0); + } + + 20% { + opacity: 1; + -moz-transform: translateX(-20px); + } + + 100% { + opacity: 0; + -moz-transform: translateX(2000px); + } +} + +@-o-keyframes bounceOutRight { + 0% { + -o-transform: translateX(0); + } + + 20% { + opacity: 1; + -o-transform: translateX(-20px); + } + + 100% { + opacity: 0; + -o-transform: translateX(2000px); + } +} + +@keyframes bounceOutRight { + 0% { + transform: translateX(0); + } + + 20% { + opacity: 1; + transform: translateX(-20px); + } + + 100% { + opacity: 0; + transform: translateX(2000px); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + -moz-animation-name: bounceOutRight; + -o-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform-origin: center center; + -webkit-transform: rotate(-200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center center; + -webkit-transform: rotate(0); + opacity: 1; + } +} +@-moz-keyframes rotateIn { + 0% { + -moz-transform-origin: center center; + -moz-transform: rotate(-200deg); + opacity: 0; + } + + 100% { + -moz-transform-origin: center center; + -moz-transform: rotate(0); + opacity: 1; + } +} +@-o-keyframes rotateIn { + 0% { + -o-transform-origin: center center; + -o-transform: rotate(-200deg); + opacity: 0; + } + + 100% { + -o-transform-origin: center center; + -o-transform: rotate(0); + opacity: 1; + } +} +@keyframes rotateIn { + 0% { + transform-origin: center center; + transform: rotate(-200deg); + opacity: 0; + } + + 100% { + transform-origin: center center; + transform: rotate(0); + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + -moz-animation-name: rotateIn; + -o-animation-name: rotateIn; + animation-name: rotateIn; +} +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(0); + opacity: 1; + } +} + +@-moz-keyframes rotateInUpLeft { + 0% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(90deg); + opacity: 0; + } + + 100% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(0); + opacity: 1; + } +} + +@-o-keyframes rotateInUpLeft { + 0% { + -o-transform-origin: left bottom; + -o-transform: rotate(90deg); + opacity: 0; + } + + 100% { + -o-transform-origin: left bottom; + -o-transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + 0% { + transform-origin: left bottom; + transform: rotate(90deg); + opacity: 0; + } + + 100% { + transform-origin: left bottom; + transform: rotate(0); + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + -moz-animation-name: rotateInUpLeft; + -o-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(0); + opacity: 1; + } +} + +@-moz-keyframes rotateInDownLeft { + 0% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(0); + opacity: 1; + } +} + +@-o-keyframes rotateInDownLeft { + 0% { + -o-transform-origin: left bottom; + -o-transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -o-transform-origin: left bottom; + -o-transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + 0% { + transform-origin: left bottom; + transform: rotate(-90deg); + opacity: 0; + } + + 100% { + transform-origin: left bottom; + transform: rotate(0); + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + -moz-animation-name: rotateInDownLeft; + -o-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(0); + opacity: 1; + } +} + +@-moz-keyframes rotateInUpRight { + 0% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(0); + opacity: 1; + } +} + +@-o-keyframes rotateInUpRight { + 0% { + -o-transform-origin: right bottom; + -o-transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -o-transform-origin: right bottom; + -o-transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInUpRight { + 0% { + transform-origin: right bottom; + transform: rotate(-90deg); + opacity: 0; + } + + 100% { + transform-origin: right bottom; + transform: rotate(0); + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + -moz-animation-name: rotateInUpRight; + -o-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(0); + opacity: 1; + } +} + +@-moz-keyframes rotateInDownRight { + 0% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(90deg); + opacity: 0; + } + + 100% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(0); + opacity: 1; + } +} + +@-o-keyframes rotateInDownRight { + 0% { + -o-transform-origin: right bottom; + -o-transform: rotate(90deg); + opacity: 0; + } + + 100% { + -o-transform-origin: right bottom; + -o-transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInDownRight { + 0% { + transform-origin: right bottom; + transform: rotate(90deg); + opacity: 0; + } + + 100% { + transform-origin: right bottom; + transform: rotate(0); + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + -moz-animation-name: rotateInDownRight; + -o-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center center; + -webkit-transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: center center; + -webkit-transform: rotate(200deg); + opacity: 0; + } +} + +@-moz-keyframes rotateOut { + 0% { + -moz-transform-origin: center center; + -moz-transform: rotate(0); + opacity: 1; + } + + 100% { + -moz-transform-origin: center center; + -moz-transform: rotate(200deg); + opacity: 0; + } +} + +@-o-keyframes rotateOut { + 0% { + -o-transform-origin: center center; + -o-transform: rotate(0); + opacity: 1; + } + + 100% { + -o-transform-origin: center center; + -o-transform: rotate(200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + 0% { + transform-origin: center center; + transform: rotate(0); + opacity: 1; + } + + 100% { + transform-origin: center center; + transform: rotate(200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + -moz-animation-name: rotateOut; + -o-animation-name: rotateOut; + animation-name: rotateOut; +} +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(-90deg); + opacity: 0; + } +} + +@-moz-keyframes rotateOutUpLeft { + 0% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(0); + opacity: 1; + } + + 100% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(-90deg); + opacity: 0; + } +} + +@-o-keyframes rotateOutUpLeft { + 0% { + -o-transform-origin: left bottom; + -o-transform: rotate(0); + opacity: 1; + } + + 100% { + -o-transform-origin: left bottom; + -o-transform: rotate(-90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + 0% { + transform-origin: left bottom; + transform: rotate(0); + opacity: 1; + } + + 100% { + transform-origin: left bottom; + transform: rotate(-90deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + -moz-animation-name: rotateOutUpLeft; + -o-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -webkit-transform: rotate(90deg); + opacity: 0; + } +} + +@-moz-keyframes rotateOutDownLeft { + 0% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(0); + opacity: 1; + } + + 100% { + -moz-transform-origin: left bottom; + -moz-transform: rotate(90deg); + opacity: 0; + } +} + +@-o-keyframes rotateOutDownLeft { + 0% { + -o-transform-origin: left bottom; + -o-transform: rotate(0); + opacity: 1; + } + + 100% { + -o-transform-origin: left bottom; + -o-transform: rotate(90deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + 0% { + transform-origin: left bottom; + transform: rotate(0); + opacity: 1; + } + + 100% { + transform-origin: left bottom; + transform: rotate(90deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + -moz-animation-name: rotateOutDownLeft; + -o-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(90deg); + opacity: 0; + } +} + +@-moz-keyframes rotateOutUpRight { + 0% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(0); + opacity: 1; + } + + 100% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(90deg); + opacity: 0; + } +} + +@-o-keyframes rotateOutUpRight { + 0% { + -o-transform-origin: right bottom; + -o-transform: rotate(0); + opacity: 1; + } + + 100% { + -o-transform-origin: right bottom; + -o-transform: rotate(90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + 0% { + transform-origin: right bottom; + transform: rotate(0); + opacity: 1; + } + + 100% { + transform-origin: right bottom; + transform: rotate(90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + -moz-animation-name: rotateOutUpRight; + -o-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -webkit-transform: rotate(-90deg); + opacity: 0; + } +} + +@-moz-keyframes rotateOutDownRight { + 0% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(0); + opacity: 1; + } + + 100% { + -moz-transform-origin: right bottom; + -moz-transform: rotate(-90deg); + opacity: 0; + } +} + +@-o-keyframes rotateOutDownRight { + 0% { + -o-transform-origin: right bottom; + -o-transform: rotate(0); + opacity: 1; + } + + 100% { + -o-transform-origin: right bottom; + -o-transform: rotate(-90deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + 0% { + transform-origin: right bottom; + transform: rotate(0); + opacity: 1; + } + + 100% { + transform-origin: right bottom; + transform: rotate(-90deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + -moz-animation-name: rotateOutDownRight; + -o-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} +@-webkit-keyframes hinge { + 0% { -webkit-transform: rotate(0); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; } + 20%, 60% { -webkit-transform: rotate(80deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; } + 40% { -webkit-transform: rotate(60deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; } + 80% { -webkit-transform: rotate(60deg) translateY(0); opacity: 1; -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; } + 100% { -webkit-transform: translateY(700px); opacity: 0; } +} + +@-moz-keyframes hinge { + 0% { -moz-transform: rotate(0); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; } + 20%, 60% { -moz-transform: rotate(80deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; } + 40% { -moz-transform: rotate(60deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; } + 80% { -moz-transform: rotate(60deg) translateY(0); opacity: 1; -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; } + 100% { -moz-transform: translateY(700px); opacity: 0; } +} + +@-o-keyframes hinge { + 0% { -o-transform: rotate(0); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; } + 20%, 60% { -o-transform: rotate(80deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; } + 40% { -o-transform: rotate(60deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; } + 80% { -o-transform: rotate(60deg) translateY(0); opacity: 1; -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; } + 100% { -o-transform: translateY(700px); opacity: 0; } +} + +@keyframes hinge { + 0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; } + 20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; } + 40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; } + 80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; } + 100% { transform: translateY(700px); opacity: 0; } +} + +.hinge { + -webkit-animation-name: hinge; + -moz-animation-name: hinge; + -o-animation-name: hinge; + animation-name: hinge; +} +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + 0% { opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); } + 100% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); } +} + +@-moz-keyframes rollIn { + 0% { opacity: 0; -moz-transform: translateX(-100%) rotate(-120deg); } + 100% { opacity: 1; -moz-transform: translateX(0px) rotate(0deg); } +} + +@-o-keyframes rollIn { + 0% { opacity: 0; -o-transform: translateX(-100%) rotate(-120deg); } + 100% { opacity: 1; -o-transform: translateX(0px) rotate(0deg); } +} + +@keyframes rollIn { + 0% { opacity: 0; transform: translateX(-100%) rotate(-120deg); } + 100% { opacity: 1; transform: translateX(0px) rotate(0deg); } +} + +.rollIn { + -webkit-animation-name: rollIn; + -moz-animation-name: rollIn; + -o-animation-name: rollIn; + animation-name: rollIn; +} +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + 0% { + opacity: 1; + -webkit-transform: translateX(0px) rotate(0deg); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(100%) rotate(120deg); + } +} + +@-moz-keyframes rollOut { + 0% { + opacity: 1; + -moz-transform: translateX(0px) rotate(0deg); + } + + 100% { + opacity: 0; + -moz-transform: translateX(100%) rotate(120deg); + } +} + +@-o-keyframes rollOut { + 0% { + opacity: 1; + -o-transform: translateX(0px) rotate(0deg); + } + + 100% { + opacity: 0; + -o-transform: translateX(100%) rotate(120deg); + } +} + +@keyframes rollOut { + 0% { + opacity: 1; + transform: translateX(0px) rotate(0deg); + } + + 100% { + opacity: 0; + transform: translateX(100%) rotate(120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + -moz-animation-name: rollOut; + -o-animation-name: rollOut; + animation-name: rollOut; +} + +/* originally authored by Angelo Rohit - https://github.com/angelorohit */ + +@-webkit-keyframes lightSpeedIn { + 0% { -webkit-transform: translateX(100%) skewX(-30deg); opacity: 0; } + 60% { -webkit-transform: translateX(-20%) skewX(30deg); opacity: 1; } + 80% { -webkit-transform: translateX(0%) skewX(-15deg); opacity: 1; } + 100% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; } +} + +@-moz-keyframes lightSpeedIn { + 0% { -moz-transform: translateX(100%) skewX(-30deg); opacity: 0; } + 60% { -moz-transform: translateX(-20%) skewX(30deg); opacity: 1; } + 80% { -moz-transform: translateX(0%) skewX(-15deg); opacity: 1; } + 100% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; } +} + +@-o-keyframes lightSpeedIn { + 0% { -o-transform: translateX(100%) skewX(-30deg); opacity: 0; } + 60% { -o-transform: translateX(-20%) skewX(30deg); opacity: 1; } + 80% { -o-transform: translateX(0%) skewX(-15deg); opacity: 1; } + 100% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; } +} + +@keyframes lightSpeedIn { + 0% { transform: translateX(100%) skewX(-30deg); opacity: 0; } + 60% { transform: translateX(-20%) skewX(30deg); opacity: 1; } + 80% { transform: translateX(0%) skewX(-15deg); opacity: 1; } + 100% { transform: translateX(0%) skewX(0deg); opacity: 1; } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + -moz-animation-name: lightSpeedIn; + -o-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + + -webkit-animation-timing-function: ease-out; + -moz-animation-timing-function: ease-out; + -o-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +.animated.lightSpeedIn { + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + -o-animation-duration: 0.5s; + animation-duration: 0.5s; +} + +/* originally authored by Angelo Rohit - https://github.com/angelorohit */ + +@-webkit-keyframes lightSpeedOut { + 0% { -webkit-transform: translateX(0%) skewX(0deg); opacity: 1; } + 100% { -webkit-transform: translateX(100%) skewX(-30deg); opacity: 0; } +} + +@-moz-keyframes lightSpeedOut { + 0% { -moz-transform: translateX(0%) skewX(0deg); opacity: 1; } + 100% { -moz-transform: translateX(100%) skewX(-30deg); opacity: 0; } +} + +@-o-keyframes lightSpeedOut { + 0% { -o-transform: translateX(0%) skewX(0deg); opacity: 1; } + 100% { -o-transform: translateX(100%) skewX(-30deg); opacity: 0; } +} + +@keyframes lightSpeedOut { + 0% { transform: translateX(0%) skewX(0deg); opacity: 1; } + 100% { transform: translateX(100%) skewX(-30deg); opacity: 0; } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + -moz-animation-name: lightSpeedOut; + -o-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + + -webkit-animation-timing-function: ease-in; + -moz-animation-timing-function: ease-in; + -o-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +.animated.lightSpeedOut { + -webkit-animation-duration: 0.25s; + -moz-animation-duration: 0.25s; + -o-animation-duration: 0.25s; + animation-duration: 0.25s; +} + +/* originally authored by Angelo Rohit - https://github.com/angelorohit */ + +@-webkit-keyframes wiggle { + 0% { -webkit-transform: skewX(9deg); } + 10% { -webkit-transform: skewX(-8deg); } + 20% { -webkit-transform: skewX(7deg); } + 30% { -webkit-transform: skewX(-6deg); } + 40% { -webkit-transform: skewX(5deg); } + 50% { -webkit-transform: skewX(-4deg); } + 60% { -webkit-transform: skewX(3deg); } + 70% { -webkit-transform: skewX(-2deg); } + 80% { -webkit-transform: skewX(1deg); } + 90% { -webkit-transform: skewX(0deg); } + 100% { -webkit-transform: skewX(0deg); } +} + +@-moz-keyframes wiggle { + 0% { -moz-transform: skewX(9deg); } + 10% { -moz-transform: skewX(-8deg); } + 20% { -moz-transform: skewX(7deg); } + 30% { -moz-transform: skewX(-6deg); } + 40% { -moz-transform: skewX(5deg); } + 50% { -moz-transform: skewX(-4deg); } + 60% { -moz-transform: skewX(3deg); } + 70% { -moz-transform: skewX(-2deg); } + 80% { -moz-transform: skewX(1deg); } + 90% { -moz-transform: skewX(0deg); } + 100% { -moz-transform: skewX(0deg); } +} + +@-o-keyframes wiggle { + 0% { -o-transform: skewX(9deg); } + 10% { -o-transform: skewX(-8deg); } + 20% { -o-transform: skewX(7deg); } + 30% { -o-transform: skewX(-6deg); } + 40% { -o-transform: skewX(5deg); } + 50% { -o-transform: skewX(-4deg); } + 60% { -o-transform: skewX(3deg); } + 70% { -o-transform: skewX(-2deg); } + 80% { -o-transform: skewX(1deg); } + 90% { -o-transform: skewX(0deg); } + 100% { -o-transform: skewX(0deg); } +} + +@keyframes wiggle { + 0% { transform: skewX(9deg); } + 10% { transform: skewX(-8deg); } + 20% { transform: skewX(7deg); } + 30% { transform: skewX(-6deg); } + 40% { transform: skewX(5deg); } + 50% { transform: skewX(-4deg); } + 60% { transform: skewX(3deg); } + 70% { transform: skewX(-2deg); } + 80% { transform: skewX(1deg); } + 90% { transform: skewX(0deg); } + 100% { transform: skewX(0deg); } +} + +.wiggle { + -webkit-animation-name: wiggle; + -moz-animation-name: wiggle; + -o-animation-name: wiggle; + animation-name: wiggle; + + -webkit-animation-timing-function: ease-in; + -moz-animation-timing-function: ease-in; + -o-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +.animated.wiggle { + -webkit-animation-duration: 0.75s; + -moz-animation-duration: 0.75s; + -o-animation-duration: 0.75s; + animation-duration: 0.75s; +} diff --git a/www/themes/factuges/assets/css/pages/about-us.css b/www/themes/factuges/assets/css/pages/about-us.css new file mode 100644 index 0000000..380c614 --- /dev/null +++ b/www/themes/factuges/assets/css/pages/about-us.css @@ -0,0 +1,20 @@ +/*** +Anout Us Page +***/ + +.meet-our-team h3 { + margin-bottom: 0; + padding: 0 10px 10px; + background: #fcfcfc; +} + +.meet-our-team small { + display:block; + font-size:12px; +} + +.meet-our-team .team-info { + padding: 10px; + overflow: hidden; + background: #fafafa; +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/pages/blog.css b/www/themes/factuges/assets/css/pages/blog.css new file mode 100644 index 0000000..a900328 --- /dev/null +++ b/www/themes/factuges/assets/css/pages/blog.css @@ -0,0 +1,163 @@ +/*** +Blog Page +***/ + +/*--Block Article--*/ +.blog-page { + padding-bottom: 20px; +} + +.blog-page h1 { + margin-bottom: 20px; +} + +.blog-page h2 a { + color: #000; +} + +.blog-page h2 a:hover { + color: #0d638f; + text-decoration: none; +} + +.blog-page hr { + margin-top: 30px !important; +} + +.blog-page .article-block { + padding-bottom: 20px; +} + +.blog-page .news-img img { + margin-top: 9px; +} + +.blog-page .blog-tag-data ul { + margin-bottom: 5px; +} + +.blog-page .blog-tag-data li { + padding: 0; +} + +.blog-page .blog-tag-data li i { + color: #78cff8; +} + +.blog-page .blog-tag-data li a { + padding: 0; + color: #555; + margin-right: 8px; +} + +.blog-page .blog-tag-data { + margin-bottom: 10px; +} + +.blog-page .blog-tag-data ul.blog-tags a { + background: #eee; + padding: 1px 4px; + margin: 0 4px 4px 0; + display: inline-block; +} + +.blog-page .blog-tag-data ul.blog-tags a:hover { + background: #ddd; + text-decoration: none; +} + +.blog-page .blog-tag-data .blog-tag-data-inner { + text-align: right; +} + +.blog-page .blog-tag-data img { + margin-bottom: 12px; +} + +.blog-page .blog-article { + padding-bottom: 20px; +} + +.blog-page .blog-article h2 { + margin-top: 0; +} + +/*--Block Sidebar--*/ +.blog-sidebar h2 { + font-size: 38.5px; + margin-bottom: 20px; +} + +/*Twitter block*/ +.blog-twitter-block { + padding: 5px; + position: relative; + margin-bottom: 10px; + border-right: solid 2px #ddd; +} + +.blog-twitter-block:hover { + background: #fafafa; + border-color: #35aa47; +} + +.blog-twitter-block a { + color: #4d90fe; +} + +.blog-twitter-block p { + margin-bottom: 0; +} + +.blog-twitter-block span { + color: #555; + display: block; + font-size: 12px; +} + +.blog-twitter-block i.blog-twiiter-icon { + color: #eee; + right: 10px; + bottom: 10px; + font-size: 30px; + position: absolute; +} + +/*** +Blog & News Item Page +***/ +/*--Media Object--*/ +.blog-page .media img { + height: 54px; + position: relative; + top: 3px; + width: 54px; +} + +.blog-page h4.media-heading { + position: relative; +} + +.blog-page h4.media-heading span { + color: #777777; + font-size: 12px; + position: absolute; + right: 0; + top: 3px; +} + +.blog-page h4.media-heading span a { + color: #78cff8; +} + +/*Post Comment*/ +.blog-page .post-comment .color-red { + color: #f00; +} + +/*For Responsive*/ +@media (max-width: 768px) { + .blog-page .blog-tag-data .blog-tag-data-inner { + text-align: left; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/pages/email.css b/www/themes/factuges/assets/css/pages/email.css new file mode 100644 index 0000000..8691863 --- /dev/null +++ b/www/themes/factuges/assets/css/pages/email.css @@ -0,0 +1,48 @@ +/*** +Email Template Page +***/ +.mail-template ul { + padding:0px; + margin: 0px; + list-style:none; +} + +.mail-template li { + margin:0 5px; + cursor:pointer; + list-style:none; + border:solid 2px #fff; +} + +.mail-template li:hover { + border:solid 2px #aaa; +} + +.mail-template li a{ + display:block; + padding:25px; +} + +.mail-template li a:hover { + text-decoration: none; +} + +.mail-template li.color-black { + background:#1f1f1f; +} + +.mail-template li.color-darkblue { + background:#1570a6; +} + +.mail-template li.color-lightblue { + background:#4aabf9; +} + +.mail-template li.color-red { + background:#eb4d41; +} + +.mail-template li.color-green { + background:#28b779; +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/pages/error.css b/www/themes/factuges/assets/css/pages/error.css new file mode 100644 index 0000000..194daa5 --- /dev/null +++ b/www/themes/factuges/assets/css/pages/error.css @@ -0,0 +1,27 @@ +/*** +Error Pages +***/ + +.page-404 .number { + letter-spacing: -10px; + margin-top: 0px; + line-height: 158px; + font-size: 158px; + font-weight: 300; + color: #7bbbd6; + text-align: right; +} + +.page-500 .number { + letter-spacing: -10px; + margin-top: 0px; + line-height: 158px; + font-size: 158px; + font-weight: 300; + color: #ec8c8c; + text-align: right; +} + +.page-500 .details { + padding-top: 20px; +} diff --git a/www/themes/factuges/assets/css/pages/inbox.css b/www/themes/factuges/assets/css/pages/inbox.css new file mode 100644 index 0000000..a202230 --- /dev/null +++ b/www/themes/factuges/assets/css/pages/inbox.css @@ -0,0 +1,521 @@ +/*** +Inbox Page +***/ +.inbox { + margin-bottom: 20px; +} + +.inbox .inbox { + margin-bottom: 0px; +} + +.inbox .tab-content { + overflow: inherit; +} + +.inbox .inbox-loading { + display: none; + font-size: 22px; + font-weight: 300; +} + +/*Imbox Menu*/ +.inbox .inbox-nav { + list-style: none; + margin-left: 0 !important; +} + +.inbox .inbox-nav li { + position: relative; +} + +.inbox .inbox-nav li a { + color: #4d82a3; + display: block; + font-size: 15px; + border-left: none; + text-align: left !important; + padding: 8px 14px; + margin-bottom: 1px; + background: #f4f9fd; +} + +.inbox .inbox-nav li.active a, +.inbox .inbox-nav li.active:hover a { + color: #fff; + border-left: none; + background: #169ef4 !important; + text-decoration: none; +} + +.inbox .inbox-nav li.active b { + top: 0; + right: -4px; + width: 8px; + height: 35px; + position: absolute; + display: inline-block; + background: url(../../img/inbox-nav-arrow-blue.png) no-repeat; +} + +.inbox .inbox-nav li:hover a { + color: #4d82a3; + background: #eef4f7 !important; + text-decoration: none; +} + +.inbox .inbox-nav li.compose-btn a { + color: #fff; + text-shadow: none; + text-align: center; + margin-bottom: 18px; + background: #35aa47; +} + +.inbox .inbox-nav li.compose-btn i, +.inbox .inbox-nav li.compose-btn:hover i { + top: 1px; + color: #fff; + font-size: 15px; + position: relative; + background: none !important; +} + +.inbox .inbox-nav li.compose-btn a:hover { + background-color: #1d943b !important; +} + +/*Inbox Content*/ +.inbox .inbox-header { + overflow: hidden; +} + +.inbox .inbox-header h1 { + margin: 0; + color: #666; + margin-bottom: 10px; +} + +.inbox tr { + color: #777; + font-size: 13px; +} + +.inbox tr label { + display: inline-block; + margin-bottom: 0; +} + +.inbox tr.unread td{ + font-weight: 600; +} + +.inbox td i.icon-paper-clip { + top: 2px; + color: #d8e0e5; + font-size: 17px; + position: relative; +} + +.inbox tr i.icon-star, +.inbox tr i.icon-trash { + cursor: pointer; +} + +.inbox tr i.icon-star { + color: #eceef0; +} + +.inbox tr i.icon-star:hover { + color: #fd7b12; +} + +.inbox tr i.inbox-started { + color: #fd7b12; +} + +.inbox .table th, +.inbox .table td { + border: none; +} + +.inbox .table th { + background: #eef4f7; + border-bottom: solid 5px #fff; +} + +.inbox th.text-right { + text-align: right; +} + +.inbox th label.inbox-select-all { + color: #828f97; + font-size: 13px; + padding: 1px 4px 0; +} + +.inbox ul.inbox-nav { + margin-bottom: 0; +} + +.inbox ul.inbox-nav li { + padding: 0; +} + +.inbox ul.inbox-nav li span { + color: #828f97; + font-size: 12px; + margin-right: 10px; +} + +.inbox ul.inbox-nav i { + color: #fff; + padding: 1px 0; + font-size: 15px; + cursor: pointer; + background: #d0dde4 !important; +} + +.inbox ul.inbox-nav i:hover { + background: #169ef4 !important; +} + +.inbox td.text-right { + width: 100px; + text-align: right; +} + +.inbox td.inbox-small-cells { + width: 10px; +} + +.inbox .table-hover tbody tr:hover>td, +.inbox .table-hover tbody tr:hover>th, +.inbox .table-striped tbody>tr:nth-child(odd)>td, +.inbox .table-striped tbody>tr:nth-child(odd)>th { + background: #f8fbfd; + cursor: pointer; +} + +.inbox .table-hover tbody tr:hover>td, +.inbox .table-hover tbody tr:hover>th { + background: #eef4f7; +} + +/*Inbox Drafts*/ +.inbox .inbox-drafts { + padding: 8px 0; + text-align: center; + border-top: solid 1px #eee; + border-bottom: solid 1px #eee; +} + +/*Inbox View*/ +.inbox-view-header { + margin-bottom: 20px; +} + +.inbox-view-header h1 { + color: #666; + font-size: 22px; + line-height: 24px; + margin-bottom: 0 !important; +} + +.inbox-view-header h1 a { + top: -2px; + color: #fff; + cursor: pointer; + font-size: 13px; + padding: 2px 7px; + line-height: 16px; + position: relative; + background: #b0bcc4; + display: inline-block; +} + +.inbox-view-header h1 a:hover { + background: #aab5bc; + text-decoration: none; +} + +.inbox-view-header i.icon-print { + color: #94a4ab; + cursor: pointer; + font-size: 14px; + display: inline-block; + padding: 6px 8px !important; + background: #edf1f4 !important; +} + +.inbox-view-header i.icon-print:hover { + background: #e7ebef !important; +} + +.inbox-view-info { + color: #666; + padding: 5px 0; + margin-bottom: 10px; + border-top: solid 1px #eee; + border-bottom: solid 1px #eee; +} + +.inbox-view-info strong { + color: #666; + margin: 0 10px 0 5px; +} + +.inbox-view-info .inbox-info-btn { + text-align: right; +} + +.inbox-view-info .inbox-info-btn ul { + text-align: left; +} + +.inbox-view-info button { + top: 2px; + color: #94a4ab; + font-size: 13px; + margin-left: 4px; + padding: 3px 10px; + position: relative; + background: #edf1f4; +} + +.inbox-view-info button:hover { + color: #94a4ab; + background: #e7ebef; +} + +.inbox-view { + color: #666; + padding: 15px 0 0; +} + +.inbox-view a { + color: #169ce9; +} + +.inbox-attached { + line-height: 16px; +} + +.inbox-attached a { + margin: 0 2px; +} + +.inbox-attached img { + height: auto; + max-width: 250px; + margin-bottom: 5px; +} + +.inbox-attached span { + margin-right: 3px; +} + +.inbox-attached strong { + color: #555; + display: block; + font-size: 13px; +} + +.inbox-attached .margin-bottom-25 { + margin-bottom: 25px; +} + +.inbox-attached .margin-bottom-15 { + margin-bottom: 15px; +} + + +/*Inbox Compose*/ +.inbox-compose { + margin-top: 1px; + border: solid 1px #eee; +} + +.inbox-compose-btn { + padding: 8px 4px; + background: #f0f6fa; +} + +.inbox-compose-attachment { + padding: 8px 8px; +} + +.inbox-compose-attachment .btn { + padding: 4px 10px; +} + +.inbox-compose-btn button { + color: #fff; + font-size: 14px; + margin-left: 4px; + padding: 4px 10px; + background: #c0cfdd; +} + +.inbox-compose-btn button:hover { + color: #fff; + background: #4d90fe; +} + +.inbox-compose-btn button i { + margin-right: 3px; +} + +.inbox-compose .inbox-control-group { + margin-bottom: 0; + position: relative; + border-bottom: solid 1px #eee; +} + +.inbox-compose .controls { + margin-left: 85px; +} + +.inbox-compose .inbox-control-group > label { + width: 80px; + float: left; + color: #979797; + text-align: right; +} + +.inbox-compose .controls > input { + border: none !important; +} +.inbox-compose .controls-to { + padding-right: 55px; +} + +.inbox-compose .controls-cc { + padding-right: 15px; +} + +.inbox-compose .controls-bcc { + padding-right: 15px; +} + +.inbox-compose .tag { + font-size: 12px; + font-weight: 300 !important; + margin-top: 6px; + margin-left: 5px; + color: #333; + text-shadow: none !important; + background-color: #eee; + display: inline-block !important; + padding: 3px !important; +} + +.inbox-compose .tag .close { + margin-top: -2px; + display: inline-block !important; + float: none !important; + +} + +.inbox-compose .tags { + border: none !important; + font-size: 13px; + padding: 0px; + margin-bottom: 0px; + margin-right: 50px; + box-shadow: none !important; +} + +.inbox-compose .tags-hover { + border: 1px solid #ddd; + border: none !important; + box-shadow: none !important; + background: none !important; +} + +.inbox-compose .tags input[type="text"], +.inbox-compose .tags input[type="text"]:focus { + display: inline-block !important; + border: none !important; + font-size: 14px !important; + vertical-align: top; + outline: 0; + margin: 0; + padding: 0; + width: auto; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.inbox-compose .inbox-control-group a.close { + top: 13px; + right: 10px; + position: absolute; +} + +.inbox-compose .mail-to .inbox-cc-bcc { + display: inline-block; + top: 7px; + right: 10px; + color: #979797; + font-size: 14px; + cursor: pointer; + position: absolute; +} + +.inbox-compose .mail-to .inbox-bcc { + margin-left: 5px; +} + +.inbox-compose .mail-to inbox-cc:hover, +.inbox-compose .mail-to inbox-bcc:hover { + color: #777; +} + +.inbox-compose .wysihtml5 { + padding: 0px !important; + margin: 0px !important; + border: 0 !important; +} + +.inbox-compose .wysihtml5-sandbox { + padding: 0px !important; + margin: 0px !important; + display: block !important; + border: 0 !important; + margin-top: 5px; + width: 100% !important; + border-left: none; + border-right: none; + border-color: #eee; +} + +.inbox-compose .wysihtml5-toolbar { + border: 0; + border-bottom: 1px solid #eee; +} + +.inbox-compose .wysihtml5-toolbar > li { + height: 34px; + margin-right: 0; + margin-bottom: 0; +} + +.inbox-compose .wysihtml5-toolbar > li > a, +.inbox-compose .wysihtml5-toolbar > li > div > a { + background: #fff; +} + +.inbox-compose .wysihtml5-toolbar .dropdown.open .dropdown-toggle, +ul.wysihtml5-toolbar a.btn.wysihtml5-command-active { + background: #eee !important; +} + +@media (max-width: 480px) { + + .inbox-compose .inbox-control-group > label { + margin-top: 7px; + } + +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/pages/invoice.css b/www/themes/factuges/assets/css/pages/invoice.css new file mode 100644 index 0000000..730036d --- /dev/null +++ b/www/themes/factuges/assets/css/pages/invoice.css @@ -0,0 +1,39 @@ +/*** +Invoice page +***/ +.invoice table { + margin:30px 0 30px; +} + +.invoice .invoice-logo { + margin-bottom:20px; +} + +.invoice .invoice-logo p { + padding:5px 0; + font-size:26px; + line-height:28px; + text-align:right; +} + +.invoice .invoice-logo p span { + display:block; + font-size:14px; +} + +.invoice .invoice-logo-space { + margin-bottom:15px; +} + +.invoice .invoice-payment strong { + margin-right:5px; +} + +.invoice .invoice-block { + text-align:right; +} + +.invoice .invoice-block .amounts { + margin-top: 20px; + font-size: 14px; +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/pages/login.css b/www/themes/factuges/assets/css/pages/login.css new file mode 100644 index 0000000..5f5c0ac --- /dev/null +++ b/www/themes/factuges/assets/css/pages/login.css @@ -0,0 +1,154 @@ +/*** +Login page +***/ + +/* logo page */ +.login { + background-color: #444 !important; +} + +.login .logo { + width: 247px; + margin: 0 auto; + margin-top:60px; + padding: 15px; + text-align: center; +} + +.login .content { + background-color:#fff; + width: 291px; + margin: 0 auto; + margin-bottom: 0px; + padding: 30px; + padding-top: 20px; + padding-bottom: 15px; +} + +.login .content h3 { + color: #000; +} +.login .content h4 { + color: #555; +} + +.login .content p { + color: #222; +} + +.login .content .login-form, +.login .content .forget-form { + padding: 0px; + margin: 0px; +} + +.login .content .m-wrap { + width: 249px; + border-left: 0 !important; +} + +.login .content .input-icon { + border-left: 2px solid #35aa47 !important; +} + +.login .content .control-group { + margin-bottom: 20px !important; +} + +.login .content .input-icon .m-wrap { + margin: 0px !important; +} + +.login .content .forget-form { + display: none; +} + +.login .content .register-form { + display: none; +} + +.login .content .form-title { + font-weight: 300; + margin-bottom: 25px; +} + +.login .content .form-actions { + background-color: #fff; + clear: both; + border: 0px; + border-bottom: 1px solid #eee; + padding: 0px 30px 25px 30px; + margin-left: -30px; + margin-right: -30px; +} + +.login .content .forget-form .form-actions { + border: 0; + margin-bottom: 0; + padding-bottom: 20px; +} + +.login .content .register-form .form-actions { + border: 0; + margin-bottom: 0; + padding-bottom: 0px; +} + +.login .content .form-actions .checkbox { + margin-top: 8px; + display: inline-block; +} + +.login .content .form-actions .btn { + margin-top: 1px; +} + +.login .content .forget-password { + margin-top: 25px; +} + +.login .content .create-account { + border-top: 1px dotted #eee; + padding-top: 10px; + margin-top: 15px; +} + +.login .content .create-account a { + display: inline-block; + margin-top: 5px; +} + +.login .copyright { + text-align: center; + width: 250px; + margin: 0 auto; + padding: 10px 10px 0 10px; + color: #999; + font-size: 11px; +} + +@media (max-width: 480px) { + /*** + Login page + ***/ + .login .logo { + margin-top:10px; + } + + .login .content { + padding: 30px; + width: 222px; + } + + .login .content h3 { + font-size: 22px; + } + + .login .content .m-wrap { + width: 180px; + } + + .login .checkbox { + font-size: 13px; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/pages/news.css b/www/themes/factuges/assets/css/pages/news.css new file mode 100644 index 0000000..903b642 --- /dev/null +++ b/www/themes/factuges/assets/css/pages/news.css @@ -0,0 +1,142 @@ +/*** +News Page +***/ + +.news-page { + padding-bottom: 20px; +} + +.news-page h1 { + margin-bottom: 20px; +} + +.news-page h2 { + font-size: 38.5px; + margin-bottom: 20px; +} + +.news-page .top-news { + margin-top: 0; +} + +/*News Feeds*/ +.news-blocks { + padding: 10px; + margin-bottom: 10px; + background: #faf6ea; + border-top: solid 2px #faf6ea; +} + +.news-blocks:hover { + background: #fff; + border-color: #78cff8; + transition: all 0.4s ease-in-out 0s; + -moz-transition: all 0.4s ease-in-out 0s; + -webkit-transition: all 0.4s ease-in-out 0s; +} + +.news-blocks h3 { + margin: 0 0 5px 0; + font-size: 23px; + line-height: 32px; +} + +.news-blocks h3 a { + color: #000; +} + +.news-blocks h3 a:hover { + color: #78cff8; + text-decoration: none; +} + +.news-blocks p { + overflow: hidden; +} + +.news-blocks a.news-block-btn { + color: #000; + display: block; + font-size: 14px; + background: none; + padding: 5px 10px 0; + text-align: right; + text-decoration: none; +} + +.news-blocks a.news-block-btn i { + margin-left: 3px; +} + + +.news-blocks a.news-block-btn:hover { + text-decoration: none; +} + +.news-blocks img.news-block-img { + width: 70px; + height: 70px; + margin: 5px 10px 0 0; +} + +.news-blocks .news-block-tags { + margin-bottom: 8px; +} + +.news-blocks .news-block-tags strong { + margin-right: 10px; + font-weight: 400; +} + +.news-blocks .news-block-tags em { + font-style: normal; +} + +/*News Item Page*/ +.news-item-page { + padding: 10px 0; +} + +.blog-tag-data ul { + margin-bottom: 5px; +} + +.blog-tag-data li { + padding: 0; +} + +.blog-tag-data li i { + color: #78cff8; +} + +.blog-tag-data li a { + padding: 0; + color: #555; + margin-right: 8px; +} + +.blog-tag-data { + margin-bottom: 10px; +} + +.blog-tag-data img { + margin-bottom: 12px; +} + +.blog-tag-data ul.blog-tags a { + background: #eee; + padding: 1px 4px; + margin: 0 4px 4px 0; + display: inline-block; +} + +.blog-tag-data ul.blog-tags a:hover { + background: #ddd; + text-decoration: none; +} + +.blog-tag-data .blog-tag-data-inner { + text-align: right; +} + + diff --git a/www/themes/factuges/assets/css/pages/pricing-tables.css b/www/themes/factuges/assets/css/pages/pricing-tables.css new file mode 100644 index 0000000..64656ed --- /dev/null +++ b/www/themes/factuges/assets/css/pages/pricing-tables.css @@ -0,0 +1,377 @@ +/*** +Pricing table +***/ + +.pricing-table { + border: 3px solid transparent; + padding: 10px; + background-color: #f1f2f2; +} + +.pricing-table:hover { + border-color: #4b8df8; +} + +.pricing-table h3 { + margin-left: -2px; + padding-left: 0px; + font-size: 26px; + margin-bottom: 5px; + line-height: 26px; + color: #111; + margin-top: 0px; +} + +.pricing-table .desc { + margin-bottom: 10px; + padding-bottom: 15px; + color: #666; + border-bottom: 1px solid #ddd; +} + +.pricing-table ul { + margin: 0px; + margin-bottom: 15px; + padding: 0px; + list-style: none; +} + +.pricing-table ul li { + padding: 6px 0px; + padding-left: 11px; + font-size: 13px; + line-height: 13px; + color: #666; +} + +.pricing-table ul li i { + position: absolute; + margin-right: 0px; + margin-top: -2px; + margin-left: -17px; + color: #35aa47; + font-size: 16px; +} + +.pricing-table .rate { + border-top: 1px solid #ddd; + margin-bottom: 10px; + padding-top: 15px; + clear: both; +} + +.pricing-table.selected .rate { + border-top-color: #fff; +} + +.pricing-table .rate:before, +.pricing-table .rate:after { + display: table; + line-height: 0; + content: ""; +} +.pricing-table .rate:after { + clear: both; +} + +.pricing-table .rate .price { + display: inline-block; + float: left; + clear: both; +} + +.pricing-table .rate .btn { + margin-top: 3px; + float: right; + display: block; +} + +.pricing-table .rate .price .currency { + padding-top: 4px; + float: left; + width: 50px; + text-align: right; + font-size: 13px; + line-height: 14px; + font-weight: 300; + margin-right: 2px; +} + +.pricing-table .rate .price .amount { + padding-top: 4px; + letter-spacing: -3px; + float: left; + text-align: right; + font-size: 36px; + line-height: 30px; + font-weight: 300; +} + +.pricing-table.selected { + background-color: #4b8df8; +} + +.pricing-table.selected:hover { + border-color: #ddd; +} + +.pricing-table.selected .desc { + border-bottom-color: #fff; +} + +.pricing-table.selected h3, +.pricing-table.selected .desc, +.pricing-table.selected ul li, +.pricing-table.selected ul li i, +.pricing-table.selected .rate { + color: #fff; +} + +/*** +Pricing table(Alternative) +***/ + +.pricing-table2 { + border: 3px solid transparent; + padding: 10px; + background-color: #f1f2f2; +} + +.pricing-table2:hover { + border-color: #4b8df8; +} + +.pricing-table2 h3 { + margin-left: -2px; + padding-left: 0px; + font-size: 26px; + margin-bottom: 5px; + line-height: 26px; + margin-top: 0px; + color: #111; +} + +.pricing-table2 .desc { + margin-bottom: 10px; + padding-bottom: 0px; + color: #666; +} + +.pricing-table2 ul { + margin: 0px; + margin-bottom: 0px; + padding: 0px; + list-style: none; +} + +.pricing-table2 ul li { + padding: 6px 0px; + padding-left: 11px; + font-size: 13px; + line-height: 13px; + color: #666; +} + +.pricing-table2 ul li i { + position: absolute; + margin-right: 0px; + margin-top: -2px; + margin-left: -17px; + color: #35aa47; + font-size: 16px; +} + +.pricing-table2 .rate { + margin-bottom: 10px; + padding: 15px 15px; + margin-left: -15px; + margin-right: -15px; + background-color: #35aa47; + color: #fff; + clear: both; +} + +.pricing-table2.selected .rate { + border-top-color: #fff; +} + +.pricing-table2 .rate:before, +.pricing-table2 .rate:after { + display: table; + line-height: 0; + content: ""; +} +.pricing-table2 .rate:after { + clear: both; +} + +.pricing-table2 .rate .price { + display: inline-block; + float: left; + clear: both; +} + +.pricing-table2 .rate .btn { + margin-top: 3px; + float: right; + display: block; +} + +.pricing-table2 .rate .price .currency { + padding-top: 4px; + float: left; + width: 50px; + text-align: right; + font-size: 13px; + line-height: 14px; + font-weight: 300; +} + +.pricing-table2 .rate .price .amount { + padding-top: 4px; + float: left; + text-align: right; + font-size: 36px; + line-height: 30px; + font-weight: 300; +} + +.pricing-table2.selected { + background-color: #4b8df8; +} + +.pricing-table2.selected .rate { + background-color: #ffb848; +} + +.pricing-table2.selected:hover { + border-color: #ddd; +} + +.pricing-table2.selected .desc { + border-bottom-color: #fff; +} + +.pricing-table2.selected h3, +.pricing-table2.selected .desc, +.pricing-table2.selected ul li, +.pricing-table2.selected ul li i, +.pricing-table2.selected .rate .currency, +.pricing-table2.selected .rate .amount { + color: #fff !important; +} + + +/*** +Pricing table(Alternative 2) +***/ +.pricing { + position:relative; + margin-bottom:15px; + border:3px solid #eee; +} +.pricing-active { + border:3px solid #35aa47; +} +.pricing:hover { + border:3px solid #35aa47; +} +.pricing:hover h4 { + color:#35aa47; +} +.pricing-head { + text-align:center; +} +.pricing-head h3, +.pricing-head h4 { + margin:0; + line-height:normal; +} +.pricing-head h3 span, +.pricing-head h4 span { + display:block; + margin-top:5px; + font-size:14px; + font-style:italic; +} +.pricing-head h3 { + font-weight: 300; + color:#fafafa; + padding:12px 0; + font-size:27px; + background:#35aa47; + border-bottom:solid 1px #41b91c; +} +.pricing-head h4 { + color:#bac39f; + padding:5px 0; + font-size:54px; + font-weight:300; + background:#fbfef2; + border-bottom:solid 1px #f5f9e7; +} +.pricing-head-active h4 { + color:#35aa47; +} +.pricing-head h4 i { + top:-8px; + font-size:28px; + font-style:normal; + position:relative; +} +.pricing-head h4 span { + top:-10px; + font-size:14px; + font-style:normal; + position:relative; +} + +/*Pricing Content*/ +.pricing-content li { + color:#888; + font-size:12px; + padding:7px 15px; + border-bottom:solid 1px #f5f9e7; +} +.pricing-content li i { + top:2px; + color:#35aa47; + font-size:16px; + margin-right:5px; + position:relative; +} + +/*Pricing Footer*/ +.pricing-footer { + color:#777; + font-size:11px; + line-height:17px; + text-align:center; + padding:0 20px 19px; +} + +/*Priceing Active*/ +.price-active, +.pricing:hover { + z-index:9; +} +.price-active h4 { + color:#35aa47; +} + +.no-space-pricing .pricing:hover { + -webkit-transition:box-shadow 0.3s ease-in-out; + -moz-transition:box-shadow 0.3s ease-in-out; + -o-transition:box-shadow 0.3s ease-in-out; + transition:box-shadow 0.2s ease-in-out; +} +.no-space-pricing .price-active .pricing-head h4, +.no-space-pricing .pricing:hover .pricing-head h4 { + color:#35aa47; + padding:15px 0; + font-size:80px; + -webkit-transition:color 0.5s ease-in-out; + -moz-transition:color 0.5s ease-in-out; + -o-transition:color 0.5s ease-in-out; + transition:color 0.5s ease-in-out; +} diff --git a/www/themes/factuges/assets/css/pages/profile.css b/www/themes/factuges/assets/css/pages/profile.css new file mode 100644 index 0000000..e510174 --- /dev/null +++ b/www/themes/factuges/assets/css/pages/profile.css @@ -0,0 +1,335 @@ +/*** +Profile Page +***/ +.profile { + position:relative; +} + +.profile p { + color:#636363; + font-size:13px; +} + +.profile p a { + color:#169ef4; +} + +.profile label { + margin-top:10px; +} + +.profile label:first-child { + margin-top:0; +} + +/*profile info*/ +.profile-classic .span2 { + position:relative; +} + +.profile-classic .span2 a { + top:0; + right:0; + margin:0; + color:#fff; + opacity:0.6; + padding:0 9px; + font-size:11px; + background:#000; + position:absolute; + filter:alpha(opacity=60); /*for ie*/ +} +.profile-classic .span2 img { + margin-bottom:15px; +} + +.profile-classic li { + padding:8px 0; + font-size:13px; + border-top:solid 1px #f5f5f5; +} + +.profile-classic li:first-child { + border-top:none; +} + +.profile-classic li span { + color:#666; + font-size:13px; + margin-right:7px; +} + +/*profile tabs*/ +.profile .tabbable-custom-profile .nav-tabs > li > a { + padding:6px 12px; +} + + +/*profile navigation*/ +.profile ul.profile-nav { + margin-bottom:30px; +} + +.profile ul.profile-nav li { + position:relative; +} + +.profile ul.profile-nav li a { + color:#557386; + display:block; + font-size:14px; + padding:8px 10px; + margin-bottom:1px; + background:#f0f6fa; + border-left:solid 2px #c4d5df; +} + +.profile ul.profile-nav li a:hover { + color:#169ef4; + background:#ecf5fb; + text-decoration:none; + border-left:solid 2px #169ef4; +} + +.profile ul.profile-nav li a.profile-edit { + top:0; + right:0; + margin:0; + color:#fff; + opacity:0.6; + border:none; + padding:0 9px; + font-size:11px; + background:#000; + position:absolute; + filter:alpha(opacity=60); /*for ie*/ +} + +.profile ul.profile-nav li a.profile-edit:hover { + text-decoration:underline; +} + +.profile ul.profile-nav a span { + top:0; + right:0; + color:#fff; + font-size:20px; + padding:8px 13px; + position:absolute; + background:#169ef4; +} + +.profile ul.profile-nav a:hover span { + background:#0b94ea; +} + +/*profile information*/ +.profile-info h1 { + color:#383839; + font-size:24px; + font-weight:400; + margin:-11px 0 10px 0; +} + +.profile-info ul { + margin-bottom:15px; +} + +.profile-info li { + color:#6b6b6b; + font-size:13px; + margin-right:15px; + margin-bottom:5px; + padding:0 !important; +} + +.profile-info li i { + color:#b5c1c9; + font-size:15px; +} + +.profile-info li:hover i { + color:#169ef4; +} + +/*profile sales summary*/ +.sale-summary ul { + margin-top:-12px; +} +.sale-summary li { + padding:10px 0; + overflow:hidden; + border-top:solid 1px #eee; +} + +.sale-summary li:first-child { + border-top:none; +} + +.sale-summary li .sale-info { + float:left; + color:#646464; + font-size:14px; + text-transform:uppercase; +} + +.sale-summary li .sale-num { + float:right; + color:#169ef4; + font-size:20px; + font-weight:300; +} + +.sale-summary li span i { + top:1px; + width:13px; + height:14px; + margin-left:3px; + position:relative; + display:inline-block; +} + +.sale-summary li i.icon-img-up { + background:url(../../img/icon-img-up.png) no-repeat !important; +} + +.sale-summary li i.icon-img-down { + background:url(../../img/icon-img-down.png) no-repeat !important; +} + +.sale-summary .portlet-title h4 { + color:#383839; + font-size:18px; +} + +.sale-summary .portlet-title { + border-color:#c9c9c9; +} + +/*latest customers table*/ +.profile .table-advance thead tr th { + background:#f0f6fa; +} + +.profile .table-bordered th, +.profile .table-bordered td, +.profile .table-bordered { + border-color:#e5eff6; +} + +.profile .table-striped tbody > tr:nth-child(2n+1) > td, +.profile .table-striped tbody > tr:nth-child(2n+1) > th { + background:#fcfcfc; +} + +.profile .table-hover tbody tr:hover td, +.profile .table-hover tbody tr:hover th { + background:#f5fafd; +} + +/*add portfolio*/ +.add-portfolio { + overflow:hidden; + margin-bottom:30px; + background:#f0f6fa; +} + +.add-portfolio .pull-left, +.add-portfolio .pull-right { + padding:12px 14px; +} + +.add-portfolio .pull-left { + color:#555d69; + font-size:20px; +} + +.add-portfolio .pull-left span { + top:8px; + position:relative; +} + +.add-portfolio .pull-right i { + margin-left:5px; +} + +/*portfolio block*/ +.portfolio-block { + background:#f7f7f7; + margin-bottom:15px; +} + +.portfolio-block .span5 { + overflow:hidden; +} + +/*portfolio text*/ +.portfolio-text { + overflow:hidden; +} + +.portfolio-text h4 { +} + +.portfolio-text img { + float:left; + margin-right:15px; +} + +.portfolio-text .portfolio-text-info { + overflow:hidden; +} + +/*portfolio button*/ +.portfolio-btn a { + display:block; + padding:28px 0; + background:#ddd !important; +} + +.portfolio-btn a:hover { + background:#1d943b !important; +} + +.portfolio-btn span { + color:#fff; + font-size:22px; + font-weight:200; +} + +/*portfolio info*/ +.portfolio-info { + float:left; + color:#616161; + font-size:12px; + padding:12px 25px; + margin-bottom:5px; + text-transform:uppercase; +} + +.portfolio-info span { + color:#16a1f2; + display:block; + font-size:30px; + margin-top:5px; + font-weight:200; + text-transform:uppercase; +} + +/*portfolio settings*/ +.profile-settings { + background:#fafafa; + padding:15px 8px 0; + margin-bottom:5px; +} + +.profile-settings p { + padding-left:5px; + margin-bottom:3px; +} + +.profile-settings .controls > .radio, +.profile-settings .controls > .checkbox { + font-size:12px; + margin-top:2px !important; +} diff --git a/www/themes/factuges/assets/css/pages/promo.css b/www/themes/factuges/assets/css/pages/promo.css new file mode 100644 index 0000000..aa4fb2f --- /dev/null +++ b/www/themes/factuges/assets/css/pages/promo.css @@ -0,0 +1,49 @@ +/*** +Promo Page +***/ + +.promo-page { + padding-left: 0; + padding-right: 0; + min-height: 650px; +} + +.promo-page h1, .promo-page h2 { + font-size: 50px; + line-height: 60px; +} + +.promo-page .btn.xlarge { + font-size: 22px; + padding: 7px 25px; + margin: 5px 0; +} + +.promo-page input.m-wrap { + background: #fff; +} + +/*page row options*/ + +.promo-page .block-transparent { + min-height: 350px; + padding: 50px 20px 30px 20px; +} + +.promo-page .block-grey { + min-height: 350px; + padding: 50px 20px 30px 20px; + background: #eeedf2; +} + +.promo-page .block-yellow { + min-height: 350px; + padding: 50px 20px 30px 20px; + background: #ffd800; +} + +.promo-page .block-footer { + padding: 30px 20px 30px 20px; + background: #eeedf2; +} + diff --git a/www/themes/factuges/assets/css/pages/search.css b/www/themes/factuges/assets/css/pages/search.css new file mode 100644 index 0000000..9d0723b --- /dev/null +++ b/www/themes/factuges/assets/css/pages/search.css @@ -0,0 +1,364 @@ +/*** +Search Page +***/ +.search-forms { + margin-bottom:25px; + background:#f0f6fa; +} + +/*search default*/ +.search-default form { + margin-bottom:0; + padding:12px 14px; +} + +.search-default .chat-form { + margin:0; + padding:0; + background:none; + overflow:hidden; + position:relative; +} + +.search-default .chat-form button { + top:0; + right:0; + position:absolute; +} + +.search-default .chat-form .input-cont { + margin-right:108px; +} + +.search-default .chat-form .input-cont input:focus{ + border: 1px solid #35aa47 !important; +} + +.search-result { + background:#fafafa; +} + +.search-result .portfolio-text img { + border-left:solid 3px #169ef4; +} + +.search-result .portfolio-text h4 { + color:#555d69; + font-size:20px; + font-weight:400; + margin-top:10px; +} + +.search-result .portfolio-info { + padding:12px 20px; +} + +.search-result .portfolio-info span { + font-size:28px; +} + +.search-result .portfolio-info span em { + font-size:24px; + font-style:normal; + text-transform:none; +} + +/*portfolio block*/ +.portfolio-block { + background:#f7f7f7; + margin-bottom:15px; +} + +.portfolio-block .span5 { + overflow:hidden; +} + +/*portfolio text*/ +.portfolio-text { + overflow:hidden; +} + +.portfolio-text h4 { +} + +.portfolio-text img { + float:left; + margin-right:15px; +} + +.portfolio-text .portfolio-text-info { + overflow:hidden; +} + +/*portfolio button*/ +.portfolio-btn a { + display:block; + padding:28px 0; + background:#ddd !important; +} + +.portfolio-btn a:hover { + background:#1d943b !important; +} + +.portfolio-btn span { + color:#fff; + font-size:22px; + font-weight:200; +} + +/*portfolio info*/ +.portfolio-info { + float:left; + color:#616161; + font-size:12px; + padding:12px 25px; + margin-bottom:5px; + text-transform:uppercase; +} + +.portfolio-info span { + color:#16a1f2; + display:block; + font-size:30px; + margin-top:5px; + font-weight:200; + text-transform:uppercase; +} + +.search-result .search-btn { + text-align:center; + background:#f3f3f3; + padding:30px 10px 14px; +} + +.search-result .search-btn p { + color:#9c9c9c; + font-size:22px; +} + +.search-result .search-btn p em { + color:#ffa801; + font-size:34px; + font-style:normal; +} + +.search-result .search-btn a { + font-size: 18px; + padding: 6px 20px; + text-transform: uppercase; +} + +/*search classic*/ +.search-classic { + margin-bottom:30px; +} + +.search-classic h4 { + margin-bottom:3px; +} + +.overflow-hidden { + overflow:hidden; +} + +/*** +Search Page +***/ +/*Booking Form*/ +.booking-search { + padding: 15px; + margin-bottom: 10px; + background: #fafafa; +} + +.booking-search form { + margin: 0; +} + +.booking-search .booking-btn { + font-size: 18px; + padding: 9px 15px; + min-width: 248px; +} + +.booking-search input.m-wrap { + background: #fff !important; +} + +.booking-search .margin-right-20 { + margin-right: 20px; +} + +.booking-search .search-clearfix { + overflow: hidden; +} + +.booking-search .booking-option .controls { + padding: 5px 0; +} + +.booking-search .search-clearfix .control-group, +.booking-search .search-clearfix .input-append, +.booking-search .search-clearfix .input-prepend { + margin-bottom: 0; +} + +.booking-search .margin-bottom-20 { + margin-bottom: 20px; +} + +/*Booking Offer*/ +.booking-offer { + position: relative; +} + +.booking-offer .booking-offer-in { + top: 15px; + left: 15px; + color: #fff; + padding: 15px; + position: absolute; + background: url(../../img/bg-opacity.png); +} + +.booking-offer .booking-offer-in em { + font-size: 17px; + font-style: normal; +} + +.booking-offer .booking-offer-in p { + color: #fff; + font-size: 14px; + margin-bottom: 0; +} + +.booking-offer .booking-offer-in span { + font-size: 26px; + display: block; + margin-bottom: 10px; +} + +.booking-app { + margin-bottom: 10px; +} + +.booking-app a { + color: #fff; + padding: 15px; + display: block; + overflow: hidden; + background: #78ccf8; +} + +.booking-app a:hover { + background: #4d90fe; + text-decoration: none; +} + +.booking-app span { + top: 3px; + color: #fff; + font-size: 20px; + position: relative; +} + +.booking-app i { + color: #fff; + font-size: 40px; + line-height: 18px; +} + +/*Booking Blocks (Content)*/ +.booking-blocks { + overflow: hidden; +} + +.booking-blocks .booking-img { + width: 140px; + margin-right: 10px; +} + +.booking-blocks .booking-img li { + color: #777; +} + +.booking-blocks .booking-img li i { + color: #78ccf8; + font-size: 12px; + margin-right: 5px; +} + +.booking-blocks .booking-img img { + float: left; + width: 140px; + height: auto; + margin: 3px 10px 10px 0; +} + +.booking-blocks h2 { + margin-top: 0; + font-size: 20px; + line-height: 20px; +} + +.booking-blocks ul.inline li { + padding: 0; +} + +.booking-blocks ul.inline li i { + color: #f8be2c; + cursor: pointer; + font-size: 16px; +} + +.booking-blocks ul.inline li i:hover { + color: #f8be2c; + background: #c00; +} + +/*Search Images*/ +.search-images li { + position: relative; +} + +.search-images li a span { + left: 0; + bottom: 0; + color: #eee; + width: 100%; + display: none; + padding: 5px 0; + text-align: left; + position: absolute; + background: url(../../img/bg-opacity.png); +} + +.search-images li a:hover span { + display: block; +} + +.search-images li a span em { + padding: 0 5px; + font-style: normal; +} + +/*Others*/ +.space40 { + height: 40px !important; + clear: both; +} + +.margin-bottom-10 { + margin-bottom: 10px !important; +} + +.margin-bottom-20 { + margin-bottom: 20px !important; +} + +@media (max-width: 480px) { + .booking-offer .booking-offer-in { + right: 15px; + } +} diff --git a/www/themes/factuges/assets/css/print.css b/www/themes/factuges/assets/css/print.css new file mode 100644 index 0000000..76e1466 --- /dev/null +++ b/www/themes/factuges/assets/css/print.css @@ -0,0 +1,35 @@ +/*** +Import fonts +***/ +.header { + display: none; +} + +.page-sidebar { + display: none; +} + +.color-panel { + display: none; +} + +.hidden-print { + display: none; +} + +.footer { + display: none; +} + +.no-page-break { + page-break-after: avoid; +} + +.page-container { + margin: 0px; + padding: 0px; +} + +.page-content { + min-height: auto !important; +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/style-metro.css b/www/themes/factuges/assets/css/style-metro.css new file mode 100644 index 0000000..73a020c --- /dev/null +++ b/www/themes/factuges/assets/css/style-metro.css @@ -0,0 +1,696 @@ +/*** +Modify bootstrap buttons +***/ + +/* remove rounds from all elements */ +div, input, select, textarea, span, img, table, td, th, p, a, button, ul, li { + -webkit-border-radius: 0 !important; + -moz-border-radius: 0 !important; + border-radius: 0 !important; +} + +a:focus { + outline: none !important; +} + +a:hover, a:active { + outline: 0 !important; +} + +select:focus { + outline: none !important; +} + +.btn { + background-color: #e5e5e5; + background-image: none; + filter: none; + border: 0; + padding: 7px 14px; + text-shadow: none; + font-family: "Segoe UI", Helvetica, Arial, sans-serif; + font-size: 14px; + color: #333333; + cursor: pointer; + outline: none; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + -webkit-border-radius: 0 !important; + -moz-border-radius: 0 !important; + border-radius: 0 !important; +} +.btn:hover, +.btn:focus, +.btn:active, +.btn.active, +.btn[disabled], +.btn.disabled { + color: #333333; + background-color: #d8d8d8 !important; +} + +.btn.red-stripe +{ + border-left: 3px solid #d84a38; +} + +.btn.blue-stripe +{ + border-left: 3px solid #4d90fe; +} + +.btn.purple-stripe +{ + border-left: 3px solid #852b99; +} + +.btn.green-stripe +{ + border-left: 3px solid #35aa47; +} + +.btn.yellow-stripe { + border-left: 3px solid #ffb848; +} + +/* Red */ +.btn.red { + color: white; + text-shadow: none; + background-color: #d84a38; +} +.btn.red:hover, +.btn.red:focus, +.btn.red:active, +.btn.red.active, +.btn.red[disabled], +.btn.red.disabled { + background-color: #bb2413 !important; + color: #fff !important; +} + +/* Blue */ +.btn.transparent +{ + color: black; + text-shadow: none; + background-color: transparent; +} + +.btn.blue +{ + color: white; + text-shadow: none; + background-color: #4d90fe; +} +.btn.blue:hover, +.btn.blue:focus, +.btn.blue:active, +.btn.blue.active, +.btn.blue[disabled], +.btn.blue.disabled { + background-color: #0362fd !important; + color: #fff !important; +} + +/* Green */ +.btn.green { + color: white; + text-shadow: none; + background-color: #35aa47; +} +.btn.green:hover, +.btn.green:focus, +.btn.green:active, +.btn.green.active, +.btn.green.disabled, +.btn.green[disabled]{ + background-color: #1d943b !important; + color: #fff !important; +} + +/* Purple */ +.btn.purple { + color: white; + text-shadow: none; + background-color: #852b99; +} +.btn.purple:hover, +.btn.purple:focus, +.btn.purple:active, +.btn.purple.active, +.btn.purple.disabled, +.btn.purple[disabled] { + background-color: #6d1b81 !important; + color: #fff !important; +} + +.btn.yellow { + color: white; + text-shadow: none; + background-color: #ffb848; +} +.btn.yellow:hover, +.btn.yellow:focus, +.btn.yellow:active, +.btn.yellow.active, +.btn.yellow.disabled, +.btn.yellow[disabled] { + background-color: #eca22e !important; + color: #fff !important; +} + +.btn.black { + color: white; + text-shadow: none; + background-color: #555555; +} +.btn.black:hover, +.btn.black:focus, +.btn.black:active, +.btn.black.active, +.btn.black.disabled, +.btn.black[disabled] { + background-color: #222222 !important; + color: #fff !important; +} + +.mini +{ + height: 13px; + font-size: 11px !important; + line-height: 13px; + padding: 4px 10px; +} + +.big +{ + height: 38px; + font-size: 18px; + line-height: 38px; + padding: 8px 16px; +} + +button.btn.big, +input[type="button"].btn.big, +input[type="submit"].btn.big { + height: 54px; + padding-top: 9px; + padding-bottom: 8px; +} + +button.btn.mini, +input[type="button"].btn.mini, +input[type="submit"].btn.mini { + height: 21px; + padding-top: 3px; + padding-bottom: 3px; +} + +a.btn.big.btn-block { + height: 54px; +} + +/*** +Metro icons +***/ +[class^="m-icon-"] { + display: inline-block; + width: 14px; + height: 14px;; + margin-top: 4px; + line-height: 14px; + vertical-align: top; + background-image: url(../img/syncfusion-icons.png); + background-position: 0 0; + background-repeat: no-repeat; +} + +[class^="m-icon-big-"] { + display: inline-block; + width: 30px; + height: 30px; + margin: 6px; + vertical-align: top; + background-image: url(../img/syncfusion-icons.png); + background-position: 0 0px; + background-repeat: no-repeat; +} + +.m-icon-white { + background-image: url(../img/syncfusion-icons-white.png); +} + +/* Misc */ +.btn.icn-only { + min-width: 14px; +} +.btn.bigicn-only { + min-width: 34px; +} +.m-icon-swapright { + background-position: -27px -10px; +} +.m-icon-swapdown { + background-position: -68px -10px; +} +.m-icon-swapleft { + background-position: -8px -10px; +} +.m-icon-swapup { + background-position: -46px -10px; +} +.m-icon-big-swapright{ + background-position: -42px -28px; +} +.m-icon-big-swapdown{ + background-position: -115px -28px; +} +.m-icon-big-swapleft{ + background-position: -6px -28px; +} +.m-icon-big-swapup{ + background-position: -78px -28px; +} + +/*** +Glyphicons icons +***/ +.btn > .halflings-icon { + margin-top:2px; + margin-right: 2px; +} + +.btn.mini > .halflings-icon { + margin-top: -1px; + margin-right: 2px; +} + +.btn.icn-only > .halflings-icon { + margin-right: 0px !important; +} + +/*** +Dropdowns +***/ +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + list-style: none; + text-shadow: none; + padding: 0px; + margin:0px; + -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); + font-size: 14px; + font-family: "Segoe UI",Helvetica, Arial, sans-serif; + border: 1px solid #ddd; +} + +.dropdown:hover .caret, +.open.dropdown .caret { + opacity: 1; + filter: alpha(opacity=100); +} + +.dropdown-menu.bottom-up { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} + +.dropdown-menu li > a { + padding: 6px 0 6px 13px; + color: #333; + text-decoration: none; + display: block; + clear: both; + font-weight: normal; + line-height: 18px; + white-space: nowrap; +} + +.dropdown-menu li > a:hover, +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + text-decoration: none; + background-image: none; + background-color: #eee; + color: #333; + filter:none; +} + +.dropdown.open .dropdown-toggle { + color: #08c; + background: #ccc; + background: rgba(0, 0, 0, 0.3); +} + +/*** +Forms +***/ +label.m-wrap, +input.m-wrap, +button.m-wrap, +select.m-wrap, +textarea.m-wrap { + font-size: 14px; + font-weight: normal; + line-height: 20px; + +} + +input.m-wrap, +button.m-wrap, +select.m-wrap, +textarea.m-wrap { + font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +label.m-wrap { + display: block; + margin-bottom: 5px; +} + +.uneditable-input, +textarea.m-wrap, +input[type="text"].m-wrap, +input[type="password"].m-wrap, +input[type="datetime"].m-wrap, +input[type="datetime-local"].m-wrap, +input[type="date"].m-wrap, +input[type="month"].m-wrap, +input[type="time"].m-wrap, +input[type="week"].m-wrap, +input[type="number"].m-wrap, +input[type="email"].m-wrap, +input[type="url"].m-wrap, +input[type="search"].m-wrap, +input[type="tel"].m-wrap, +input[type="color"].m-wrap { + -webkit-appearance: none !important; + color: #333333; + outline: 0; + height: 20px; + padding: 6px 6px !important; + line-height: 20px; + font-size: 14px; + font-weight: normal; + vertical-align: top; + background-color: #ffffff; + background-image: none !important; + filter: none !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; + background: transparent; +} + +input.m-wrap { + border: 1px solid #e5e5e5; +} + +textarea.m-wrap { + height: auto; +} + +.uneditable-input.focus, +textarea.m-wrap:focus, +select.m-wrap:focus, +input[type="text"].m-wrap:focus, +input[type="password"].m-wrap:focus, +input[type="datetime"].m-wrap:focus, +input[type="datetime-local"].m-wrap:focus, +input[type="date"].m-wrap:focus, +input[type="month"].m-wrap:focus, +input[type="time"].m-wrap:focus, +input[type="week"].m-wrap:focus, +input[type="number"].m-wrap:focus, +input[type="email"].m-wrap:focus, +input[type="url"].m-wrap:focus, +input[type="search"].m-wrap:focus, +input[type="tel"].m-wrap:focus, +input[type="color"].m-wrap:focus, +.m-uneditable-input:focus { + border-color: #999999; + outline: 0 !important; + /* IE6-9 */ + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +input[type="radio"].m-wrap, +input[type="checkbox"].m-wrap { + margin: 4px 0 0; + margin-top: 1px \9; + *margin-top: 0; + line-height: normal; + cursor: pointer; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +select.m-wrap, +input[type="file"].m-wrap { + height: 34px !important; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + line-height: 30px; +} + +select.m-wrap { + width: 220px; + background-color: #ffffff; + background-image: none !important; + filter: none !important; + border: 1px solid #e5e5e5; + outline: none; +} + +select[multiple].m-wrap, +select[size].m-wrap { + height: auto !important; +} + +select.m-wrap:focus, +input[type="file"].m-wrap:focus, +input[type="radio"].m-wrap:focus, +input[type="checkbox"].m-wrap:focus { + outline: thin dotted #333333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +input[class*="span"].m-wrap +{ + float: none; + height: 34px !important; + margin-left: 0; +} + +select[class*="span"].m-wrap, +textarea[class*="span"].m-wrap +{ + float: none; + margin-left: 0; +} + +.input-prepend, +.input-append { + border: 0; + display: inline-block; +} + +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 24px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 24px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #e5e5e5; + border: 1px solid #e5e5e5; +} + +.input-append .add-on > .halflings-icon, +.input-prepend .add-on > i, +.input-prepend .add-on > [class^="icon-"] +{ + margin-top: 5px; + margin-left: 3px; +} + +.input-append .add-on > .halflings-icon +.input-append .add-on > i, +.input-append .add-on > [class^="icon-"] +{ + margin-top: 5px; + margin-left: 0px; +} + +.input-append .m-wrap, +.input-append .m-wrap:focus { + border-right: 0 !important; + margin-right: 1px; +} + +.input-prepend input, +.input-prepend input:focus { + border-left: 0 !important; + margin-left: 1px; +} + +.input-append input[class*="span"], +.input-prepend input[class*="span"] +{ + display: inline-block !important; +} + +.m-wrap.xsmall { + width: 50px !important; +} + +.m-wrap.small { + width: 120px !important; +} + +.m-wrap.medium { + width: 206px !important; +} + +.m-wrap.large { + width: 320px !important; +} + +.m-wrap.huge { + width: 480px !important; + font-size: 24px !important; + height: 36px !important; + line-height: 36px !important; + padding: 22px 8px !important; +} + +select.m-wrap.xsmall { + width: 64px !important; +} + +select.m-wrap.small { + width: 134px !important; +} + +select.m-wrap.medium { + width: 220px !important; +} + +select.m-wrap.large { + width: 334px !important; +} + +@media (max-width: 480px) { + + .m-wrap.small { + width: 100px !important; + } + + .m-wrap.medium { + width: 150px !important; + } + + .m-wrap.large { + width: 200px !important; + } + + .m-wrap.huge { + width: 246px !important; + font-size: 24px !important; + height: 36px !important; + line-height: 36px !important; + padding: 22px 8px !important; + } + + select.m-wrap.small { + width: 114px !important; + } + + select.m-wrap.medium { + width: 164px !important; + } + + select.m-wrap.large { + width: 214px !important; + } + +} + +/*** +Custom label and badges +***/ +.label, +.badge { + font-weight: 300; +} + +.label-success, +.badge-success { + background-color: #3cc051; + background-image: none !important; + text-shadow: none !important; +} + +.label-warning, +.badge-warning { + background-color: #fcb322; + background-image: none !important; + text-shadow: none !important; +} + +.label-important, +.badge-important { + background-color: #ed4e2a; + background-image: none !important; + text-shadow: none !important; +} + +.label-info, +.badge-info { + background-color: #57b5e3; + background-image: none !important; + text-shadow: none !important; +} + +.label-mini { + font-size: 11px; + font-weight: 300; +} + +.label-default { + background-color: #999 !important; + text-shadow: none !important; +} + +/*** +Bootstrap modal +***/ +.modal-header h3{ + font-weight: 300; +} diff --git a/www/themes/factuges/assets/css/style-responsive.css b/www/themes/factuges/assets/css/style-responsive.css new file mode 100644 index 0000000..b2dd627 --- /dev/null +++ b/www/themes/factuges/assets/css/style-responsive.css @@ -0,0 +1,493 @@ +@media (min-width: 1280px) { + .header .hor-menu { + margin-left: 99px; + } +} + +@media (max-width: 1024px) { + .header .hor-menu { + margin-left: 29px; + } +} + +/*** +Large notebooks and desktops +***/ + @media (min-width: 980px) { + + /*** + Page sidebar + ***/ + .page-sidebar { + position: absolute; + width: 225px; + } + + .page-sidebar ul{ + width: 225px; + } + + /*** + Page content + ***/ + .page-content { + margin-left: 225px; + margin-top: 0px; + min-height: 860px; + } + + .page-content.no-min-height { + min-height: auto; + } + + .full-width-page .page-content { + margin-left: 0px !important; + } +} + +/*** +For tablets and phones +***/ +@media (max-width:979px) { + + /*** + Body + ***/ + body { + margin: 0px !important; + } + + /*** + Page header + ***/ + .header { + margin: 0 !important; + } + + .header .nav li.dropdown i { + display: inline-block; + position: relative; + top:1px; + right:0px; + } + + .header .nav { + margin-bottom: 0px !important; + } + + /*** + Page container + ***/ + .page-container { + margin: 0 !important; + padding: 0 !important; + } + + .fixed-top .page-container { + margin-top: 0px !important; + } + + /*** + Page content + ***/ + .page-content { + margin: 0px !important; + padding: 0px !important; + min-height: 280px; + } + + /*** + Page sidebar + ***/ + .page-sidebar { + margin: 0 10px; + } + + .page-sidebar.in { + margin: 10px; + position: relative; + z-index: 5; + } + + .page-sidebar .sidebar-toggler { + display: none; + } + + .page-sidebar ul { + margin-top:0px; + width:100%; + } + + .page-sidebar .selected { + display: none !important; + } + + .page-sidebar .sidebar-search { + width: 220px; + margin-top: 20px; + margin-bottom:20px; + } + + /*** + Page title + ***/ + .page-title { + margin: 15px 0px; + } + + /*** + Styler panel + ***/ + .styler-panel { + top:55px; + right:20px; + } +} + +@media (min-width: 768px) and (max-width: 1280px) { + + /*** + Form wizard + ***/ + .form-wizard .step .desc { + margin-top: 10px; + display: block; + } + + /*** + Pricing tables + ***/ + + .pricing-table .rate .price, + .pricing-table2 .rate .price { + width: 100%; + display: block; + text-align: center; + margin-bottom: 10px; + } + +} + +@media (min-width: 768px) and (max-width: 979px) { + + /*** + Body + ***/ + body { + padding-top: 0px; + } + + /*** + Page sidebar + ***/ + .page-sidebar .btn-navbar.collapsed .arrow { + display: none; + } + + .page-sidebar .btn-navbar .arrow { + position: absolute; + right: 25px; + width: 0; + height: 0; + top:50px; + border-bottom: 15px solid #5f646b; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + } + +} + +@media (max-width: 767px) { + + /*** + Page header + ***/ + .header .navbar-inner .container-fluid, + .header .navbar-inner .container { + margin-left: 10px !important; + margin-right: 10px !important; + } + + .header .top-nav .nav{ + margin-top: 0px; + margin-right: 5px; + } + + .header .nav > li > .dropdown-menu.notification:after, + .header .nav > li > .dropdown-menu.notification:before { + margin-right: 180px; + } + + .header .nav > li > .dropdown-menu.notification { + margin-right: -180px; + } + + .header .nav > li > .dropdown-menu.inbox:after, + .header .nav > li > .dropdown-menu.inbox:before { + margin-right: 140px; + } + + .header .nav > li > .dropdown-menu.inbox { + margin-right: -140px; + } + + .header .nav > li > .dropdown-menu.tasks:after, + .header .nav > li > .dropdown-menu.tasks:before { + margin-right: 90px; + } + + .header .nav > li > .dropdown-menu.tasks { + margin-right: -90px; + } + + /*** + Page content + ***/ + .page-content { + padding: 10px !important; + } + + /*** + Page title + ***/ + .page-title { + margin-bottom: 20px; + } + + /*** + Styler pagel + ***/ + .styler-panel { + top:58px; + right:12px; + } + + /*** + Page breadcrumb + ***/ + .breadcrumb { + padding-left: 10px; + padding-right: 10px; + } + + /*** + Portlet form action + ***/ + .portlet-body.form .form-actions{ + padding-left: 15px; + } + + /*** + Gritter notification + ***/ + #gritter-notice-wrapper { + right:1px !important; + } + + /*** + Form input validation states + ***/ + .input-icon .input-error, + .input-icon .input-warning, + .input-icon .input-success { + top:-27px; + float: right; + right:10px !important; + } + + /*** + Advance tables + ***/ + .table-advance tr td.highlight:first-child a { + margin-left: 8px; + } + + /*** + Footer + ***/ + .footer { + padding-left: 10px; + padding-right: 10px; + } + + .footer .go-top { + float: right; + display: block; + margin-top: -22px; + margin-right: 0px; + margin-bottom: 5px !important; + } + + /*** + Vertical inline menu + ***/ + .ver-inline-menu li.active:after { + display: none; + } + + /*** + Form controls + ***/ + .form-horizontal .form-actions { + padding-left: 180px; + } + + .portlet .form-horizontal .form-actions { + padding-left: 190px; + } +} + +@media (max-width: 480px) { + + /*** + Header navbar + ***/ + .header .nav { + clear:both !important; + } + + .header .nav > li.dropdown .dropdown-toggle { + margin-top:3px !important; + } + + .header .nav li.dropdown .dropdown-toggle .badge { + top: 11px; + } + + /*** + Page sidebar + ***/ + .page-sidebar.in { + margin-top: 7px !important; + } + + /*** + Styler panel + ***/ + .styler-panel { + top:92px; + right:12px; + } + + /*** + Page title + ***/ + .page-title small { + display: block; + clear: both; + } + + /*** + Dashboard date range panel + ***/ + .page-content .breadcrumb .dashboard-date-range { + padding-bottom: 8px; + } + + .page-content .breadcrumb .dashboard-date-range span { + display: none; + } + + /*** + Login page + ***/ + .login .logo { + margin-top:10px; + } + + .login .content { + padding: 30px; + width: 222px; + } + + .login .content h3 { + font-size: 22px; + } + + .login .content .m-wrap { + width: 180px; + } + + .login .checkbox { + font-size: 13px; + } + + /*** + Form controls + ***/ + .form-horizontal.form-bordered .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + margin-top: 0; + margin-left: 10px; + } + + .form-horizontal.form-bordered .controls { + padding-top: 0 !important; + border-left: 0 !important; + } + + .form-horizontal.form-bordered.form-label-stripped .control-group:nth-child(even) { + background-color: none !important; + } + + .form-horizontal.form-bordered.form-label-stripped .control-group:nth-child(even) .controls { + background-color: none !important; + } + + .form-horizontal.form-row-seperated .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + margin-left: 10px; + } + + .form-horizontal.form-row-seperated .controls { + border-left: 0; + margin-left: 10px; + } + + .portlet .form-horizontal .form-actions { + padding-left: 10px; + } + + /*** + Hidden phone + ***/ + .hidden-480 { + display: none; + } + + /*** + Modal header close button fix + ***/ + .modal-header .close { + margin-top: 5px !important; + } + + /*** + Fix text view + ***/ + .control-group .controls .text { + display: block !important; + margin-bottom: 10px; + } +} + +@media (max-width: 320px) { + + .header .nav > li.dropdown .dropdown-toggle { + padding-left: 8px !important; + padding-right: 8px !important; + } + + /*** + Hidden phone + ***/ + .hidden-320 { + display: none; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/style.css b/www/themes/factuges/assets/css/style.css new file mode 100644 index 0000000..bb8ec54 --- /dev/null +++ b/www/themes/factuges/assets/css/style.css @@ -0,0 +1,4913 @@ +/* +Template Name: Metronic - Responsive Admin Dashboard Template build with Twitter Bootstrap v2.3.1 +Version: 1.2.1 +Author: KeenThemes +Website: http://www.keenthemes.com/preview/?theme=metronic +Purchase: http://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469 +*/ + +/********************* + GENERAL UI COLORS +*********************/ + +/*** +Colors +blue: #4b8df8 +light blue: #bfd5fa +red: #e02222 +yellow: #ffb848 +green: #35aa47 +purple: #852b99 +grey: #555555; +light grey: #fafafa; +***/ + +/********************* + GENERAL RESET & SETUP +*********************/ + +/*** +Import fonts +***/ +/* +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700); +*/ + +@import url(../fonts/font.css); + + +/*** +Reset and overrides +***/ +/* general body settings */ +body { + color: #000; + font-family: 'Open Sans'; + padding: 0px !important; + margin: 0px !important; + font-size:13px; +} + +/*** +General typography +***/ +h3 small, h4 small, h5 small { + color: #444; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 300; +} + +h1.block, h2.block, h3.block, h4.block, h5.block, h6.block { + padding-bottom: 10px; +} + +a { + text-shadow: none !important; + color: #0d638f; +} + +/*** +General backgrounds +***/ +.bg-blue { + background-image: none !important; + background-color: #4b8df8 !important; +} + +.bg-red { + background-image: none !important; + background-color: #e02222 !important; +} + +.bg-yellow { + background-image: none !important; + background-color: #ffb848 !important; +} + +.bg-green { + background-image: none !important; + background-color: #35aa47 !important; +} + +.bg-purple { + background-image: none !important; + background-color: #852b99 !important; +} + +.bg-grey { + background-image: none !important; + background-color: #555555 !important; +} + +/*** +Apply fix for font awesome icons. +***/ +[class^="icon-"], +[class*=" icon-"], +[class^="icon-"]:hover, +[class*=" icon-"]:hover { + background: none !important; +} + +/*** +Close icon used for modal dialog and other UI element close buttons +***/ +.close { + display: inline-block; + margin-top: 0px; + margin-right: 0px; + width: 9px; + height: 9px; + background-repeat: no-repeat !important; + background-image: url("../img/remove-icon-small.png") !important; +} + +/*** +ie8 & ie9 modes +***/ +.visible-ie8 { + display: none; +} + +.ie8 .visible-ie8 { + display: inherit !important; +} + +.visible-ie9 { + display: none; +} + +.ie9 .visible-ie9 { + display: inherit !important; +} + +.hidden-ie8 { + display: inherit; +} + +.ie8 .hidden-ie8 { + display: none !important; +} + +.hidden-ie9 { + display: inherit; +} + +.ie9 .hidden-ie9 { + display: none !important; +} + +/*** +Fix link outlines after click +***/ +a,a:focus, a:hover, a:active { + outline: 0; +} + +/*** +IE8 fix for form input height in fluid rows +***/ +.ie8 .row-fluid [class*="span"] { + min-height: 20px !important; +} + +/*** +Fix grid offset used for reponsive layout handling(refer app.js=>handleResponsive) +***/ +.fix-offset { + margin-left: 0px !important; +} + +/*** +Misc tools +***/ +.visible-ie8 { + display: none +} + +.no-padding { + padding: 0px !important; +} + +.no-margin { + margin: 0px !important; +} + +.no-bottom-space { + padding-bottom:0px !important; + margin-bottom: 0px !important; +} + +.no-top-space { + padding-top:0px !important; + margin-top: 0px !important; +} + +.space5 { + display: block; + height: 5px !important; + clear: both; +} + +.space7 { + height: 7px !important; + clear: both; +} + +.space10 { + height: 10px !important; + clear: both; +} + +.space12 { + height: 12px !important; + clear: both; +} + +.space15 { + height: 15px !important; + clear: both; +} + +.space20 { + height: 20px !important; + clear: both; +} + +.no-space { + margin: 0px !important; + padding: 0px !important; +} + +.no-text-shadow { + text-shadow: none !important; +} + +.no-left-padding { + padding-left: 0 !important; +} + +.no-left-margin { + margin-left: 0 !important; +} + +.margin-bottom-10 { + margin-bottom: 10px !important; +} + +.margin-top-10 { + margin-top: 10px !important; +} + +.margin-bottom-15 { + margin-bottom: 15px !important; +} + +.margin-bottom-20 { + margin-bottom: 20px !important; +} + +.margin-top-20 { + margin-top: 20px !important; +} + +.margin-bottom-25 { + margin-bottom: 25px !important; +} + +.hide { + display: none; +} + +.bold { + font-weight:600 !important; +} + +.fix-margin { + margin-left: 0px !important +} + +.border { + border: 1px solid #ddd +} + +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #E0DFDF; + border-bottom: 1px solid #FEFEFE; +} + +/******************** + GENERAL LAYOUT +*********************/ + +/*** +Header and header elements. +***/ + +.border { + border: 1px solid red; +} + +.header { + padding: 0 !important; + margin: 0 !important; +} + +.header.navbar-fixed-top { + z-index: 9995 !important; +} + +.header .brand { + margin-top: -1px; + width: 86px; +} + +.header .btn-navbar { + margin-bottom: 0px; + padding-right: 0px; + padding-top:10px; + padding-bottom: 6px; + background-image: none; + filter:none; + box-shadow: none; + color: #fff; + border: 0; +} + +.header .btn-navbar:hover { + text-decoration: none; +} + +.header .navbar-inner { + width: 100%; + margin-left: 0 0 0 110px; + border: 0px; + padding: 0px; + box-shadow: none; + height: 42px; +} + +.header .nav { + display: block; +} + +.header .nav > li { + margin: 0px; + padding: 0px; +} + +.header .nav > li.dropdown, +.header .nav > li.dropdown > a { + padding-left: 4px; + padding-right: 4px; +} + +.header .nav > li.dropdown:last-child { + padding-right: 2px; +} + +.header .nav > li.dropdown .dropdown-toggle { + margin: 0px; + padding: 14px 12px 8px 12px; +} + +.header .nav > li.dropdown .dropdown-toggle i { + font-size: 18px; +} + +.header .nav > li.dropdown.user .dropdown-toggle { + padding: 6px 4px 7px 9px; +} + +.header .nav > li.dropdown.user .dropdown-toggle:hover { + text-decoration: none; +} + +.header .nav > li.dropdown.user .dropdown-toggle .username { + color: #ddd; +} + +.header .nav li.dropdown.user .dropdown-toggle i { + display: inline-block; + margin-top: 5px; + margin: 0; + font-size: 16px; +} + +.header .nav > li.dropdown .dropdown-toggle .badge { + position: absolute; + font-size: 11px !important; + font-weight: 300; + top: 8px; + right: 24px; + text-align: center; + height: 14px; + background-color: #e02222; + padding: 2px 6px 2px 6px; + -webkit-border-radius: 12px !important; + -moz-border-radius: 12px !important; + border-radius: 12px !important; + text-shadow:none !important; +} + +/* firefox hack for top bar badges */ +@-moz-document url-prefix() { + .header .nav li.dropdown .dropdown-toggle .badge { + padding: 1px 6px 3px 6px; + } +} + +.header .nav .dropdown-menu { + margin-top: 3px; +} + +/*** +Page container +***/ +.page-container { + margin: 0px; + padding: 0px; +} + +.fixed-top .page-container { + margin-top: 42px; +} + +/*** +Page sidebar +***/ +.page-sidebar > ul { + list-style: none; + margin: 0; + padding: 0; + margin: 0; + padding: 0; +} + +.page-sidebar > ul > li { + display: block; + margin: 0; + padding: 0; + border: 0px; +} + +.page-sidebar > ul > li.start > a { + border-top-color: transparent !important; +} + +.page-sidebar > ul > li:last-child > a { + border-bottom: 1px solid transparent !important; +} + +.page-sidebar > ul > li > a { + display: block; + position: relative; + margin: 0; + border: 0px; + padding: 10px 15px; + text-decoration: none; + font-size: 14px; + font-weight: 300; +} + +.page-sidebar > ul > li > a i { + font-size: 16px; + margin-right: 5px; + text-shadow:none; +} + +.page-sidebar > ul > li.active > a { + border: none; + text-shadow:none; +} + +.page-sidebar > ul > li.active > a .selected { + display: block; + width: 8px; + height: 25px; + background-image: url("../img/sidebar-menu-arrow.png"); + float: right; + position: absolute; + right:0px; + top:8px; +} + +.page-sidebar ul > li > a > .arrow:before { + float: right; + margin-top: 1px; + margin-right: 5px; + display: inline; + font-size: 16px; + font-family: FontAwesome; + height: auto; + content: "\f104"; + font-weight: 300; + text-shadow:none; +} + +.page-sidebar > ul > li > a > .arrow.open:before { + float: right; + margin-top: 1px; + margin-right: 3px; + display: inline; + font-family: FontAwesome; + height: auto; + font-size: 16px; + content: "\f107"; + font-weight: 300; + text-shadow:none; +} + +.page-sidebar > ul > li > ul.sub-menu { + display: none; + list-style: none; + clear: both; + margin: 8px 0px 8px 0px; +} + +.page-sidebar > ul > li.active > ul.sub-menu { + display: block; +} + +.page-sidebar > ul > li > ul.sub-menu > li { + background: none; + margin: 0px; + padding: 0px; + margin-top: 1px !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li > a { + display: block; + margin: 0px 0px 0px 0px; + padding: 5px 0px; + padding-left: 44px !important; + color: #ccc; + text-decoration: none; + text-shadow: 0 1px 1px #000; + font-size: 14px; + font-weight: 300; + background: none; +} + +/* 3rd level sub menu */ +.page-sidebar > ul > li > ul.sub-menu > li ul.sub-menu { + display: none; + list-style: none; + clear: both; + margin: 0px 0px 0px 0px; +} + +.page-sidebar > ul > li > ul.sub-menu li > a > .arrow:before { + float: right; + margin-top: 1px; + margin-right: 20px; + display: inline; + font-size: 16px; + font-family: FontAwesome; + height: auto; + content: "\f104"; + font-weight: 300; + text-shadow:none; +} + +.page-sidebar > ul > li > ul.sub-menu li > a > .arrow.open:before { + float: right; + margin-top: 1px; + margin-right: 18px; + display: inline; + font-family: FontAwesome; + height: auto; + font-size: 16px; + content: "\f107"; + font-weight: 300; + text-shadow:none; +} + +.page-sidebar > ul > li.active > ul.sub-menu > li.active ul.sub-menu { + display: block; +} + +.page-sidebar > ul > li > ul.sub-menu > li ul.sub-menu li { + background: none; + margin: 0px; + padding: 0px; + margin-top: 1px !important; +} + +.page-sidebar > ul > li > ul.sub-menu li > ul.sub-menu > li > a { + display: block; + margin: 0px 0px 0px 0px; + padding: 5px 0px; + color: #ccc; + text-decoration: none; + text-shadow: 0 1px 1px #000; + font-size: 14px; + font-weight: 300; + background: none; +} + +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li > a { + padding-left: 60px; +} + +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu > li > a { + padding-left: 80px; +} + +.page-sidebar > ul > li.active > ul.sub-menu > li.active ul.sub-menu > li.active ul.sub-menu { + display: block; +} + + +.page-sidebar > ul > li > ul.sub-menu li > ul.sub-menu > li > a > i { + font-size: 13px; +} + +/* sidebar search */ + +.page-sidebar .sidebar-search { + margin: 8px 20px 20px 20px; +} + +.page-sidebar .sidebar-search .submit { + display: block; + float: right; + margin-top: 8px; + width: 13px; + height: 13px; + background-image: url(../img/search-icon.png); + background-repeat: no-repeat; +} + +.page-sidebar .sidebar-search input { + margin: 0px; + width: 165px; + border: 0px; + padding-left: 0px; + padding-right: 0px; + padding-bottom: 0px; + font-size: 14px ; + box-shadow: none; +} + +.page-sidebar .sidebar-search .input-box { + padding-bottom: 2px; + border-bottom:1px solid #959595; +} + +/*** +Sidebar toggler(show/hide) +***/ + +.sidebar-toggler { + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); + margin-top: 15px; + margin-left: 175px; + width: 29px; + height: 29px; + background-repeat: no-repeat; +} + +.sidebar-toggler:hover { + filter: alpha(opacity=100); + opacity: 1; +} + +.sidebar-closed .sidebar-toggler { + margin-left: 3px; +} + +.sidebar-closed .page-sidebar .sidebar-search { + height: 34px; + width: 29px; + margin-left: 3px; + margin-bottom: 0px; +} + +.sidebar-closed .page-sidebar .sidebar-search input { + display: none; +} + +.sidebar-closed .page-sidebar .sidebar-search .submit { + margin: 11px 7px !important; + display: block !important; +} + +.sidebar-closed .page-sidebar .sidebar-search .input-box { + border-bottom: 0; +} + +.sidebar-closed .page-sidebar .sidebar-search.open { + height: 34px; + width: 255px; + overflow: hidden; +} + +.sidebar-closed .page-sidebar .sidebar-search.open input { + margin-top: 3px; + padding-left: 10px; + padding-bottom: 2px; + width: 180px; + display: inline-block !important; +} + +.sidebar-closed .page-sidebar .sidebar-search.open .submit { + display: inline-block; + width: 13px; + height: 13px; + margin: 10px 8px 9px 6px !important; +} + +.sidebar-closed .page-sidebar .sidebar-search.open .remove { + background-repeat: no-repeat; + width: 11px; + height: 11px; + margin: 11px 6px 7px 8px !important; + display: inline-block !important; + float: left !important; +} + +.sidebar-closed > .page-sidebar > ul > li > a .selected { + right: -3px !important; +} + +.sidebar-closed > .page-sidebar > ul > li > a > .title, +.sidebar-closed > .page-sidebar > ul > li > a > .arrow { + display: none !important; +} + +.sidebar-closed .sidebar-toggler { + margin-right: 3px; +} + +.sidebar-closed .page-sidebar .sidebar-search { + margin-top: 6px; + margin-bottom: 6px; +} + +.sidebar-closed > .page-sidebar > ul { + width: 35px !important; +} + +.sidebar-closed > .page-sidebar > ul > li > a { + padding-left: 7px; +} + +.sidebar-closed > .page-sidebar > ul > li:hover { + width: 225px; + position: relative; + z-index: 2000; + display: block !important; +} + +.sidebar-closed > .page-sidebar > ul > li:hover .selected { + display: none; +} + +.sidebar-closed > .page-sidebar > ul > li:hover > a > i { + margin-right: 10px; +} + +.sidebar-closed > .page-sidebar > ul > li:hover .title { + display: inline !important; +} + +.sidebar-closed > .page-sidebar > ul > li > .sub-menu { + display: none !important; +} + +.sidebar-closed > .page-sidebar > ul > li:hover > .sub-menu { + width: 189px; + position: absolute; + z-index: 2000; + left: 36px; + margin-top: 0; + top: 100%; + display: block !important; +} + +.sidebar-closed > .page-sidebar > ul > li:hover > .sub-menu > li > .sub-menu, +.sidebar-closed > .page-sidebar > ul > li:hover > .sub-menu > li > .sub-menu > li > .sub-menu { + width: 189px; +} + +/* 2rd level sub menu*/ +.sidebar-closed > .page-sidebar > ul > li:hover > .sub-menu > li > a { + padding-left: 15px !important; +} + +/* 3rd level sub menu*/ +.sidebar-closed > .page-sidebar > ul > li > ul.sub-menu > li > .sub-menu > li > a { + padding-left: 30px !important; +} + +/* 4rd level sub menu*/ +.sidebar-closed > .page-sidebar > ul > li > ul.sub-menu > li > .sub-menu > li > .sub-menu > li > a { + padding-left: 45px !important; +} + +/* sidebar container */ + +.sidebar-closed > .page-sidebar { + width: 35px; +} + +.sidebar-closed > .page-content { + margin-left: 35px !important; +} + +/* ie8 fixes */ +.ie8 .page-sidebar { + position: absolute; + width: 225px; +} + +.ie8 .page-sidebar ul{ + width: 225px; +} + + +/*** +Page content +***/ +.page-content { + margin-top: 0px; + padding: 0px; + background-color: #fff; +} + +.ie8 .page-content { + margin-left: 225px; + margin-top: 0px; +} + +.ie8 .full-width-page .page-content { + margin-left: 0px !important; +} + +/*** +Page title +***/ +.page-title { + padding: 0px; + font-size: 30px; + letter-spacing: -1px; + display: block; + color: #666; + margin: 20px 0px 15px 0px; + font-weight: 300; + font-family: 'Open Sans'; +} + +.page-title small { + font-size: 14px; + letter-spacing: 0px; + font-weight: 300; + color: #888; +} + +/*** +Page breadcrumb +***/ +.page-content .breadcrumb { + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; + box-shadow: none; + padding-right: 0px; + padding-left: 8px; + margin-bottom: 25px; + border:0px !important; + background-color: #eee; +} + +.page-content .breadcrumb a, +.page-content .breadcrumb i, +.page-content .breadcrumb span { + color: #333; + font-size: 14px; + text-shadow:none; +} + +.page-content .breadcrumb i { + color: #666; +} + +/*** +Dashboard date range panel +***/ +.page-content .breadcrumb .dashboard-date-range { + display: none; + padding-top: -1px; + margin-right: 0px; + margin-top: -8px; + padding: 8px; + padding-bottom: 7px; + cursor: pointer; + min-width: 275x; + color: #fff; + background-color: #e02222; +} + +.page-content .breadcrumb .dashboard-date-range span { + font-size: 12px; + font-weight: 300; + color: #fff; + text-transform: uppercase; +} + +.page-content .breadcrumb .dashboard-date-range .icon-calendar { + text-transform: normal; + color: #fff; + margin-top: 0px; + font-size: 14px; +} +.page-content .breadcrumb .dashboard-date-range span { + font-weight: normal; +} +.page-content .breadcrumb .dashboard-date-range .icon-angle-down { + color:#fff; + font-size: 16px; +} + +/*** +Footer +***/ +.footer { + padding: 8px 20px 5px 20px; + font-size: 12px; + color: #999; +} + +.footer .go-top { + display: block; + text-decoration: none; + color: #fff; + cursor: pointer; + margin-top: -2px; + margin-right: 0px; + margin-bottom: 0px; + font-size: 16px; + background-color: #111; + padding: 0px 6px 0px 6px; +} + +.footer .go-top i { + color: #666; + font-size: 22px; + margin-bottom: 5px; +} + +/******************** + GENERAL UI ELEMENTS +*********************/ + +/*** +Icon stuff +***/ +i.icon, a.icon { + color: #999; + margin-right: 5px; + font-weight: normal; + font-size: 13px; +} + +i.icon-black { + color: #000 !important; +} + +a.icon:hover { + text-decoration: none; + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + -o-transition: all 0.1s ease-in-out; + -ms-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; + opacity: .4; + filter:alpha(opacity=40); +} + +a.icon.huge i{ + font-size: 16px !important; +} + +i.big { + font-size: 20px; +} + +i.warning { + color: #d12610; +} + +i.critical { + color: #37b7f3; +} + +i.normal { + color: #52e136; +} + +/*** +Custom wells +***/ +.well { + background-color: #fafafa; + border: 1px solid #eee; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +.well.mini { + padding: 7px !important; +} + +/*** +Form stuff +***/ +.form-section { + margin: 15px 0px 20px 0px !important; + padding-bottom: 5px; + border-bottom: 1px solid #eee; +} + +.form form { + margin: 0px !important; + padding: 0px !important; +} + +.no-bottom-space { + padding-bottom: 0px !important; + margin-bottom: 0px !important; +} + +.form .form-actions{ + margin-top: 0px !important; + margin-top: 40px; + padding-left: 190px; +} + +.portlet.box .form .form-actions, +.portlet.solid .form .form-actions { + margin-left:-10px !important; + margin-right:-10px !important; + margin-bottom: -10px !important; +} + +/*** +Bordered form layout +***/ + +/*** +Input icons +***/ +/* input with right aligned and colored icons */ +.input-icon input { + padding-right: 25px !important; +} + +.input-icon .input-info, +.input-icon .input-error, +.input-icon .input-warning, +.input-icon .input-success { + display: inline-block !important; + position: relative !important; + top: 7px; + right: 25px !important; + font-size: 16px; +} + +.input-icon .input-info { + color:#27a9e3; +} +.input-icon .input-error { + color:#B94A48; +} +.input-icon .input-warning { + color: #C09853; +} +.input-icon .input-success { + color: #468847; +} + +/* input with left aligned icons */ +.input-icon.left i { + color: #ccc; + display: block !important; + position: absolute !important; + z-index: 1; + margin: 9px 2px 4px 10px; + width: 16px; + height: 16px; + font-size: 16px; + text-align: center; +} + +.input-icon.left input { + padding-left: 33px !important; +} + +/*** +Portlets +***/ +.portlet { + clear: both; + margin-top: 0px; + margin-bottom: 25px; + padding: 0px; +} + +.portlet-title { + margin-bottom: 15px; + border-bottom: 1px solid #eee; +} + +.portlet-title:after, +.portlet-title:before { + content: ""; + display: table; + line-height: 0; +} + +.portlet-title:after { + clear: both; +} + +.portlet-title .caption { + float: left; + display: inline-block; + font-size: 18px; + font-weight: 400; + margin: 0; + padding: 0; + margin-bottom: 7px; +} + +.portlet-title .caption i { + float: left; + margin-top: 5px; + display: inline-block !important; + font-size: 13px; + margin-right: 5px; + color: #666; +} + +.portlet.blue .portlet-title .caption, .portlet-title.blue .caption, +.portlet.green .portlet-title .caption, .portlet-title.green .caption, +.portlet.yellow .portlet-title .caption, .portlet-title.yellow .caption, +.portlet.red .portlet-title .caption, .portlet-title.red .caption, +.portlet.purple .portlet-title .caption, .portlet-title.purple .caption, +.portlet.dark-grey .portlet-title .caption, .portlet-title.dark-grey .caption, { + color: #fff; +} + +.portlet.box.blue .portlet-title .caption > i, +.portlet.box.green .portlet-title .caption > i, +.portlet.box.grey .portlet-title .caption > i, +.portlet.box.yellow .portlet-title .caption > i, +.portlet.box.red .portlet-title .caption > i, +.portlet.box.purple .portlet-title .caption > i, +.portlet.box.light-grey .portlet-title .caption > i{ + color: #fff; +} + +.sortable .portlet .portlet-title { + cursor: move; +} + +.portlet-title .tools, +.portlet-title .actions + { + display: inline-block; + padding: 0; + margin: 0; + margin-top: 6px; + float: right; +} + +.portlet-title .tools > a { + display: inline-block; + height: 16px; + margin-left:5px; +} + +.portlet-title .dropdown-menu i { + color: #000 !important; +} + +.portlet-title .tools > a.remove { + background-image:url(../img/portlet-remove-icon.png); + background-repeat: no-repeat; + width: 11px; +} + +.portlet-title .tools > a.config { + background-image:url(../img/portlet-config-icon.png); + background-repeat: no-repeat; + width: 12px; +} + +.portlet-title .tools > a.reload { + background-image:url(../img/portlet-reload-icon.png); + width: 13px; +} + +.portlet-title .tools > a.expand { + background-image:url(../img/portlet-expand-icon.png); + width: 14px; +} + +.portlet-title .tools > a.collapse { + background-image:url(../img/portlet-collapse-icon.png); + width: 14px; +} + +.portlet-title .tools > a:hover { + text-decoration: none; + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + -o-transition: all 0.1s ease-in-out; + -ms-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; + opacity:.6; + filter:'alpha(opacity=60)'; +} + +.portlet-title .actions > .btn-group { + margin-top: -12px; +} + +.portlet-title .actions > .btn { + padding: 4px 10px; + margin-top: -13px; +} + +.portlet-title .actions > .btn-group > .btn { + padding: 4px 10px; + margin-top: -1px; +} + +.portlet-title .actions > .btn.mini { + margin-top: -12px; + padding: 4px 10px; +} + +.portlet-title .pagination.pagination-small { + float: right !important; + display: inline-block !important; + margin: 0px; + margin-top: -2px; +} + +.portlet-body { + clear: both; + padding: 0; +} + +.portlet-body.light-blue, .portlet.light-blue { + background-color: #bfd5fa !important; +} + +.portlet-body.blue, .portlet.blue { + background-color: #4b8df8 !important; +} + +.portlet-body.red, .portlet.red { + background-color: #e02222 !important; +} + +.portlet-body.yellow, .portlet.yellow { + background-color: #ffb848 !important; +} + +.portlet-body.green, .portlet.green { + background-color: #35aa47 !important; +} + +.portlet-body.purple, .portlet.purple { + background-color: #852b99 !important; +} + +.portlet-body.light-grey, .portlet.light-grey { + background-color: #fafafa !important; +} + +.portlet-body.dark-grey, .portlet.dark-grey { + background-color: #555555 !important; +} + +.portlet-body .btn-toolbar { + margin: 0px !important; + padding: 0px !important; +} + +.portlet-body .btn-group { + margin: 0px !important; + padding: 0px !important; + margin-bottom: 10px !important; +} + +/* draggable girds */ + + .ui-sortable-placeholder { + border: 1px dotted black; + visibility: visible !important; + height: 100% !important; +} + +.ui-sortable-placeholder * { + visibility: hidden; +} + +.sortable-box-placeholder { + background-color: #f5f5f5; + border: 1px dashed #DDDDDD; + display: block; + /* float: left;*/ + margin-top: 0px !important; + margin-bottom: 24px !important; +} + +.sortable-box-placeholder * { + visibility:hidden; +} + +/*** +Solid colored portlet +***/ +.portlet.solid { + padding: 10px; +} + +.portlet.solid .portlet-title .tools { + margin-top: 2px; + border: 0px; +} + +.portlet.solid .portlet-title { + margin-bottom: 5px; + border: 0px; +} + +.portlet.solid.bordered .portlet-title { + margin-bottom: 15px; +} + +.portlet.solid.red .portlet-title, +.portlet.solid.red .portlet-title i, +.portlet.solid.red .portlet-body, + +.portlet.solid.green .portlet-title, +.portlet.solid.green .portlet-title i, +.portlet.solid.green .portlet-body, + +.portlet.solid.yellow .portlet-title, +.portlet.solid.yellow .portlet-title i, +.portlet.solid.yellow .portlet-body, + +.portlet.solid.grey .portlet-title, +.portlet.solid.grey .portlet-title i, +.portlet.solid.grey .portlet-body, + +.portlet.solid.purple .portlet-title, +.portlet.solid.purple .portlet-title i, +.portlet.solid.purple .portlet-body, + +.portlet.solid.blue .portlet-title, +.portlet.solid.blue .portlet-title i, +.portlet.solid.blue .portlet-body { + border: 0; + color: #fff; +} + +.portlet.bordered { + border-left: 2px solid #ddd; +} + +/*** +Box portlet +***/ + + +.portlet.box { + padding:0px !important +} + +.portlet.box .portlet-title { + padding:8px 10px 2px 10px; + border-bottom: 1px solid #eee; + color: #fff !important; +} + +.portlet.box .portlet-title > .actions > .btn > i { + color: #fff !important; +} + +.portlet.box .portlet-title .tools { + margin-top: 3px; +} + +.portlet.box .portlet-title .tools > a.remove, +.portlet.solid .portlet-title .tools > a.remove { + background-image:url(../img/portlet-remove-icon-white.png); +} + +.portlet.box .portlet-title .tools > a.config, +.portlet.solid .portlet-title .tools > a.config { + background-image:url(../img/portlet-config-icon-white.png); +} + +.portlet.box .portlet-title .tools > a.reload, +.portlet.solid .portlet-title .tools > a.reload { + background-image:url(../img/portlet-reload-icon-white.png); +} + +.portlet.box .portlet-title .tools > a.expand, +.portlet.solid .portlet-title .tools > a.expand { + background-image:url(../img/portlet-expand-icon-white.png); +} + +.portlet.box .portlet-title .tools > a.collapse, +.portlet.solid .portlet-title .tools > a.collapse { + background-image:url(../img/portlet-collapse-icon-white.png); +} + +/* portlet buttons */ +.portlet.box .portlet-body { + background-color: #fff; + padding: 10px; +} + +.portlet.box .portlet-title { + margin-bottom: 0px; +} + +.portlet.box.blue .portlet-title { + background-color: #4b8df8; +} + +.portlet.box.blue { + border: 1px solid #b4cef8; + border-top: 0; +} + +.portlet.box.red .portlet-title { + background-color: #e02222; +} + +.portlet.box.red { + border: 1px solid #ef8476; + border-top: 0; +} + +.portlet.box.yellow .portlet-title { + background-color: #ffb848; +} + +.portlet.box.yellow { + border: 1px solid #fccb7e; + border-top: 0; +} + +.portlet.box.green .portlet-title { + background-color: #35aa47; +} + +.portlet.box.green { + border: 1px solid #77e588; + border-top: 0; +} + +.portlet.box.purple .portlet-title { + background-color: #852b99; +} + +.portlet.box.purple { + border: 1px solid #af5cc1; + border-top: 0; +} + +.portlet.box.grey .portlet-title { + background-color: #555555; +} + +.portlet.box.grey { + border: 1px solid #9d9c9c; + border-top: 0; +} + +.portlet.box.light-grey .portlet-title { + background-color: #aaa; +} + +.portlet.box.light-grey { + border: 1px solid #eee; + border-top: 0; +} + +/*** +Charts and statistics +***/ +.chart, .pie, .bars { + overflow: hidden; + height: 300px; +} + +/*** +Statistic lists +***/ +.item-list.table .percent { + width: 30px; + float: right; + margin-right: 10px; + margin-top: 3px; +} + +.item-list.table .title { + padding-top: -5px; +} + +/*** +Chart tooltips +***/ +.chart-tooltip { + clear: both; + z-index: 100; + background-color: #736e6e !important; + padding: 5px !important; + color: #fff; +} + +.chart-tooltip .label { + clear: both; +} + +/*** +Mini chart containers +***/ +.bar-chart { + display: none +} + +.line-chart { + display: none +} + +/*** +Custom icon buttons +***/ +.icon-btn { + height: 70px; + width: 50px; + margin: 10px 0px 10px 0px; + border: 1px solid #ddd; + padding: 16px 0px 0px 0px; + background-color: #fafafa !important; + background-image: none !important; + filter:none !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + display:block !important; + color: #646464 !important; + text-shadow: none !important; + text-align: center; + cursor: pointer; + position: relative; + -webkit-transition: all 0.3s ease !important; + -moz-transition: all 0.3s ease !important; + -ms-transition: all 0.3s ease !important; + -o-transition: all 0.3s ease !important; + transition: all 0.3s ease !important; +} + +.ie8 .icon-btn:hover { + filter: none !important; +} + +.icon-btn:hover { + text-decoration: none !important; + border-color: #999 !important; + color: #444 !important; + text-shadow: 0 1px 0px rgba(255, 255, 255, 1) !important; + -webkit-transition: all 0.3s ease !important; + -moz-transition: all 0.3s ease !important; + -ms-transition: all 0.3s ease !important; + -o-transition: all 0.3s ease !important; + transition: all 0.3s ease !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +.icon-btn:hover .badge { + -webkit-transition: all 0.3s ease !important; + -moz-transition: all 0.3s ease !important; + -ms-transition: all 0.3s ease !important; + -o-transition: all 0.3s ease !important; + transition: all 0.3s ease !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +.icon-btn i { + font-size: 20px !important; + color: #777 !important; +} + +.icon-btn .glyphicons { + padding: 0px; +} + +.icon-btn .glyphicons i:before { + font-size: 20px !important; + color: #777 !important; +} + +.icon-btn div { + font-family: 'Open Sans'; + margin-top: 5px; + margin-bottom: 20px; + color: #000; + font-size: 11px; + font-weight: 300; +} + +.icon-btn .badge { + position: absolute; + font-family: 'Open Sans'; + font-size: 11px !important; + font-weight: 300; + top: -5px; + right: -5px; + padding: 3px 7px 3px 7px; + color: white !important; + text-shadow: none; + border-width: 0; + border-style: solid; + -webkit-border-radius: 12px !important; + -moz-border-radius: 12px !important; + border-radius: 12px !important; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +/* for firefox only */ +@-moz-document url-prefix() { + .icon-btn .badge { + padding: 2px 7px 4px 7px; + } +} + +/* extended dropdowns */ +.dropdown-menu.extended { + min-width: 160px !important; + max-width: 300px !important; + width: 233px !important; + background-color: #ffffff !important; +} + +.dropdown-menu.extended:before, +.dropdown-menu.extended:after { + border-bottom-color: #ddd !important; +} + + +.dropdown-menu.extended li a{ + display: block; + padding: 5px 10px !important; + clear: both; + font-weight: normal; + line-height: 20px; + white-space: normal !important; +} + +.dropdown-menu.extended li i{ + margin-right: 3px; +} + +.dropdown-menu.extended li a{ + font-size: 13px; + padding: 10px !important; + background-color: #ffffff; +} + +.dropdown-menu.extended li a:hover { + background-image: none; + background-color: #f5f5f5; + color: #000; + filter:none; +} + +.dropdown-menu.extended li p{ + padding: 10px; + background-color: #eee; + margin: 0px; + font-size: 14px; + font-weight: 300; + color: #000; +} + +.dropdown-menu.extended li a{ + padding: 7px 0 5px 0px; + list-style: none; + border-bottom: 1px solid #f4f4f4 !important; + font-size: 12px; + text-shadow: none; +} + +.dropdown-menu.extended li:first-child a { + border-top: none; + border-bottom: 1px solid #f4f4f4 !important; +} + +.dropdown-menu.extended li:last-child a { + border-top: 1px solid white !important; + border-bottom: 1px solid #f4f4f4 !important; +} + +.dropdown-menu.extended li.external > a { + font-size: 13px; + font-weight: 400; +} + +.dropdown-menu.extended li.external > a > i{ + margin-top: 3px; + float: right; +} + +/* header notifications dropdowns */ + +.dropdown-menu.notification li > a > .label { + width: 10px; + padding: 2px 4px; + margin-right: 2px; + text-align: center !important; +} + +.dropdown-menu.notification li > a > .label i { + text-align: center !important; +} + +.dropdown-menu.notification li a .time { + font-size: 12px; + font-style: italic; + font-weight: 600; + text-align: right; +} + +/* header inbox dropdowns */ +.dropdown-menu.inbox li a .photo img { + float: left; + height: 40px; + width: 40px; + margin-right: 6px; +} + +.dropdown-menu.inbox li a .subject { + display: block; +} + +.dropdown-menu.inbox li a .subject .from { + font-size: 14px; + font-weight: 400; + color: #02689b; +} + +.dropdown-menu.inbox li a .subject .time { + font-size: 12px; + font-weight: 600; + font-style: italic; + position: absolute; + right: 10px; +} + +.dropdown-menu.inbox li a .message { + display: block !important; + font-size: 12px; +} + +/* header tasks */ +.dropdown-menu.tasks .task { + margin-bottom: 5px; +} + +.dropdown-menu.tasks .task .desc { + font-size: 13px; + font-weight: 300; +} + +.dropdown-menu.tasks .task .percent { + font-size: 13px; + font-weight: 600; + float: right; + display: inline-block; +} + +.dropdown-menu.tasks .progress { + display: block; + height: 10px; + margin: 0px; +} + +/*** +General list for item with image +***/ +.item-list li .img { + height: 50px; + width: 50px; + float: left; + margin-top: 3px; + margin-right: 5px; +} + +.item-list { + margin: 0px; + list-style: none; +} + +.item-list li { + padding: 7px 0 5px 0px; + list-style: none; + border-top: 1px solid white; + border-bottom: 1px solid #EBEBEB; + font-size: 12px; +} + +.item-list li:first-child { + border-top: none; + border-bottom: 1px solid #EBEBEB; +} + +.item-list li:last-child { + border-top: none; + border-bottom: none; +} + +.item-list li .label { + margin-right: 5px; +} + +.item-list.todo li .label { + position: absolute; + right: 80px; +} + +.item-list.todo li .actions { + position: absolute; + right: 45px; +} + +/*** +Custom tables +***/ +.table .m-btn { + margin-top: 0px; + margin-left: 0px; + margin-right: 5px; +} + +.table thead tr th { + font-size: 14px; + font-weight: 600; +} + +.table-advance { + margin-bottom: 10px !important; +} + +.table-advance thead { + color: #999; +} + +.table-advance thead tr th{ + background-color: #DDD; + font-size: 14px; + font-weight: 400; + color: #666; +} + +.table-advance div.success, +.table-advance div.info, +.table-advance div.important, +.table-advance div.warning, +.table-advance div.danger { + position: absolute; + margin-top:-5px; + float: left; + width: 2px; + height: 30px; + margin-right: 20px !important; +} + +.table-advance tr td { + border-left-width: 0px; +} +.table-advance tr td:first-child { + border-left-width: 1px !important; +} + +.table-advance tr td.highlight:first-child a { + margin-left: 15px; +} + +.table-advance td.highlight div.success { + border-left: 2px solid #66ee66; +} + +.table-advance td.highlight div.info { + border-left: 2px solid #87ceeb; +} + +.table-advance td.highlight div.important { + border-left: 2px solid #f02c71; +} + +.table-advance td.highlight div.warning { + border-left: 2px solid #fdbb39; +} + +.table-advance td.highlight div.danger { + border-left: 2px solid #e23e29; +} + + +/*** +Star rating +***/ +.rating { + unicode-bidi: bidi-override; + direction: rtl; + font-size: 30px; +} + +.rating span.star { + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + display: inline-block; +} + +.rating span.star:hover { + cursor: pointer; +} + +.rating span.star:before { + content: "\f006"; + padding-right: 5px; + color: #999999; +} + +.rating span.star:hover:before, +.rating span.star:hover ~ span.star:before { + content: "\f005"; + color: #e3cf7a; +} + +/*** +Rows seperated form layout +***/ +.form-row-seperated .control-group { + border-bottom: 1px solid #efefef; + padding-bottom: 10px; + padding-right: 10px; + margin-left: -10px; + margin-right: -10px; +} + +.form-row-seperated .control-group.last { + border-bottom: 0; +} + +.form-row-seperated .control-label { + width: 170px; +} + +.form-row-seperated .controls { + margin-left: 190px; +} + +.form-row-seperated .help-inline, +.form-row-seperated .help-block { + padding-left: 0; +} + +/*** +Bordered form layout +***/ +.form-horizontal.form-bordered .control-group:first-child { + border-bottom: 1px solid #eee !important; +} + +.form-horizontal.form-bordered .control-group { + margin: 0; + padding: 0; + border-bottom: 1px solid #eee; +} + +.form-horizontal.form-bordered .control-group.last { + border-bottom: 0; +} + +.portlet.box .form-horizontal.form-bordered .control-group { + margin-left: -10px; + margin-right: -10px; +} + +.portlet.box .form-horizontal.form-bordered .control-group:first-child { + margin-top: -10px; +} + +.form-horizontal.form-bordered .control-group .controls { + padding: 10px; + position: relative; + border-left: 1px solid #eee; +} + +.form-horizontal.form-bordered .control-group .controls .chosen-container { + min-height: 32px; +} + +.form-horizontal.form-bordered .control-group .controls .chosen-container .help-block { + clear: both; + padding-top: 10px !important; +} + +.form-horizontal.form-bordered .control-group .control-label { + margin-top: 10px; +} + +.form-horizontal.form-bordered.form-row-stripped .control-group:nth-child(even) { + background-color: #fcfcfc; +} + +.form-horizontal.form-bordered.form-label-stripped .control-group:nth-child(even) { + background-color: #fcfcfc; +} + +.form-horizontal.form-bordered.form-row-stripped .m-wrap { + background: #fff !important; +} + +.form-horizontal.form-bordered.form-label-stripped .control-group:nth-child(even) .controls { + background-color: #ffffff; +} + +.form-horizontal.form-bordered .help-inline, +.form-horizontal.form-bordered .help-block { + padding-left: 0; +} + +/*** +Uniform plugin css changes +***/ + +.radio, .checkbox { + padding-left: 0px !important; +} + +.checkbox .checker { + margin-top: -2px !important; + margin-right: 2px !important; +} + +.controls .text { + display: block; + margin-top: 7px; + font-weight: 400; + font-size: 14px; +} + +.controls .text-inline { + display: inline-block; + margin-top: 8px; + font-weight: 400; + font-size: 14px; +} + + +/* used for non horizontal forms */ +.controls-uniform { + margin-top: -7px; +} + +/*** +General forms settings +***/ +input.placeholder, +textarea.placeholder { + color: #aaa !important; +} + +.help-block { + margin-top: 0px; +} + +.form-inline input { + margin-bottom: 0px !important; +} + +.control-label { + margin-top: 2px; +} + +.control-label .required { + color: #e02222; + font-size: 12px; + padding-left: 2px; +} + +.help-inline { + margin-top: 6px; +} + +.help-small { + font-size: 12px; + padding-top: 0; + margin-top: 0; + margin-bottom: 0; + padding-bottom: 0; +} + +.success .help-inline.ok:before { + content: "\f00c"; + font-size: 16px; + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + display: inline-block; +} + + +form legend, +.form-view legend { + margin-bottom: 15px !important; +} + +.controls > .radio .checker, +.controls > .checkbox .checker { + margin-right: 2px !important; +} + +.controls > .radio, +.controls > .checkbox { + display: inline-block; + padding: 0 !important; + margin: 0 !important; + margin-top: 8px !important; + margin-right: 15px !important; +} + +.controls > .radio.line, +.controls > .checkbox.line { + display: block; + padding: 0 !important; + margin: 0 !important; + margin-top: 5px !important; +} + +.controls .inline { + margin-top: 8px; +} + +.form-view .control-group { + margin-top: 0px; + margin-bottom: 5px; +} + +.uploader { + margin-top: 2px !important; +} + +/*** +Item block with details shown on hover +***/ +.item { + overflow: hidden; + display: block; + margin-bottom: 20px; +} + +.item .details { + width: 100%; + display: none; + background-color: #000; + color: #fff !important; + padding: 5px; + text-align: center; + position: relative; + bottom:30px; + margin-bottom:-30px; + overflow: hidden; + z-index: 6; +} + +.item:hover .details { + display: block; + opacity: 0.7; + filter: alpha(opacity = 70); +} + +.item:hover .zoom-icon{ + opacity:0.5; + filter: alpha(opacity = 50); +} + +/*** +Zoom icon overlay on images +***/ +.zoom { + cursor: pointer; + width: 100%; + height: 100%; + position: relative; + z-index: 5; +} + +.zoom .zoom-icon { + background-image:url("../img/overlay-icon.png"); + background-color: #222; + background-repeat: no-repeat; + background-position: 50%; + position: absolute; + width: inherit; + height: inherit; + opacity: 0; + filter: alpha(opacity = 0); + z-index: 6; + top:0; +} + +/*** +Chats +***/ +.chats { + margin:0; + padding: 0; + margin-top: -15px; +} + +.chats li { + list-style: none; + padding: 5px 0; + margin: 10px auto; + font-size: 12px; +} + +.chats li img.avatar { + height: 45px; + width: 45px; + -webkit-border-radius: 50% !important; + -moz-border-radius: 50% !important; + border-radius: 50% !important; +} + +.chats li.in img.avatar { + float: left; + margin-right: 10px; +} + +.chats li .name { + color:#3590c1; + font-size: 13px; + font-weight: 400; +} + +.chats li .datetime { + color:#333; + font-size: 13px; + font-weight: 400; +} + +.chats li.out img.avatar { + float: right; + margin-left: 10px; +} + +.chats li .message { + display: block; + padding: 5px; + position: relative; +} + +.chats li.in .message { + text-align: left; + border-left: 2px solid #35aa47; + margin-left: 65px; + background: #fafafa +} + +.chats li.in .message .arrow { + display: block; + position: absolute; + top: 5px; + left: -8px; + width: 0; + height: 0; + + border-top: 8px solid transparent; + border-bottom: 8px solid transparent; + border-right: 8px solid #35aa47; +} + +.chats li.out .message .arrow { + display: block; + position: absolute; + top: 5px; + right: -8px; + border-top: 8px solid transparent; + border-bottom: 8px solid transparent; + border-left: 8px solid #da4a38; +} + +.chats li.out .message { + border-right: 2px solid #da4a38; + margin-right: 65px; + background: #fafafa; + text-align: right; +} + +.chats li.out .name, +.chats li.out .datetime { + text-align: right; +} + +.chats li .message .body { + display: block; +} + +.chat-form { + margin-top: 15px; + padding: 10px; + background-color: #e9eff3; + overflow: hidden; + clear: both; +} + +.chat-form .input-cont { + margin-right: 55px; +} + +.chat-form .input-cont .m-wrap { + margin-bottom: 0px; +} + +.chat-form .input-cont input{ + border: 1px solid #ddd; + width: 100%; + margin-top: 0; +} + +.chat-form .input-cont input { + background-color: #fff !important; +} + +.chat-form .input-cont input:focus{ + border: 1px solid #4b8df9 !important; +} + +.chat-form .btn-cont { + margin-top: -42px; + position: relative; + float: right; + width:44px; +} + +.chat-form .btn-cont .arrow { + position: absolute; + top: 17px; + right: 43px; + border-top: 8px solid transparent; + border-bottom: 8px solid transparent; + border-right: 8px solid #4d90fe; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.chat-form .btn-cont:hover .arrow { + border-right-color: #0362fd; +} + +.chat-form .btn-cont:hover .btn { + background-color: #0362fd; +} + +.chat-form .btn-cont .btn { + margin-top: 8px; +} + +/*** +System feeds +***/ +.feeds { + margin: 0px; + padding: 0px; + list-style: none; +} + +.feeds li { + background-color: #fafafa; + margin-bottom: 7px; +} + +.feeds li:before, +.feeds li:after { + display: table; + line-height: 0; + content: ""; +} + +.feeds li:after { + clear: both; +} + +.feeds .col1 { + float:left; + width:100%; + clear: both; +} + +.feeds .col2 { + float:left; + width:75px; + margin-left:-75px; +} + +.feeds .col1 .cont { + float:left; + margin-right:75px; + overflow:hidden; +} + +.feeds .col1 .cont .cont-col1 { + float:left; + margin-right:-100%; +} + +.feeds .col1 .cont .cont-col1 .label { + float: left; + width: 14px; + padding: 7px; +} + +.feeds .col1 .cont .cont-col2 { + float:left; + width:100%; +} + +.feeds .col1 .cont .cont-col2 .desc { + margin-left:35px; + padding-top: 4px; + padding-bottom: 4px; + overflow:hidden; +} + +.feeds .col2 .date { + padding: 4px 9px 4px 4px; + text-align: right; + font-style: italic; + color:#c1cbd0; +} + +/*** +Users +***/ +.user-info { + margin-bottom: 10px !important; +} + +.user-info img { + float: left; + margin-right: 5px; +} + +.user-info .details { + display: inline-block; +} + +.user-info .label { + font-weight: 300; + font-size: 11px; +} + +/*** +Accordions +***/ +.accordion-heading { + background:#eee; +} + +.accordion-heading a { + text-decoration:none; +} + +.accordion-heading a:hover { + text-decoration:none; +} + +/*** +Vertical inline menu +***/ +.ver-inline-menu { + margin: 0px; + list-style: none; +} + +.ver-inline-menu li { + position:relative; + margin-bottom:1px; +} + +.ver-inline-menu li i { + color:#b9cbd5; + font-size:15px; + padding:11px 9px; + margin:0 8px 0 0; + background:#e0eaf0 !important; +} + +.ver-inline-menu li a { + font-size: 13px; + color:#557386; + display:block; + background:#f0f6fa; + border-left:solid 2px #c4d5df; +} + +.ver-inline-menu li:hover a, +.ver-inline-menu li:hover i { + background:#e0eaf0; + text-decoration:none; +} + +.ver-inline-menu li:hover i { + color:#fff; + background:#c4d5df !important; +} + +.ver-inline-menu li.active a, +.ver-inline-menu li:hover a { + font-size: 13px; +} + +.ver-inline-menu li.active a, +.ver-inline-menu li.active i { + color:#fff; + background:#169ef4; + text-decoration:none; + border-left:solid 1px #0c91e5; +} + +.ver-inline-menu li.active i { + background:#0c91e5 !important; +} + +.ver-inline-menu li.active:after { + content: ''; + display: inline-block; + border-bottom: 6px solid transparent; + border-top: 6px solid transparent; + border-left: 6px solid #169ef4; + position: absolute; + top: 12px; + right: -5px; +} + +/*** +Custom tabs +***/ +.tab-content { + padding: 0px; + overflow: hidden; +} + +.tabbable-custom { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + margin-bottom: 15px; +} + +.widget .row-fluid:last-child .tabbable-custom { + margin-bottom: 0px; +} + +.tabbable-custom > .nav-tabs { + border: none; + margin: 0px; +} + +.tabbable-custom > .tab-content { + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + padding: 10px; +} + +.tabbable-custom.boxless > .tab-content { + padding:15px 0; + border-left:none; + border-right:none; + border-bottom:none; +} + +.tabbable-custom .nav-tabs > li { + margin-right: 2px; + border-top: 2px solid transparent; +} + +.tabbable-custom .nav-tabs > li > a { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + margin-right: 0; + padding: 5px 10px; + } + +.tabbable-custom .nav-tabs > li > a:hover { + background: none; + border-color:transparent; +} + +.tabbable-custom .nav-tabs > li.active { + border-top: 3px solid #d12610; + margin-top: 0; + position: relative; +} + +.tabbable-custom .nav-tabs > li.active > a { + border-top: none; + font-weight: 400; +} + +.tabbable-custom .nav-tabs > li.active > a:hover { + background: #fff; + border-color: #d4d4d4 #d4d4d4 transparent; +} + +.tabbable-custom .nav-tabs > li { + margin-right: 2px; + border-top: 2px solid transparent; +} + +.tabs-below.tabbable-custom .nav-tabs > li { + border-top: none; + border-bottom: 2px solid transparent; + margin-top: -1px; +} + +.tabs-below.tabbable-custom .nav-tabs > li.active { + border-top: none; + border-bottom: 3px solid #d12610; + margin-bottom: 0; position: relative; +} + +.tabs-below.tabbable-custom .nav-tabs > li.active > a { + border-bottom: none +} + +.tabs-below.tabbable-custom .nav-tabs > li.active > a:hover { + background: #fff; + border-color: #d4d4d4 #d4d4d4 transparent; +} + +.tabs-left.tabbable-custom .nav-tabs > li { + margin-right: 0; border-left: 2px solid transparent; margin-top: none; +} + +.tabs-left.tabbable-custom .nav-tabs > li.active { + border-top: none; + border-left: 3px solid #d12610; + margin-top: 0; margin-right: -1px; position: relative; +} + +.tabs-left.tabbable-custom .nav-tabs > li.active > a { + border-top: 1px solid #d4d4d4; + border-left: 1px solid transparent; +} + +.tabs-left.tabbable-custom .nav-tabs > li.active > a:hover { + background: #fff; + border-color: #d4d4d4 transparent #d4d4d4 transparent; +} + +.tabs-right.tabbable-custom .nav-tabs > li { + margin-right: 0; + border-right: 2px solid transparent; + border-top: none; } + +.tabs-right.tabbable-custom .nav-tabs > li.active { + border-top: none; + border-right: 3px solid #d12610; + margin-top: 0; + margin-left: -1px; + position: relative; +} + +.tabs-right.tabbable-custom .nav-tabs > li.active > a { + border-top: 1px solid #d4d4d4; + border-right: 1px solid transparent; +} + +.tabs-right.tabbable-custom .nav-tabs > li.active > a:hover { + background: #fff; + border-color: #d4d4d4 transparent #d4d4d4; +} + +.tabs-right.tabbable-custom .nav-tabs > li a, +.tabs-left.tabbable-custom .nav-tabs > li a { + padding: 8px 10px +} + +/*full width tabs with bigger titles */ +.tabbable-custom.tabbable-full-width > .tab-content { + padding:27px 0; + border-left:none; + border-right:none; + border-bottom:none; +} + +.tabbable-custom.tabbable-full-width .nav-tabs > li > a { + color:#424242; + font-size:15px; + padding:9px 15px; +} + + +/*** +Custom portlet tabs +***/ +.portlet-tabs .nav-tabs { + position: relative; + top: -41px; + margin-right: 10px; + overflow: hidden; +} + +.portlet-tabs .nav-tabs > li { + float: right; +} + +.portlet-tabs .nav-tabs { + border-bottom: none; +} + +.portlet-tabs .nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 10px; + line-height: 16px; + margin-top: 6px; + margin-left: 0px; + margin-right: 0px; + border-left: 0; + border-right: 0; + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} + +.portlet-tabs .nav-tabs > li:last-child > a { + border-right:0; +} + +.portlet-tabs .nav-tabs > li { + margin-left: 1px; +} + +.portlet-tabs .nav-tabs > li.active { + border-top-color: transparent; +} + +.portlet-tabs .nav-tabs > li.active > a { + margin-bottom: 0px; + border-bottom: 0; + margin-left: 0px; + margin-right: 0px; + border-left: 0; + border-right: 0; + background-color: none !important; + border-top-color:transparent !important; +} + +.portlet-tabs .nav-tabs > li > a:hover { + margin-bottom: 0; + border-bottom-color: transparent; + margin-left: 0; + margin-right: 0; + border-left: 0; + border-right: 0; + background-color: none !important; + border-top-color:transparent; + background-color: #fff; +} + +.portlet-tabs .nav-tabs > .active > a { + color: #555555; + cursor: default; + background-color: #fff; +} + +.portlet-tabs .nav-tabs > .active > a:hover { + background-color: #fff !important; +} + +.portlet-tabs .tab-content { + position: relative; + padding: 10px !important; + margin: 0px; + margin-top: -60px !important; +} + +.portlet.tabbable .portlet-body { + padding: 0px; +} + +.tab-pane > p:last-child { + margin-bottom: 0px; +} + +/*** +Dashboard container +***/ +#dashboard { + overflow: hidden; +} + +/*** +Dashboard stats +***/ +.dashboard-stat { + margin-bottom: 25px; +} + +.dashboard-stat:before, +.dashboard-stat:after { + display: table; + line-height: 0; + content: ""; +} +.dashboard-stat:after { + clear: both; +} + +.dashboard-stat .visual { + width: 80px; + height:80px; + display: block; + float: left; + padding-top: 10px; + padding-left: 15px; +} + +.dashboard-stat .visual i { + font-size: 65px; + color: #fff; +} + +.dashboard-stat .details { + float: right; + padding-right: 10px; +} + +.dashboard-stat .details .number { + padding-top: 25px; + text-align: right; + font-size: 34px; + letter-spacing: -1px; + font-weight: 300; + color: #fff; + margin-bottom: 10px; +} + +.dashboard-stat .details .desc { + text-align: right; + font-size: 16px; + letter-spacing: 0px; + font-weight: 300; + color: #fff; +} + +.dashboard-stat .more { + clear: both; + display: block; + padding: 5px 10px 5px 10px; + text-transform: uppercase; + font-weight: 300; + font-size: 11px; + color: #fff; + opacity: 0.7; + filter: alpha(opacity=70); +} + +.dashboard-stat .more i { + margin-top: 4px; + float: right; +} + +.dashboard-stat .more:hover { + text-decoration: none; + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + -o-transition: all 0.1s ease-in-out; + -ms-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; + opacity: 1; + filter: alpha(opacity=100); +} + +.dashboard-stat.blue { + background-color: #27a9e3; +} + +.dashboard-stat.blue .more { + background-color: #208dbe; +} + +.dashboard-stat.green { + background-color: #28b779; +} + +.dashboard-stat.green .more { + background-color: #10a062; +} + +.dashboard-stat.red { + background-color: #e7191b; +} + +.dashboard-stat.red .more { + background-color:#bc0d0e; +} + +.dashboard-stat.yellow { + background-color: #ffb848; +} + +.dashboard-stat.yellow .more { + background-color: #cb871b; +} + +.dashboard-stat.purple { + background-color: #852b99; +} + +.dashboard-stat.purple .more { + background-color: #6e1881; +} + +/*** +Circle Stats(KNOB, new in v1.1.1) +***/ + +/* Circle stats */ +.knobify { + border: 0 !important; + width: 0px; +} + +.ie8 .knobify { + display: none; +} + +.circle-stat { + background-color: #f8f8f8; + padding:2px; + margin-bottom: 10px; +} + +.circle-stat:hover { + background-color: #edf4f7; +} + +.circle-stat:before, +.circle-stat:after { + display: table; + line-height: 0; + content: ""; +} +.circle-stat:after { + clear: both; +} + +.circle-stat .visual { + display: block; + float: left; +} + +.circle-stat .details { + display: block; + float: left; + margin-left: 5px; + padding-top: 7px; +} + +.circle-stat .details .title { + margin: 10px 0px 5px 0px !important; + padding: 0px !important; + font-size: 13px; + text-transform: uppercase; + font-weight: 300; + color: #222; +} + +.ie8 .circle-stat .details .title { + margin-top:5px !important; +} +.ie8 .circle-stat .details { + padding-top: 0px !important; + margin-bottom: 5px !important; +} + +.circle-stat .details .title i { + margin-top:2px !important; + color: #52e136; + font-size: 16px; +} + +.circle-stat .details .title i.down { + color: #b63625; +} + +.circle-stat .details .number { + margin: 0px !important; + margin-bottom: 7px !important; + font-size: 24px; + padding: 0px; + font-weight: 300; + color: #999; +} + +/*** +Tiles(new in v1.1.1) +***/ +.tiles { + margin-right: -10px; +} + +.tile { + display: block; + letter-spacing: 0.02em; + float: left; + height: 130px; + width: 130px !important; + cursor: pointer; + text-decoration: none; + color: #ffffff; + position: relative; + font-weight: 300; + font-size: 12px; + letter-spacing: 0.02em; + line-height: 20px; + font-smooth: always; + overflow: hidden; + border: 4px solid transparent; + margin: 0 10px 10px 0; +} + +.tile:after, +.tile:before { + content: ""; + float: left; +} + +.tile.double { + width: 278px !important; +} + +.tile.double-down { + height: 278px !important; +} + +.tile:active, .tile.selected { + border-color: #ccc; +} + +.tile:hover { + border-color: #aaa; +} + +.tile.selected .corner:after { + content: ""; + display: inline-block; + border-left: 40px solid transparent; + border-bottom: 40px solid transparent; + border-right: 40px solid #ccc; + position: absolute; + top: -3px; + right: -3px; +} + +.tile.selected .check:after { + content: ""; + font-family: FontAwesome; + font-size: 13px; + content: "\f00c"; + display: inline-block; + position: absolute; + top: 2px; + right: 2px; +} + +.tile * { + color: #ffffff; +} + +.tile .tile-body { + height: 100%; + vertical-align: top; + padding: 10px 10px; + overflow: hidden; + text-overflow: ellipsis; + position: relative; + font-weight: 400; + font-size: 12px; + font-smooth: always; + color: #000000; + color: #ffffff; + margin-bottom: 10px; +} + +.tile .tile-body img { + float: left; + margin-right: 10px; +} + +.tile .tile-body img.pull-right { + float: right !important; + margin-left: 10px; + margin-right: 0px; +} + +.tile .tile-body .content { + display: inline-block; +} + +.tile .tile-body > i { + margin-top: 17px; + display: block; + font-size: 56px; + text-align: center; +} + +.tile.double-down i { + margin-top: 95px; +} + +.tile .tile-body h1, +.tile .tile-body h2, +.tile .tile-body h3, +.tile .tile-body h4, +.tile .tile-body h5, +.tile .tile-body h6, +.tile .tile-body p { + padding: 0; + margin: 0; + line-height: 14px; +} + +.tile .tile-body h3, +.tile .tile-body h4 { + margin-bottom: 5px; +} + +.tile .tile-body h1:hover, +.tile .tile-body h2:hover, +.tile .tile-body h3:hover, +.tile .tile-body h4:hover, +.tile .tile-body h5:hover, +.tile .tile-body h6:hover, +.tile .tile-body p:hover { + color: #ffffff; +} + +.tile .tile-body p { + font-weight: 400; + font-size: 13px; + font-smooth: always; + color: #000000; + color: #ffffff; + line-height: 20px; + overflow: hidden; + text-overflow: ellipsis; +} + +.tile .tile-body p:hover { + color: rgba(0, 0, 0, 0.8); +} + +.tile .tile-body p:active { + color: rgba(0, 0, 0, 0.4); +} + +.tile .tile-body p:hover { + color: #ffffff; +} + +.tile.icon > .tile-body { + padding: 0; +} + +.tile .tile-object { + position: absolute; + bottom: 0; + left: 0; + right: 0; + min-height: 30px; + background-color: transparent; + *zoom: 1; +} + +.tile .tile-object:before, +.tile .tile-object:after { + display: table; + content: ""; +} + +.tile .tile-object:after { + clear: both; +} + +.tile .tile-object > .name { + position: absolute; + bottom: 0; + left: 0; + margin-bottom: 5px; + margin-left: 10px; + margin-right: 15px; + font-weight: 400; + font-size: 13px; + font-smooth: always; + color: #ffffff; +} + +.tile .tile-object > .name i { + display: block; + font-size: 24px; +} + +.tile .tile-object > .number { + position: absolute; + bottom: 0; + right: 0; + margin-bottom: 0; + color: #ffffff; + text-align: center; + font-weight: 600; + font-size: 14px; + letter-spacing: 0.01em; + line-height: 14px; + font-smooth: always; + margin-bottom: 8px; + margin-right: 10px; +} + +.tile.image { + border-color1: transparent !important; +} + +.tile.image > .tile-body { + padding: 0 !important; +} + +.tile.image > .tile-body > img{ + width: 100%; + height: auto; + min-height: 100%; + max-width: 100%; +} + +.tile.image .tile-body h3 { + display: inline-block; +} + +/*** +Styler Panel +***/ +.color-panel { + z-index: 999; + position:relative; +} + +.color-panel .color-mode-icons { + top:4px; + right:0; + padding:20px; + cursor:pointer; + position:absolute; +} + +.color-panel .icon-color { + background:#c9c9c9 url(../img/icon-color.png) center no-repeat !important; +} + +.color-panel .icon-color:hover { + background-color:#3d3d3d !important; +} + +.color-panel .icon-color-close { + display:none; + background:#3d3d3d url(../img/icon-color-close.png) center no-repeat !important; +} + +.color-panel .icon-color-close:hover { + background-color:#222 !important; +} + +.color-mode { + top:5px; + right:40px; + display:none; + padding:10px 0; + position:absolute; + background:#3d3d3d; +} + +.color-mode p, +.color-mode ul, +.color-mode label { + padding:0 15px; +} + +.color-mode p { + color:#cfcfcf; + padding:0 15px; + font-size:15px; +} + +.color-mode ul { + list-style:none; + padding:4px 11px 5px; +} + +.color-mode li { + width:20px; + height:30px; + margin:0 4px; + cursor:pointer; + list-style:none; + border:solid 1px #707070; +} + +.color-mode li:hover, +.color-mode li.current { + border:solid 2px #ebebeb; + margin:0 3px; +} + +.color-mode li.color-black { + background:#333438; +} + +.color-mode li.color-blue { + background:#124f94; +} + +.color-mode li.color-brown { + background:#623f18; +} + +.color-mode li.color-purple { + background:#701584; +} + +.color-mode li.color-white { + background:#fff; +} + +.color-mode label { + color:#cfcfcf; + padding-top:12px; + text-transform:uppercase; + border-top:1px solid #585858; +} + +.color-mode label span.color-mode-label { + top:2px; + position:relative; +} + +/******************** + PAGES +*********************/ + +/*** +Calendar with full calendar +***/ +.external-event { + display: inline-block !important; + cursor:move; + margin-bottom: 5px !important; + margin-right: 5px !important; +} + +.portlet .event-form-title { + font-size: 14px; + margin-top: -8px; + font-weight: 400; + margin-bottom: 0px; +} + +.portlet.calendar .fc-event-time { + color: #fff; + font-size: 13px; + font-weight: 300 !important; +} + +.portlet.calendar .fc-event-title { + color: #fff; + font-size: 13px; + font-weight: 300 !important; +} + +.portlet.calendar .fc-event-skin { + border: 0px !important; + background-color: #69a4e0 !important; +} + +.portlet.calendar .fc-button { + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + -webkit-text-shadow: none !important; + -moz-text-shadow: none !important; + text-shadow: none !important; + border: 0 !important; + padding: 7px 8px 11px 8px; + margin-right:2px; + color: #fff !important; + border-top-style: none; + border-bottom-style: none; + border-left-style: solid; + border-right-style: solid; + border-color: #ddd; + background: transparent; + color: #646464; + top: -47px; +} + +.portlet.calendar .fc-header { + margin-bottom:-21px; +} + +.portlet.calendar .fc-button-prev { + padding-left: 10px; + padding-right: 8px; +} + +.portlet.calendar .fc-button-next { + padding-left: 8px; + padding-right: 10px; +} + +.portlet.calendar .fc-button.fc-state-active, +.portlet.calendar .fc-button.fc-state-hover { + color: #666 !important; + background-color: #F9F9F9 !important; +} + +.portlet.calendar .fc-button.fc-state-disabled { + color: #ddd !important; +} + +.portlet.calendar .fc-text-arrow { + font-size: 22px; + font-family: "Courier New", Courier, monospace; + vertical-align: baseline; +} + +.portlet.calendar .fc-event { + border: 0px !important; +} + +.portlet.calendar .fc-event-inner { + border: 0px !important; + background-color: #69a4e0 !important; + color: #fff !important; +} + +.portlet.calendar .fc-event-bg { + background-color: #69a4e0 !important; + opacity: 0 !important; + filter: alpha(opacity=0); + color: #fff !important; +} + +.portlet.calendar .fc-event-time { + background-color: #4783BF !important; +} + +.portlet.calendar .fc-event-time, +.portlet.calendar .fc-event-title { + background-color: #69a4e0 !important; + color: #fff !important; +} + +.portlet.calendar .fc-header-title h2 { + font-size: 14px !important; + line-height: 20px; + font-weight: 400; + color: #111; +} + +.portlet.calendar .fc-widget-header { + background-image: none !important; + filter:none !important; + + background-color: #eee !important; + text-transform: uppercase; + font-color:#000; + font-weight: 300; +} + +.portlet.calendar .mobile .fc-button { + margin-right: 2px !important; +} + +.portlet.calendar .mobile .fc-button { + padding: 6px 6px 6px 6px; + margin-right:2px; + border: none !important; + background-color: #ddd !important; + background-image: none; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + -webkit-border-radius: 0 !important; + -moz-border-radius: 0 !important; + border-radius: 0 !important; + color: #000 !important; + border: none !important; + text-shadow: none !important; + text-align: center; +} + +.portlet.calendar .mobile .fc-state-hover, +.portlet.calendar .mobile .fc-state-active { + background-color: #eee !important; +} + +.portlet.calendar .mobile .fc-button-prev { + margin-left: 5px; + margin-top: -2px; + padding: 3px 4px 3px 6px; +} + +.portlet.calendar .mobile .fc-button-next { + margin-left: -0px; + margin-top: -2px; + padding: 3px 6px 3px 4px; +} + +.portlet.calendar .mobile .fc-header-space { + margin: 0px !important; + padding: 0px !important; + width: 0px !important; +} + + .portlet.calendar .mobile .fc-state-disabled { + color: #bbb !important; + } + + .portlet.calendar .mobile .fc-header-left { + position: absolute; + z-index: 10; + } + + .portlet.calendar .mobile .fc-header-right { + position: absolute; + z-index: 9; + } + + .portlet.calendar .mobile .fc-header-left .fc-button { + top: -2px !important; + } + + .portlet.calendar .mobile .fc-header-right { + position: relative; + left:0; + } + + .portlet.calendar .mobile .fc-header-right .fc-button { + top: 35px !important; + } + + .portlet.calendar .mobile .fc-header-right .fc-button:last-child { + margin-right: 0px !important; + } + + .portlet.calendar .mobile .fc-content { + margin-top: 53px; + } + + +/*** +Form wizard +***/ + +.form-wizard .progress { + margin-bottom: 30px; +} + +.form-wizard .steps { + padding: 10px 0; + margin-bottom: 15px; +} + +.form-wizard .steps .navbar-inner { + background-color: #fff !important; + background-image: none !important; + filter:none !important; + border: 0px; + box-shadow: none !important; +} + +.form-wizard .steps .navbar-inner li a { + background-color: #fff !important; + background-image: none !important; + filter:none !important; + border: 0px; + box-shadow: none !important; +} + +.form-wizard .step:hover { + text-decoration: none; +} + +.form-wizard .step .number { + background-color: #eee; + display: inline-block; + font-size: 16px; + font-weight: 300; + padding: 12px 15px 12px 15px !important; + margin-right: 10px; + -webkit-border-radius: 50% !important; + -moz-border-radius: 50% !important; + border-radius: 50% !important; +} + +.form-wizard .step .desc { + display: inline-block; + font-size: 14px; + font-weight: 300; +} + +.form-wizard .active .step .number { + background-color: #35aa47; + color: #fff; +} + +.form-wizard .active .step .desc { + font-weight: 400; +} + +.form-wizard .step i { + display: none; +} + +.form-wizard .done .step .number { + background-color: #f2ae43; + color: #fff; +} + +.form-wizard .done .step .desc { + font-weight: 400; +} + +.form-wizard .done .step i { + font-size: 12px; + font-weight: normal; + color: #999; + display: inline-block; +} + +/* bootstrap chosen overlaping bug fix*/ +.form-wizard .tab-pane .chzn-container { + position: absolute !important; +} + + +/************************** + PLUGIN CSS CUSTOMIZATIONS +**************************/ + +/*** +Google Maps +***/ +.gmaps { + height: 300px; + width: 100%; +} + +/* important! bootstrap sets max-width on img to 100% which conflicts with google map canvas*/ +.gmaps img { + max-width: none; +} + +#gmap_static div{ + background-repeat: no-repeat !important; + background-position: 50% 50% !important; + height:100%; + display:block; + height: 300px; +} + +#gmap_routes_instructions { + margin-top: 10px; + margin-bottom: 0px; +} + +/*** +SlimScrollBar plugins css changes +***/ +.scroller { + padding: 0px !important; + margin: 0px !important; + padding-right: 12px !important; +} + +.portlet-body .slimScrollBar { + margin-right: 0px !important; +} + +/*** +jqvmap changes +***/ +.jqvmap-zoomin { + background-color: #666 !important; +} + +.jqvmap-zoomout { + background-color: #666 !important; +} + +.vmaps { + position: relative; + overflow: hidden; + height: 300px; +} + +/*** +Daterangepicker plugin css changes +***/ +.daterangepicker td { + text-shadow: none !important; +} + +.daterangepicker td.active { + background-color: #4b8df8 !important; + background-image: none !important; + filter:none !important; +} + +.daterangepicker th { + font-weight: 400; + font-size: 14px; +} + +/*** +Toggle buttons plugin css changes +***/ +.toggle-button, +.toggle-button label { + margin-top: 3px; + background-image: none !important; + filter:none !important; + -webkit-border-radius: 0px !important; + -moz-border-radius: 0px !important; + -ms-border-radius: 0px !important; + -o-border-radius: 0px !important; + border: 1px solid #eee !important; + -moz-border-radius-topleft: 0px !important; + -webkit-border-top-left-radius: 0px !important; + border-top-left-radius: 0px !important; + -moz-border-radius-bottomleft: 0px !important; + -webkit-border-bottom-left-radius: 0px !important; + border-bottom-left-radius: 0px !important; + -moz-border-radius-topright: 0px !important; + -webkit-border-top-right-radius: 0px !important; + border-top-right-radius: 0px !important; + -moz-border-radius-bottomright: 0px !important; + -webkit-border-bottom-right-radius: 0px !important; + border-bottom-right-radius: 0px !important; +} + +.toggle-button span.labelRight, +.toggle-button span.primary, +.toggle-button span.labelLeft, +.toggle-button span.info, +.toggle-button span.success, +.toggle-button span.warning, +.toggle-button span.danger { + -moz-border-radius-topleft: 0px !important; + -webkit-border-top-left-radius: 0px !important; + border-top-left-radius: 0px !important; + -moz-border-radius-bottomleft: 0px !important; + -webkit-border-bottom-left-radius: 0px !important; + border-bottom-left-radius: 0px !important; + -moz-border-radius-topright: 0px !important; + -webkit-border-top-right-radius: 0px !important; + border-top-right-radius: 0px !important; + -moz-border-radius-bottomright: 0px !important; + -webkit-border-bottom-right-radius: 0px !important; + border-bottom-right-radius: 0px !important; + + font-size: 13px !important; + font-weight: 300 !important; + background-image: none !important; + filter:none !important; +} + +.toggle-button span.labelRight { + background-color: #eee; +} + +/*** +Choosen plugin css changes +***/ +.chzn-controls { + margin-bottom: -4px !important; +} + +.chzn-controls .help-inline { + display: inline-block; + margin-top : 6px; +} + +.chzn-container { + display: block; + margin: 0; + padding: 0 !important; + box-shadow: none !important; +} + +.chzn-container-single { + margin: 0 !important; + padding: 0 !important; +} + +/* fix chosen margins in form layouts */ +.controls .chzn-container-single { + float: left; +} + +.chzn-container-single .chzn-single { + box-shadow: none !important; + background-image: none !important; + filter:none !important; + box-shadow: none !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + height: 31px !important; + border-color: #e5e5e5; + margin: 0 !important; +} + +/* enable form validation classes for chosen dropdowns */ +.error .chzn-container-single .chzn-single { + border-color: #B94A48; +} + +.error .chzn-container-single .chzn-single span { + color: #B94A48; +} + +.success .chzn-container-single .chzn-single { + border-color: #468847; +} + +.success .chzn-container-single .chzn-single span { + color: #468847; +} + +.chzn-container-single .chzn-single > span { + margin-top: 1px; +} + +.chzn-container-single .chzn-single > abr { + margin-top: 3px; +} + +.chzn-container-single .chzn-search input:focus, +.chzn-container-single .chzn-search input:active { + border:1px solid #000 !important; + box-shadow: none !important; +} + +.chzn-container .chzn-choices li.search-choice { + background-image: none !important; + filter:none !important; + box-shadow: none !important; + font-size: 12px !important; + font-weight: 300 !important; + text-shadow:none !important; + background-color: #eee !important; + border: 0 !important; +} + +.chzn-container .chzn-results .highlighted { + background-image: none !important; + filter:none !important; + background-color: #eee !important; + color: #111 !important; +} + +.chzn-container-multi .chzn-choices { + background-image: none !important; + filter:none !important; + box-shadow: none !important; + border-color: #e5e5e5 !important; + padding: 2px 1px 1px 1px !important; +} + +.chzn-container-multi .chzn-choices .search-choice.search-choice-disabled { + background-image: none !important; + filter:none !important; +} + +.chzn-x-multi .chzn-choices { + box-shadow: none !important; +} + +.chzn-container .group-result { + color: #333 !important; + font-size: 16px !important; + font-weight: 400 !important; +} + +/*** +Select2 plugin css changes +***/ + +/*** +Fileuploader plugin css changes +***/ +.fileupload .btn { + padding: 7px 14px !important; +} + +.fileupload-exists { + padding: 0px; +} + +.fileupload .fileupload-preview { + background-color: #fff !important; + background-image: none !important; + filter:none !important; +} + +.fileupload .close { + position: relative; + top:0px !important; +} + +/*** +Clockface plugin css changes +***/ +.clockface .cell .inner.active, +.clockface .cell .outer.active { + background-image: none !important; + filter:none !important; +} + +/*** +WYSIWYG +***/ +.wysihtml5-toolbar li { + margin: 0px; + height: 29px; +} + +.wysihtml5-toolbar li .dropdown-menu { + margin-top: 5px; +} + +/*** +CKEditor css changes +***/ +.cke_bottom, +.cke_inner, +.cke_top, +.cke_reset, +.cke_dialog_title, +.cke_dialog_footer, +.cke_dialog { + background-image: none !important; + filter:none !important; + border-top: 0 !important; + border-bottom: 0 !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + text-shadow:none !important; +} + +.cke_dialog_ui_button, +.cke_dialog_tab { + background-image: none !important; + filter:none !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + text-shadow:none !important; +} + +.cke_dialog_ui_button:hover, +.cke_dialog_tab:hover { + text-decoration: none; + text-shadow:none !important; +} + +.cke_dialog_ui_input_text { + background-image: none !important; + filter:none !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +.cke_combo_button, +.cke_button, +.cke_toolbar, +.cke_toolgroup { + background-image: none !important; + filter:none !important; + border: 0 !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +.cke_button, +.cke_combo_button, +.cke_panel_grouptitle, +.cke_hc.cke_panel_listItem a { + background-image: none !important; + filter:none !important; + text-shadow:none !important; + -webkit-border-radius: 0px !important; + -moz-border-radius: 0px !important; + -ms-border-radius: 0px !important; + -o-border-radius: 0px !important; +} + +.cke_button:hover, +.cke_combo_button:hover { + background-color: #ddd; +} + +.cke_toolbar_break { + background-image: none !important; + filter:none !important; + border: 0 !important; + box-shadow: none !important; + -webkit-box-shadow : none !important; + -moz-box-shadow: none !important; + -ms-box-shadow: none !important; + -o-box-shadow: none !important; +} + +/*** +Modify tags input plugin css +***/ +div.tagsinput { + height: 40px !important; + margin: 0 !important; + padding: 5px !important; + overflow: auto !important; +} + +div.tagsinput span.tag { + background: #aaa !important; + color: #fff !important; + border: 0 !important; + padding: 3px 6px !important; + -webkit-border-radius: 0 !important; + -moz-border-radius: 0 !important; + border-radius: 0 !important; + margin-bottom: 4px !important; +} + +div.tagsinput input { + padding: 3px 6px !important; +} + +div.tagsinput span.tag a { + color: #fff !important; +} + +div.tagsinput .not_valid { + color: #fff !important; + padding: 3px 6px !important; + background-color: #e02222 !important; +} + +/*** +Date tables plugin changes +***/ +.dataTable { + clear: both; + margin-top: 5px; +} + +.dataTables_filter label { + line-height: 32px !important; +} + +/*** +Gritter notification modify +***/ +.gritter-close { + left:auto !important; + right: 3px !important; +} + +/*** +Bootstrap carousel css changes +***/ +.carousel-inner .item { + line-height: 20px; +} + +/*** +Glyphicons Demo(new in v1.1.1) +***/ +.glyphicons-demo { + text-align: center; +} + +.glyphicons-demo .glyphicons { + display:inline-block; + *display:inline; + *zoom:1; + width:150px; + font-size:14px; + line-height:48px; + margin-right: 20px; + color: #999; + text-align: left; +} + +.glyphicons-demo .glyphicons i:before{ + line-height:55px!important; + color: #666; +} + +.halfings-demo .white-content{ + margin:0 -20px 0 -20px; + padding:20px; + background:#000; + background:rgba(0,0,0,0.9) +} + +.halfings-demo .white-content *, +.halfings-demo .white-content p, +.halfings-demo .white-content a{ + color:#fff +} + +.halfings-demo h2 { + text-align: left; +} + +.halfings-demo p, +.halfings-demo a { + width: 175px; + font-size: 14px; + line-height: 14px; + text-align: left; + display: inline-block; + margin-right: 10px; +} + +.halfings-demo .halflings, +.halfings-demo .halflings-icon { + margin:0 5px 0 0 +} + +/*** +jQuery UI Sliders(new in v1.1.1) +***/ +.table.sliders td { + padding: 15px 10px !important; +} + +.table.sliders .slider { + margin-top: 4px; +} + +.table.sliders .slider-value { + padding-top: 5px; + font-weight: 400; +} + +.table.sliders .slider-vertical-value { + padding-bottom: 5px; + font-weight: 400; +} + +.slider { + border: 0 !important; +} + +.ui-slider-vertical, +.ui-slider-handle { + filter: none !important; + background-image: none !important; +} + +.slider-eq > span { + height:125px; + float:left; + margin:15px +} + +/*** +Dropzone css changes(new in v1.1.1) +***/ +.dropzone { + webkit-border-radius: 0px !important; + -moz-border-radius: 0px !important; + border-radius: 0px !important; +} + +/*** +Bootstrap Tree CSS changes(new in v1.1.2) +***/ +.tree { + margin: 0; + padding: 0; +} + +.tree a { + padding: 2px 3px 3px 3px; + display: block !important; + line-height: 16px !important; +} + +.tree a:hover { + text-decoration: none; + background-color: #eee; +} + +.tree a.tree-toggle-icon-only, +.tree a.tree-toggle { + background-position: 2px -20px; +} + +.tree a.tree-toggle.closed, +.tree a.tree-toggle-icon-only.closed { + background-position: 2px 3px; +} + +/*** +jQuery UI Datepicker(new in v1.2.2) +***/ +.ui-widget-header select { + padding: 2px !important; + height: 30px; + margin: 0 !important; + margin-top: -1px !important; +} + +.ui-datepicker.ui-widget-content { + background: none !important; + background-color: #eee !important; +} + +.ui-datepicker .ui-widget-header { + background: none !important; + background-color: #e0e0e0 !important; + border: 0 !important; + box-shadow: none !important; + height: 28px; +} + +.ui-widget-header .ui-icon { + background-image: url(../plugins/jquery-ui/images/ui-icons_888888_256x240.png) !important; +} + +.ui-widget-header .ui-datepicker-next, +.ui-widget-header .ui-datepicker-prev { + margin: 2px 2px 2px 2px; +} + +.ui-widget-header .ui-state-hover, +.ui-widget-header .ui-state-active { + background-color: #F2F2F2 !important; + border-color: #F2F2F2 !important; + background-image: none !important; +} + +.ui-datepicker .ui-datepicker-title { + font-weight: 400 !important; + text-transform: uppercase !important; + font-size: 14px !important; + color: #333; +} + +.ui-datepicker .ui-datepicker-title span { + display: inline-block; + padding-top: 2px; +} + +.ui-datepicker .ui-datepicker-calendar thead span { + font-weight: 300 !important; + font-size: 13px !important; + text-transform: uppercase !important; + color: #333 !important; +} + +.ui-datepicker .ui-datepicker-week-col { + font-weight: 400 !important; + font-size: 13px !important; + text-transform: uppercase !important; + color: #333 !important; +} + +.ui-datepicker tbody .ui-datepicker-week-col { + text-align: center; +} + + +.ui-datepicker .ui-datepicker-calendar .ui-state-default { + font-weight: 300 !important; + font-size: 13px !important; + text-transform: uppercase !important; + color: #333 !important; + border-color:#DEDEDE; + background-color: #DEDEDE !important; +} + +.ui-datepicker .ui-datepicker-calendar .ui-state-active, +.ui-datepicker .ui-datepicker-calendar .ui-state-hover { + background-image: none !important; + border-color:#ffb848; + background-color: #ffb848 !important; +} + +.ui-datepicker .ui-datepicker-calendar .ui-state-highlight { + background-image: none !important; + background-color: #FFDBA3 !important; + border-color:#ffb848; +} + +.ui-datepicker .ui-datepicker-calendar .ui-state-active { + background-image: none !important; + background-color: #ffb848 !important; + border-color:#ffb848; +} + +.ui-datepicker button.ui-state-default { + background-image: none !important; + background-color: #35aa47 !important; + border-color: #35aa47 !important; + color: #fff; +} + +.ui-datepicker button.ui-state-hover { + border-color: #1d943b !important; + background-color: #1d943b !important; + color: #fff !important; + +} + +.ui-datepicker button.ui-state-default.ui-priority-secondary { + font-weight: 300 !important; + font-size: 13px !important; +} + +.ui-datepicker button.ui-state-default.ui-priority-primary { + font-weight: 300 !important; + font-size: 13px !important; +} + +/*** +Sidebar Content +***/ +.sidebar-content { + margin-top: 20px; +} + +/*** +Horezantal Menu(new in v1.2) +***/ + +.header .hor-menu { + margin: 0; + float: left; + margin-left: 99px; +} + +.header .hor-menu ul.nav li a { + font-size: 14px; + padding: 11px 18px; +} + +.ie8 .header .hor-menu a.dropdown-toggle { + padding-top: 10px !important; +} + +.header .hor-menu ul.nav li { + position: relative; +} + +.header .hor-menu ul.nav li.active > a, +.header .hor-menu ul.nav li.active > a:hover { + background: #e02222 !important; +} + +.header .hor-menu ul.nav li.active .selected { + left: 50%; + bottom:0; + position: absolute; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid #e02222; + display: inline-block; + margin: 0; + width: 0px; + height:0px; + margin-left: -7px; + margin-bottom:-6px; +} + +.header .hor-menu ul.nav li a:hover, +.header .hor-menu ul.nav li a:focus { + background: #2d2d2d; +} + +/*drop-down*/ +.header .hor-menu .dropdown-menu { + margin-top: 0; + border: none; + box-shadow: none; + background: #2d2d2d; +} + +.header .hor-menu .dropdown-menu li > a { + color: #999; + padding: 7px 18px !important; + margin-top:1px; +} + +.header .dropdown-menu .arrow { + display: none; +} + +.header .hor-menu ul.nav > li > a > .arrow:before { + margin-top: 7px; + margin-left: 3px; + display: inline; + font-size: 16px; + font-family: FontAwesome; + height: auto; + content: "\f107"; + font-weight: 300; + text-shadow:none; +} + +.header .hor-menu ul.nav > li .dropdown-menu > li > a > .arrow:before { + float: right; + margin-top: 1px; + margin-right: -5px; + display: inline; + font-size: 16px; + font-family: FontAwesome; + height: auto; + content: "\f105"; + font-weight: 300; + text-shadow:none; +} + +.header .hor-menu .dropdown-menu li > a:hover, +.header .hor-menu .dropdown-menu li:hover > a, +.header .hor-menu .dropdown-menu li.active > a { + color: #fff; + filter:none !important; + background: #e02222 !important; +} + +.header .hor-menu .nav > li > .dropdown-menu:after, +.header .hor-menu .nav > li > .dropdown-menu:before { + border-bottom: none !important; +} + +/*search*/ +.header .hor-menu .hor-menu-search-form-toggler { + display: inline-block; + padding: 11px 22px 11px 22px !important; + cursor: pointer; + background: url(../img/hor-menu-search.png) no-repeat center; +} + +.header .hor-menu .hor-menu-search-form-toggler:hover { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.header .hor-menu .hor-menu-search-form-toggler.hide { + background: #101010 url(../img/hor-menu-search-close.png) no-repeat center; +} + +.header .hor-menu a.hor-menu-search-form-toggler-close { + display: none; +} + +.header .hor-menu .search-form { + top:42px; + right:0px; + padding:8px; + display:none; + z-index:999; + position:absolute; + background:#101010; +} + +.header .hor-menu .search-form .btn { + color: #999; + padding: 7px 20px; + height: 32px; + width: 10px; + display: inline-block; + background: #2d2d2d url(../img/search-icon.png) no-repeat center; +} + +.header .hor-menu .search-form .btn:hover { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.header .hor-menu .search-form form { + margin-bottom: 0; +} + +.header .hor-menu .search-form form input { + color: #999; + border: none; +} + +.header .hor-menu .search-form form input::-webkit-input-placeholder { /* WebKit browsers */ + color: #999; +} +.header .hor-menu .search-form form input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #999; +} +.header .hor-menu .search-form form input::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #999; +} +.header .hor-menu .search-form form input:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #999; +} + +/*** +Dashboard Charts(new in v1.2.1) +***/ +.easy-pie-chart, +.sparkline-chart { + text-align: center; +} + +.sparkline-chart { + margin-top: 15px; + position:relative !important; +} + +.easy-pie-chart .number { + font-size: 16px; + font-weight: 300; + width: 85px; + margin: 0 auto; +} + +.sparkline-chart .number { + width: 100px; + margin: 0 auto; + margin-bottom: 10px; +} + +.sparkline-chart .title, +.easy-pie-chart .title { + display: block; + text-align: center; + color: #333; + font-weight: 300; + font-size: 16px; + margin-top: 5px; + margin-bottom: 10px; +} + +.sparkline-chart .title:hover, +.easy-pie-chart .title:hover { + color: #666; + text-decoration: none; +} + + +/*** +Top News Blocks(new in v1.2.2) +***/ +.top-news { + color: #fff; + margin: 8px 0; +} + +.top-news a, +.top-news em, +.top-news span { + display: block; + text-align: left; +} + +.top-news a { + padding: 10px; + position: relative; + margin-bottom: 10px; +} + +.top-news a .top-news-icon { + right: 8px; + bottom: 15px; + opacity:0.3; + font-size: 35px; + position: absolute; + filter: alpha(opacity=30); /*For IE8*/ +} + +.top-news em { + margin-bottom: 0; + font-style: normal; +} + +.top-news span { + font-size: 18px; + margin-bottom: 5px; +} + +/*** +Bootstrap Carousel(new in v1.2.2) +***/ +.carousel { + margin-bottom: 0; +} + +.carousel .carousel-caption a { + color: #fff; +} + +.carousel .carousel-inner .item { + margin-bottom: 10px; +} + +.carousel a.carousel-control { + border: none; + padding: 5px; + display: none; +} + +.carousel:hover a.carousel-control { + display: block; + width: 40px; + height: 40px; +} + +/*** +Block Images(new in v1.2.2) +***/ +.blog-images { + margin-bottom: 0; +} + +.blog-images li { + display: inline; +} + +.blog-images li a:hover { + text-decoration: none; +} + +.blog-images li img { + width: 50px; + height: 50px; + opacity: 0.6; + margin: 0 2px 8px; +} + +.blog-images li img:hover { + opacity: 1; + box-shadow: 0 0 0 4px #72c02c; + transition: all 0.4s ease-in-out 0s; + -moz-transition: all 0.4s ease-in-out 0s; + -webkit-transition: all 0.4s ease-in-out 0s; +} + +/*Sidebar Tags*/ +ul.sidebar-tags a { + color: #555; + font-size:12px; + padding:2px 5px; + background:#f7f7f7; + margin:0 2px 5px 0; + display:inline-block; +} + +ul.sidebar-tags a:hover, +ul.sidebar-tags a:hover i { + color:#fff; + background: #555; + text-decoration:none; + -webkit-transition:all 0.3s ease-in-out; + -moz-transition:all 0.3s ease-in-out; + -o-transition:all 0.3s ease-in-out; + transition:all 0.3s ease-in-out; +} + +ul.sidebar-tags a i { + color:#777; +} + +ul.sidebar-tags li { + padding: 0; +} + +/*** +Social Icons(new in v1.2.2) +***/ +.social-icons { + margin:0; +} + +.social-icons:after, +.social-icons:before { + content: ""; + display: table; +} + +.social-icons:after { + clear: both; +} + +.social-icons li { + float:left; + display:inline; + list-style:none; + margin-right:5px; + margin-bottom:5px; + text-indent:-9999px; +} +.social-icons li a, a.social-icon { + width:28px; + height:28px; + display:block; + background-position:0 0; + background-repeat:no-repeat; + transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -webkit-transition: all 0.3s ease-in-out; +} +.social-icons li:hover a { + background-position:0 -38px; +} + +.social-icons .amazon {background: url(../img/social/amazon.png) no-repeat;} +.social-icons .behance {background: url(../img/social/behance.png) no-repeat;} +.social-icons .blogger {background: url(../img/social/blogger.png) no-repeat;} +.social-icons .deviantart {background: url(../img/social/deviantart.png) no-repeat;} +.social-icons .dribbble {background: url(../img/social/dribbble.png) no-repeat;} +.social-icons .dropbox {background: url(../img/social/dropbox.png) no-repeat;} +.social-icons .evernote {background: url(../img/social/evernote.png) no-repeat;} +.social-icons .facebook {background: url(../img/social/facebook.png) no-repeat;} +.social-icons .forrst {background: url(../img/social/forrst.png) no-repeat;} +.social-icons .github {background: url(../img/social/github.png) no-repeat;} +.social-icons .googleplus {background: url(../img/social/googleplus.png) no-repeat;} +.social-icons .jolicloud {background: url(../img/social/jolicloud.png) no-repeat;} +.social-icons .last-fm {background: url(../img/social/last-fm.png) no-repeat;} +.social-icons .linkedin {background: url(../img/social/linkedin.png) no-repeat;} +.social-icons .picasa {background: url(../img/social/picasa.png) no-repeat;} +.social-icons .pintrest {background: url(../img/social/pintrest.png) no-repeat;} +.social-icons .rss {background: url(../img/social/rss.png) no-repeat;} +.social-icons .skype {background: url(../img/social/skype.png) no-repeat;} +.social-icons .spotify {background: url(../img/social/spotify.png) no-repeat;} +.social-icons .stumbleupon {background: url(../img/social/stumbleupon.png) no-repeat;} +.social-icons .tumblr {background: url(../img/social/tumblr.png) no-repeat;} +.social-icons .twitter {background: url(../img/social/twitter.png) no-repeat;} +.social-icons .vimeo {background: url(../img/social/vimeo.png) no-repeat;} +.social-icons .wordpress {background: url(../img/social/wordpress.png) no-repeat;} +.social-icons .xing {background: url(../img/social/xing.png) no-repeat;} +.social-icons .yahoo {background: url(../img/social/yahoo.png) no-repeat;} +.social-icons .youtube {background: url(../img/social/youtube.png) no-repeat;} + + + +/*** +Responsive tables(new in v1.2.3) +***/ + +.flip-scroll table { width: 100%; } + +@media only screen and (max-width: 800px) { + + .flip-scroll table {border-left: 1px solid #ddd} + .flip-scroll .flip-content:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } + .flip-scroll * html .flip-content { zoom: 1; } + .flip-scroll *:first-child+html .flip-content { zoom: 1; } + + .flip-scroll table { width: 100%; border-collapse: collapse; border-spacing: 0; } + + .flip-scroll th, + .flip-scroll td { margin: 0; vertical-align: top; } + .flip-scroll th { text-align: left; } + + .flip-scroll table { display: block; position: relative; width: 100%; } + .flip-scroll thead { display: block; float: left; } + .flip-scroll tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; } + .flip-scroll thead tr { display: block; } + .flip-scroll th { display: block; text-align: right; } + .flip-scroll tbody tr { display: inline-block; vertical-align: top; } + .flip-scroll td { display: block; min-height: 1.25em; text-align: left; } + + + /* sort out borders */ + + .flip-scroll th { border-bottom: 0; border-left: 0; } + .flip-scroll td { border-left: 0; border-right: 0; border-bottom: 0; } + .flip-scroll tbody tr { border-left: 1px solid #ddd; } + .flip-scroll th:last-child, + .flip-scroll td:last-child { border-bottom: 1px solid #ddd; } +} + +.no-more-tables table { + width: 100%; +} + +@media only screen and (max-width: 800px) { + + /* Force table to not be like tables anymore */ + .no-more-tables table, + .no-more-tables thead, + .no-more-tables tbody, + .no-more-tables th, + .no-more-tables td, + .no-more-tables tr { + display: block; + } + + /* Hide table headers (but not display: none;, for accessibility) */ + .no-more-tables thead tr { + position: absolute; + top: -9999px; + left: -9999px; + } + + .no-more-tables tr { + border-left: 1px solid #ddd; + border-bottom: 1px solid #ddd; + } + + .no-more-tables tr:last-child { + border-bottom: 0; + } + + .no-more-tables td { + /* Behave like a "row" */ + border: none; + border-bottom: 1px solid #eee; + position: relative; + padding-left: 50%; + white-space: normal; + text-align:left; + } + + .no-more-tables td:before { + /* Now like a table header */ + position: absolute; + /* Top/left values mimic padding */ + top: 6px; + left: 6px; + width: 45%; + padding-right: 10px; + white-space: nowrap; + text-align:left; + font-weight: bold; + } + + /* + Label the data + */ + .no-more-tables td:before { content: attr(data-title); } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/themes/blue.css b/www/themes/factuges/assets/css/themes/blue.css new file mode 100644 index 0000000..ab8e8c1 --- /dev/null +++ b/www/themes/factuges/assets/css/themes/blue.css @@ -0,0 +1,268 @@ +/*** +blue theme +***/ + +/*** +Reset and overrides +***/ +body { + background-color:#1570a6 !important; +} + +/*** +Page header +***/ +.header .navbar-inner { + filter:none !important; + background-image: none !important; + background-color: #1b2e44 !important; +} + +.header .btn-navbar { + background-color: #1b2e44 !important; +} + +.header .nav .dropdown-toggle:hover, +.header .nav .dropdown.open .dropdown-toggle { + background-color: #101e2f !important; +} + +.header .nav li.dropdown .dropdown-toggle i { + color: #4f6a89 !important; +} + +/*** +Page sidebar +***/ +.page-sidebar > ul > li > a { + border-top: 1px solid #2682b9 !important; + color: #fff !important; +} + +.page-sidebar > ul > li:first-child > a { + border-top: 1px solid transparent !important; +} + +.page-sidebar > ul > li:last-child > a { + border-bottom: 1px solid transparent !important; +} + +.page-sidebar > ul > li a i { + color: #3d98ce !important; +} + +.page-sidebar > ul > li.open > a, +.page-sidebar > ul > li >a:hover, +.page-sidebar > ul > li:hover>a { + background: #0e4686; +} + +.page-sidebar > ul > li.active > a{ + background: #0e4686 !important; + border-top-color: transparent !important; + color:#fff !important; +} + +.page-sidebar > ul > li > ul.sub-menu { + margin: 0px; + padding: 4px 0px; + background: #1b579b; +} + +.page-sidebar > ul > li > a > .arrow:before, +.page-sidebar > ul > li > a > .arrow.open:before { + color: #3d98ce !important; +} + +.page-sidebar > ul > li.active > a .arrow:before, +.page-sidebar > ul > li.active > a .arrow.open:before { + color: #fff !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li > a { + margin-left:0px; + padding-left: 50px; +} + +.page-sidebar > ul > li > ul.sub-menu > li:first-child > a { + border-top: 0px !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > a:hover { + color: #fff !important; + background: #2361a6 !important; +} + +/* 3rd level sub menu */ +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li > a:hover, +.page-sidebar > ul > li > ul.sub-menu > li.open > a { + color: #fff !important; + background: #2361a6 !important; +} + +.page-sidebar > ul > li > ul.sub-menu a .arrow:before, +.page-sidebar > ul > li > ul.sub-menu a .arrow.open:before { + color: #3d98ce !important; +} + +/* sidebar search */ + +.page-sidebar .sidebar-search input { + background-color: #1570a6 !important; + color: #3d98ce; +} + +.page-sidebar .sidebar-search input::-webkit-input-placeholder { + color: #3d98ce !important; +} + +.page-sidebar .sidebar-search input:-moz-placeholder { + color: #3d98ce !important; +} + +.page-sidebar .sidebar-search input:-ms-input-placeholder { + color: #3d98ce !important; +} + +.page-sidebar .sidebar-search .input-box { + border-bottom-color: #3a99d2 !important; +} + +.page-sidebar .sidebar-search .submit { + background-image: url(../../img/search-icon-blue.png); +} + +/*** +Sidebar toggler +***/ +.sidebar-toggler { + background-image: url(../../img/sidebar-toggler-blue.jpg); + background-color: #1570a6; +} + +/* search box bg color on expanded */ +.sidebar-closed .page-sidebar .sidebar-search.open { + background-color: #1570a6 !important; +} + +.sidebar-closed .page-sidebar .sidebar-search.open .remove { + background-image: url("../../img/sidebar-search-close-blue.png"); +} + +/* sub menu bg color on hover menu item */ +.sidebar-closed .page-sidebar > ul > li:hover .sub-menu { + background-color: #1570a6; +} + +/*** +Horizontal Menu(new in v1.2) +***/ + +/*search*/ +.header .hor-menu .hor-menu-search-form-toggler { + background: #122336 url(../../img/hor-menu-search.png) no-repeat center; +} + +.header .hor-menu .hor-menu-search-form-toggler.hide { + background: #122336 url(../../img/hor-menu-search-close.png) no-repeat center; +} + +.header .hor-menu .search-form { + background:#122336; +} + +.header .hor-menu .search-form .btn { + color: #999; + background: #192d43 url(../../img/search-icon.png) no-repeat center; +} + +.header .hor-menu .search-form form input { + color: #999; +} + +.header .hor-menu .search-form form input::-webkit-input-placeholder { /* WebKit browsers */ + color: #999; +} +.header .hor-menu .search-form form input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #999; +} +.header .hor-menu .search-form form input::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #999; +} +.header .hor-menu .search-form form input:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #999; +} + +/*** +Gritters +***/ +.gritter-top { + background:url(../../gritter/images/gritter-blue.png) no-repeat left -30px !important; +} + +.gritter-bottom { + background:url(../../gritter/images/gritter-blue.png) no-repeat left bottom !important; +} + +.gritter-item { + display:block; + background:url(../../gritter/images/gritter-blue.png) no-repeat left -40px !important; +} + +.gritter-close { + background:url(../../gritter/images/gritter-blue.png) no-repeat left top !important; +} + +.gritter-title { + text-shadow:none !important; /* Not supported by IE :( */ +} + +/* for the light (white) version of the gritter notice */ +.gritter-light .gritter-item, +.gritter-light .gritter-bottom, +.gritter-light .gritter-top, +.gritter-light .gritter-close { + background-image: url(../../gritter/images/gritter-light.png) !important; +} + + +/*** +Landscape phone to portrait tablet +***/ +@media (max-width:979px) { + /*** + page sidebar + ***/ + .page-sidebar { + background-color: #0d4687 !important; + } + + .page-sidebar > ul > li > a { + border-top: 1px solid #195dab !important; + } + + .page-sidebar > ul > li:first-child > a { + border-top: 0 !important; + } + + .page-sidebar > ul > li:last-child > a { + border-bottom: 0 !important; + } + + .page-sidebar > ul > li.has-sub.open > a, + .page-sidebar > ul > li >a:hover, + .page-sidebar > ul > li:hover>a { + background: #0e4686; + } + + + .page-sidebar .sidebar-search input{ + background-color: #0d4687 !important; + } + + .header .nav li.dropdown .dropdown-toggle i { + color: #b6cbd8 !important; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/themes/brown.css b/www/themes/factuges/assets/css/themes/brown.css new file mode 100644 index 0000000..d3749fb --- /dev/null +++ b/www/themes/factuges/assets/css/themes/brown.css @@ -0,0 +1,269 @@ +/*** +blue theme +***/ + +/*** +Reset and overrides +***/ +body { + background-color:#623f18 !important; +} + +/*** +Page header +***/ +.header .navbar-inner { + filter:none !important; + background-image: none !important; + background-color: #271c0f !important; +} + +.header .btn-navbar { + background-color: #271c0f !important; +} + +.header .nav .dropdown-toggle:hover, +.header .nav .dropdown.open .dropdown-toggle { + background-color: #1c1308 !important; +} + +.header .nav li.dropdown .dropdown-toggle i { + color: #856541 !important; +} + +/*** +Page sidebar +***/ +.page-sidebar > ul > li > a { + border-top: 1px solid #7e562a !important; + color: #fff !important; +} + +.page-sidebar > ul > li:first-child > a { + border-top: 1px solid transparent !important; +} + +.page-sidebar > ul > li:last-child > a { + border-bottom: 1px solid transparent !important; +} + +.page-sidebar > ul > li a i { + color: #9a6d3a !important; +} + +.page-sidebar > ul > li.has-sub.open > a, +.page-sidebar > ul > li >a:hover, +.page-sidebar > ul > li:hover>a { + background: #4e3112; +} + +.page-sidebar > ul > li.active > a{ + background: #4e3112 !important; + border-top-color: transparent !important; + color:#fff !important; +} + +.page-sidebar > ul > li > a > .arrow:before, +.page-sidebar > ul > li > a > .arrow.open:before { + color: #9a6d3a !important; +} + +.page-sidebar > ul > li.active > a .arrow:before, +.page-sidebar > ul > li.active > a .arrow.open:before { + color: #fff !important; +} + +.page-sidebar > ul > li > ul.sub-menu { + margin: 0px; + padding: 4px 0px; + background: #593915; +} + +.page-sidebar > ul > li > ul.sub-menu > li > a { + color: #fff; + margin-left:0px; + padding-left: 50px; + display: block; +} + +.page-sidebar > ul > li > ul.sub-menu > li:first-child > a { + border-top: 0px !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > a:hover { + color: #fff !important; + background: #644119 !important; +} + +/* 3rd level sub menu */ +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li > a:hover, +.page-sidebar > ul > li > ul.sub-menu > li.open > a { + color: #fff !important; + background: #644119 !important; +} + +.page-sidebar > ul > li > ul.sub-menu a .arrow:before, +.page-sidebar > ul > li > ul.sub-menu a .arrow.open:before { + color: #9a6d3a !important; +} + +/* sidebar search */ + +.page-sidebar .sidebar-search input { + background-color: #623f18 !important; + color: #b18d65; +} + +.page-sidebar .sidebar-search input::-webkit-input-placeholder { + color: #b18d65 !important; +} + +.page-sidebar .sidebar-search input:-moz-placeholder { + color: #b18d65 !important; +} + +.page-sidebar .sidebar-search input:-ms-input-placeholder { + color: #b18d65 !important; +} + +.page-sidebar .sidebar-search .input-box { + border-bottom-color: #845f36 !important; +} + +.page-sidebar .sidebar-search .submit { + background-image: url("../../img/search-icon-brown.png"); +} + +/*** +Sidebar toggler +***/ +.sidebar-toggler { + background-image: url("../../img/sidebar-toggler-brown.jpg"); + background-color: #333; +} + +/* search box bg color on expanded */ +.sidebar-closed .page-sidebar .sidebar-search.open { + background-color: #623f18 !important; +} + +.sidebar-closed .page-sidebar .sidebar-search.open .remove { + background-image: url("../../img/sidebar-search-close-brown.png"); +} + +/* sub menu bg color on hover menu item */ +.sidebar-closed .page-sidebar > ul > li:hover .sub-menu { + background-color: #593915; +} + +/*** +Horizontal Menu(new in v1.2) +***/ + +/*search*/ +.header .hor-menu .hor-menu-search-form-toggler { + background: #1c1308 url(../../img/hor-menu-search.png) no-repeat center; +} + +.header .hor-menu .hor-menu-search-form-toggler.hide { + background: #1c1308 url(../../img/hor-menu-search-close.png) no-repeat center; +} + +.header .hor-menu .search-form { + background:#1c1308; +} + +.header .hor-menu .search-form .btn { + color: #999; + background: #3b2914 url(../../img/search-icon.png) no-repeat center; +} + +.header .hor-menu .search-form form input { + color: #999; +} + +.header .hor-menu .search-form form input::-webkit-input-placeholder { /* WebKit browsers */ + color: #999; +} +.header .hor-menu .search-form form input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #999; +} +.header .hor-menu .search-form form input::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #999; +} +.header .hor-menu .search-form form input:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #999; +} + +/*** +Gritters +***/ +.gritter-top { + background:url(../../gritter/images/gritter-brown.png) no-repeat left -30px !important; +} + +.gritter-bottom { + background:url(../../gritter/images/gritter-brown.png) no-repeat left bottom !important; +} + +.gritter-item { + display:block; + background:url(../../gritter/images/gritter-brown.png) no-repeat left -40px !important; +} + +.gritter-close { + background:url(../../gritter/images/gritter-brown.png) no-repeat left top !important; +} + +.gritter-title { + text-shadow:none !important; /* Not supported by IE :( */ +} + +/* for the light (white) version of the gritter notice */ +.gritter-light .gritter-item, +.gritter-light .gritter-bottom, +.gritter-light .gritter-top, +.gritter-light .gritter-close { + background-image: url(../../gritter/images/gritter-light.png) !important; +} + +/*** +Landscape phone to portrait tablet +***/ +@media (max-width:979px) { + /*** + page sidebar + ***/ + .page-sidebar { + background-color: #3f260a !important; + } + + .page-sidebar > ul > li > a { + border-top: 1px solid #633f18 !important; + } + + .page-sidebar > ul > li:first-child > a { + border-top: 0 !important; + } + + .page-sidebar > ul > li:last-child > a { + border-bottom: 0 !important; + } + + .page-sidebar > ul > li.open > a, + .page-sidebar > ul > li >a:hover, + .page-sidebar > ul > li:hover>a { + background: #4e3112; + } + + + .page-sidebar .sidebar-search input{ + background-color: #3f260a !important; + } + + .header .nav li.dropdown .dropdown-toggle i { + color: #8d6231 !important; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/themes/default.css b/www/themes/factuges/assets/css/themes/default.css new file mode 100644 index 0000000..e334f11 --- /dev/null +++ b/www/themes/factuges/assets/css/themes/default.css @@ -0,0 +1,208 @@ +/*** +default theme +***/ + +/*** +Reset and overrides +***/ +body { + background-color:#3d3d3d !important; +} + +/*** +Page header +***/ +.header .navbar-inner { + filter:none !important; + background-image: none !important; + background-color: #1f1f1f !important; +} + +.header .btn-navbar { + background-color: #1f1f1f !important; +} + +.header .nav .dropdown-toggle:hover, +.header .nav .dropdown.open .dropdown-toggle { + background-color: #333 !important; +} + +.header .nav li.dropdown .dropdown-toggle i { + color: #808080 !important; +} + +/*** +Page sidebar +***/ +.page-sidebar > ul > li > a { + border-top: 1px solid #595959 !important; + color: #fff !important; +} + +.page-sidebar > ul > li:last-child > a { + border-bottom: 1px solid transparent !important; +} + +.page-sidebar > ul > li a i { + color: #808080; +} + +.page-sidebar > ul > li.open > a, +.page-sidebar > ul > li >a:hover, +.page-sidebar > ul > li:hover >a { + background: #313131; +} + + +.page-sidebar > ul > li.active > a { + background: #e02222 !important; + border-top-color: transparent !important; + color:#fff; +} + +.page-sidebar > ul > li.active > a i { + color:#fff; +} + +.page-sidebar > ul > li > a.open { + background: #313131; +} + +.page-sidebar ul > li > a > .arrow:before, +.page-sidebar > ul > li > a > .arrow.open:before { + color: #919091 !important; +} + +.page-sidebar ul > li.active > a .arrow:before, +.page-sidebar > ul > li.active > a .arrow.open:before { + color: #fff !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li > a { + margin-left:0px; + padding-left: 5px; +} + +.page-sidebar > ul > li > ul.sub-menu > li:first-child > a { + border-top: 0px !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > a:hover { + color: #fff !important; + background: #4b4b4b !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li > a:hover { + background: #4b4b4b !important; +} + +/* 3rd level sub menu */ +.page-sidebar > ul > li > ul.sub-menu li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu li > ul.sub-menu > li > a:hover, +.page-sidebar > ul > li > ul.sub-menu li.open > a { + color: #fff !important; + background: #4b4b4b !important; +} + +.page-sidebar > ul > li > ul.sub-menu a .arrow:before, +.page-sidebar > ul > li > ul.sub-menu a .arrow.open:before { + color: #626262 !important; +} + +/* sidebar search */ + +.page-sidebar .sidebar-search input{ + background-color: #3d3d3d !important; + color: #bababa !important; +} + +.page-sidebar .sidebar-search .input-box { + border-bottom-color: #959595 !important; +} + +.page-sidebar .sidebar-search .submit { + background-image: url(../../img/search-icon.png); +} + +/*** +Sidebar toggler +***/ +.sidebar-toggler { + background-image: url(../../img/sidebar-toggler.jpg); + background-color: #333; +} + +/* search box bg color on expanded */ +.sidebar-closed .page-sidebar .sidebar-search.open { + background-color: #3d3d3d !important; +} + +.sidebar-closed .page-sidebar .sidebar-search.open .remove { + background-image: url("../../img/sidebar-search-close.png"); +} + +/* sub menu bg color on hover menu item */ +.sidebar-closed .page-sidebar > ul > li:hover .sub-menu { + background-color: #3d3d3d; +} + +/*** +Horizontal Menu(new in v1.2) +***/ + +/*search*/ + +.header .hor-menu .hor-menu-search-form-toggler.hide { + background: #101010 url(../../img/hor-menu-search-close.png) no-repeat center; +} + +.header .hor-menu .search-form { + background:#101010; +} + +.header .hor-menu .search-form .btn { + color: #999; + background: #2d2d2d url(../../img/search-icon.png) no-repeat center; +} + +.header .hor-menu .search-form form input { + color: #999; +} + +.header .hor-menu .search-form form input::-webkit-input-placeholder { /* WebKit browsers */ + color: #999; +} +.header .hor-menu .search-form form input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #999; +} +.header .hor-menu .search-form form input::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #999; +} +.header .hor-menu .search-form form input:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #999; +} + +/*** +Landscape phone to portrait tablet +***/ +@media (max-width:979px) { + /*** + page sidebar + ***/ + .page-sidebar { + background-color: #232427 !important; + } + + .page-sidebar > ul > li > a { + border-top: 1px solid #2c2d30 !important; + } + + .page-sidebar > ul > li:last-child > a { + border-bottom: 0 !important; + } + + .page-sidebar .sidebar-search input{ + background-color: #232427 !important; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/themes/light.css b/www/themes/factuges/assets/css/themes/light.css new file mode 100644 index 0000000..aab61e5 --- /dev/null +++ b/www/themes/factuges/assets/css/themes/light.css @@ -0,0 +1,251 @@ +/*** +blue theme +***/ + +/*** +Reset and overrides +***/ +body { + background-color:#fafafa !important; +} + +/*** +Page header +***/ +.header .navbar-inner { + filter:none !important; + background-image: none !important; + background-color: #434343 !important; +} + +.header .btn-navbar { + background-color: #434343 !important; +} + +.header .nav .dropdown-toggle:hover, +.header .nav .dropdown.open .dropdown-toggle { + background-color: #4f4f4f !important; +} + +.header .nav li.dropdown .dropdown-toggle i { + color: #808080 !important; +} + +/*** +Page sidebar +***/ +.page-content { + border-left: 1px solid #e2e2e2 !important; + border-bottom: 1px solid #e2e2e2 !important; +} + +.page-sidebar > ul > li > a { + border-top: 1px solid #e2e2e2 !important; + color: #000 !important; + font-weight: 400; +} + +.page-sidebar > ul > li:first-child > a { + border-top: 1px solid transparent !important; +} + +.page-sidebar > ul > li:last-child > a { + border-bottom: 1px solid transparent !important; +} + +.page-sidebar > ul > li a i { + color: #ccc !important; +} + +.page-sidebar > ul > li.open > a, +.page-sidebar > ul > li > a:hover, +.page-sidebar > ul > li:hover>a { + background: #eee; + border-top: 1px solid #e8e8e8; +} + +.page-sidebar > ul > li.active > a .selected { + right:-7px; + top:1px; + width: 7px; + height: 39px; + background-image: url("../../img/sidebar-menu-arrow-green.png"); +} + +.page-sidebar > ul > li.active > a{ + background: #28b779 !important; + border-top-color: transparent !important; + color:#fff !important; +} +.page-sidebar > ul > li.active > a i { + color:#fff !important; +} +.page-sidebar > ul > li > a.open { + background: #fff; +} + +.page-sidebar > ul > li > a > .arrow:before, +.page-sidebar > ul > li > a > .arrow.open:before { + color: #ccc !important; +} + +.page-sidebar > ul > li.active > a .arrow:before, +.page-sidebar > ul > li.active > a .arrow.open:before { + color: #fff !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li > a { + margin-left:0px; + padding-left: 50px; + color: #222 !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li:first-child > a { + border-top: 0px !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > a:hover { + color: #818181 !important; + background: #efefef !important; +} + +/* 3rd level sub menu */ + +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li > a:hover, +.page-sidebar > ul > li > ul.sub-menu > li.open > a { + color: #818181 !important; + background: #efefef !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li > a { + color: #222 !important; +} + +.page-sidebar > ul > li > ul.sub-menu a .arrow:before, +.page-sidebar > ul > li > ul.sub-menu a .arrow.open:before { + color: #ccc !important; +} + +/* sidebar search */ + +.page-sidebar .sidebar-search input{ + background-color: #fbfbfb !important; + color: #727272 !important; +} + +.page-sidebar .sidebar-search .input-box { + border-bottom-color: #cccccc !important; +} + +.page-sidebar .sidebar-search .submit { + background-image: url(../../img/search-icon-white.png); +} + +/*** +Sidebar toggler +***/ +.sidebar-toggler { + background-image: url(../../img/sidebar-toggler-light.jpg); + background-color: #333; +} + +/* search box bg color on expanded */ +.sidebar-closed .page-sidebar .sidebar-search.open { + background-color: #fbfbfb !important; +} + +.sidebar-closed .page-sidebar .sidebar-search.open .remove { + background-image: url("../../img/sidebar-search-close-light.png"); +} + +/* sub menu bg color on hover menu item */ +.sidebar-closed .page-sidebar > ul > li:hover .sub-menu { + background-color: #fbfbfb; +} + +/*** +Horizontal Menu(new in v1.2) +***/ + +/*search*/ +.header .hor-menu .hor-menu-search-form-toggler { + background: #363636 url(../../img/hor-menu-search.png) no-repeat center; +} + +.header .hor-menu .hor-menu-search-form-toggler.hide { + background: #363636 url(../../img/hor-menu-search-close.png) no-repeat center; +} + +.header .hor-menu .search-form { + background:#363636; +} + +.header .hor-menu .search-form .btn { + color: #999; + background: #3b3b3b url(../../img/search-icon.png) no-repeat center; +} + +.header .hor-menu .search-form form input { + color: #999; +} + +.header .hor-menu .search-form form input::-webkit-input-placeholder { /* WebKit browsers */ + color: #999; +} +.header .hor-menu .search-form form input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #999; +} +.header .hor-menu .search-form form input::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #999; +} +.header .hor-menu .search-form form input:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #999; +} + + +/*** +Landscape phone to portrait tablet +***/ +@media (max-width:979px) { + /*** + page sidebar + ***/ + .page-sidebar { + background-color: #f1f1f1 !important; + border-right: none !important; + } + + .page-sidebar > ul > li > a { + border-top: 1px solid #ccc !important; + } + + .page-sidebar > ul > li:first-child > a { + border-top: 0 !important; + } + + .page-sidebar > ul > li:last-child > a { + border-bottom: 0 !important; + } + + .page-sidebar > ul > li.open > a, + .page-sidebar > ul > li >a:hover, + .page-sidebar > ul > li:hover>a { + background: #ccc; + } + + .page-sidebar > ul > li > a:hover > i { + color: #333 !important; + } + + .page-sidebar > ul > li > ul.sub-menu > li.active > a, + .page-sidebar > ul > li > ul.sub-menu > li > a:hover { + background: #ccc !important; + } + + + .page-sidebar .sidebar-search input{ + background-color: #f1f1f1 !important; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/css/themes/purple.css b/www/themes/factuges/assets/css/themes/purple.css new file mode 100644 index 0000000..2452476 --- /dev/null +++ b/www/themes/factuges/assets/css/themes/purple.css @@ -0,0 +1,270 @@ +/*** +blue theme +***/ + +/*** +Reset and overrides +***/ +body { + background-color:#701584 !important; +} + +/*** +Page header +***/ +.header .navbar-inner { + filter:none !important; + background-image: none !important; + background-color: #3f084b !important; +} + +.header .btn-navbar { + background-color: #3f084b !important; +} + +.header .nav .dropdown-toggle:hover, +.header .nav .dropdown.open .dropdown-toggle { + background-color: #290331 !important; +} + +.header .nav li.dropdown .dropdown-toggle i { + color: #863698 !important; +} + +/*** +Page sidebar +***/ +.page-sidebar > ul > li > a { + border-top: 1px solid #8c23a3 !important; + color: #fff !important; +} + +.page-sidebar > ul > li:first-child > a { + border-top: 1px solid transparent !important; +} + +.page-sidebar > ul > li:last-child > a { + border-bottom: 1px solid transparent !important; +} + +.page-sidebar > ul > li a i { + color: #b348cb !important; +} + +.page-sidebar > ul > li.open > a, +.page-sidebar > ul > li >a:hover, +.page-sidebar > ul > li:hover>a { + background: #571067; +} + +.page-sidebar > ul > li.active > a{ + background: #571067 !important; + border-top-color: transparent !important; + color:#fff !important; +} + +.page-sidebar > ul > li > ul.sub-menu { + margin: 0px; + padding: 4px 0px; + background: #641775; +} + +.page-sidebar > ul > li > ul.sub-menu > li > a { + color: #fff; + margin-left:0px; + padding-left: 50px; + display: block; +} + +.page-sidebar > ul > li > a > .arrow:before, +.page-sidebar > ul > li > a > .arrow.open:before { + color: #b348cb !important; +} + +.page-sidebar > ul > li.active > a .arrow:before, +.page-sidebar > ul > li.active > a .arrow.open:before { + color: #fff !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li:first-child > a { + border-top: 0px !important; +} + +.page-sidebar > ul > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > a:hover { + color: #fff !important; + background: #6f1d80 !important; +} + +/* 3rd level sub menu */ +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li.active > a, +.page-sidebar > ul > li > ul.sub-menu > li > ul.sub-menu > li > a:hover, +.page-sidebar > ul > li > ul.sub-menu > li.open > a { + color: #fff !important; + background: #6f1d80 !important; +} + +.page-sidebar > ul > li > ul.sub-menu a .arrow:before, +.page-sidebar > ul > li > ul.sub-menu a .arrow.open:before { + color: #b348cb !important; +} + +/* sidebar search */ + +.page-sidebar .sidebar-search input { + background-color: #701584 !important; + color: #bf55d7; +} + +.page-sidebar .sidebar-search input::-webkit-input-placeholder { + color: #b84dd0 !important; +} + +.page-sidebar .sidebar-search input:-moz-placeholder { + color: #b84dd0 !important; +} + +.page-sidebar .sidebar-search input:-ms-input-placeholder { + color: #b84dd0 !important; +} + +.page-sidebar .sidebar-search .input-box { + border-bottom-color: #a93bc1 !important; +} + +.page-sidebar .sidebar-search .submit { + background-image: url(../../img/search-icon-purple.png); +} + +/*** +Sidebar toggler +***/ +.sidebar-toggler { + background-image: url(../../img/sidebar-toggler-purple.jpg); + background-color: #333; +} + +/* search box bg color on expanded */ +.sidebar-closed .page-sidebar .sidebar-search.open { + background-color: #701584 !important; +} + +.sidebar-closed .page-sidebar .sidebar-search.open .remove { + background-image: url("../../img/sidebar-search-close-purple.png"); +} + +/* sub menu bg color on hover menu item */ +.sidebar-closed .page-sidebar > ul > li:hover .sub-menu { + background-color: #641775; +} + +/*** +Horizontal Menu(new in v1.2) +***/ + +/*search*/ +.header .hor-menu .hor-menu-search-form-toggler { + background: #33073c url(../../img/hor-menu-search.png) no-repeat center; +} + +.header .hor-menu .hor-menu-search-form-toggler.hide { + background: #33073c url(../../img/hor-menu-search-close.png) no-repeat center; +} + +.header .hor-menu .search-form { + background:#33073c; +} + +.header .hor-menu .search-form .btn { + color: #999; + background: #420d4e url(../../img/search-icon.png) no-repeat center; +} + +.header .hor-menu .search-form form input { + color: #999; +} + +.header .hor-menu .search-form form input::-webkit-input-placeholder { /* WebKit browsers */ + color: #999; +} +.header .hor-menu .search-form form input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #999; +} +.header .hor-menu .search-form form input::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #999; +} +.header .hor-menu .search-form form input:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #999; +} + +/*** +Gritters +***/ +.gritter-top { + background:url(../../gritter/images/gritter-purple.png) no-repeat left -30px !important; +} + +.gritter-bottom { + background:url(../../gritter/images/gritter-purple.png) no-repeat left bottom !important; +} + +.gritter-item { + display:block; + background:url(../../gritter/images/gritter-purple.png) no-repeat left -40px !important; +} + +.gritter-close { + background:url(../../gritter/images/gritter-purple.png) no-repeat left top !important; +} + +.gritter-title { + text-shadow:none !important; /* Not supported by IE :( */ +} + +/* for the light (white) version of the gritter notice */ +.gritter-light .gritter-item, +.gritter-light .gritter-bottom, +.gritter-light .gritter-top, +.gritter-light .gritter-close { + background-image: url(../../gritter/images/gritter-light.png) !important; +} + + +/*** +Landscape phone to portrait tablet +***/ +@media (max-width:979px) { + /*** + page sidebar + ***/ + .page-sidebar { + background-color: #4c095b !important; + } + + .page-sidebar > ul > li > a { + border-top: 1px solid #701584 !important; + } + + .page-sidebar > ul > li:first-child > a { + border-top: 0 !important; + } + + .page-sidebar > ul > li:last-child > a { + border-bottom: 0 !important; + } + + .page-sidebar > ul > li.open > a, + .page-sidebar > ul > li >a:hover, + .page-sidebar > ul > li:hover>a { + background: #571067; + } + + + .page-sidebar .sidebar-search input{ + background-color: #4c095b !important; + } + + .header .nav li.dropdown .dropdown-toggle i { + color: #b6cbd8 !important; + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/favicon.ico b/www/themes/factuges/assets/favicon.ico new file mode 100644 index 0000000..3845735 Binary files /dev/null and b/www/themes/factuges/assets/favicon.ico differ diff --git a/www/themes/factuges/assets/fonts/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff b/www/themes/factuges/assets/fonts/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff new file mode 100644 index 0000000..99f3353 Binary files /dev/null and b/www/themes/factuges/assets/fonts/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff differ diff --git a/www/themes/factuges/assets/fonts/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff b/www/themes/factuges/assets/fonts/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff new file mode 100644 index 0000000..e83bb33 Binary files /dev/null and b/www/themes/factuges/assets/fonts/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff differ diff --git a/www/themes/factuges/assets/fonts/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff b/www/themes/factuges/assets/fonts/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff new file mode 100644 index 0000000..55b25f8 Binary files /dev/null and b/www/themes/factuges/assets/fonts/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff differ diff --git a/www/themes/factuges/assets/fonts/font.css b/www/themes/factuges/assets/fonts/font.css new file mode 100644 index 0000000..2b80df1 --- /dev/null +++ b/www/themes/factuges/assets/fonts/font.css @@ -0,0 +1,24 @@ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(../fonts/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(../fonts/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(../fonts/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../fonts/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} \ No newline at end of file diff --git a/www/themes/factuges/assets/fonts/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff b/www/themes/factuges/assets/fonts/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff new file mode 100644 index 0000000..27619e7 Binary files /dev/null and b/www/themes/factuges/assets/fonts/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff differ diff --git a/www/themes/factuges/assets/img/ajax-loading.gif b/www/themes/factuges/assets/img/ajax-loading.gif new file mode 100644 index 0000000..115f898 Binary files /dev/null and b/www/themes/factuges/assets/img/ajax-loading.gif differ diff --git a/www/themes/factuges/assets/img/arrow-down.png b/www/themes/factuges/assets/img/arrow-down.png new file mode 100644 index 0000000..c503da9 Binary files /dev/null and b/www/themes/factuges/assets/img/arrow-down.png differ diff --git a/www/themes/factuges/assets/img/avatar.png b/www/themes/factuges/assets/img/avatar.png new file mode 100644 index 0000000..2a14b35 Binary files /dev/null and b/www/themes/factuges/assets/img/avatar.png differ diff --git a/www/themes/factuges/assets/img/avatar1.jpg b/www/themes/factuges/assets/img/avatar1.jpg new file mode 100644 index 0000000..d5fa7b6 Binary files /dev/null and b/www/themes/factuges/assets/img/avatar1.jpg differ diff --git a/www/themes/factuges/assets/img/avatar1_small.jpg b/www/themes/factuges/assets/img/avatar1_small.jpg new file mode 100644 index 0000000..7c91e85 Binary files /dev/null and b/www/themes/factuges/assets/img/avatar1_small.jpg differ diff --git a/www/themes/factuges/assets/img/avatar2.jpg b/www/themes/factuges/assets/img/avatar2.jpg new file mode 100644 index 0000000..dc65a93 Binary files /dev/null and b/www/themes/factuges/assets/img/avatar2.jpg differ diff --git a/www/themes/factuges/assets/img/avatar3.jpg b/www/themes/factuges/assets/img/avatar3.jpg new file mode 100644 index 0000000..9955595 Binary files /dev/null and b/www/themes/factuges/assets/img/avatar3.jpg differ diff --git a/www/themes/factuges/assets/img/avatar3_small.jpg b/www/themes/factuges/assets/img/avatar3_small.jpg new file mode 100644 index 0000000..d7d481b Binary files /dev/null and b/www/themes/factuges/assets/img/avatar3_small.jpg differ diff --git a/www/themes/factuges/assets/img/bg-opacity.png b/www/themes/factuges/assets/img/bg-opacity.png new file mode 100644 index 0000000..1be54cb Binary files /dev/null and b/www/themes/factuges/assets/img/bg-opacity.png differ diff --git a/www/themes/factuges/assets/img/blog/1.jpg b/www/themes/factuges/assets/img/blog/1.jpg new file mode 100644 index 0000000..e980118 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/1.jpg differ diff --git a/www/themes/factuges/assets/img/blog/10.jpg b/www/themes/factuges/assets/img/blog/10.jpg new file mode 100644 index 0000000..9d69540 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/10.jpg differ diff --git a/www/themes/factuges/assets/img/blog/11.jpg b/www/themes/factuges/assets/img/blog/11.jpg new file mode 100644 index 0000000..cc47542 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/11.jpg differ diff --git a/www/themes/factuges/assets/img/blog/12.jpg b/www/themes/factuges/assets/img/blog/12.jpg new file mode 100644 index 0000000..d52467c Binary files /dev/null and b/www/themes/factuges/assets/img/blog/12.jpg differ diff --git a/www/themes/factuges/assets/img/blog/13.jpg b/www/themes/factuges/assets/img/blog/13.jpg new file mode 100644 index 0000000..2270e37 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/13.jpg differ diff --git a/www/themes/factuges/assets/img/blog/14.jpg b/www/themes/factuges/assets/img/blog/14.jpg new file mode 100644 index 0000000..c03477c Binary files /dev/null and b/www/themes/factuges/assets/img/blog/14.jpg differ diff --git a/www/themes/factuges/assets/img/blog/15.jpg b/www/themes/factuges/assets/img/blog/15.jpg new file mode 100644 index 0000000..3c27827 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/15.jpg differ diff --git a/www/themes/factuges/assets/img/blog/16.jpg b/www/themes/factuges/assets/img/blog/16.jpg new file mode 100644 index 0000000..8b3b337 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/16.jpg differ diff --git a/www/themes/factuges/assets/img/blog/17.jpg b/www/themes/factuges/assets/img/blog/17.jpg new file mode 100644 index 0000000..fd4ad0f Binary files /dev/null and b/www/themes/factuges/assets/img/blog/17.jpg differ diff --git a/www/themes/factuges/assets/img/blog/18.jpg b/www/themes/factuges/assets/img/blog/18.jpg new file mode 100644 index 0000000..dc79166 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/18.jpg differ diff --git a/www/themes/factuges/assets/img/blog/19.jpg b/www/themes/factuges/assets/img/blog/19.jpg new file mode 100644 index 0000000..d5580e0 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/19.jpg differ diff --git a/www/themes/factuges/assets/img/blog/2.jpg b/www/themes/factuges/assets/img/blog/2.jpg new file mode 100644 index 0000000..00708d9 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/2.jpg differ diff --git a/www/themes/factuges/assets/img/blog/20.jpg b/www/themes/factuges/assets/img/blog/20.jpg new file mode 100644 index 0000000..1de8a3c Binary files /dev/null and b/www/themes/factuges/assets/img/blog/20.jpg differ diff --git a/www/themes/factuges/assets/img/blog/3.jpg b/www/themes/factuges/assets/img/blog/3.jpg new file mode 100644 index 0000000..4846ac2 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/3.jpg differ diff --git a/www/themes/factuges/assets/img/blog/4.jpg b/www/themes/factuges/assets/img/blog/4.jpg new file mode 100644 index 0000000..17c4b9d Binary files /dev/null and b/www/themes/factuges/assets/img/blog/4.jpg differ diff --git a/www/themes/factuges/assets/img/blog/5.jpg b/www/themes/factuges/assets/img/blog/5.jpg new file mode 100644 index 0000000..f5929f5 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/5.jpg differ diff --git a/www/themes/factuges/assets/img/blog/6.jpg b/www/themes/factuges/assets/img/blog/6.jpg new file mode 100644 index 0000000..2a70e41 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/6.jpg differ diff --git a/www/themes/factuges/assets/img/blog/7.jpg b/www/themes/factuges/assets/img/blog/7.jpg new file mode 100644 index 0000000..203b99e Binary files /dev/null and b/www/themes/factuges/assets/img/blog/7.jpg differ diff --git a/www/themes/factuges/assets/img/blog/8.jpg b/www/themes/factuges/assets/img/blog/8.jpg new file mode 100644 index 0000000..e754697 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/8.jpg differ diff --git a/www/themes/factuges/assets/img/blog/9.jpg b/www/themes/factuges/assets/img/blog/9.jpg new file mode 100644 index 0000000..22ec115 Binary files /dev/null and b/www/themes/factuges/assets/img/blog/9.jpg differ diff --git a/www/themes/factuges/assets/img/blog/Thumbs.db b/www/themes/factuges/assets/img/blog/Thumbs.db new file mode 100644 index 0000000..1be375c Binary files /dev/null and b/www/themes/factuges/assets/img/blog/Thumbs.db differ diff --git a/www/themes/factuges/assets/img/flags/ad.png b/www/themes/factuges/assets/img/flags/ad.png new file mode 100644 index 0000000..625ca84 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ad.png differ diff --git a/www/themes/factuges/assets/img/flags/ae.png b/www/themes/factuges/assets/img/flags/ae.png new file mode 100644 index 0000000..ef3a1ec Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ae.png differ diff --git a/www/themes/factuges/assets/img/flags/af.png b/www/themes/factuges/assets/img/flags/af.png new file mode 100644 index 0000000..a4742e2 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/af.png differ diff --git a/www/themes/factuges/assets/img/flags/ag.png b/www/themes/factuges/assets/img/flags/ag.png new file mode 100644 index 0000000..556d550 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ag.png differ diff --git a/www/themes/factuges/assets/img/flags/ai.png b/www/themes/factuges/assets/img/flags/ai.png new file mode 100644 index 0000000..74ed29d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ai.png differ diff --git a/www/themes/factuges/assets/img/flags/al.png b/www/themes/factuges/assets/img/flags/al.png new file mode 100644 index 0000000..92354cb Binary files /dev/null and b/www/themes/factuges/assets/img/flags/al.png differ diff --git a/www/themes/factuges/assets/img/flags/am.png b/www/themes/factuges/assets/img/flags/am.png new file mode 100644 index 0000000..344a2a8 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/am.png differ diff --git a/www/themes/factuges/assets/img/flags/an.png b/www/themes/factuges/assets/img/flags/an.png new file mode 100644 index 0000000..633e4b8 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/an.png differ diff --git a/www/themes/factuges/assets/img/flags/ao.png b/www/themes/factuges/assets/img/flags/ao.png new file mode 100644 index 0000000..bcbd1d6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ao.png differ diff --git a/www/themes/factuges/assets/img/flags/ar.png b/www/themes/factuges/assets/img/flags/ar.png new file mode 100644 index 0000000..e5ef8f1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ar.png differ diff --git a/www/themes/factuges/assets/img/flags/as.png b/www/themes/factuges/assets/img/flags/as.png new file mode 100644 index 0000000..32f30e4 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/as.png differ diff --git a/www/themes/factuges/assets/img/flags/at.png b/www/themes/factuges/assets/img/flags/at.png new file mode 100644 index 0000000..0f15f34 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/at.png differ diff --git a/www/themes/factuges/assets/img/flags/au.png b/www/themes/factuges/assets/img/flags/au.png new file mode 100644 index 0000000..a01389a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/au.png differ diff --git a/www/themes/factuges/assets/img/flags/aw.png b/www/themes/factuges/assets/img/flags/aw.png new file mode 100644 index 0000000..a3579c2 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/aw.png differ diff --git a/www/themes/factuges/assets/img/flags/ax.png b/www/themes/factuges/assets/img/flags/ax.png new file mode 100644 index 0000000..1eea80a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ax.png differ diff --git a/www/themes/factuges/assets/img/flags/az.png b/www/themes/factuges/assets/img/flags/az.png new file mode 100644 index 0000000..4ee9fe5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/az.png differ diff --git a/www/themes/factuges/assets/img/flags/ba.png b/www/themes/factuges/assets/img/flags/ba.png new file mode 100644 index 0000000..c774992 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ba.png differ diff --git a/www/themes/factuges/assets/img/flags/bb.png b/www/themes/factuges/assets/img/flags/bb.png new file mode 100644 index 0000000..0df19c7 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bb.png differ diff --git a/www/themes/factuges/assets/img/flags/bd.png b/www/themes/factuges/assets/img/flags/bd.png new file mode 100644 index 0000000..076a8bf Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bd.png differ diff --git a/www/themes/factuges/assets/img/flags/be.png b/www/themes/factuges/assets/img/flags/be.png new file mode 100644 index 0000000..d86ebc8 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/be.png differ diff --git a/www/themes/factuges/assets/img/flags/bf.png b/www/themes/factuges/assets/img/flags/bf.png new file mode 100644 index 0000000..ab5ce8f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bf.png differ diff --git a/www/themes/factuges/assets/img/flags/bg.png b/www/themes/factuges/assets/img/flags/bg.png new file mode 100644 index 0000000..0469f06 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bg.png differ diff --git a/www/themes/factuges/assets/img/flags/bh.png b/www/themes/factuges/assets/img/flags/bh.png new file mode 100644 index 0000000..ea8ce68 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bh.png differ diff --git a/www/themes/factuges/assets/img/flags/bi.png b/www/themes/factuges/assets/img/flags/bi.png new file mode 100644 index 0000000..5cc2e30 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bi.png differ diff --git a/www/themes/factuges/assets/img/flags/bj.png b/www/themes/factuges/assets/img/flags/bj.png new file mode 100644 index 0000000..1cc8b45 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bj.png differ diff --git a/www/themes/factuges/assets/img/flags/bm.png b/www/themes/factuges/assets/img/flags/bm.png new file mode 100644 index 0000000..c0c7aea Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bm.png differ diff --git a/www/themes/factuges/assets/img/flags/bn.png b/www/themes/factuges/assets/img/flags/bn.png new file mode 100644 index 0000000..8fb0984 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bn.png differ diff --git a/www/themes/factuges/assets/img/flags/bo.png b/www/themes/factuges/assets/img/flags/bo.png new file mode 100644 index 0000000..ce7ba52 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bo.png differ diff --git a/www/themes/factuges/assets/img/flags/br.png b/www/themes/factuges/assets/img/flags/br.png new file mode 100644 index 0000000..9b1a553 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/br.png differ diff --git a/www/themes/factuges/assets/img/flags/bs.png b/www/themes/factuges/assets/img/flags/bs.png new file mode 100644 index 0000000..639fa6c Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bs.png differ diff --git a/www/themes/factuges/assets/img/flags/bt.png b/www/themes/factuges/assets/img/flags/bt.png new file mode 100644 index 0000000..1d512df Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bt.png differ diff --git a/www/themes/factuges/assets/img/flags/bv.png b/www/themes/factuges/assets/img/flags/bv.png new file mode 100644 index 0000000..160b6b5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bv.png differ diff --git a/www/themes/factuges/assets/img/flags/bw.png b/www/themes/factuges/assets/img/flags/bw.png new file mode 100644 index 0000000..fcb1039 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bw.png differ diff --git a/www/themes/factuges/assets/img/flags/by.png b/www/themes/factuges/assets/img/flags/by.png new file mode 100644 index 0000000..504774e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/by.png differ diff --git a/www/themes/factuges/assets/img/flags/bz.png b/www/themes/factuges/assets/img/flags/bz.png new file mode 100644 index 0000000..be63ee1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/bz.png differ diff --git a/www/themes/factuges/assets/img/flags/ca.png b/www/themes/factuges/assets/img/flags/ca.png new file mode 100644 index 0000000..1f20419 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ca.png differ diff --git a/www/themes/factuges/assets/img/flags/catalonia.png b/www/themes/factuges/assets/img/flags/catalonia.png new file mode 100644 index 0000000..5041e30 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/catalonia.png differ diff --git a/www/themes/factuges/assets/img/flags/cc.png b/www/themes/factuges/assets/img/flags/cc.png new file mode 100644 index 0000000..aed3d3b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cc.png differ diff --git a/www/themes/factuges/assets/img/flags/cd.png b/www/themes/factuges/assets/img/flags/cd.png new file mode 100644 index 0000000..5e48942 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cd.png differ diff --git a/www/themes/factuges/assets/img/flags/cf.png b/www/themes/factuges/assets/img/flags/cf.png new file mode 100644 index 0000000..da687bd Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cf.png differ diff --git a/www/themes/factuges/assets/img/flags/cg.png b/www/themes/factuges/assets/img/flags/cg.png new file mode 100644 index 0000000..a859792 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cg.png differ diff --git a/www/themes/factuges/assets/img/flags/ch.png b/www/themes/factuges/assets/img/flags/ch.png new file mode 100644 index 0000000..242ec01 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ch.png differ diff --git a/www/themes/factuges/assets/img/flags/ci.png b/www/themes/factuges/assets/img/flags/ci.png new file mode 100644 index 0000000..3f2c62e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ci.png differ diff --git a/www/themes/factuges/assets/img/flags/ck.png b/www/themes/factuges/assets/img/flags/ck.png new file mode 100644 index 0000000..746d3d6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ck.png differ diff --git a/www/themes/factuges/assets/img/flags/cl.png b/www/themes/factuges/assets/img/flags/cl.png new file mode 100644 index 0000000..29c6d61 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cl.png differ diff --git a/www/themes/factuges/assets/img/flags/cm.png b/www/themes/factuges/assets/img/flags/cm.png new file mode 100644 index 0000000..f65c5bd Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cm.png differ diff --git a/www/themes/factuges/assets/img/flags/cn.png b/www/themes/factuges/assets/img/flags/cn.png new file mode 100644 index 0000000..8914414 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cn.png differ diff --git a/www/themes/factuges/assets/img/flags/co.png b/www/themes/factuges/assets/img/flags/co.png new file mode 100644 index 0000000..a118ff4 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/co.png differ diff --git a/www/themes/factuges/assets/img/flags/cr.png b/www/themes/factuges/assets/img/flags/cr.png new file mode 100644 index 0000000..c7a3731 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cr.png differ diff --git a/www/themes/factuges/assets/img/flags/cs.png b/www/themes/factuges/assets/img/flags/cs.png new file mode 100644 index 0000000..8254790 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cs.png differ diff --git a/www/themes/factuges/assets/img/flags/cu.png b/www/themes/factuges/assets/img/flags/cu.png new file mode 100644 index 0000000..083f1d6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cu.png differ diff --git a/www/themes/factuges/assets/img/flags/cv.png b/www/themes/factuges/assets/img/flags/cv.png new file mode 100644 index 0000000..a63f7ea Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cv.png differ diff --git a/www/themes/factuges/assets/img/flags/cx.png b/www/themes/factuges/assets/img/flags/cx.png new file mode 100644 index 0000000..48e31ad Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cx.png differ diff --git a/www/themes/factuges/assets/img/flags/cy.png b/www/themes/factuges/assets/img/flags/cy.png new file mode 100644 index 0000000..5b1ad6c Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cy.png differ diff --git a/www/themes/factuges/assets/img/flags/cz.png b/www/themes/factuges/assets/img/flags/cz.png new file mode 100644 index 0000000..c8403dd Binary files /dev/null and b/www/themes/factuges/assets/img/flags/cz.png differ diff --git a/www/themes/factuges/assets/img/flags/de.png b/www/themes/factuges/assets/img/flags/de.png new file mode 100644 index 0000000..ac4a977 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/de.png differ diff --git a/www/themes/factuges/assets/img/flags/dj.png b/www/themes/factuges/assets/img/flags/dj.png new file mode 100644 index 0000000..582af36 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/dj.png differ diff --git a/www/themes/factuges/assets/img/flags/dk.png b/www/themes/factuges/assets/img/flags/dk.png new file mode 100644 index 0000000..e2993d3 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/dk.png differ diff --git a/www/themes/factuges/assets/img/flags/dm.png b/www/themes/factuges/assets/img/flags/dm.png new file mode 100644 index 0000000..5fbffcb Binary files /dev/null and b/www/themes/factuges/assets/img/flags/dm.png differ diff --git a/www/themes/factuges/assets/img/flags/do.png b/www/themes/factuges/assets/img/flags/do.png new file mode 100644 index 0000000..5a04932 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/do.png differ diff --git a/www/themes/factuges/assets/img/flags/dz.png b/www/themes/factuges/assets/img/flags/dz.png new file mode 100644 index 0000000..335c239 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/dz.png differ diff --git a/www/themes/factuges/assets/img/flags/ec.png b/www/themes/factuges/assets/img/flags/ec.png new file mode 100644 index 0000000..0caa0b1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ec.png differ diff --git a/www/themes/factuges/assets/img/flags/ee.png b/www/themes/factuges/assets/img/flags/ee.png new file mode 100644 index 0000000..0c82efb Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ee.png differ diff --git a/www/themes/factuges/assets/img/flags/eg.png b/www/themes/factuges/assets/img/flags/eg.png new file mode 100644 index 0000000..8a3f7a1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/eg.png differ diff --git a/www/themes/factuges/assets/img/flags/eh.png b/www/themes/factuges/assets/img/flags/eh.png new file mode 100644 index 0000000..90a1195 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/eh.png differ diff --git a/www/themes/factuges/assets/img/flags/england.png b/www/themes/factuges/assets/img/flags/england.png new file mode 100644 index 0000000..3a7311d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/england.png differ diff --git a/www/themes/factuges/assets/img/flags/er.png b/www/themes/factuges/assets/img/flags/er.png new file mode 100644 index 0000000..13065ae Binary files /dev/null and b/www/themes/factuges/assets/img/flags/er.png differ diff --git a/www/themes/factuges/assets/img/flags/es.png b/www/themes/factuges/assets/img/flags/es.png new file mode 100644 index 0000000..c2de2d7 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/es.png differ diff --git a/www/themes/factuges/assets/img/flags/et.png b/www/themes/factuges/assets/img/flags/et.png new file mode 100644 index 0000000..2e893fa Binary files /dev/null and b/www/themes/factuges/assets/img/flags/et.png differ diff --git a/www/themes/factuges/assets/img/flags/europeanunion.png b/www/themes/factuges/assets/img/flags/europeanunion.png new file mode 100644 index 0000000..d6d8711 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/europeanunion.png differ diff --git a/www/themes/factuges/assets/img/flags/fam.png b/www/themes/factuges/assets/img/flags/fam.png new file mode 100644 index 0000000..cf50c75 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/fam.png differ diff --git a/www/themes/factuges/assets/img/flags/fi.png b/www/themes/factuges/assets/img/flags/fi.png new file mode 100644 index 0000000..14ec091 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/fi.png differ diff --git a/www/themes/factuges/assets/img/flags/fj.png b/www/themes/factuges/assets/img/flags/fj.png new file mode 100644 index 0000000..cee9988 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/fj.png differ diff --git a/www/themes/factuges/assets/img/flags/fk.png b/www/themes/factuges/assets/img/flags/fk.png new file mode 100644 index 0000000..ceaeb27 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/fk.png differ diff --git a/www/themes/factuges/assets/img/flags/fm.png b/www/themes/factuges/assets/img/flags/fm.png new file mode 100644 index 0000000..066bb24 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/fm.png differ diff --git a/www/themes/factuges/assets/img/flags/fo.png b/www/themes/factuges/assets/img/flags/fo.png new file mode 100644 index 0000000..cbceb80 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/fo.png differ diff --git a/www/themes/factuges/assets/img/flags/fr.png b/www/themes/factuges/assets/img/flags/fr.png new file mode 100644 index 0000000..8332c4e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/fr.png differ diff --git a/www/themes/factuges/assets/img/flags/ga.png b/www/themes/factuges/assets/img/flags/ga.png new file mode 100644 index 0000000..0e0d434 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ga.png differ diff --git a/www/themes/factuges/assets/img/flags/gb.png b/www/themes/factuges/assets/img/flags/gb.png new file mode 100644 index 0000000..ff701e1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gb.png differ diff --git a/www/themes/factuges/assets/img/flags/gd.png b/www/themes/factuges/assets/img/flags/gd.png new file mode 100644 index 0000000..9ab57f5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gd.png differ diff --git a/www/themes/factuges/assets/img/flags/ge.png b/www/themes/factuges/assets/img/flags/ge.png new file mode 100644 index 0000000..728d970 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ge.png differ diff --git a/www/themes/factuges/assets/img/flags/gf.png b/www/themes/factuges/assets/img/flags/gf.png new file mode 100644 index 0000000..8332c4e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gf.png differ diff --git a/www/themes/factuges/assets/img/flags/gh.png b/www/themes/factuges/assets/img/flags/gh.png new file mode 100644 index 0000000..4e2f896 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gh.png differ diff --git a/www/themes/factuges/assets/img/flags/gi.png b/www/themes/factuges/assets/img/flags/gi.png new file mode 100644 index 0000000..e76797f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gi.png differ diff --git a/www/themes/factuges/assets/img/flags/gl.png b/www/themes/factuges/assets/img/flags/gl.png new file mode 100644 index 0000000..ef12a73 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gl.png differ diff --git a/www/themes/factuges/assets/img/flags/gm.png b/www/themes/factuges/assets/img/flags/gm.png new file mode 100644 index 0000000..0720b66 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gm.png differ diff --git a/www/themes/factuges/assets/img/flags/gn.png b/www/themes/factuges/assets/img/flags/gn.png new file mode 100644 index 0000000..ea660b0 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gn.png differ diff --git a/www/themes/factuges/assets/img/flags/gp.png b/www/themes/factuges/assets/img/flags/gp.png new file mode 100644 index 0000000..dbb086d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gp.png differ diff --git a/www/themes/factuges/assets/img/flags/gq.png b/www/themes/factuges/assets/img/flags/gq.png new file mode 100644 index 0000000..ebe20a2 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gq.png differ diff --git a/www/themes/factuges/assets/img/flags/gr.png b/www/themes/factuges/assets/img/flags/gr.png new file mode 100644 index 0000000..8651ade Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gr.png differ diff --git a/www/themes/factuges/assets/img/flags/gs.png b/www/themes/factuges/assets/img/flags/gs.png new file mode 100644 index 0000000..7ef0bf5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gs.png differ diff --git a/www/themes/factuges/assets/img/flags/gt.png b/www/themes/factuges/assets/img/flags/gt.png new file mode 100644 index 0000000..c43a70d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gt.png differ diff --git a/www/themes/factuges/assets/img/flags/gu.png b/www/themes/factuges/assets/img/flags/gu.png new file mode 100644 index 0000000..92f37c0 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gu.png differ diff --git a/www/themes/factuges/assets/img/flags/gw.png b/www/themes/factuges/assets/img/flags/gw.png new file mode 100644 index 0000000..b37bcf0 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gw.png differ diff --git a/www/themes/factuges/assets/img/flags/gy.png b/www/themes/factuges/assets/img/flags/gy.png new file mode 100644 index 0000000..22cbe2f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/gy.png differ diff --git a/www/themes/factuges/assets/img/flags/hk.png b/www/themes/factuges/assets/img/flags/hk.png new file mode 100644 index 0000000..d5c380c Binary files /dev/null and b/www/themes/factuges/assets/img/flags/hk.png differ diff --git a/www/themes/factuges/assets/img/flags/hm.png b/www/themes/factuges/assets/img/flags/hm.png new file mode 100644 index 0000000..a01389a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/hm.png differ diff --git a/www/themes/factuges/assets/img/flags/hn.png b/www/themes/factuges/assets/img/flags/hn.png new file mode 100644 index 0000000..96f8388 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/hn.png differ diff --git a/www/themes/factuges/assets/img/flags/hr.png b/www/themes/factuges/assets/img/flags/hr.png new file mode 100644 index 0000000..696b515 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/hr.png differ diff --git a/www/themes/factuges/assets/img/flags/ht.png b/www/themes/factuges/assets/img/flags/ht.png new file mode 100644 index 0000000..416052a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ht.png differ diff --git a/www/themes/factuges/assets/img/flags/hu.png b/www/themes/factuges/assets/img/flags/hu.png new file mode 100644 index 0000000..7baafe4 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/hu.png differ diff --git a/www/themes/factuges/assets/img/flags/id.png b/www/themes/factuges/assets/img/flags/id.png new file mode 100644 index 0000000..c6bc0fa Binary files /dev/null and b/www/themes/factuges/assets/img/flags/id.png differ diff --git a/www/themes/factuges/assets/img/flags/ie.png b/www/themes/factuges/assets/img/flags/ie.png new file mode 100644 index 0000000..26baa31 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ie.png differ diff --git a/www/themes/factuges/assets/img/flags/il.png b/www/themes/factuges/assets/img/flags/il.png new file mode 100644 index 0000000..2ca772d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/il.png differ diff --git a/www/themes/factuges/assets/img/flags/in.png b/www/themes/factuges/assets/img/flags/in.png new file mode 100644 index 0000000..e4d7e81 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/in.png differ diff --git a/www/themes/factuges/assets/img/flags/io.png b/www/themes/factuges/assets/img/flags/io.png new file mode 100644 index 0000000..3e74b6a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/io.png differ diff --git a/www/themes/factuges/assets/img/flags/iq.png b/www/themes/factuges/assets/img/flags/iq.png new file mode 100644 index 0000000..878a351 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/iq.png differ diff --git a/www/themes/factuges/assets/img/flags/ir.png b/www/themes/factuges/assets/img/flags/ir.png new file mode 100644 index 0000000..c5fd136 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ir.png differ diff --git a/www/themes/factuges/assets/img/flags/is.png b/www/themes/factuges/assets/img/flags/is.png new file mode 100644 index 0000000..b8f6d0f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/is.png differ diff --git a/www/themes/factuges/assets/img/flags/it.png b/www/themes/factuges/assets/img/flags/it.png new file mode 100644 index 0000000..89692f7 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/it.png differ diff --git a/www/themes/factuges/assets/img/flags/jm.png b/www/themes/factuges/assets/img/flags/jm.png new file mode 100644 index 0000000..7be119e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/jm.png differ diff --git a/www/themes/factuges/assets/img/flags/jo.png b/www/themes/factuges/assets/img/flags/jo.png new file mode 100644 index 0000000..11bd497 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/jo.png differ diff --git a/www/themes/factuges/assets/img/flags/jp.png b/www/themes/factuges/assets/img/flags/jp.png new file mode 100644 index 0000000..325fbad Binary files /dev/null and b/www/themes/factuges/assets/img/flags/jp.png differ diff --git a/www/themes/factuges/assets/img/flags/ke.png b/www/themes/factuges/assets/img/flags/ke.png new file mode 100644 index 0000000..51879ad Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ke.png differ diff --git a/www/themes/factuges/assets/img/flags/kg.png b/www/themes/factuges/assets/img/flags/kg.png new file mode 100644 index 0000000..0a818f6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/kg.png differ diff --git a/www/themes/factuges/assets/img/flags/kh.png b/www/themes/factuges/assets/img/flags/kh.png new file mode 100644 index 0000000..30f6bb1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/kh.png differ diff --git a/www/themes/factuges/assets/img/flags/ki.png b/www/themes/factuges/assets/img/flags/ki.png new file mode 100644 index 0000000..2dcce4b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ki.png differ diff --git a/www/themes/factuges/assets/img/flags/km.png b/www/themes/factuges/assets/img/flags/km.png new file mode 100644 index 0000000..812b2f5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/km.png differ diff --git a/www/themes/factuges/assets/img/flags/kn.png b/www/themes/factuges/assets/img/flags/kn.png new file mode 100644 index 0000000..febd5b4 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/kn.png differ diff --git a/www/themes/factuges/assets/img/flags/kp.png b/www/themes/factuges/assets/img/flags/kp.png new file mode 100644 index 0000000..d3d509a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/kp.png differ diff --git a/www/themes/factuges/assets/img/flags/kr.png b/www/themes/factuges/assets/img/flags/kr.png new file mode 100644 index 0000000..9c0a78e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/kr.png differ diff --git a/www/themes/factuges/assets/img/flags/kw.png b/www/themes/factuges/assets/img/flags/kw.png new file mode 100644 index 0000000..96546da Binary files /dev/null and b/www/themes/factuges/assets/img/flags/kw.png differ diff --git a/www/themes/factuges/assets/img/flags/ky.png b/www/themes/factuges/assets/img/flags/ky.png new file mode 100644 index 0000000..15c5f8e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ky.png differ diff --git a/www/themes/factuges/assets/img/flags/kz.png b/www/themes/factuges/assets/img/flags/kz.png new file mode 100644 index 0000000..45a8c88 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/kz.png differ diff --git a/www/themes/factuges/assets/img/flags/la.png b/www/themes/factuges/assets/img/flags/la.png new file mode 100644 index 0000000..e28acd0 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/la.png differ diff --git a/www/themes/factuges/assets/img/flags/lb.png b/www/themes/factuges/assets/img/flags/lb.png new file mode 100644 index 0000000..d0d452b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/lb.png differ diff --git a/www/themes/factuges/assets/img/flags/lc.png b/www/themes/factuges/assets/img/flags/lc.png new file mode 100644 index 0000000..a47d065 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/lc.png differ diff --git a/www/themes/factuges/assets/img/flags/li.png b/www/themes/factuges/assets/img/flags/li.png new file mode 100644 index 0000000..6469909 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/li.png differ diff --git a/www/themes/factuges/assets/img/flags/lk.png b/www/themes/factuges/assets/img/flags/lk.png new file mode 100644 index 0000000..088aad6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/lk.png differ diff --git a/www/themes/factuges/assets/img/flags/lr.png b/www/themes/factuges/assets/img/flags/lr.png new file mode 100644 index 0000000..89a5bc7 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/lr.png differ diff --git a/www/themes/factuges/assets/img/flags/ls.png b/www/themes/factuges/assets/img/flags/ls.png new file mode 100644 index 0000000..33fdef1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ls.png differ diff --git a/www/themes/factuges/assets/img/flags/lt.png b/www/themes/factuges/assets/img/flags/lt.png new file mode 100644 index 0000000..c8ef0da Binary files /dev/null and b/www/themes/factuges/assets/img/flags/lt.png differ diff --git a/www/themes/factuges/assets/img/flags/lu.png b/www/themes/factuges/assets/img/flags/lu.png new file mode 100644 index 0000000..4cabba9 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/lu.png differ diff --git a/www/themes/factuges/assets/img/flags/lv.png b/www/themes/factuges/assets/img/flags/lv.png new file mode 100644 index 0000000..49b6998 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/lv.png differ diff --git a/www/themes/factuges/assets/img/flags/ly.png b/www/themes/factuges/assets/img/flags/ly.png new file mode 100644 index 0000000..b163a9f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ly.png differ diff --git a/www/themes/factuges/assets/img/flags/ma.png b/www/themes/factuges/assets/img/flags/ma.png new file mode 100644 index 0000000..f386770 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ma.png differ diff --git a/www/themes/factuges/assets/img/flags/mc.png b/www/themes/factuges/assets/img/flags/mc.png new file mode 100644 index 0000000..1aa830f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mc.png differ diff --git a/www/themes/factuges/assets/img/flags/md.png b/www/themes/factuges/assets/img/flags/md.png new file mode 100644 index 0000000..4e92c18 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/md.png differ diff --git a/www/themes/factuges/assets/img/flags/me.png b/www/themes/factuges/assets/img/flags/me.png new file mode 100644 index 0000000..ac72535 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/me.png differ diff --git a/www/themes/factuges/assets/img/flags/mg.png b/www/themes/factuges/assets/img/flags/mg.png new file mode 100644 index 0000000..d2715b3 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mg.png differ diff --git a/www/themes/factuges/assets/img/flags/mh.png b/www/themes/factuges/assets/img/flags/mh.png new file mode 100644 index 0000000..fb523a8 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mh.png differ diff --git a/www/themes/factuges/assets/img/flags/mk.png b/www/themes/factuges/assets/img/flags/mk.png new file mode 100644 index 0000000..db173aa Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mk.png differ diff --git a/www/themes/factuges/assets/img/flags/ml.png b/www/themes/factuges/assets/img/flags/ml.png new file mode 100644 index 0000000..2cec8ba Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ml.png differ diff --git a/www/themes/factuges/assets/img/flags/mm.png b/www/themes/factuges/assets/img/flags/mm.png new file mode 100644 index 0000000..f464f67 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mm.png differ diff --git a/www/themes/factuges/assets/img/flags/mn.png b/www/themes/factuges/assets/img/flags/mn.png new file mode 100644 index 0000000..9396355 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mn.png differ diff --git a/www/themes/factuges/assets/img/flags/mo.png b/www/themes/factuges/assets/img/flags/mo.png new file mode 100644 index 0000000..deb801d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mo.png differ diff --git a/www/themes/factuges/assets/img/flags/mp.png b/www/themes/factuges/assets/img/flags/mp.png new file mode 100644 index 0000000..298d588 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mp.png differ diff --git a/www/themes/factuges/assets/img/flags/mq.png b/www/themes/factuges/assets/img/flags/mq.png new file mode 100644 index 0000000..010143b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mq.png differ diff --git a/www/themes/factuges/assets/img/flags/mr.png b/www/themes/factuges/assets/img/flags/mr.png new file mode 100644 index 0000000..319546b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mr.png differ diff --git a/www/themes/factuges/assets/img/flags/ms.png b/www/themes/factuges/assets/img/flags/ms.png new file mode 100644 index 0000000..d4cbb43 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ms.png differ diff --git a/www/themes/factuges/assets/img/flags/mt.png b/www/themes/factuges/assets/img/flags/mt.png new file mode 100644 index 0000000..00af948 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mt.png differ diff --git a/www/themes/factuges/assets/img/flags/mu.png b/www/themes/factuges/assets/img/flags/mu.png new file mode 100644 index 0000000..b7fdce1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mu.png differ diff --git a/www/themes/factuges/assets/img/flags/mv.png b/www/themes/factuges/assets/img/flags/mv.png new file mode 100644 index 0000000..5073d9e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mv.png differ diff --git a/www/themes/factuges/assets/img/flags/mw.png b/www/themes/factuges/assets/img/flags/mw.png new file mode 100644 index 0000000..13886e9 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mw.png differ diff --git a/www/themes/factuges/assets/img/flags/mx.png b/www/themes/factuges/assets/img/flags/mx.png new file mode 100644 index 0000000..5bc58ab Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mx.png differ diff --git a/www/themes/factuges/assets/img/flags/my.png b/www/themes/factuges/assets/img/flags/my.png new file mode 100644 index 0000000..9034cba Binary files /dev/null and b/www/themes/factuges/assets/img/flags/my.png differ diff --git a/www/themes/factuges/assets/img/flags/mz.png b/www/themes/factuges/assets/img/flags/mz.png new file mode 100644 index 0000000..76405e0 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/mz.png differ diff --git a/www/themes/factuges/assets/img/flags/na.png b/www/themes/factuges/assets/img/flags/na.png new file mode 100644 index 0000000..63358c6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/na.png differ diff --git a/www/themes/factuges/assets/img/flags/nc.png b/www/themes/factuges/assets/img/flags/nc.png new file mode 100644 index 0000000..2cad283 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/nc.png differ diff --git a/www/themes/factuges/assets/img/flags/ne.png b/www/themes/factuges/assets/img/flags/ne.png new file mode 100644 index 0000000..d85f424 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ne.png differ diff --git a/www/themes/factuges/assets/img/flags/nf.png b/www/themes/factuges/assets/img/flags/nf.png new file mode 100644 index 0000000..f9bcdda Binary files /dev/null and b/www/themes/factuges/assets/img/flags/nf.png differ diff --git a/www/themes/factuges/assets/img/flags/ng.png b/www/themes/factuges/assets/img/flags/ng.png new file mode 100644 index 0000000..3eea2e0 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ng.png differ diff --git a/www/themes/factuges/assets/img/flags/ni.png b/www/themes/factuges/assets/img/flags/ni.png new file mode 100644 index 0000000..3969aaa Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ni.png differ diff --git a/www/themes/factuges/assets/img/flags/nl.png b/www/themes/factuges/assets/img/flags/nl.png new file mode 100644 index 0000000..fe44791 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/nl.png differ diff --git a/www/themes/factuges/assets/img/flags/no.png b/www/themes/factuges/assets/img/flags/no.png new file mode 100644 index 0000000..160b6b5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/no.png differ diff --git a/www/themes/factuges/assets/img/flags/np.png b/www/themes/factuges/assets/img/flags/np.png new file mode 100644 index 0000000..aeb058b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/np.png differ diff --git a/www/themes/factuges/assets/img/flags/nr.png b/www/themes/factuges/assets/img/flags/nr.png new file mode 100644 index 0000000..705fc33 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/nr.png differ diff --git a/www/themes/factuges/assets/img/flags/nu.png b/www/themes/factuges/assets/img/flags/nu.png new file mode 100644 index 0000000..c3ce4ae Binary files /dev/null and b/www/themes/factuges/assets/img/flags/nu.png differ diff --git a/www/themes/factuges/assets/img/flags/nz.png b/www/themes/factuges/assets/img/flags/nz.png new file mode 100644 index 0000000..10d6306 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/nz.png differ diff --git a/www/themes/factuges/assets/img/flags/om.png b/www/themes/factuges/assets/img/flags/om.png new file mode 100644 index 0000000..2ffba7e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/om.png differ diff --git a/www/themes/factuges/assets/img/flags/pa.png b/www/themes/factuges/assets/img/flags/pa.png new file mode 100644 index 0000000..9b2ee9a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pa.png differ diff --git a/www/themes/factuges/assets/img/flags/pe.png b/www/themes/factuges/assets/img/flags/pe.png new file mode 100644 index 0000000..62a0497 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pe.png differ diff --git a/www/themes/factuges/assets/img/flags/pf.png b/www/themes/factuges/assets/img/flags/pf.png new file mode 100644 index 0000000..771a0f6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pf.png differ diff --git a/www/themes/factuges/assets/img/flags/pg.png b/www/themes/factuges/assets/img/flags/pg.png new file mode 100644 index 0000000..10d6233 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pg.png differ diff --git a/www/themes/factuges/assets/img/flags/ph.png b/www/themes/factuges/assets/img/flags/ph.png new file mode 100644 index 0000000..b89e159 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ph.png differ diff --git a/www/themes/factuges/assets/img/flags/pk.png b/www/themes/factuges/assets/img/flags/pk.png new file mode 100644 index 0000000..e9df70c Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pk.png differ diff --git a/www/themes/factuges/assets/img/flags/pl.png b/www/themes/factuges/assets/img/flags/pl.png new file mode 100644 index 0000000..d413d01 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pl.png differ diff --git a/www/themes/factuges/assets/img/flags/pm.png b/www/themes/factuges/assets/img/flags/pm.png new file mode 100644 index 0000000..ba91d2c Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pm.png differ diff --git a/www/themes/factuges/assets/img/flags/pn.png b/www/themes/factuges/assets/img/flags/pn.png new file mode 100644 index 0000000..aa9344f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pn.png differ diff --git a/www/themes/factuges/assets/img/flags/pr.png b/www/themes/factuges/assets/img/flags/pr.png new file mode 100644 index 0000000..82d9130 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pr.png differ diff --git a/www/themes/factuges/assets/img/flags/ps.png b/www/themes/factuges/assets/img/flags/ps.png new file mode 100644 index 0000000..f5f5477 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ps.png differ diff --git a/www/themes/factuges/assets/img/flags/pt.png b/www/themes/factuges/assets/img/flags/pt.png new file mode 100644 index 0000000..ece7980 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pt.png differ diff --git a/www/themes/factuges/assets/img/flags/pw.png b/www/themes/factuges/assets/img/flags/pw.png new file mode 100644 index 0000000..6178b25 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/pw.png differ diff --git a/www/themes/factuges/assets/img/flags/py.png b/www/themes/factuges/assets/img/flags/py.png new file mode 100644 index 0000000..cb8723c Binary files /dev/null and b/www/themes/factuges/assets/img/flags/py.png differ diff --git a/www/themes/factuges/assets/img/flags/qa.png b/www/themes/factuges/assets/img/flags/qa.png new file mode 100644 index 0000000..ed4c621 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/qa.png differ diff --git a/www/themes/factuges/assets/img/flags/re.png b/www/themes/factuges/assets/img/flags/re.png new file mode 100644 index 0000000..8332c4e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/re.png differ diff --git a/www/themes/factuges/assets/img/flags/readme.txt b/www/themes/factuges/assets/img/flags/readme.txt new file mode 100644 index 0000000..1028eec --- /dev/null +++ b/www/themes/factuges/assets/img/flags/readme.txt @@ -0,0 +1,9 @@ +Flag icons - http://www.famfamfam.com + +These icons are public domain, and as such are free for any use (attribution appreciated but not required). + +Note that these flags are named using the ISO3166-1 alpha-2 country codes where appropriate. A list of codes can be found at http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 + +If you find these icons useful, please donate via paypal to mjames@gmail.com (or click the donate button available at http://www.famfamfam.com/lab/icons/silk) + +Contact: mjames@gmail.com \ No newline at end of file diff --git a/www/themes/factuges/assets/img/flags/ro.png b/www/themes/factuges/assets/img/flags/ro.png new file mode 100644 index 0000000..57e74a6 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ro.png differ diff --git a/www/themes/factuges/assets/img/flags/rs.png b/www/themes/factuges/assets/img/flags/rs.png new file mode 100644 index 0000000..9439a5b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/rs.png differ diff --git a/www/themes/factuges/assets/img/flags/ru.png b/www/themes/factuges/assets/img/flags/ru.png new file mode 100644 index 0000000..47da421 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ru.png differ diff --git a/www/themes/factuges/assets/img/flags/rw.png b/www/themes/factuges/assets/img/flags/rw.png new file mode 100644 index 0000000..5356491 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/rw.png differ diff --git a/www/themes/factuges/assets/img/flags/sa.png b/www/themes/factuges/assets/img/flags/sa.png new file mode 100644 index 0000000..b4641c7 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sa.png differ diff --git a/www/themes/factuges/assets/img/flags/sb.png b/www/themes/factuges/assets/img/flags/sb.png new file mode 100644 index 0000000..a9937cc Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sb.png differ diff --git a/www/themes/factuges/assets/img/flags/sc.png b/www/themes/factuges/assets/img/flags/sc.png new file mode 100644 index 0000000..39ee371 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sc.png differ diff --git a/www/themes/factuges/assets/img/flags/scotland.png b/www/themes/factuges/assets/img/flags/scotland.png new file mode 100644 index 0000000..a0e57b4 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/scotland.png differ diff --git a/www/themes/factuges/assets/img/flags/sd.png b/www/themes/factuges/assets/img/flags/sd.png new file mode 100644 index 0000000..eaab69e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sd.png differ diff --git a/www/themes/factuges/assets/img/flags/se.png b/www/themes/factuges/assets/img/flags/se.png new file mode 100644 index 0000000..1994653 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/se.png differ diff --git a/www/themes/factuges/assets/img/flags/sg.png b/www/themes/factuges/assets/img/flags/sg.png new file mode 100644 index 0000000..dd34d61 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sg.png differ diff --git a/www/themes/factuges/assets/img/flags/sh.png b/www/themes/factuges/assets/img/flags/sh.png new file mode 100644 index 0000000..4b1d2a2 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sh.png differ diff --git a/www/themes/factuges/assets/img/flags/si.png b/www/themes/factuges/assets/img/flags/si.png new file mode 100644 index 0000000..bb1476f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/si.png differ diff --git a/www/themes/factuges/assets/img/flags/sj.png b/www/themes/factuges/assets/img/flags/sj.png new file mode 100644 index 0000000..160b6b5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sj.png differ diff --git a/www/themes/factuges/assets/img/flags/sk.png b/www/themes/factuges/assets/img/flags/sk.png new file mode 100644 index 0000000..7ccbc82 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sk.png differ diff --git a/www/themes/factuges/assets/img/flags/sl.png b/www/themes/factuges/assets/img/flags/sl.png new file mode 100644 index 0000000..12d812d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sl.png differ diff --git a/www/themes/factuges/assets/img/flags/sm.png b/www/themes/factuges/assets/img/flags/sm.png new file mode 100644 index 0000000..3df2fdc Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sm.png differ diff --git a/www/themes/factuges/assets/img/flags/sn.png b/www/themes/factuges/assets/img/flags/sn.png new file mode 100644 index 0000000..eabb71d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sn.png differ diff --git a/www/themes/factuges/assets/img/flags/so.png b/www/themes/factuges/assets/img/flags/so.png new file mode 100644 index 0000000..4a1ea4b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/so.png differ diff --git a/www/themes/factuges/assets/img/flags/sr.png b/www/themes/factuges/assets/img/flags/sr.png new file mode 100644 index 0000000..5eff927 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sr.png differ diff --git a/www/themes/factuges/assets/img/flags/st.png b/www/themes/factuges/assets/img/flags/st.png new file mode 100644 index 0000000..2978557 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/st.png differ diff --git a/www/themes/factuges/assets/img/flags/sv.png b/www/themes/factuges/assets/img/flags/sv.png new file mode 100644 index 0000000..2498799 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sv.png differ diff --git a/www/themes/factuges/assets/img/flags/sy.png b/www/themes/factuges/assets/img/flags/sy.png new file mode 100644 index 0000000..f5ce30d Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sy.png differ diff --git a/www/themes/factuges/assets/img/flags/sz.png b/www/themes/factuges/assets/img/flags/sz.png new file mode 100644 index 0000000..914ee86 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/sz.png differ diff --git a/www/themes/factuges/assets/img/flags/tc.png b/www/themes/factuges/assets/img/flags/tc.png new file mode 100644 index 0000000..8fc1156 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tc.png differ diff --git a/www/themes/factuges/assets/img/flags/td.png b/www/themes/factuges/assets/img/flags/td.png new file mode 100644 index 0000000..667f21f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/td.png differ diff --git a/www/themes/factuges/assets/img/flags/tf.png b/www/themes/factuges/assets/img/flags/tf.png new file mode 100644 index 0000000..80529a4 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tf.png differ diff --git a/www/themes/factuges/assets/img/flags/tg.png b/www/themes/factuges/assets/img/flags/tg.png new file mode 100644 index 0000000..3aa00ad Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tg.png differ diff --git a/www/themes/factuges/assets/img/flags/th.png b/www/themes/factuges/assets/img/flags/th.png new file mode 100644 index 0000000..dd8ba91 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/th.png differ diff --git a/www/themes/factuges/assets/img/flags/tj.png b/www/themes/factuges/assets/img/flags/tj.png new file mode 100644 index 0000000..617bf64 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tj.png differ diff --git a/www/themes/factuges/assets/img/flags/tk.png b/www/themes/factuges/assets/img/flags/tk.png new file mode 100644 index 0000000..67b8c8c Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tk.png differ diff --git a/www/themes/factuges/assets/img/flags/tl.png b/www/themes/factuges/assets/img/flags/tl.png new file mode 100644 index 0000000..77da181 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tl.png differ diff --git a/www/themes/factuges/assets/img/flags/tm.png b/www/themes/factuges/assets/img/flags/tm.png new file mode 100644 index 0000000..828020e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tm.png differ diff --git a/www/themes/factuges/assets/img/flags/tn.png b/www/themes/factuges/assets/img/flags/tn.png new file mode 100644 index 0000000..183cdd3 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tn.png differ diff --git a/www/themes/factuges/assets/img/flags/to.png b/www/themes/factuges/assets/img/flags/to.png new file mode 100644 index 0000000..f89b8ba Binary files /dev/null and b/www/themes/factuges/assets/img/flags/to.png differ diff --git a/www/themes/factuges/assets/img/flags/tr.png b/www/themes/factuges/assets/img/flags/tr.png new file mode 100644 index 0000000..be32f77 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tr.png differ diff --git a/www/themes/factuges/assets/img/flags/tt.png b/www/themes/factuges/assets/img/flags/tt.png new file mode 100644 index 0000000..2a11c1e Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tt.png differ diff --git a/www/themes/factuges/assets/img/flags/tv.png b/www/themes/factuges/assets/img/flags/tv.png new file mode 100644 index 0000000..28274c5 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tv.png differ diff --git a/www/themes/factuges/assets/img/flags/tw.png b/www/themes/factuges/assets/img/flags/tw.png new file mode 100644 index 0000000..f31c654 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tw.png differ diff --git a/www/themes/factuges/assets/img/flags/tz.png b/www/themes/factuges/assets/img/flags/tz.png new file mode 100644 index 0000000..c00ff79 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/tz.png differ diff --git a/www/themes/factuges/assets/img/flags/ua.png b/www/themes/factuges/assets/img/flags/ua.png new file mode 100644 index 0000000..09563a2 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ua.png differ diff --git a/www/themes/factuges/assets/img/flags/ug.png b/www/themes/factuges/assets/img/flags/ug.png new file mode 100644 index 0000000..33f4aff Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ug.png differ diff --git a/www/themes/factuges/assets/img/flags/um.png b/www/themes/factuges/assets/img/flags/um.png new file mode 100644 index 0000000..c1dd965 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/um.png differ diff --git a/www/themes/factuges/assets/img/flags/us.png b/www/themes/factuges/assets/img/flags/us.png new file mode 100644 index 0000000..10f451f Binary files /dev/null and b/www/themes/factuges/assets/img/flags/us.png differ diff --git a/www/themes/factuges/assets/img/flags/uy.png b/www/themes/factuges/assets/img/flags/uy.png new file mode 100644 index 0000000..31d948a Binary files /dev/null and b/www/themes/factuges/assets/img/flags/uy.png differ diff --git a/www/themes/factuges/assets/img/flags/uz.png b/www/themes/factuges/assets/img/flags/uz.png new file mode 100644 index 0000000..fef5dc1 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/uz.png differ diff --git a/www/themes/factuges/assets/img/flags/va.png b/www/themes/factuges/assets/img/flags/va.png new file mode 100644 index 0000000..b31eaf2 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/va.png differ diff --git a/www/themes/factuges/assets/img/flags/vc.png b/www/themes/factuges/assets/img/flags/vc.png new file mode 100644 index 0000000..8fa17b0 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/vc.png differ diff --git a/www/themes/factuges/assets/img/flags/ve.png b/www/themes/factuges/assets/img/flags/ve.png new file mode 100644 index 0000000..00c90f9 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ve.png differ diff --git a/www/themes/factuges/assets/img/flags/vg.png b/www/themes/factuges/assets/img/flags/vg.png new file mode 100644 index 0000000..4156907 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/vg.png differ diff --git a/www/themes/factuges/assets/img/flags/vi.png b/www/themes/factuges/assets/img/flags/vi.png new file mode 100644 index 0000000..ed26915 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/vi.png differ diff --git a/www/themes/factuges/assets/img/flags/vn.png b/www/themes/factuges/assets/img/flags/vn.png new file mode 100644 index 0000000..ec7cd48 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/vn.png differ diff --git a/www/themes/factuges/assets/img/flags/vu.png b/www/themes/factuges/assets/img/flags/vu.png new file mode 100644 index 0000000..b3397bc Binary files /dev/null and b/www/themes/factuges/assets/img/flags/vu.png differ diff --git a/www/themes/factuges/assets/img/flags/wales.png b/www/themes/factuges/assets/img/flags/wales.png new file mode 100644 index 0000000..e0d7cee Binary files /dev/null and b/www/themes/factuges/assets/img/flags/wales.png differ diff --git a/www/themes/factuges/assets/img/flags/wf.png b/www/themes/factuges/assets/img/flags/wf.png new file mode 100644 index 0000000..9f95587 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/wf.png differ diff --git a/www/themes/factuges/assets/img/flags/ws.png b/www/themes/factuges/assets/img/flags/ws.png new file mode 100644 index 0000000..c169508 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ws.png differ diff --git a/www/themes/factuges/assets/img/flags/ye.png b/www/themes/factuges/assets/img/flags/ye.png new file mode 100644 index 0000000..468dfad Binary files /dev/null and b/www/themes/factuges/assets/img/flags/ye.png differ diff --git a/www/themes/factuges/assets/img/flags/yt.png b/www/themes/factuges/assets/img/flags/yt.png new file mode 100644 index 0000000..c298f37 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/yt.png differ diff --git a/www/themes/factuges/assets/img/flags/za.png b/www/themes/factuges/assets/img/flags/za.png new file mode 100644 index 0000000..57c58e2 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/za.png differ diff --git a/www/themes/factuges/assets/img/flags/zm.png b/www/themes/factuges/assets/img/flags/zm.png new file mode 100644 index 0000000..c25b07b Binary files /dev/null and b/www/themes/factuges/assets/img/flags/zm.png differ diff --git a/www/themes/factuges/assets/img/flags/zw.png b/www/themes/factuges/assets/img/flags/zw.png new file mode 100644 index 0000000..53c9725 Binary files /dev/null and b/www/themes/factuges/assets/img/flags/zw.png differ diff --git a/www/themes/factuges/assets/img/gallery/image1.jpg b/www/themes/factuges/assets/img/gallery/image1.jpg new file mode 100644 index 0000000..bd3a2a9 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/image1.jpg differ diff --git a/www/themes/factuges/assets/img/gallery/image2.jpg b/www/themes/factuges/assets/img/gallery/image2.jpg new file mode 100644 index 0000000..761acba Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/image2.jpg differ diff --git a/www/themes/factuges/assets/img/gallery/image3.jpg b/www/themes/factuges/assets/img/gallery/image3.jpg new file mode 100644 index 0000000..5f28bbf Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/image3.jpg differ diff --git a/www/themes/factuges/assets/img/gallery/image4.jpg b/www/themes/factuges/assets/img/gallery/image4.jpg new file mode 100644 index 0000000..190fe28 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/image4.jpg differ diff --git a/www/themes/factuges/assets/img/gallery/image5.jpg b/www/themes/factuges/assets/img/gallery/image5.jpg new file mode 100644 index 0000000..9051221 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/image5.jpg differ diff --git a/www/themes/factuges/assets/img/gallery/item_img.jpg b/www/themes/factuges/assets/img/gallery/item_img.jpg new file mode 100644 index 0000000..f1a4a38 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/item_img.jpg differ diff --git a/www/themes/factuges/assets/img/gallery/item_img1.jpg b/www/themes/factuges/assets/img/gallery/item_img1.jpg new file mode 100644 index 0000000..26736fc Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/item_img1.jpg differ diff --git a/www/themes/factuges/assets/img/gallery/preview_02.png b/www/themes/factuges/assets/img/gallery/preview_02.png new file mode 100644 index 0000000..fa6ac84 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_02.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_03.png b/www/themes/factuges/assets/img/gallery/preview_03.png new file mode 100644 index 0000000..f3e08d0 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_03.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_04.png b/www/themes/factuges/assets/img/gallery/preview_04.png new file mode 100644 index 0000000..a127607 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_04.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_05.png b/www/themes/factuges/assets/img/gallery/preview_05.png new file mode 100644 index 0000000..71e58f9 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_05.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_06.png b/www/themes/factuges/assets/img/gallery/preview_06.png new file mode 100644 index 0000000..3123220 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_06.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_07.png b/www/themes/factuges/assets/img/gallery/preview_07.png new file mode 100644 index 0000000..d3c3334 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_07.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_08.png b/www/themes/factuges/assets/img/gallery/preview_08.png new file mode 100644 index 0000000..1a9663b Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_08.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_09.png b/www/themes/factuges/assets/img/gallery/preview_09.png new file mode 100644 index 0000000..fee9542 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_09.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_10.png b/www/themes/factuges/assets/img/gallery/preview_10.png new file mode 100644 index 0000000..35b0c7a Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_10.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_11.png b/www/themes/factuges/assets/img/gallery/preview_11.png new file mode 100644 index 0000000..2725c21 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_11.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_12.png b/www/themes/factuges/assets/img/gallery/preview_12.png new file mode 100644 index 0000000..3076865 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_12.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_13.png b/www/themes/factuges/assets/img/gallery/preview_13.png new file mode 100644 index 0000000..1442ab7 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_13.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_14.png b/www/themes/factuges/assets/img/gallery/preview_14.png new file mode 100644 index 0000000..a2b5c18 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_14.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_15.png b/www/themes/factuges/assets/img/gallery/preview_15.png new file mode 100644 index 0000000..d7d6d55 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_15.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_16.png b/www/themes/factuges/assets/img/gallery/preview_16.png new file mode 100644 index 0000000..24722d3 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_16.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_17.png b/www/themes/factuges/assets/img/gallery/preview_17.png new file mode 100644 index 0000000..b4570b8 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_17.png differ diff --git a/www/themes/factuges/assets/img/gallery/preview_18.png b/www/themes/factuges/assets/img/gallery/preview_18.png new file mode 100644 index 0000000..42681c7 Binary files /dev/null and b/www/themes/factuges/assets/img/gallery/preview_18.png differ diff --git a/www/themes/factuges/assets/img/hor-menu-red-arrow.png b/www/themes/factuges/assets/img/hor-menu-red-arrow.png new file mode 100644 index 0000000..84a8b06 Binary files /dev/null and b/www/themes/factuges/assets/img/hor-menu-red-arrow.png differ diff --git a/www/themes/factuges/assets/img/hor-menu-search-close.png b/www/themes/factuges/assets/img/hor-menu-search-close.png new file mode 100644 index 0000000..6dae950 Binary files /dev/null and b/www/themes/factuges/assets/img/hor-menu-search-close.png differ diff --git a/www/themes/factuges/assets/img/hor-menu-search.jpg b/www/themes/factuges/assets/img/hor-menu-search.jpg new file mode 100644 index 0000000..63b3180 Binary files /dev/null and b/www/themes/factuges/assets/img/hor-menu-search.jpg differ diff --git a/www/themes/factuges/assets/img/hor-menu-search.png b/www/themes/factuges/assets/img/hor-menu-search.png new file mode 100644 index 0000000..2a72156 Binary files /dev/null and b/www/themes/factuges/assets/img/hor-menu-search.png differ diff --git a/www/themes/factuges/assets/img/icon-color-close.png b/www/themes/factuges/assets/img/icon-color-close.png new file mode 100644 index 0000000..9b7dfac Binary files /dev/null and b/www/themes/factuges/assets/img/icon-color-close.png differ diff --git a/www/themes/factuges/assets/img/icon-color.png b/www/themes/factuges/assets/img/icon-color.png new file mode 100644 index 0000000..b9666ee Binary files /dev/null and b/www/themes/factuges/assets/img/icon-color.png differ diff --git a/www/themes/factuges/assets/img/icon-img-down.png b/www/themes/factuges/assets/img/icon-img-down.png new file mode 100644 index 0000000..1b85914 Binary files /dev/null and b/www/themes/factuges/assets/img/icon-img-down.png differ diff --git a/www/themes/factuges/assets/img/icon-img-up.png b/www/themes/factuges/assets/img/icon-img-up.png new file mode 100644 index 0000000..d90af40 Binary files /dev/null and b/www/themes/factuges/assets/img/icon-img-up.png differ diff --git a/www/themes/factuges/assets/img/inbox-nav-arrow-blue.png b/www/themes/factuges/assets/img/inbox-nav-arrow-blue.png new file mode 100644 index 0000000..cefd8e3 Binary files /dev/null and b/www/themes/factuges/assets/img/inbox-nav-arrow-blue.png differ diff --git a/www/themes/factuges/assets/img/invoice/walmart.png b/www/themes/factuges/assets/img/invoice/walmart.png new file mode 100644 index 0000000..163baa4 Binary files /dev/null and b/www/themes/factuges/assets/img/invoice/walmart.png differ diff --git a/www/themes/factuges/assets/img/loading.gif b/www/themes/factuges/assets/img/loading.gif new file mode 100644 index 0000000..29bbff0 Binary files /dev/null and b/www/themes/factuges/assets/img/loading.gif differ diff --git a/www/themes/factuges/assets/img/logo-big.png b/www/themes/factuges/assets/img/logo-big.png new file mode 100644 index 0000000..c8f832d Binary files /dev/null and b/www/themes/factuges/assets/img/logo-big.png differ diff --git a/www/themes/factuges/assets/img/logo.png b/www/themes/factuges/assets/img/logo.png new file mode 100644 index 0000000..cf748c8 Binary files /dev/null and b/www/themes/factuges/assets/img/logo.png differ diff --git a/www/themes/factuges/assets/img/menu-toggler.png b/www/themes/factuges/assets/img/menu-toggler.png new file mode 100644 index 0000000..3d5c2d4 Binary files /dev/null and b/www/themes/factuges/assets/img/menu-toggler.png differ diff --git a/www/themes/factuges/assets/img/overlay-icon.png b/www/themes/factuges/assets/img/overlay-icon.png new file mode 100644 index 0000000..ecdb629 Binary files /dev/null and b/www/themes/factuges/assets/img/overlay-icon.png differ diff --git a/www/themes/factuges/assets/img/pages/2.jpg b/www/themes/factuges/assets/img/pages/2.jpg new file mode 100644 index 0000000..05e4077 Binary files /dev/null and b/www/themes/factuges/assets/img/pages/2.jpg differ diff --git a/www/themes/factuges/assets/img/pages/3.jpg b/www/themes/factuges/assets/img/pages/3.jpg new file mode 100644 index 0000000..61ed284 Binary files /dev/null and b/www/themes/factuges/assets/img/pages/3.jpg differ diff --git a/www/themes/factuges/assets/img/pages/Thumbs.db b/www/themes/factuges/assets/img/pages/Thumbs.db new file mode 100644 index 0000000..e60c813 Binary files /dev/null and b/www/themes/factuges/assets/img/pages/Thumbs.db differ diff --git a/www/themes/factuges/assets/img/pages/img.png b/www/themes/factuges/assets/img/pages/img.png new file mode 100644 index 0000000..740846b Binary files /dev/null and b/www/themes/factuges/assets/img/pages/img.png differ diff --git a/www/themes/factuges/assets/img/pages/img1.png b/www/themes/factuges/assets/img/pages/img1.png new file mode 100644 index 0000000..0dab436 Binary files /dev/null and b/www/themes/factuges/assets/img/pages/img1.png differ diff --git a/www/themes/factuges/assets/img/pages/img1_2.png b/www/themes/factuges/assets/img/pages/img1_2.png new file mode 100644 index 0000000..666280e Binary files /dev/null and b/www/themes/factuges/assets/img/pages/img1_2.png differ diff --git a/www/themes/factuges/assets/img/pages/img2.png b/www/themes/factuges/assets/img/pages/img2.png new file mode 100644 index 0000000..43c900a Binary files /dev/null and b/www/themes/factuges/assets/img/pages/img2.png differ diff --git a/www/themes/factuges/assets/img/pages/img3.jpg b/www/themes/factuges/assets/img/pages/img3.jpg new file mode 100644 index 0000000..7bcbfb3 Binary files /dev/null and b/www/themes/factuges/assets/img/pages/img3.jpg differ diff --git a/www/themes/factuges/assets/img/pages/img3.png b/www/themes/factuges/assets/img/pages/img3.png new file mode 100644 index 0000000..045dba8 Binary files /dev/null and b/www/themes/factuges/assets/img/pages/img3.png differ diff --git a/www/themes/factuges/assets/img/pages/img4.png b/www/themes/factuges/assets/img/pages/img4.png new file mode 100644 index 0000000..132dbcf Binary files /dev/null and b/www/themes/factuges/assets/img/pages/img4.png differ diff --git a/www/themes/factuges/assets/img/photo1.jpg b/www/themes/factuges/assets/img/photo1.jpg new file mode 100644 index 0000000..e3d570d Binary files /dev/null and b/www/themes/factuges/assets/img/photo1.jpg differ diff --git a/www/themes/factuges/assets/img/photo2.jpg b/www/themes/factuges/assets/img/photo2.jpg new file mode 100644 index 0000000..2e6c4f1 Binary files /dev/null and b/www/themes/factuges/assets/img/photo2.jpg differ diff --git a/www/themes/factuges/assets/img/portlet-collapse-icon-white.png b/www/themes/factuges/assets/img/portlet-collapse-icon-white.png new file mode 100644 index 0000000..a415159 Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-collapse-icon-white.png differ diff --git a/www/themes/factuges/assets/img/portlet-collapse-icon.png b/www/themes/factuges/assets/img/portlet-collapse-icon.png new file mode 100644 index 0000000..5f4901f Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-collapse-icon.png differ diff --git a/www/themes/factuges/assets/img/portlet-config-icon-white.png b/www/themes/factuges/assets/img/portlet-config-icon-white.png new file mode 100644 index 0000000..2f3a272 Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-config-icon-white.png differ diff --git a/www/themes/factuges/assets/img/portlet-config-icon.png b/www/themes/factuges/assets/img/portlet-config-icon.png new file mode 100644 index 0000000..f045121 Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-config-icon.png differ diff --git a/www/themes/factuges/assets/img/portlet-expand-icon-white.png b/www/themes/factuges/assets/img/portlet-expand-icon-white.png new file mode 100644 index 0000000..f2ecf78 Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-expand-icon-white.png differ diff --git a/www/themes/factuges/assets/img/portlet-expand-icon.png b/www/themes/factuges/assets/img/portlet-expand-icon.png new file mode 100644 index 0000000..54b891b Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-expand-icon.png differ diff --git a/www/themes/factuges/assets/img/portlet-reload-icon-white.png b/www/themes/factuges/assets/img/portlet-reload-icon-white.png new file mode 100644 index 0000000..a14730b Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-reload-icon-white.png differ diff --git a/www/themes/factuges/assets/img/portlet-reload-icon.png b/www/themes/factuges/assets/img/portlet-reload-icon.png new file mode 100644 index 0000000..bdb0f08 Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-reload-icon.png differ diff --git a/www/themes/factuges/assets/img/portlet-remove-icon-white.png b/www/themes/factuges/assets/img/portlet-remove-icon-white.png new file mode 100644 index 0000000..ddc6d2c Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-remove-icon-white.png differ diff --git a/www/themes/factuges/assets/img/portlet-remove-icon.png b/www/themes/factuges/assets/img/portlet-remove-icon.png new file mode 100644 index 0000000..e2a02c6 Binary files /dev/null and b/www/themes/factuges/assets/img/portlet-remove-icon.png differ diff --git a/www/themes/factuges/assets/img/profile/portfolio/logo_azteca.jpg b/www/themes/factuges/assets/img/profile/portfolio/logo_azteca.jpg new file mode 100644 index 0000000..d32262a Binary files /dev/null and b/www/themes/factuges/assets/img/profile/portfolio/logo_azteca.jpg differ diff --git a/www/themes/factuges/assets/img/profile/portfolio/logo_conquer.jpg b/www/themes/factuges/assets/img/profile/portfolio/logo_conquer.jpg new file mode 100644 index 0000000..c2f6c48 Binary files /dev/null and b/www/themes/factuges/assets/img/profile/portfolio/logo_conquer.jpg differ diff --git a/www/themes/factuges/assets/img/profile/portfolio/logo_metronic.jpg b/www/themes/factuges/assets/img/profile/portfolio/logo_metronic.jpg new file mode 100644 index 0000000..02400c0 Binary files /dev/null and b/www/themes/factuges/assets/img/profile/portfolio/logo_metronic.jpg differ diff --git a/www/themes/factuges/assets/img/profile/profile-img.jpg b/www/themes/factuges/assets/img/profile/profile-img.jpg new file mode 100644 index 0000000..a82545a Binary files /dev/null and b/www/themes/factuges/assets/img/profile/profile-img.jpg differ diff --git a/www/themes/factuges/assets/img/profile/profile-img.png b/www/themes/factuges/assets/img/profile/profile-img.png new file mode 100644 index 0000000..b44eb63 Binary files /dev/null and b/www/themes/factuges/assets/img/profile/profile-img.png differ diff --git a/www/themes/factuges/assets/img/remove-icon-small.png b/www/themes/factuges/assets/img/remove-icon-small.png new file mode 100644 index 0000000..382bb24 Binary files /dev/null and b/www/themes/factuges/assets/img/remove-icon-small.png differ diff --git a/www/themes/factuges/assets/img/search-icon-blue.png b/www/themes/factuges/assets/img/search-icon-blue.png new file mode 100644 index 0000000..345c3db Binary files /dev/null and b/www/themes/factuges/assets/img/search-icon-blue.png differ diff --git a/www/themes/factuges/assets/img/search-icon-brown.png b/www/themes/factuges/assets/img/search-icon-brown.png new file mode 100644 index 0000000..2038c6a Binary files /dev/null and b/www/themes/factuges/assets/img/search-icon-brown.png differ diff --git a/www/themes/factuges/assets/img/search-icon-purple.png b/www/themes/factuges/assets/img/search-icon-purple.png new file mode 100644 index 0000000..af6a91c Binary files /dev/null and b/www/themes/factuges/assets/img/search-icon-purple.png differ diff --git a/www/themes/factuges/assets/img/search-icon-red.png b/www/themes/factuges/assets/img/search-icon-red.png new file mode 100644 index 0000000..84aefe3 Binary files /dev/null and b/www/themes/factuges/assets/img/search-icon-red.png differ diff --git a/www/themes/factuges/assets/img/search-icon-white.png b/www/themes/factuges/assets/img/search-icon-white.png new file mode 100644 index 0000000..c7532f4 Binary files /dev/null and b/www/themes/factuges/assets/img/search-icon-white.png differ diff --git a/www/themes/factuges/assets/img/search-icon.png b/www/themes/factuges/assets/img/search-icon.png new file mode 100644 index 0000000..bae1d73 Binary files /dev/null and b/www/themes/factuges/assets/img/search-icon.png differ diff --git a/www/themes/factuges/assets/img/search/1.jpg b/www/themes/factuges/assets/img/search/1.jpg new file mode 100644 index 0000000..a84af15 Binary files /dev/null and b/www/themes/factuges/assets/img/search/1.jpg differ diff --git a/www/themes/factuges/assets/img/search/2.jpg b/www/themes/factuges/assets/img/search/2.jpg new file mode 100644 index 0000000..5e3a285 Binary files /dev/null and b/www/themes/factuges/assets/img/search/2.jpg differ diff --git a/www/themes/factuges/assets/img/search/img1.jpg b/www/themes/factuges/assets/img/search/img1.jpg new file mode 100644 index 0000000..eb818bf Binary files /dev/null and b/www/themes/factuges/assets/img/search/img1.jpg differ diff --git a/www/themes/factuges/assets/img/search/img2.jpg b/www/themes/factuges/assets/img/search/img2.jpg new file mode 100644 index 0000000..ae02116 Binary files /dev/null and b/www/themes/factuges/assets/img/search/img2.jpg differ diff --git a/www/themes/factuges/assets/img/search/img3.jpg b/www/themes/factuges/assets/img/search/img3.jpg new file mode 100644 index 0000000..5dfb7d7 Binary files /dev/null and b/www/themes/factuges/assets/img/search/img3.jpg differ diff --git a/www/themes/factuges/assets/img/select-caret.png b/www/themes/factuges/assets/img/select-caret.png new file mode 100644 index 0000000..c24827e Binary files /dev/null and b/www/themes/factuges/assets/img/select-caret.png differ diff --git a/www/themes/factuges/assets/img/sidebar-menu-arrow-green.png b/www/themes/factuges/assets/img/sidebar-menu-arrow-green.png new file mode 100644 index 0000000..8ff76e9 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-menu-arrow-green.png differ diff --git a/www/themes/factuges/assets/img/sidebar-menu-arrow-rtl.png b/www/themes/factuges/assets/img/sidebar-menu-arrow-rtl.png new file mode 100644 index 0000000..c5a8914 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-menu-arrow-rtl.png differ diff --git a/www/themes/factuges/assets/img/sidebar-menu-arrow.png b/www/themes/factuges/assets/img/sidebar-menu-arrow.png new file mode 100644 index 0000000..e00acb1 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-menu-arrow.png differ diff --git a/www/themes/factuges/assets/img/sidebar-search-close-blue.png b/www/themes/factuges/assets/img/sidebar-search-close-blue.png new file mode 100644 index 0000000..ef92187 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-search-close-blue.png differ diff --git a/www/themes/factuges/assets/img/sidebar-search-close-brown.png b/www/themes/factuges/assets/img/sidebar-search-close-brown.png new file mode 100644 index 0000000..9a020b3 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-search-close-brown.png differ diff --git a/www/themes/factuges/assets/img/sidebar-search-close-light.png b/www/themes/factuges/assets/img/sidebar-search-close-light.png new file mode 100644 index 0000000..25ce84a Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-search-close-light.png differ diff --git a/www/themes/factuges/assets/img/sidebar-search-close-purple.png b/www/themes/factuges/assets/img/sidebar-search-close-purple.png new file mode 100644 index 0000000..72d593b Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-search-close-purple.png differ diff --git a/www/themes/factuges/assets/img/sidebar-search-close.png b/www/themes/factuges/assets/img/sidebar-search-close.png new file mode 100644 index 0000000..0a520a4 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-search-close.png differ diff --git a/www/themes/factuges/assets/img/sidebar-toggler-blue.jpg b/www/themes/factuges/assets/img/sidebar-toggler-blue.jpg new file mode 100644 index 0000000..ef148ad Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-toggler-blue.jpg differ diff --git a/www/themes/factuges/assets/img/sidebar-toggler-brown.jpg b/www/themes/factuges/assets/img/sidebar-toggler-brown.jpg new file mode 100644 index 0000000..a042cb9 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-toggler-brown.jpg differ diff --git a/www/themes/factuges/assets/img/sidebar-toggler-light.jpg b/www/themes/factuges/assets/img/sidebar-toggler-light.jpg new file mode 100644 index 0000000..d2c3d97 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-toggler-light.jpg differ diff --git a/www/themes/factuges/assets/img/sidebar-toggler-purple.jpg b/www/themes/factuges/assets/img/sidebar-toggler-purple.jpg new file mode 100644 index 0000000..abda5a3 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-toggler-purple.jpg differ diff --git a/www/themes/factuges/assets/img/sidebar-toggler.jpg b/www/themes/factuges/assets/img/sidebar-toggler.jpg new file mode 100644 index 0000000..2d87fc0 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-toggler.jpg differ diff --git a/www/themes/factuges/assets/img/sidebar-toggler.png b/www/themes/factuges/assets/img/sidebar-toggler.png new file mode 100644 index 0000000..7960e16 Binary files /dev/null and b/www/themes/factuges/assets/img/sidebar-toggler.png differ diff --git a/www/themes/factuges/assets/img/social/Thumbs.db b/www/themes/factuges/assets/img/social/Thumbs.db new file mode 100644 index 0000000..d806dbb Binary files /dev/null and b/www/themes/factuges/assets/img/social/Thumbs.db differ diff --git a/www/themes/factuges/assets/img/social/amazon.png b/www/themes/factuges/assets/img/social/amazon.png new file mode 100644 index 0000000..359a469 Binary files /dev/null and b/www/themes/factuges/assets/img/social/amazon.png differ diff --git a/www/themes/factuges/assets/img/social/behance.png b/www/themes/factuges/assets/img/social/behance.png new file mode 100644 index 0000000..6923893 Binary files /dev/null and b/www/themes/factuges/assets/img/social/behance.png differ diff --git a/www/themes/factuges/assets/img/social/blogger.png b/www/themes/factuges/assets/img/social/blogger.png new file mode 100644 index 0000000..6579a6c Binary files /dev/null and b/www/themes/factuges/assets/img/social/blogger.png differ diff --git a/www/themes/factuges/assets/img/social/deviantart.png b/www/themes/factuges/assets/img/social/deviantart.png new file mode 100644 index 0000000..2762816 Binary files /dev/null and b/www/themes/factuges/assets/img/social/deviantart.png differ diff --git a/www/themes/factuges/assets/img/social/dribbble.png b/www/themes/factuges/assets/img/social/dribbble.png new file mode 100644 index 0000000..bca0bad Binary files /dev/null and b/www/themes/factuges/assets/img/social/dribbble.png differ diff --git a/www/themes/factuges/assets/img/social/dropbox.png b/www/themes/factuges/assets/img/social/dropbox.png new file mode 100644 index 0000000..31ed5ae Binary files /dev/null and b/www/themes/factuges/assets/img/social/dropbox.png differ diff --git a/www/themes/factuges/assets/img/social/evernote.png b/www/themes/factuges/assets/img/social/evernote.png new file mode 100644 index 0000000..5cac5ae Binary files /dev/null and b/www/themes/factuges/assets/img/social/evernote.png differ diff --git a/www/themes/factuges/assets/img/social/facebook.png b/www/themes/factuges/assets/img/social/facebook.png new file mode 100644 index 0000000..db34236 Binary files /dev/null and b/www/themes/factuges/assets/img/social/facebook.png differ diff --git a/www/themes/factuges/assets/img/social/forrst.png b/www/themes/factuges/assets/img/social/forrst.png new file mode 100644 index 0000000..fe07f3c Binary files /dev/null and b/www/themes/factuges/assets/img/social/forrst.png differ diff --git a/www/themes/factuges/assets/img/social/github.png b/www/themes/factuges/assets/img/social/github.png new file mode 100644 index 0000000..b06cb56 Binary files /dev/null and b/www/themes/factuges/assets/img/social/github.png differ diff --git a/www/themes/factuges/assets/img/social/googleplus.png b/www/themes/factuges/assets/img/social/googleplus.png new file mode 100644 index 0000000..53dce47 Binary files /dev/null and b/www/themes/factuges/assets/img/social/googleplus.png differ diff --git a/www/themes/factuges/assets/img/social/jolicloud.png b/www/themes/factuges/assets/img/social/jolicloud.png new file mode 100644 index 0000000..9cad846 Binary files /dev/null and b/www/themes/factuges/assets/img/social/jolicloud.png differ diff --git a/www/themes/factuges/assets/img/social/last-fm.png b/www/themes/factuges/assets/img/social/last-fm.png new file mode 100644 index 0000000..5fd94c5 Binary files /dev/null and b/www/themes/factuges/assets/img/social/last-fm.png differ diff --git a/www/themes/factuges/assets/img/social/linkedin.png b/www/themes/factuges/assets/img/social/linkedin.png new file mode 100644 index 0000000..20779f9 Binary files /dev/null and b/www/themes/factuges/assets/img/social/linkedin.png differ diff --git a/www/themes/factuges/assets/img/social/picasa.png b/www/themes/factuges/assets/img/social/picasa.png new file mode 100644 index 0000000..a83a61e Binary files /dev/null and b/www/themes/factuges/assets/img/social/picasa.png differ diff --git a/www/themes/factuges/assets/img/social/pintrest.png b/www/themes/factuges/assets/img/social/pintrest.png new file mode 100644 index 0000000..0f39776 Binary files /dev/null and b/www/themes/factuges/assets/img/social/pintrest.png differ diff --git a/www/themes/factuges/assets/img/social/rss.png b/www/themes/factuges/assets/img/social/rss.png new file mode 100644 index 0000000..34001bd Binary files /dev/null and b/www/themes/factuges/assets/img/social/rss.png differ diff --git a/www/themes/factuges/assets/img/social/skype.png b/www/themes/factuges/assets/img/social/skype.png new file mode 100644 index 0000000..1c1a2f1 Binary files /dev/null and b/www/themes/factuges/assets/img/social/skype.png differ diff --git a/www/themes/factuges/assets/img/social/spotify.png b/www/themes/factuges/assets/img/social/spotify.png new file mode 100644 index 0000000..e4a74f2 Binary files /dev/null and b/www/themes/factuges/assets/img/social/spotify.png differ diff --git a/www/themes/factuges/assets/img/social/stumbleupon.png b/www/themes/factuges/assets/img/social/stumbleupon.png new file mode 100644 index 0000000..d651f0f Binary files /dev/null and b/www/themes/factuges/assets/img/social/stumbleupon.png differ diff --git a/www/themes/factuges/assets/img/social/tumblr.png b/www/themes/factuges/assets/img/social/tumblr.png new file mode 100644 index 0000000..6e31808 Binary files /dev/null and b/www/themes/factuges/assets/img/social/tumblr.png differ diff --git a/www/themes/factuges/assets/img/social/twitter.png b/www/themes/factuges/assets/img/social/twitter.png new file mode 100644 index 0000000..4399f54 Binary files /dev/null and b/www/themes/factuges/assets/img/social/twitter.png differ diff --git a/www/themes/factuges/assets/img/social/vimeo.png b/www/themes/factuges/assets/img/social/vimeo.png new file mode 100644 index 0000000..7ec4af1 Binary files /dev/null and b/www/themes/factuges/assets/img/social/vimeo.png differ diff --git a/www/themes/factuges/assets/img/social/wordpress.png b/www/themes/factuges/assets/img/social/wordpress.png new file mode 100644 index 0000000..63bcfaf Binary files /dev/null and b/www/themes/factuges/assets/img/social/wordpress.png differ diff --git a/www/themes/factuges/assets/img/social/xing.png b/www/themes/factuges/assets/img/social/xing.png new file mode 100644 index 0000000..ffcd701 Binary files /dev/null and b/www/themes/factuges/assets/img/social/xing.png differ diff --git a/www/themes/factuges/assets/img/social/yahoo.png b/www/themes/factuges/assets/img/social/yahoo.png new file mode 100644 index 0000000..db4f44d Binary files /dev/null and b/www/themes/factuges/assets/img/social/yahoo.png differ diff --git a/www/themes/factuges/assets/img/social/youtube.png b/www/themes/factuges/assets/img/social/youtube.png new file mode 100644 index 0000000..d2e54e6 Binary files /dev/null and b/www/themes/factuges/assets/img/social/youtube.png differ diff --git a/www/themes/factuges/assets/img/syncfusion-icons-white.png b/www/themes/factuges/assets/img/syncfusion-icons-white.png new file mode 100644 index 0000000..625dcc0 Binary files /dev/null and b/www/themes/factuges/assets/img/syncfusion-icons-white.png differ diff --git a/www/themes/factuges/assets/img/syncfusion-icons.png b/www/themes/factuges/assets/img/syncfusion-icons.png new file mode 100644 index 0000000..7ee6873 Binary files /dev/null and b/www/themes/factuges/assets/img/syncfusion-icons.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-colorpicker/css/colorpicker.css b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/css/colorpicker.css new file mode 100644 index 0000000..c6fab60 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/css/colorpicker.css @@ -0,0 +1,7 @@ + /* + Colorpicker for Bootstrap + Copyright 2012 Stefan Petre + Licensed under the Apache License v2.0 + http://www.apache.org/licenses/LICENSE-2.0 +*/ + .colorpicker-saturation { width: 100px; height: 100px; background-image: url(../img/saturation.png); cursor: crosshair; float: left; } .colorpicker-saturation i { display: block; height: 5px; width: 5px; border: 1px solid #000; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; position: absolute; top: 0; left: 0; margin: -4px 0 0 -4px; } .colorpicker-saturation i b { display: block; height: 5px; width: 5px; border: 1px solid #fff; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } .colorpicker-hue, .colorpicker-alpha { width: 15px; height: 100px; float: left; cursor: row-resize; margin-left: 4px; margin-bottom: 4px; } .colorpicker-hue i, .colorpicker-alpha i { display: block; height: 1px; background: #000; border-top: 1px solid #fff; position: absolute; top: 0; left: 0; width: 100%; margin-top: -1px; } .colorpicker-hue { background-image: url(../img/hue.png); } .colorpicker-alpha { background-image: url(../img/alpha.png); display: none; } .colorpicker { *zoom: 1; top: 0; left: 0; padding: 4px; min-width: 120px; margin-top: 1px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .colorpicker:before, .colorpicker:after { display: table; content: ""; } .colorpicker:after { clear: both; } .colorpicker:before { content: ''; display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid #ccc; border-bottom-color: rgba(0, 0, 0, 0.2); position: absolute; top: -7px; left: 6px; } .colorpicker:after { content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid #ffffff; position: absolute; top: -6px; left: 7px; } .colorpicker div { position: relative; } .colorpicker.alpha { min-width: 140px; } .colorpicker.alpha .colorpicker-alpha { display: block; } .colorpicker-color { height: 10px; margin-top: 5px; clear: both; background-image: url(../img/alpha.png); background-position: 0 100%; } .colorpicker-color div { height: 10px; } .input-append.color .add-on i, .input-prepend.color .add-on i { display: block; cursor: pointer; width: 16px; height: 16px; } \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/alpha.png b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/alpha.png new file mode 100644 index 0000000..38043f1 Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/alpha.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/hue.png b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/hue.png new file mode 100644 index 0000000..d89560e Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/hue.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/saturation.png b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/saturation.png new file mode 100644 index 0000000..594ae50 Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/img/saturation.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.js b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.js new file mode 100644 index 0000000..6a0fc8a --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.js @@ -0,0 +1,540 @@ +/* ========================================================= + * bootstrap-colorpicker.js + * http://www.eyecon.ro/bootstrap-colorpicker + * ========================================================= + * Copyright 2012 Stefan Petre + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +!function( $ ) { + + // Color object + + var Color = function(val) { + this.value = { + h: 1, + s: 1, + b: 1, + a: 1 + }; + this.setColor(val); + }; + + Color.prototype = { + constructor: Color, + + //parse a string to HSB + setColor: function(val){ + val = val.toLowerCase(); + var that = this; + $.each( CPGlobal.stringParsers, function( i, parser ) { + var match = parser.re.exec( val ), + values = match && parser.parse( match ), + space = parser.space||'rgba'; + if ( values ) { + if (space === 'hsla') { + that.value = CPGlobal.RGBtoHSB.apply(null, CPGlobal.HSLtoRGB.apply(null, values)); + } else { + that.value = CPGlobal.RGBtoHSB.apply(null, values); + } + return false; + } + }); + }, + + setHue: function(h) { + this.value.h = 1- h; + }, + + setSaturation: function(s) { + this.value.s = s; + }, + + setLightness: function(b) { + this.value.b = 1- b; + }, + + setAlpha: function(a) { + this.value.a = parseInt((1 - a)*100, 10)/100; + }, + + // HSBtoRGB from RaphaelJS + // https://github.com/DmitryBaranovskiy/raphael/ + toRGB: function(h, s, b, a) { + if (!h) { + h = this.value.h; + s = this.value.s; + b = this.value.b; + } + h *= 360; + var R, G, B, X, C; + h = (h % 360) / 60; + C = b * s; + X = C * (1 - Math.abs(h % 2 - 1)); + R = G = B = b - C; + + h = ~~h; + R += [C, X, 0, 0, X, C][h]; + G += [X, C, C, X, 0, 0][h]; + B += [0, 0, X, C, C, X][h]; + return { + r: Math.round(R*255), + g: Math.round(G*255), + b: Math.round(B*255), + a: a||this.value.a + }; + }, + + toHex: function(h, s, b, a){ + var rgb = this.toRGB(h, s, b, a); + return '#'+((1 << 24) | (parseInt(rgb.r) << 16) | (parseInt(rgb.g) << 8) | parseInt(rgb.b)).toString(16).substr(1); + }, + + toHSL: function(h, s, b, a){ + if (!h) { + h = this.value.h; + s = this.value.s; + b = this.value.b; + } + var H = h, + L = (2 - s) * b, + S = s * b; + if (L > 0 && L <= 1) { + S /= L; + } else { + S /= 2 - L; + } + L /= 2; + if (S > 1) { + S = 1; + } + return { + h: H, + s: S, + l: L, + a: a||this.value.a + }; + } + }; + + // Picker object + + var Colorpicker = function(element, options){ + this.element = $(element); + var format = options.format||this.element.data('color-format')||'hex'; + this.format = CPGlobal.translateFormats[format]; + this.isInput = this.element.is('input'); + this.component = this.element.is('.color') ? this.element.find('.add-on') : false; + + this.picker = $(CPGlobal.template) + .appendTo('body') + .on('mousedown', $.proxy(this.mousedown, this)); + + if (this.isInput) { + this.element.on({ + 'focus': $.proxy(this.show, this), + 'keyup': $.proxy(this.update, this) + }); + } else if (this.component){ + this.component.on({ + 'click': $.proxy(this.show, this) + }); + } else { + this.element.on({ + 'click': $.proxy(this.show, this) + }); + } + if (format === 'rgba' || format === 'hsla') { + this.picker.addClass('alpha'); + this.alpha = this.picker.find('.colorpicker-alpha')[0].style; + } + + if (this.component){ + this.picker.find('.colorpicker-color').hide(); + this.preview = this.element.find('i')[0].style; + } else { + this.preview = this.picker.find('div:last')[0].style; + } + + this.base = this.picker.find('div:first')[0].style; + this.update(); + }; + + Colorpicker.prototype = { + constructor: Colorpicker, + + show: function(e) { + this.picker.show(); + this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); + this.place(); + $(window).on('resize', $.proxy(this.place, this)); + if (!this.isInput) { + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + } + $(document).on({ + 'mousedown': $.proxy(this.hide, this) + }); + this.element.trigger({ + type: 'show', + color: this.color + }); + }, + + update: function(){ + this.color = new Color(this.isInput ? this.element.prop('value') : this.element.data('color')); + this.picker.find('i') + .eq(0).css({left: this.color.value.s*100, top: 100 - this.color.value.b*100}).end() + .eq(1).css('top', 100 * (1 - this.color.value.h)).end() + .eq(2).css('top', 100 * (1 - this.color.value.a)); + this.previewColor(); + }, + + setValue: function(newColor) { + this.color = new Color(newColor); + this.picker.find('i') + .eq(0).css({left: this.color.value.s*100, top: 100 - this.color.value.b*100}).end() + .eq(1).css('top', 100 * (1 - this.color.value.h)).end() + .eq(2).css('top', 100 * (1 - this.color.value.a)); + this.previewColor(); + this.element.trigger({ + type: 'changeColor', + color: this.color + }); + }, + + hide: function(){ + this.picker.hide(); + $(window).off('resize', this.place); + if (!this.isInput) { + $(document).off({ + 'mousedown': this.hide + }); + if (this.component){ + this.element.find('input').prop('value', this.format.call(this)); + } + this.element.data('color', this.format.call(this)); + } else { + this.element.prop('value', this.format.call(this)); + } + this.element.trigger({ + type: 'hide', + color: this.color + }); + }, + + place: function(){ + var offset = this.component ? this.component.offset() : this.element.offset(); + this.picker.css({ + top: offset.top + this.height, + left: offset.left + }); + }, + + //preview color change + previewColor: function(){ + try { + this.preview.backgroundColor = this.format.call(this); + } catch(e) { + this.preview.backgroundColor = this.color.toHex(); + } + //set the color for brightness/saturation slider + this.base.backgroundColor = this.color.toHex(this.color.value.h, 1, 1, 1); + //set te color for alpha slider + if (this.alpha) { + this.alpha.backgroundColor = this.color.toHex(); + } + }, + + pointer: null, + + slider: null, + + mousedown: function(e){ + e.stopPropagation(); + e.preventDefault(); + + var target = $(e.target); + + //detect the slider and set the limits and callbacks + var zone = target.closest('div'); + if (!zone.is('.colorpicker')) { + if (zone.is('.colorpicker-saturation')) { + this.slider = $.extend({}, CPGlobal.sliders.saturation); + } + else if (zone.is('.colorpicker-hue')) { + this.slider = $.extend({}, CPGlobal.sliders.hue); + } + else if (zone.is('.colorpicker-alpha')) { + this.slider = $.extend({}, CPGlobal.sliders.alpha); + } else { + return false; + } + var offset = zone.offset(); + //reference to knob's style + this.slider.knob = zone.find('i')[0].style; + this.slider.left = e.pageX - offset.left; + this.slider.top = e.pageY - offset.top; + this.pointer = { + left: e.pageX, + top: e.pageY + }; + //trigger mousemove to move the knob to the current position + $(document).on({ + mousemove: $.proxy(this.mousemove, this), + mouseup: $.proxy(this.mouseup, this) + }).trigger('mousemove'); + } + return false; + }, + + mousemove: function(e){ + e.stopPropagation(); + e.preventDefault(); + var left = Math.max( + 0, + Math.min( + this.slider.maxLeft, + this.slider.left + ((e.pageX||this.pointer.left) - this.pointer.left) + ) + ); + var top = Math.max( + 0, + Math.min( + this.slider.maxTop, + this.slider.top + ((e.pageY||this.pointer.top) - this.pointer.top) + ) + ); + this.slider.knob.left = left + 'px'; + this.slider.knob.top = top + 'px'; + if (this.slider.callLeft) { + this.color[this.slider.callLeft].call(this.color, left/100); + } + if (this.slider.callTop) { + this.color[this.slider.callTop].call(this.color, top/100); + } + this.previewColor(); + this.element.trigger({ + type: 'changeColor', + color: this.color + }); + return false; + }, + + mouseup: function(e){ + e.stopPropagation(); + e.preventDefault(); + $(document).off({ + mousemove: this.mousemove, + mouseup: this.mouseup + }); + return false; + } + } + + $.fn.colorpicker = function ( option ) { + return this.each(function () { + var $this = $(this), + data = $this.data('colorpicker'), + options = typeof option === 'object' && option; + if (!data) { + $this.data('colorpicker', (data = new Colorpicker(this, $.extend({}, $.fn.colorpicker.defaults,options)))); + } + if (typeof option === 'string') data[option](); + }); + }; + + $.fn.colorpicker.defaults = { + }; + + $.fn.colorpicker.Constructor = Colorpicker; + + var CPGlobal = { + + // translate a format from Color object to a string + translateFormats: { + 'rgb': function(){ + var rgb = this.color.toRGB(); + return 'rgb('+rgb.r+','+rgb.g+','+rgb.b+')'; + }, + + 'rgba': function(){ + var rgb = this.color.toRGB(); + return 'rgba('+rgb.r+','+rgb.g+','+rgb.b+','+rgb.a+')'; + }, + + 'hsl': function(){ + var hsl = this.color.toHSL(); + return 'hsl('+Math.round(hsl.h*360)+','+Math.round(hsl.s*100)+'%,'+Math.round(hsl.l*100)+'%)'; + }, + + 'hsla': function(){ + var hsl = this.color.toHSL(); + return 'hsla('+Math.round(hsl.h*360)+','+Math.round(hsl.s*100)+'%,'+Math.round(hsl.l*100)+'%,'+hsl.a+')'; + }, + + 'hex': function(){ + return this.color.toHex(); + } + }, + + sliders: { + saturation: { + maxLeft: 100, + maxTop: 100, + callLeft: 'setSaturation', + callTop: 'setLightness' + }, + + hue: { + maxLeft: 0, + maxTop: 100, + callLeft: false, + callTop: 'setHue' + }, + + alpha: { + maxLeft: 0, + maxTop: 100, + callLeft: false, + callTop: 'setAlpha' + } + }, + + // HSBtoRGB from RaphaelJS + // https://github.com/DmitryBaranovskiy/raphael/ + RGBtoHSB: function (r, g, b, a){ + r /= 255; + g /= 255; + b /= 255; + + var H, S, V, C; + V = Math.max(r, g, b); + C = V - Math.min(r, g, b); + H = (C === 0 ? null : + V == r ? (g - b) / C : + V == g ? (b - r) / C + 2 : + (r - g) / C + 4 + ); + H = ((H + 360) % 6) * 60 / 360; + S = C === 0 ? 0 : C / V; + return {h: H||1, s: S, b: V, a: a||1}; + }, + + HueToRGB: function (p, q, h) { + if (h < 0) + h += 1; + else if (h > 1) + h -= 1; + + if ((h * 6) < 1) + return p + (q - p) * h * 6; + else if ((h * 2) < 1) + return q; + else if ((h * 3) < 2) + return p + (q - p) * ((2 / 3) - h) * 6; + else + return p; + }, + + HSLtoRGB: function (h, s, l, a) + { + if (s < 0) { + s = 0; + } + var q; + if (l <= 0.5) { + q = l * (1 + s); + } else { + q = l + s - (l * s); + } + + var p = 2 * l - q; + + var tr = h + (1 / 3); + var tg = h; + var tb = h - (1 / 3); + + var r = Math.round(CPGlobal.HueToRGB(p, q, tr) * 255); + var g = Math.round(CPGlobal.HueToRGB(p, q, tg) * 255); + var b = Math.round(CPGlobal.HueToRGB(p, q, tb) * 255); + return [r, g, b, a||1]; + }, + + // a set of RE's that can match strings and generate color tuples. + // from John Resig color plugin + // https://github.com/jquery/jquery-color/ + stringParsers: [ + { + re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + execResult[ 1 ], + execResult[ 2 ], + execResult[ 3 ], + execResult[ 4 ] + ]; + } + }, { + re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + 2.55 * execResult[1], + 2.55 * execResult[2], + 2.55 * execResult[3], + execResult[ 4 ] + ]; + } + }, { + re: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ], 16 ) + ]; + } + }, { + re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) + ]; + } + }, { + re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, + space: 'hsla', + parse: function( execResult ) { + return [ + execResult[1]/360, + execResult[2] / 100, + execResult[3] / 100, + execResult[4] + ]; + } + } + ], + template: '' + + '' + + ''; + + this.parentEl = (hasOptions && options.parentEl && $(options.parentEl)) || $(this.parentEl); + //the date range picker + this.container = $(DRPTemplate).appendTo(this.parentEl); + + if (hasOptions) { + + if (typeof options.format == 'string') + this.format = options.format; + + if (typeof options.separator == 'string') + this.separator = options.separator; + + if (typeof options.startDate == 'string') + this.startDate = Date.parse(options.startDate, this.format); + + if (typeof options.endDate == 'string') + this.endDate = Date.parse(options.endDate, this.format); + + if (typeof options.minDate == 'string') + this.minDate = Date.parse(options.minDate, this.format); + + if (typeof options.maxDate == 'string') + this.maxDate = Date.parse(options.maxDate, this.format); + + + if (typeof options.startDate == 'object') + this.startDate = options.startDate; + + if (typeof options.endDate == 'object') + this.endDate = options.endDate; + + if (typeof options.minDate == 'object') + this.minDate = options.minDate; + + if (typeof options.maxDate == 'object') + this.maxDate = options.maxDate; + + if (typeof options.ranges == 'object') { + for (var range in options.ranges) { + + var start = options.ranges[range][0]; + var end = options.ranges[range][1]; + + if (typeof start == 'string') + start = Date.parse(start); + + if (typeof end == 'string') + end = Date.parse(end); + + // If we have a min/max date set, bound this range + // to it, but only if it would otherwise fall + // outside of the min/max. + if (this.minDate && start < this.minDate) + start = this.minDate; + + if (this.maxDate && end > this.maxDate) + end = this.maxDate; + + // If the end of the range is before the minimum (if min is set) OR + // the start of the range is after the max (also if set) don't display this + // range option. + if ((this.minDate && end < this.minDate) || (this.maxDate && start > this.maxDate)) + { + continue; + } + + this.ranges[range] = [start, end]; + } + + var list = '
          '; + for (var range in this.ranges) { + list += '
        • ' + range + '
        • '; + } + list += '
        • ' + this.locale.customRangeLabel + '
        • '; + list += '
        '; + this.container.find('.ranges').prepend(list); + } + + // update day names order to firstDay + if (typeof options.locale == 'object') { + if (typeof options.locale.firstDay == 'number') { + this.locale.firstDay = options.locale.firstDay; + var iterator = options.locale.firstDay; + while (iterator > 0) { + this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()); + iterator--; + } + } + } + + if (typeof options.opens == 'string') + this.opens = options.opens; + + if (typeof options.showWeekNumbers == 'boolean') { + this.showWeekNumbers = options.showWeekNumbers; + } + + if (typeof options.buttonClasses == 'string') { + this.buttonClasses = [options.buttonClasses]; + } + + if (typeof options.buttonClasses == 'object') { + this.buttonClasses = options.buttonClasses; + } + + } + + //apply CSS classes to buttons + var c = this.container; + $.each(this.buttonClasses, function (idx, val) { + c.find('button').addClass(val); + }); + + if (this.opens == 'right') { + //swap calendar positions + var left = this.container.find('.calendar.left'); + var right = this.container.find('.calendar.right'); + left.removeClass('left').addClass('right'); + right.removeClass('right').addClass('left'); + } + + if (typeof options == 'undefined' || typeof options.ranges == 'undefined') + this.container.find('.calendar').show(); + + if (typeof cb == 'function') + this.cb = cb; + + this.container.addClass('opens' + this.opens); + + //event listeners + this.container.on('mousedown', $.proxy(this.mousedown, this)); + this.container.find('.calendar').on('click', '.prev', $.proxy(this.clickPrev, this)); + this.container.find('.calendar').on('click', '.next', $.proxy(this.clickNext, this)); + this.container.find('.ranges').on('click', 'button', $.proxy(this.clickApply, this)); + + this.container.find('.calendar').on('click', 'td.available', $.proxy(this.clickDate, this)); + this.container.find('.calendar').on('mouseenter', 'td.available', $.proxy(this.enterDate, this)); + this.container.find('.calendar').on('mouseleave', 'td.available', $.proxy(this.updateView, this)); + + this.container.find('.ranges').on('click', 'li', $.proxy(this.clickRange, this)); + this.container.find('.ranges').on('mouseenter', 'li', $.proxy(this.enterRange, this)); + this.container.find('.ranges').on('mouseleave', 'li', $.proxy(this.updateView, this)); + + this.element.on('keyup', $.proxy(this.updateFromControl, this)); + + this.updateView(); + this.updateCalendars(); + + }; + + DateRangePicker.prototype = { + + constructor: DateRangePicker, + + mousedown: function (e) { + e.stopPropagation(); + e.preventDefault(); + }, + + updateView: function () { + this.leftCalendar.month.set({ month: this.startDate.getMonth(), year: this.startDate.getFullYear() }); + this.rightCalendar.month.set({ month: this.endDate.getMonth(), year: this.endDate.getFullYear() }); + + this.container.find('input[name=daterangepicker_start]').val(this.startDate.toString(this.format)); + this.container.find('input[name=daterangepicker_end]').val(this.endDate.toString(this.format)); + + if (this.startDate.equals(this.endDate) || this.startDate.isBefore(this.endDate)) { + this.container.find('button').removeAttr('disabled'); + } else { + this.container.find('button').attr('disabled', 'disabled'); + } + }, + + updateFromControl: function () { + if (!this.element.is('input')) return; + + var dateString = this.element.val().split(this.separator); + var start = Date.parseExact(dateString[0], this.format); + var end = Date.parseExact(dateString[1], this.format); + + if (start == null || end == null) return; + if (end.isBefore(start)) return; + + this.startDate = start; + this.endDate = end; + + this.updateView(); + this.cb(this.startDate, this.endDate); + this.updateCalendars(); + }, + + notify: function () { + this.updateView(); + + if (this.element.is('input')) { + this.element.val(this.startDate.toString(this.format) + this.separator + this.endDate.toString(this.format)); + } + this.cb(this.startDate, this.endDate); + }, + + move: function () { + var parentOffset = { + top: this.parentEl.offset().top - this.parentEl.scrollTop(), + left: this.parentEl.offset().left - this.parentEl.scrollLeft() + }; + if (this.opens == 'left') { + this.container.css({ + top: this.element.offset().top + this.element.outerHeight(), + right: $(window).width() - this.element.offset().left - this.element.outerWidth() - parentOffset.left, + left: 'auto' + }); + } else { + this.container.css({ + top: this.element.offset().top + this.element.outerHeight(), + left: this.element.offset().left - parentOffset.left, + right: 'auto' + }); + } + }, + + show: function (e) { + this.container.show(); + this.move(); + + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + + this.changed = false; + + $(document).on('mousedown', $.proxy(this.hide, this)); + }, + + hide: function (e) { + this.container.hide(); + $(document).off('mousedown', this.hide); + + if (this.changed) { + this.changed = false; + this.notify(); + } + }, + + enterRange: function (e) { + var label = e.target.innerHTML; + if (label == this.locale.customRangeLabel) { + this.updateView(); + } else { + var dates = this.ranges[label]; + this.container.find('input[name=daterangepicker_start]').val(dates[0].toString(this.format)); + this.container.find('input[name=daterangepicker_end]').val(dates[1].toString(this.format)); + } + }, + + clickRange: function (e) { + var label = e.target.innerHTML; + if (label == this.locale.customRangeLabel) { + this.container.find('.calendar').show(); + } else { + var dates = this.ranges[label]; + + this.startDate = dates[0]; + this.endDate = dates[1]; + + this.leftCalendar.month.set({ month: this.startDate.getMonth(), year: this.startDate.getFullYear() }); + this.rightCalendar.month.set({ month: this.endDate.getMonth(), year: this.endDate.getFullYear() }); + this.updateCalendars(); + + this.changed = true; + + this.container.find('.calendar').hide(); + this.hide(); + } + }, + + clickPrev: function (e) { + var cal = $(e.target).parents('.calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.add({ months: -1 }); + } else { + this.rightCalendar.month.add({ months: -1 }); + } + this.updateCalendars(); + }, + + clickNext: function (e) { + var cal = $(e.target).parents('.calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.add({ months: 1 }); + } else { + this.rightCalendar.month.add({ months: 1 }); + } + this.updateCalendars(); + }, + + enterDate: function (e) { + + var title = $(e.target).attr('title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.calendar'); + + if (cal.hasClass('left')) { + this.container.find('input[name=daterangepicker_start]').val(this.leftCalendar.calendar[row][col].toString(this.format)); + } else { + this.container.find('input[name=daterangepicker_end]').val(this.rightCalendar.calendar[row][col].toString(this.format)); + } + + }, + + clickDate: function (e) { + var title = $(e.target).attr('title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.calendar'); + + if (cal.hasClass('left')) { + startDate = this.leftCalendar.calendar[row][col]; + endDate = this.endDate; + } else { + startDate = this.startDate; + endDate = this.rightCalendar.calendar[row][col]; + } + + cal.find('td').removeClass('active'); + + if (startDate.equals(endDate) || startDate.isBefore(endDate)) { + $(e.target).addClass('active'); + if (!startDate.equals(this.startDate) || !endDate.equals(this.endDate)) + this.changed = true; + this.startDate = startDate; + this.endDate = endDate; + } + + this.leftCalendar.month.set({ month: this.startDate.getMonth(), year: this.startDate.getFullYear() }); + this.rightCalendar.month.set({ month: this.endDate.getMonth(), year: this.endDate.getFullYear() }); + this.updateCalendars(); + }, + + clickApply: function (e) { + this.hide(); + }, + + updateCalendars: function () { + this.leftCalendar.calendar = this.buildCalendar(this.leftCalendar.month.getMonth(), this.leftCalendar.month.getFullYear()); + this.rightCalendar.calendar = this.buildCalendar(this.rightCalendar.month.getMonth(), this.rightCalendar.month.getFullYear()); + this.container.find('.calendar.left').html(this.renderCalendar(this.leftCalendar.calendar, this.startDate, this.minDate, this.endDate)); + this.container.find('.calendar.right').html(this.renderCalendar(this.rightCalendar.calendar, this.endDate, this.startDate, this.maxDate)); + }, + + buildCalendar: function (month, year) { + + var firstDay = Date.today().set({ day: 1, month: month, year: year }); + var lastMonth = firstDay.clone().add(-1).day().getMonth(); + var lastYear = firstDay.clone().add(-1).day().getFullYear(); + + var daysInMonth = Date.getDaysInMonth(year, month); + var daysInLastMonth = Date.getDaysInMonth(lastYear, lastMonth); + + var dayOfWeek = firstDay.getDay(); + + //initialize a 6 rows x 7 columns array for the calendar + var calendar = Array(); + for (var i = 0; i < 6; i++) { + calendar[i] = Array(); + } + + //populate the calendar with date objects + var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1; + if (startDay > daysInLastMonth) + startDay -= 7; + + if (dayOfWeek == this.locale.firstDay) + startDay = daysInLastMonth - 6; + + var curDate = Date.today().set({ day: startDay, month: lastMonth, year: lastYear }); + for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = curDate.clone().add(1).day()) { + if (i > 0 && col % 7 == 0) { + col = 0; + row++; + } + calendar[row][col] = curDate; + } + + return calendar; + + }, + + renderCalendar: function (calendar, selected, minDate, maxDate) { + var html = ''; + html += ''; + html += ''; + + // add empty cell for week number + if (this.showWeekNumbers) + html += ''; + + if (!minDate || minDate < calendar[1][1]) + { + html += ''; + } + else + { + html += ''; + } + html += ''; + if (!maxDate || maxDate > calendar[1][1]) + { + html += ''; + } + else + { + html += ''; + } + + html += ''; + html += ''; + + // add week number label + if (this.showWeekNumbers) + html += ''; + + $.each(this.locale.daysOfWeek, function (index, dayOfWeek) { + html += ''; + }); + + html += ''; + html += ''; + html += ''; + + for (var row = 0; row < 6; row++) { + html += ''; + + // add week number + if (this.showWeekNumbers) + html += ''; + + for (var col = 0; col < 7; col++) { + var cname = 'available '; + cname += (calendar[row][col].getMonth() == calendar[1][1].getMonth()) ? '' : 'off'; + + // Normalise the time so the comparison won't fail + selected.setHours(0,0,0,0); + + if ( (minDate && calendar[row][col] < minDate) || (maxDate && calendar[row][col] > maxDate)) + { + cname = 'off disabled'; + } + else if (calendar[row][col].equals(selected)) + { + cname += 'active'; + } + + var title = 'r' + row + 'c' + col; + html += ''; + } + html += ''; + } + + html += ''; + html += '
        ' + this.locale.monthNames[calendar[1][1].getMonth()] + calendar[1][1].toString(" yyyy") + '
        ' + this.locale.weekLabel + '' + dayOfWeek + '
        ' + calendar[row][0].getWeek() + '' + calendar[row][col].getDate() + '
        '; + + return html; + + } + + }; + + $.fn.daterangepicker = function (options, cb) { + this.each(function() { + var el = $(this); + if (!el.data('daterangepicker')) + el.data('daterangepicker', new DateRangePicker(el, options, cb)); + }); + return this; + }; + +} (window.jQuery); diff --git a/www/themes/factuges/assets/plugins/bootstrap-daterangepicker/examples.html b/www/themes/factuges/assets/plugins/bootstrap-daterangepicker/examples.html new file mode 100644 index 0000000..c136604 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-daterangepicker/examples.html @@ -0,0 +1,98 @@ + + + + + A date range picker for Twitter Bootstrap + + + + + + + + +
        +
        + +

        Simple Example

        +
        + +
        +
        +
        + +
        +
        + +
        +
        +
        +
        +
        + + + +
        + +

        Options Usage Example

        + +
        + +
        + + +
        + + + +
        + +
        +
        + + + diff --git a/www/themes/factuges/assets/plugins/bootstrap-fileupload/bootstrap-fileupload.css b/www/themes/factuges/assets/plugins/bootstrap-fileupload/bootstrap-fileupload.css new file mode 100644 index 0000000..0c61ac5 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-fileupload/bootstrap-fileupload.css @@ -0,0 +1,116 @@ +.btn-file { + position: relative; + overflow: hidden; + vertical-align: middle; +} + +.btn-file > input { + position: absolute; + top: 0; + right: 0; + margin: 0; + font-size: 23px; + cursor: pointer; + opacity: 0; + filter: alpha(opacity=0); + transform: translate(-300px, 0) scale(4); + direction: ltr; +} + +.fileupload { + margin-bottom: 9px; +} + +.fileupload .uneditable-input { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + cursor: text; +} + +.fileupload .thumbnail { + display: inline-block; + margin-bottom: 5px; + overflow: hidden; + text-align: center; + vertical-align: middle; +} + +.fileupload .thumbnail > img { + display: inline-block; + max-height: 100%; + vertical-align: middle; +} + +.fileupload .btn { + vertical-align: middle; +} + +.fileupload-exists .fileupload-new, +.fileupload-new .fileupload-exists { + display: none; +} + +.fileupload-inline .fileupload-controls { + display: inline; +} + +.fileupload-new .input-append .btn-file { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.thumbnail-borderless .thumbnail { + padding: 0; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.fileupload-new.thumbnail-borderless .thumbnail { + border: 1px solid #ddd; +} + +.control-group.warning .fileupload .uneditable-input { + color: #a47e3c; + border-color: #a47e3c; +} + +.control-group.warning .fileupload .fileupload-preview { + color: #a47e3c; +} + +.control-group.warning .fileupload .thumbnail { + border-color: #a47e3c; +} + +.control-group.error .fileupload .uneditable-input { + color: #b94a48; + border-color: #b94a48; +} + +.control-group.error .fileupload .fileupload-preview { + color: #b94a48; +} + +.control-group.error .fileupload .thumbnail { + border-color: #b94a48; +} + +.control-group.success .fileupload .uneditable-input { + color: #468847; + border-color: #468847; +} + +.control-group.success .fileupload .fileupload-preview { + color: #468847; +} + +.control-group.success .fileupload .thumbnail { + border-color: #468847; +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-fileupload/bootstrap-fileupload.js b/www/themes/factuges/assets/plugins/bootstrap-fileupload/bootstrap-fileupload.js new file mode 100644 index 0000000..9ea6108 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-fileupload/bootstrap-fileupload.js @@ -0,0 +1,171 @@ +/* =========================================================== + * bootstrap-fileupload.js j2 + * http://jasny.github.com/bootstrap/javascript.html#fileupload + * =========================================================== + * Copyright 2012 Jasny BV, Netherlands. + * + * Licensed under the Apache License, Version 2.0 (the "License") + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + +!function ($) { + + "use strict"; // jshint ;_ + + /* FILEUPLOAD PUBLIC CLASS DEFINITION + * ================================= */ + + var Fileupload = function (element, options) { + this.$element = $(element) + this.type = this.$element.data('uploadtype') || (this.$element.find('.thumbnail').length > 0 ? "image" : "file") + + this.$input = this.$element.find(':file') + if (this.$input.length === 0) return + + this.name = this.$input.attr('name') || options.name + + this.$hidden = this.$element.find('input[type=hidden][name="'+this.name+'"]') + if (this.$hidden.length === 0) { + this.$hidden = $('') + this.$element.prepend(this.$hidden) + } + + this.$preview = this.$element.find('.fileupload-preview') + var height = this.$preview.css('height') + if (this.$preview.css('display') != 'inline' && height != '0px' && height != 'none') this.$preview.css('line-height', height) + + this.original = { + 'exists': this.$element.hasClass('fileupload-exists'), + 'preview': this.$preview.html(), + 'hiddenVal': this.$hidden.val() + } + + this.$remove = this.$element.find('[data-dismiss="fileupload"]') + + this.$element.find('[data-trigger="fileupload"]').on('click.fileupload', $.proxy(this.trigger, this)) + + this.listen() + } + + Fileupload.prototype = { + + listen: function() { + this.$input.on('change.fileupload', $.proxy(this.change, this)) + $(this.$input[0].form).on('reset.fileupload', $.proxy(this.reset, this)) + if (this.$remove) this.$remove.on('click.fileupload', $.proxy(this.clear, this)) + }, + + change: function(e, invoked) { + var file = e.target.files !== undefined ? e.target.files[0] : (e.target.value ? { name: e.target.value.replace(/^.+\\/, '') } : null) + if (invoked === 'clear') return + + if (!file) { + this.clear() + return + } + + this.$hidden.val('') + this.$hidden.attr('name', '') + this.$input.attr('name', this.name) + + if (this.type === "image" && this.$preview.length > 0 && (typeof file.type !== "undefined" ? file.type.match('image.*') : file.name.match('\\.(gif|png|jpe?g)$')) && typeof FileReader !== "undefined") { + var reader = new FileReader() + var preview = this.$preview + var element = this.$element + + reader.onload = function(e) { + preview.html('') + element.addClass('fileupload-exists').removeClass('fileupload-new') + } + + reader.readAsDataURL(file) + } else { + this.$preview.text(file.name) + this.$element.addClass('fileupload-exists').removeClass('fileupload-new') + } + }, + + clear: function(e) { + this.$hidden.val('') + this.$hidden.attr('name', this.name) + this.$input.attr('name', '') + + //ie8+ doesn't support changing the value of input with type=file so clone instead + if($.browser.msie){ + var inputClone = this.$input.clone(true); + this.$input.after(inputClone); + this.$input.remove(); + this.$input = inputClone; + }else{ + this.$input.val('') + } + + this.$preview.html('') + this.$element.addClass('fileupload-new').removeClass('fileupload-exists') + + if (e) { + this.$input.trigger('change', [ 'clear' ]) + e.preventDefault() + } + }, + + reset: function(e) { + this.clear() + + this.$hidden.val(this.original.hiddenVal) + this.$preview.html(this.original.preview) + + if (this.original.exists) this.$element.addClass('fileupload-exists').removeClass('fileupload-new') + else this.$element.addClass('fileupload-new').removeClass('fileupload-exists') + }, + + trigger: function(e) { + this.$input.trigger('click') + e.preventDefault() + } + } + + + /* FILEUPLOAD PLUGIN DEFINITION + * =========================== */ + + $.fn.fileupload = function (options) { + return this.each(function () { + var $this = $(this) + , data = $this.data('fileupload') + if (!data) $this.data('fileupload', (data = new Fileupload(this, options))) + if (typeof options == 'string') data[options]() + }) + } + + $.fn.fileupload.Constructor = Fileupload + + + /* FILEUPLOAD DATA-API + * ================== */ + + $(function () { + $('body').on('click.fileupload.data-api', '[data-provides="fileupload"]', function (e) { + var $this = $(this) + if ($this.data('fileupload')) return + $this.fileupload($this.data()) + + var $target = $(e.target).is('[data-dismiss=fileupload],[data-trigger=fileupload]') ? + $(e.target) : $(e.target).parents('[data-dismiss=fileupload],[data-trigger=fileupload]').first() + if ($target.length > 0) { + $target.trigger('click.fileupload') + e.preventDefault() + } + }) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-tag/README.md b/www/themes/factuges/assets/plugins/bootstrap-tag/README.md new file mode 100644 index 0000000..33d17fa --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tag/README.md @@ -0,0 +1,25 @@ +# Tags for Twitter Bootstrap 2.x + +bootstrap-tag is a javascript plugin that makes it easy to create simple, beautiful tag inputs with the help of [Twitter Bootstrap](http://twitter.github.com/bootstrap/). + +## Usage + +Just like in Bootstrap you can activate it without any JavaScript, just by adding a data-attribute, you can make it automatically work. + +Simply add `data-provide="tag"`. You can set options via data-attributes, too. + + + +Alternatively, you can initialize via JavaScript: + + $('.input-tag').tag(options); + +### Options + +* **caseInsensitive** _(optional)_ Whether or not search and matching should be case insensitive. Default to `true`. +* **allowDuplicates** _(optional)_ Whether or not to allow duplicate tags. Defaults to `false`. +* **source** _(optional)_ The data source to query against. May be an array of strings or a function. Defaults to `[]`. + +## Example + +You can try it [here](http://fdeschenes.github.com/bootstrap-tag/). I've also included the example in the `docs` folder. \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-tag/css/bootstrap-tag.css b/www/themes/factuges/assets/plugins/bootstrap-tag/css/bootstrap-tag.css new file mode 100644 index 0000000..42c95d3 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tag/css/bootstrap-tag.css @@ -0,0 +1,94 @@ +.tags { + display: inline-block; + padding: 4px 6px; + margin-bottom: 10px; + color: #555555; + vertical-align: middle; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear .2s, box-shadow linear .2s; + -moz-transition: border linear .2s, box-shadow linear .2s; + -o-transition: border linear .2s, box-shadow linear .2s; + transition: border linear .2s, box-shadow linear .2s; + width: 206px; +} +.tags-hover { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); +} +.tags[class*="span"] { + float: none; + margin-left: 0; +} +.tags input[type="text"], +.tags input[type="text"]:focus { + border: none; + display: inline; + outline: 0; + margin: 0; + padding: 0; + font-size: 11.844px; + line-height: 14px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + width: 100%; +} +.tag { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #999999; + padding-left: 9px; + padding-right: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; + margin-bottom: 5px; + margin-right: 5px; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -o-transition: all 0.2s; + transition: all 0.2s; +} +.tag:empty { + display: none; +} +.tag-important { + background-color: #953b39; +} +.tag-warning { + background-color: #c67605; +} +.tag-success { + background-color: #356635; +} +.tag-info { + background-color: #2d6987; +} +.tag-inverse { + background-color: #1a1a1a; +} +.tag .close { + font-size: 14px; + line-height: 14px; + margin-left: 7px; +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-tag/docs/assets/css/bootstrap-tag.css b/www/themes/factuges/assets/plugins/bootstrap-tag/docs/assets/css/bootstrap-tag.css new file mode 100644 index 0000000..42c95d3 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tag/docs/assets/css/bootstrap-tag.css @@ -0,0 +1,94 @@ +.tags { + display: inline-block; + padding: 4px 6px; + margin-bottom: 10px; + color: #555555; + vertical-align: middle; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear .2s, box-shadow linear .2s; + -moz-transition: border linear .2s, box-shadow linear .2s; + -o-transition: border linear .2s, box-shadow linear .2s; + transition: border linear .2s, box-shadow linear .2s; + width: 206px; +} +.tags-hover { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); +} +.tags[class*="span"] { + float: none; + margin-left: 0; +} +.tags input[type="text"], +.tags input[type="text"]:focus { + border: none; + display: inline; + outline: 0; + margin: 0; + padding: 0; + font-size: 11.844px; + line-height: 14px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + width: 100%; +} +.tag { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #999999; + padding-left: 9px; + padding-right: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; + margin-bottom: 5px; + margin-right: 5px; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -o-transition: all 0.2s; + transition: all 0.2s; +} +.tag:empty { + display: none; +} +.tag-important { + background-color: #953b39; +} +.tag-warning { + background-color: #c67605; +} +.tag-success { + background-color: #356635; +} +.tag-info { + background-color: #2d6987; +} +.tag-inverse { + background-color: #1a1a1a; +} +.tag .close { + font-size: 14px; + line-height: 14px; + margin-left: 7px; +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-tag/docs/index.html b/www/themes/factuges/assets/plugins/bootstrap-tag/docs/index.html new file mode 100644 index 0000000..09f9e3f --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tag/docs/index.html @@ -0,0 +1,95 @@ + + + + Bootstrap Tag + + + + + + + + + +
        +
        +
        + +

        Example

        +

        A basic plugin for quickly creating elegant tag inputs with any form text input.

        +
        + +
        +
        <input type="text" name="tags" data-provide="tag">
        +
        +

        Usage

        +

        Via data attributes

        +

        Activate a modal without writing JavaScript. Set data-provides="tag" on a text input element and it'll be converted into a tag input.

        +
        <input type="text" name="tags" data-provide="tag">
        +

        Via JavaScript

        +

        Call a tag input with id myInput with a single line of JavaScript:

        +
        $('#myInput').tag(options)
        +

        Options

        +

        Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-caseInsensitive="true".

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameTypeDefaultDescription
        caseInsensitivebooleantrueCase insensitive search
        allowDuplicatesbooleanfalseAllows duplicates
        sourcearray, function[]The data source to query against. May be an array of strings or a function. The function is passed two arguments, the query value in the input field and the process callback. The function may be used synchronously by returning the data source directly or asynchronously via the process callback's single argument.
        +

        Methods

        +

        .tag(options)

        +

        Initializes an input with tags.

        +
        +
        +
        + + + + + + + + \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-tag/js/bootstrap-tag.js b/www/themes/factuges/assets/plugins/bootstrap-tag/js/bootstrap-tag.js new file mode 100644 index 0000000..76b1de0 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tag/js/bootstrap-tag.js @@ -0,0 +1,246 @@ +/* ========================================================== + * bootstrap-tag.js v2.2.2 + * https://github.com/fdeschenes/bootstrap-tag + * ========================================================== + * Copyright 2012 Francois Deschenes. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + +// https://github.com/soliantconsulting/tagmanager/blob/master/tagmanager.js + +!function ( $ ) { + + 'use strict' // jshint ;_; + + var Tag = function ( element, options ) { + this.element = $(element) + this.options = $.extend(true, {}, $.fn.tag.defaults, options) + this.values = $.grep($.map(this.element.val().split(','), $.trim), function ( value ) { return value.length > 0 }) + this.show() + } + + Tag.prototype = { + constructor: Tag + + , show: function () { + var that = this + + that.element.parent().prepend(that.element.detach().attr('type', 'hidden')) + that.element + .wrap($('
        ')) + .parent() + .on('click', function () { + that.input.focus() + }) + + if (that.values.length) { + $.each(that.values, function () { + that.createBadge(this) + }) + } + + + that.input = $('') + .attr('placeholder', that.options.placeholder) + .insertAfter(that.element) + .on('focus', function () { + that.element.parent().addClass('tags-hover') + }) + .on('blur', function () { + that.process() + that.element.parent().removeClass('tags-hover') + that.element.siblings('.tag').removeClass('tag-important') + }) + .on('keydown', function ( event ) { + if ( event.keyCode == 188 || event.keyCode == 13 || event.keyCode == 9 ) { + if ( $.trim($(this).val()) && ( !that.element.siblings('.typeahead').length || that.element.siblings('.typeahead').is(':hidden') ) ) { + if ( event.keyCode != 9 ) event.preventDefault() + that.process() + } else if ( event.keyCode == 188 ) { + if ( !that.element.siblings('.typeahead').length || that.element.siblings('.typeahead').is(':hidden') ) { + event.preventDefault() + } else { + that.input.data('typeahead').select() + event.stopPropagation() + event.preventDefault() + } + } + } else if ( !$.trim($(this).val()) && event.keyCode == 8 ) { + var count = that.element.siblings('.tag').length + if (count) { + var tag = that.element.siblings('.tag:eq(' + (count - 1) + ')') + if (tag.hasClass('tag-important')) that.remove(count - 1) + else tag.addClass('tag-important') + } + } else { + that.element.siblings('.tag').removeClass('tag-important') + } + }) + .typeahead({ + source: that.options.source + , matcher: function ( value ) { + return ~value.toLowerCase().indexOf(this.query.toLowerCase()) && (that.inValues(value) == -1 || that.options.allowDuplicates) + } + , updater: $.proxy(that.add, that) + }); + + + //auto resize input: this option added by keenthemes for inbos compose form needs. this will enable typing a tag in hirozontal position and input auto resizes while typing + if (that.options.autosizedInput) { + var input = that.input, + minWidth = that.options.minWidth || input.width(), + maxWidth = that.options.maxWidth || input.closest(".tags").width(), + comfortZone = 10, + val = '', + + testSubject = $('').css({ + position: 'absolute', + top: -9999, + left: -9999, + width: 'auto', + paddingLeft: input.css('paddingLeft'), + paddingRight: input.css('paddingRight'), + fontSize: input.css('fontSize'), + fontFamily: input.css('fontFamily'), + fontWeight: input.css('fontWeight'), + letterSpacing: input.css('letterSpacing'), + whiteSpace: 'nowrap' + }), + + check = function() { + + if (val === (val = input.val())) {return;} + + // Enter new content into testSubject + var escaped = val.replace(/&/g, '&').replace(/\s/g,' ').replace(//g, '>'); + testSubject.html(escaped); + + // Calculate new width + whether to change + var testerWidth = testSubject.width(), + newWidth = (testerWidth + comfortZone) >= minWidth ? testerWidth + comfortZone : minWidth, + currentWidth = input.width(), + isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth) + || (newWidth > minWidth && newWidth < maxWidth); + + + // Animate width + if (isValidWidthChange) { + input.width(newWidth); + } + + }; + + testSubject.insertAfter(input); + + input.bind('keydown keyup blur update', check); + } + //auto resize input: added by keenthemes + } + , inValues: function ( value ) { + if (this.options.caseInsensitive) { + var index = -1 + $.each(this.values, function (indexInArray, valueOfElement) { + if ( valueOfElement.toLowerCase() == value.toLowerCase() ) { + index = indexInArray + return false + } + }) + return index + } else { + return $.inArray(value, this.values) + } + } + , createBadge: function ( value ) { + var that = this + + $('') + .text(value) + .append($('') //modified by keenthemes sinse close class already defined in global style(style.css) + .on('click', function () { + that.remove(that.element.siblings('.tag').index($(this).closest('.tag'))) + }) + ) + .insertBefore(that.element) + } + , add: function ( value ) { + var that = this + + if ( !that.options.allowDuplicates ) { + var index = that.inValues(value) + if ( index != -1 ) { + var badge = that.element.siblings('.tag:eq(' + index + ')') + badge.addClass('tag-warning') + setTimeout(function () { + $(badge).removeClass('tag-warning') + }, 500) + return + } + } + + this.values.push(value) + this.createBadge(value) + + this.element.val(this.values.join(', ')) + } + , remove: function ( index ) { + if ( index >= 0 ) { + this.values.splice(index, 1) + this.element.siblings('.tag:eq(' + index + ')').remove() + this.element.val(this.values.join(', ')) + } + } + , process: function () { + var values = $.grep($.map(this.input.val().split(','), $.trim), function ( value ) { return value.length > 0 }), + that = this + $.each(values, function() { + that.add(this) + }) + this.input.val('') + } + } + + var old = $.fn.tag + + $.fn.tag = function ( option ) { + return this.each(function () { + var that = $(this) + , data = that.data('tag') + , options = typeof option == 'object' && option + if (!data) that.data('tag', (data = new Tag(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.tag.defaults = { + allowDuplicates: false + , caseInsensitive: true + , placeholder: '' + , source: [] + } + + $.fn.tag.Constructor = Tag + + $.fn.tag.noConflict = function () { + $.fn.tag = old + return this + } + + $(window).on('load', function () { + $('[data-provide="tag"]').each(function () { + var that = $(this) + if (that.data('tag')) return + that.tag(that.data()) + }) + }) +}(window.jQuery) \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-tag/less/bootstrap-tag.less b/www/themes/factuges/assets/plugins/bootstrap-tag/less/bootstrap-tag.less new file mode 100644 index 0000000..f230270 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tag/less/bootstrap-tag.less @@ -0,0 +1,78 @@ +.tags { + display: inline-block; + padding: 4px 6px; + margin-bottom: @baseLineHeight / 2; + color: @gray; + vertical-align: middle; + .border-radius(@inputBorderRadius); + background-color: @inputBackground; + border: 1px solid @inputBorder; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + .transition(~"border linear .2s, box-shadow linear .2s"); + width: 206px; + + &-hover { + border-color: rgba(82,168,236,.8); + outline: 0; + outline: thin dotted \9; /* IE6-9 */ + .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)"); + } + + &[class*="span"] { + float: none; + margin-left: 0; + } + + input[type="text"], + input[type="text"]:focus { + border: none; + display: inline; + outline: 0; + margin: 0; + padding: 0; + font-size: @baseFontSize * .846; + line-height: 14px; + .box-shadow(none); + width: 100%; + } +} + +.tag { + display: inline-block; + padding: 2px 4px; + font-size: @baseFontSize * .846; + font-weight: bold; + line-height: 14px; // ensure proper line-height if floated + color: @white; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + background-color: @grayLight; + padding-left: 9px; + padding-right: 9px; + .border-radius(9px); + margin-bottom: 5px; + margin-right: 5px; + .transition(~"all 0.2s"); + + &:empty { + display: none; + } + + // Important (red) + &-important { background-color: darken(@errorText, 10%); } + // Warnings (orange) + &-warning { background-color: darken(@orange, 10%); } + // Success (green) + &-success { background-color: darken(@successText, 10%); } + // Info (turquoise) + &-info { background-color: darken(@infoText, 10%); } + // Inverse (black) + &-inverse { background-color: darken(@grayDark, 10%); } + + .close { + font-size: @baseFontSize; + line-height: 14px; + margin-left: 7px; + } +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-timepicker/.gitignore b/www/themes/factuges/assets/plugins/bootstrap-timepicker/.gitignore new file mode 100644 index 0000000..6997983 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-timepicker/.gitignore @@ -0,0 +1,2 @@ +*.swp +_site diff --git a/www/themes/factuges/assets/plugins/bootstrap-timepicker/README.md b/www/themes/factuges/assets/plugins/bootstrap-timepicker/README.md new file mode 100644 index 0000000..0c7a5ed --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-timepicker/README.md @@ -0,0 +1,9 @@ +Timepicker for Twitter Bootstrap 2.x +------------------------------------ + +A simple timepicker component for Twitter Bootstrap. + +Documentation +============= + +Read the documentation. diff --git a/www/themes/factuges/assets/plugins/bootstrap-timepicker/compiled/timepicker.css b/www/themes/factuges/assets/plugins/bootstrap-timepicker/compiled/timepicker.css new file mode 100644 index 0000000..8d838e2 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-timepicker/compiled/timepicker.css @@ -0,0 +1,88 @@ +.bootstrap-timepicker.dropdown-menu { + border-radius: 4px 4px 4px 4px; + display: none; + left: 0; + margin-top: 1px; + padding: 4px; + top: 0; + min-width: 10px; + z-index: 99999; +} +.bootstrap-timepicker.dropdown-menu.open { + display: inline-block; +} +.bootstrap-timepicker.dropdown-menu:before { + border-bottom: 7px solid rgba(0, 0, 0, 0.2); + border-left: 7px solid transparent; + border-right: 7px solid transparent; + content: ""; + left: 6px; + position: absolute; + top: -7px; +} +.bootstrap-timepicker.dropdown-menu:after { + border-bottom: 6px solid #FFFFFF; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + content: ""; + left: 7px; + position: absolute; + top: -6px; +} +.bootstrap-timepicker.modal { + margin-left: -100px; + margin-top: 0; + top: 30%; + width: 200px; +} +.bootstrap-timepicker.modal .modal-header h3 { + font-size: 16px !important; + margin-top: 3px; + margin-bottom: 3px; +} +.bootstrap-timepicker.modal .modal-content { + padding: 0; +} +.bootstrap-timepicker table { + margin: 0; + width: 100%; +} +.bootstrap-timepicker table td { + height: 30px; + margin: 0; + padding: 2px; + text-align: center; +} +.bootstrap-timepicker table td span { + width: 100%; +} +.bootstrap-timepicker table td a { + border: 1px solid transparent; + display: inline-block; + margin: 0; + outline: 0 none; + padding: 8px 0; + width: 3em; +} +.bootstrap-timepicker table td a:hover { + background-color: #EEEEEE; + border-color: #DDDDDD; + border-radius: 4px 4px 4px 4px; + text-decoration: none; +} +.bootstrap-timepicker table td a i { + margin-top: 2px; +} +.bootstrap-timepicker table td input { + margin: 0; + text-align: center; + width: 25px; +} +.bootstrap-timepicker-component .add-on { + cursor: pointer; +} +.bootstrap-timepicker-component .add-on i { + display: block; + height: 16px; + width: 16px; +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-timepicker/js/bootstrap-timepicker.js b/www/themes/factuges/assets/plugins/bootstrap-timepicker/js/bootstrap-timepicker.js new file mode 100644 index 0000000..3e10ca2 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-timepicker/js/bootstrap-timepicker.js @@ -0,0 +1,803 @@ +/* ========================================================= + * bootstrap-timepicker.js + * http://www.github.com/jdewit/bootstrap-timepicker + * ========================================================= + * Copyright 2012 + * + * Created By: + * Joris de Wit @joris_dewit + * + * Contributions By: + * Gilbert @mindeavor + * Koen Punt info@koenpunt.nl + * Nek + * Chris Martin + * Dominic Barnes contact@dominicbarnes.us + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +!function($) { + + "use strict"; // jshint ;_; + + /* TIMEPICKER PUBLIC CLASS DEFINITION + * ================================== */ + var Timepicker = function(element, options) { + this.$element = $(element); + this.options = $.extend({}, $.fn.timepicker.defaults, options, this.$element.data()); + this.minuteStep = this.options.minuteStep || this.minuteStep; + this.secondStep = this.options.secondStep || this.secondStep; + this.showMeridian = this.options.showMeridian || this.showMeridian; + this.showSeconds = this.options.showSeconds || this.showSeconds; + this.showInputs = this.options.showInputs || this.showInputs; + this.disableFocus = this.options.disableFocus || this.disableFocus; + this.template = this.options.template || this.template; + this.modalBackdrop = this.options.modalBackdrop || this.modalBackdrop; + this.defaultTime = this.options.defaultTime || this.defaultTime; + this.open = false; + this.init(); + }; + + Timepicker.prototype = { + + constructor: Timepicker + + , init: function () { + if (this.$element.parent().hasClass('input-append')) { + this.$element.parent('.input-append').find('.add-on').on('click', $.proxy(this.showWidget, this)); + this.$element.on({ + focus: $.proxy(this.highlightUnit, this), + click: $.proxy(this.highlightUnit, this), + keypress: $.proxy(this.elementKeypress, this), + blur: $.proxy(this.blurElement, this) + }); + + } else { + if (this.template) { + this.$element.on({ + focus: $.proxy(this.showWidget, this), + click: $.proxy(this.showWidget, this), + blur: $.proxy(this.blurElement, this) + }); + } else { + this.$element.on({ + focus: $.proxy(this.highlightUnit, this), + click: $.proxy(this.highlightUnit, this), + keypress: $.proxy(this.elementKeypress, this), + blur: $.proxy(this.blurElement, this) + }); + } + } + + + this.$widget = $(this.getTemplate()).appendTo('body'); + + this.$widget.on('click', $.proxy(this.widgetClick, this)); + + if (this.showInputs) { + this.$widget.find('input').on({ + click: function() { this.select(); }, + keypress: $.proxy(this.widgetKeypress, this), + change: $.proxy(this.updateFromWidgetInputs, this) + }); + } + + this.setDefaultTime(this.defaultTime); + } + + , showWidget: function(e) { + e.stopPropagation(); + e.preventDefault(); + + if (this.open) { + return; + } + + this.$element.trigger('show'); + + if (this.disableFocus) { + this.$element.blur(); + } + + var pos = $.extend({}, this.$element.offset(), { + height: this.$element[0].offsetHeight + }); + + this.updateFromElementVal(); + + $('html') + .trigger('click.timepicker.data-api') + .one('click.timepicker.data-api', $.proxy(this.hideWidget, this)); + + if (this.template === 'modal') { + this.$widget.modal('show').on('hidden', $.proxy(this.hideWidget, this)); + } else { + this.$widget.css({ + top: pos.top + pos.height + , left: pos.left + }) + + if (!this.open) { + this.$widget.addClass('open'); + } + } + + this.open = true; + this.$element.trigger('shown'); + } + + , hideWidget: function(){ + this.$element.trigger('hide'); + + if (this.template === 'modal') { + this.$widget.modal('hide'); + } else { + this.$widget.removeClass('open'); + } + this.open = false; + this.$element.trigger('hidden'); + } + + , widgetClick: function(e) { + e.stopPropagation(); + e.preventDefault(); + + var action = $(e.target).closest('a').data('action'); + if (action) { + this[action](); + this.update(); + } + } + + , widgetKeypress: function(e) { + var input = $(e.target).closest('input').attr('name'); + + switch (e.keyCode) { + case 9: //tab + if (this.showMeridian) { + if (input == 'meridian') { + this.hideWidget(); + } + } else { + if (this.showSeconds) { + if (input == 'second') { + this.hideWidget(); + } + } else { + if (input == 'minute') { + this.hideWidget(); + } + } + } + break; + case 27: // escape + this.hideWidget(); + break; + case 38: // up arrow + switch (input) { + case 'hour': + this.incrementHour(); + break; + case 'minute': + this.incrementMinute(); + break; + case 'second': + this.incrementSecond(); + break; + case 'meridian': + this.toggleMeridian(); + break; + } + this.update(); + break; + case 40: // down arrow + switch (input) { + case 'hour': + this.decrementHour(); + break; + case 'minute': + this.decrementMinute(); + break; + case 'second': + this.decrementSecond(); + break; + case 'meridian': + this.toggleMeridian(); + break; + } + this.update(); + break; + } + } + + , elementKeypress: function(e) { + var input = this.$element.get(0); + switch (e.keyCode) { + case 0: //input + break; + case 9: //tab + this.updateFromElementVal(); + if (this.showMeridian) { + if (this.highlightedUnit != 'meridian') { + e.preventDefault(); + this.highlightNextUnit(); + } + } else { + if (this.showSeconds) { + if (this.highlightedUnit != 'second') { + e.preventDefault(); + this.highlightNextUnit(); + } + } else { + if (this.highlightedUnit != 'minute') { + e.preventDefault(); + this.highlightNextUnit(); + } + } + } + break; + case 27: // escape + this.updateFromElementVal(); + break; + case 37: // left arrow + this.updateFromElementVal(); + this.highlightPrevUnit(); + break; + case 38: // up arrow + switch (this.highlightedUnit) { + case 'hour': + this.incrementHour(); + break; + case 'minute': + this.incrementMinute(); + break; + case 'second': + this.incrementSecond(); + break; + case 'meridian': + this.toggleMeridian(); + break; + } + this.updateElement(); + break; + case 39: // right arrow + this.updateFromElementVal(); + this.highlightNextUnit(); + break; + case 40: // down arrow + switch (this.highlightedUnit) { + case 'hour': + this.decrementHour(); + break; + case 'minute': + this.decrementMinute(); + break; + case 'second': + this.decrementSecond(); + break; + case 'meridian': + this.toggleMeridian(); + break; + } + this.updateElement(); + break; + } + + if (e.keyCode !== 0 && e.keyCode !== 8 && e.keyCode !== 9 && e.keyCode !== 46) { + e.preventDefault(); + } + } + + , setValues: function(time) { + if (this.showMeridian) { + var arr = time.split(' '); + var timeArray = arr[0].split(':'); + this.meridian = arr[1]; + } else { + var timeArray = time.split(':'); + } + + this.hour = parseInt(timeArray[0], 10); + this.minute = parseInt(timeArray[1], 10); + this.second = parseInt(timeArray[2], 10); + + if (isNaN(this.hour)) { + this.hour = 0; + } + if (isNaN(this.minute)) { + this.minute = 0; + } + + if (this.showMeridian) { + if (this.hour > 12) { + this.hour = 12; + } else if (this.hour < 1) { + this.hour = 1; + } + + if (this.meridian == 'am' || this.meridian == 'a') { + this.meridian = 'AM'; + } else if (this.meridian == 'pm' || this.meridian == 'p') { + this.meridian = 'PM'; + } + + if (this.meridian != 'AM' && this.meridian != 'PM') { + this.meridian = 'AM'; + } + } else { + if (this.hour >= 24) { + this.hour = 23; + } else if (this.hour < 0) { + this.hour = 0; + } + } + + if (this.minute < 0) { + this.minute = 0; + } else if (this.minute >= 60) { + this.minute = 59; + } + + if (this.showSeconds) { + if (isNaN(this.second)) { + this.second = 0; + } else if (this.second < 0) { + this.second = 0; + } else if (this.second >= 60) { + this.second = 59; + } + } + + if ( this.$element.val() != '' ) + this.updateElement(); + this.updateWidget(); + } + + , setMeridian: function(meridian) { + if (meridian == 'a' || meridian == 'am' || meridian == 'AM' ) { + this.meridian = 'AM'; + } else if (meridian == 'p' || meridian == 'pm' || meridian == 'PM' ) { + this.meridian = 'PM'; + } else { + this.updateWidget(); + } + + this.updateElement(); + } + + , setDefaultTime: function(defaultTime){ + if (defaultTime) { + if (defaultTime === 'current') { + var dTime = new Date(); + var hours = dTime.getHours(); + var minutes = Math.floor(dTime.getMinutes() / this.minuteStep) * this.minuteStep; + var seconds = Math.floor(dTime.getSeconds() / this.secondStep) * this.secondStep; + var meridian = "AM"; + if (this.showMeridian) { + if (hours === 0) { + hours = 12; + } else if (hours >= 12) { + if (hours > 12) { + hours = hours - 12; + } + meridian = "PM"; + } else { + meridian = "AM"; + } + } + this.hour = hours; + this.minute = minutes; + this.second = seconds; + this.meridian = meridian; + } else if (defaultTime === 'value') { + this.setValues(this.$element.val()); + } else { + this.setValues(defaultTime); + } + if ( this.$element.val() != '' ) + this.updateElement(); + this.updateWidget(); + } else { + this.hour = 0; + this.minute = 0; + this.second = 0; + } + } + + , formatTime: function(hour, minute, second, meridian) { + hour = hour < 10 ? '0' + hour : hour; + minute = minute < 10 ? '0' + minute : minute; + second = second < 10 ? '0' + second : second; + + return hour + ':' + minute + (this.showSeconds ? ':' + second : '') + (this.showMeridian ? ' ' + meridian : ''); + } + + , getTime: function() { + return this.formatTime(this.hour, this.minute, this.second, this.meridian); + } + + , setTime: function(time) { + this.setValues(time); + this.update(); + } + + , update: function() { + this.updateElement(); + this.updateWidget(); + } + + , blurElement: function() { + this.highlightedUnit = undefined; + this.updateFromElementVal(); + } + + , updateElement: function() { + var time = this.getTime(); + + this.$element.val(time).change(); + + switch (this.highlightedUnit) { + case 'hour': + this.highlightHour(); + break; + case 'minute': + this.highlightMinute(); + break; + case 'second': + this.highlightSecond(); + break; + case 'meridian': + this.highlightMeridian(); + break; + } + } + + , updateWidget: function() { + if (this.showInputs) { + this.$widget.find('input.bootstrap-timepicker-hour').val(this.hour < 10 ? '0' + this.hour : this.hour); + this.$widget.find('input.bootstrap-timepicker-minute').val(this.minute < 10 ? '0' + this.minute : this.minute); + if (this.showSeconds) { + this.$widget.find('input.bootstrap-timepicker-second').val(this.second < 10 ? '0' + this.second : this.second); + } + if (this.showMeridian) { + this.$widget.find('input.bootstrap-timepicker-meridian').val(this.meridian); + } + } else { + this.$widget.find('span.bootstrap-timepicker-hour').text(this.hour); + this.$widget.find('span.bootstrap-timepicker-minute').text(this.minute < 10 ? '0' + this.minute : this.minute); + if (this.showSeconds) { + this.$widget.find('span.bootstrap-timepicker-second').text(this.second < 10 ? '0' + this.second : this.second); + } + if (this.showMeridian) { + this.$widget.find('span.bootstrap-timepicker-meridian').text(this.meridian); + } + } + } + + , updateFromElementVal: function (e) { + var time = this.$element.val(); + if (time) { + this.setValues(time); + this.updateWidget(); + } + } + + , updateFromWidgetInputs: function () { + var time = $('input.bootstrap-timepicker-hour', this.$widget).val() + ':' + + $('input.bootstrap-timepicker-minute', this.$widget).val() + + (this.showSeconds ? + ':' + $('input.bootstrap-timepicker-second', this.$widget).val() + : '') + + (this.showMeridian ? + ' ' + $('input.bootstrap-timepicker-meridian', this.$widget).val() + : ''); + + this.setValues(time); + } + + , getCursorPosition: function() { + var input = this.$element.get(0); + + if ('selectionStart' in input) { + // Standard-compliant browsers + return input.selectionStart; + } else if (document.selection) { + // IE fix + input.focus(); + var sel = document.selection.createRange(); + var selLen = document.selection.createRange().text.length; + sel.moveStart('character', - input.value.length); + + return sel.text.length - selLen; + } + } + + , highlightUnit: function () { + var input = this.$element.get(0); + + this.position = this.getCursorPosition(); + if (this.position >= 0 && this.position <= 2) { + this.highlightHour(); + } else if (this.position >= 3 && this.position <= 5) { + this.highlightMinute(); + } else if (this.position >= 6 && this.position <= 8) { + if (this.showSeconds) { + this.highlightSecond(); + } else { + this.highlightMeridian(); + } + } else if (this.position >= 9 && this.position <= 11) { + this.highlightMeridian(); + } + } + + , highlightNextUnit: function() { + switch (this.highlightedUnit) { + case 'hour': + this.highlightMinute(); + break; + case 'minute': + if (this.showSeconds) { + this.highlightSecond(); + } else { + this.highlightMeridian(); + } + break; + case 'second': + this.highlightMeridian(); + break; + case 'meridian': + this.highlightHour(); + break; + } + } + + , highlightPrevUnit: function() { + switch (this.highlightedUnit) { + case 'hour': + this.highlightMeridian(); + break; + case 'minute': + this.highlightHour(); + break; + case 'second': + this.highlightMinute(); + break; + case 'meridian': + if (this.showSeconds) { + this.highlightSecond(); + } else { + this.highlightMinute(); + } + break; + } + } + + , highlightHour: function() { + this.highlightedUnit = 'hour'; + this.$element.get(0).setSelectionRange(0,2); + } + + , highlightMinute: function() { + this.highlightedUnit = 'minute'; + this.$element.get(0).setSelectionRange(3,5); + } + + , highlightSecond: function() { + this.highlightedUnit = 'second'; + this.$element.get(0).setSelectionRange(6,8); + } + + , highlightMeridian: function() { + this.highlightedUnit = 'meridian'; + if (this.showSeconds) { + this.$element.get(0).setSelectionRange(9,11); + } else { + this.$element.get(0).setSelectionRange(6,8); + } + } + + , incrementHour: function() { + if (this.showMeridian) { + if (this.hour === 11) { + this.toggleMeridian(); + } else if (this.hour === 12) { + return this.hour = 1; + } + } + if (this.hour === 23) { + return this.hour = 0; + } + this.hour = this.hour + 1; + } + + , decrementHour: function() { + if (this.showMeridian) { + if (this.hour === 1) { + return this.hour = 12; + } + else if (this.hour === 12) { + this.toggleMeridian(); + } + } + if (this.hour === 0) { + return this.hour = 23; + } + this.hour = this.hour - 1; + } + + , incrementMinute: function() { + var newVal = this.minute + this.minuteStep - (this.minute % this.minuteStep); + if (newVal > 59) { + this.incrementHour(); + this.minute = newVal - 60; + } else { + this.minute = newVal; + } + } + + , decrementMinute: function() { + var newVal = this.minute - this.minuteStep; + if (newVal < 0) { + this.decrementHour(); + this.minute = newVal + 60; + } else { + this.minute = newVal; + } + } + + , incrementSecond: function() { + var newVal = this.second + this.secondStep - (this.second % this.secondStep); + if (newVal > 59) { + this.incrementMinute(); + this.second = newVal - 60; + } else { + this.second = newVal; + } + } + + , decrementSecond: function() { + var newVal = this.second - this.secondStep; + if (newVal < 0) { + this.decrementMinute(); + this.second = newVal + 60; + } else { + this.second = newVal; + } + } + + , toggleMeridian: function() { + this.meridian = this.meridian === 'AM' ? 'PM' : 'AM'; + + this.update(); + } + + , getTemplate: function() { + if (this.options.templates[this.options.template]) { + return this.options.templates[this.options.template]; + } + if (this.showInputs) { + var hourTemplate = ''; + var minuteTemplate = ''; + var secondTemplate = ''; + var meridianTemplate = ''; + } else { + var hourTemplate = ''; + var minuteTemplate = ''; + var secondTemplate = ''; + var meridianTemplate = ''; + } + var templateContent = ''+ + ''+ + ''+ + ''+ + ''+ + (this.showSeconds ? + ''+ + '' + : '') + + (this.showMeridian ? + ''+ + '' + : '') + + ''+ + ''+ + ' '+ + ''+ + ' '+ + (this.showSeconds ? + ''+ + '' + : '') + + (this.showMeridian ? + ''+ + '' + : '') + + ''+ + ''+ + ''+ + ''+ + ''+ + (this.showSeconds ? + ''+ + '' + : '') + + (this.showMeridian ? + ''+ + '' + : '') + + ''+ + '
           
        '+ hourTemplate +':'+ minuteTemplate +':'+ secondTemplate +' '+ meridianTemplate +'
          
        '; + + var template; + switch(this.options.template) { + case 'modal': + template = ''; + + break; + case 'dropdown': + template = ''; + break; + + } + return template; + } + }; + + + /* TIMEPICKER PLUGIN DEFINITION + * =========================== */ + + $.fn.timepicker = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('timepicker') + , options = typeof option == 'object' && option; + if (!data) { + $this.data('timepicker', (data = new Timepicker(this, options))); + } + if (typeof option == 'string') { + data[option](); + } + }) + } + + $.fn.timepicker.defaults = { + minuteStep: 15 + , secondStep: 15 + , disableFocus: false + , defaultTime: 'current' + , showSeconds: false + , showInputs: true + , showMeridian: true + , template: 'dropdown' + , modalBackdrop: false + , templates: {} // set custom templates + } + + $.fn.timepicker.Constructor = Timepicker +}(window.jQuery); diff --git a/www/themes/factuges/assets/plugins/bootstrap-timepicker/less/timepicker.less b/www/themes/factuges/assets/plugins/bootstrap-timepicker/less/timepicker.less new file mode 100644 index 0000000..126df0c --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-timepicker/less/timepicker.less @@ -0,0 +1,115 @@ +/*! + * Timepicker for Bootstrap + * + * Copyright 2012 Joris de Wit, Stefan Petre, Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.bootstrap-timepicker { + &.dropdown-menu { + top: 0; + left: 0; + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + display: none; + min-width: 10px; + z-index: 99999; + + &.open { + display: inline-block; + } + + &:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 6px; + } + + &:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; + top: -6px; + left: 7px; + } + } + + &.modal { + top: 30%; + margin-top: 0; + width: 200px; + margin-left: -100px; + + .modal-content { + padding: 0; + } + } + + table { + width: 100%; + margin: 0; + + td { + text-align: center; + height: 30px; + margin: 0; + padding: 2px; + } + + td { + span { + width: 100%; + } + a { + border: 1px transparent solid; + width: 3em; + display: inline-block; + margin: 0; + padding: 8px 0; + outline: 0; + color: #333; + + &:hover { + text-decoration: none; + background-color: #eee; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border-color: #ddd; + } + + i { + margin-top: 2px; + } + } + input { + width: 25px; + margin: 0; + text-align: center; + } + + } + } +} +.bootstrap-timepicker-component { + .add-on { + cursor: pointer; + i { + display: block; + width: 16px; + height: 16px; + } + } +} + diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/.gitignore b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/.gitignore new file mode 100644 index 0000000..88eb68d --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/.gitignore @@ -0,0 +1,4 @@ +target/ +.idea +.sass-cache/ +.DS_Store diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/LICENSE b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/LICENSE new file mode 100644 index 0000000..d9a10c0 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/README.md b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/README.md new file mode 100644 index 0000000..57e1918 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/README.md @@ -0,0 +1,123 @@ +Bootstrap-toggle-buttons +======================== + +Demo +---- +http://www.larentis.eu/bootstrap_toggle_buttons/ + +Usage +----- + +Just include Twitter Bootstrap, jQuery and Bootstrap Toggle Buttons CSS and Javascript +``` html + + + + + +``` + +Basic Example +------------- + +HTML +``` html +
        + +
        +``` + +JS +``` javascript +$('#toggle-button').toggleButtons(); +``` + +Full Example +------------ + +HTML +``` html +
        + +
        +``` + +JS +``` javascript +$('#toggle-button').toggleButtons({ + onChange: function ($el, status, e) { + // $el = $('#toggle-button'); + // status = [true, false], the value of the checkbox + // e = the event + console.log($el, status, e); + }, + width: 100, + height: 25, + font: { + 'font-size': '20px', + 'font-style': 'italic' + }, + animated: true, + transitionspeed: 1, // Accepted values float or "percent" [ 1, 0.5, "150%" ] + label: { + enabled: "ON", + disabled: "OFF" + }, + style: { + // Accepted values ["primary", "danger", "info", "success", "warning"] or nothing + enabled: "primary", + disabled: "danger", + custom: { + enabled: { + background:"#FF00FF", + gradient: "#D300D3", + color: "#FFFFFF" + }, + disabled: { + background: "#FFAA00", + gradient: "#DD9900", + color: "#333333" + } + } + } +}); + +$('#toggle-button').toggleButtons('toggleActivation'); // to toggle the disabled status +``` + +Data Attributes Example +----------------------- + +HTML +``` html +
        + +
        +``` + +JS +``` javascript +$('#data-attribute-toggle-button').toggleButtons(); +``` + +Toggle state +------------ +JS +``` javascript +$('#my-toggle-button').toggleButtons('toggleState'); +``` + +Destroy +------- +JS +``` javascript +$('#my-toggle-button').toggleButtons('destroy'); +``` + +Like this project? +------------------ +[![endorse](http://api.coderwall.com/nostalgia/endorsecount.png)](http://coderwall.com/nostalgia) diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/examples/index.html b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/examples/index.html new file mode 100644 index 0000000..6616c0b --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/examples/index.html @@ -0,0 +1,726 @@ + + + + + Bootstrap toggle buttons 2.8 + + + + + + + + +Fork me on GitHub + +
        +
        +
        +

        Bootstrap toggle buttons 2.8 + - by Mattia Larentis +

        +
        +
        + +
        +
        +

        Basic

        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        + +

        Html:

        +
        +<div id="normal-toggle-button">
        +    <input type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#normal-toggle-button').toggleButtons();
        +
        +
        +
        + +
        +
        +

        Callback

        +
        +
        +
        +
        + +
        +
        + +
        +

        Status is: false

        +
        +
        + +

        Html:

        +
        +<div id="callback-toggle-button">
        +    <input type="checkbox">
        +</div>
        +

        Js:

        +
        +$('#callback-toggle-button').toggleButtons({
        +    onChange: function ($el, status, e) {
        +        console.log($el, status, e);
        +        $('#magic-text').text("Status is: " + status);
        +    }
        +});
        +
        +
        +
        + +
        +
        +

        Text & Size

        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        + +

        Html:

        +
        +<div id="text-toggle-button">
        +    <input type="checkbox">
        +</div>
        +

        Js:

        +
        +$('#text-toggle-button').toggleButtons({
        +    width: 220,
        +    label: {
        +        enabled: "Lorem Ipsum",
        +        disabled: "Dolor Sit"
        +    }
        +});
        +
        +
        +
        + +
        +
        +

        Style

        +
        +
        +
        +
        + +
        +
        + +
        +
        + +
        + +
        +
        + +
        + +
        +
        + +
        + +
        +
        +
        +
        + +

        Html:

        +
        +<div id="danger-toggle-button">
        +    <input type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#danger-toggle-button').toggleButtons({
        +    style: {
        +        // Accepted values ["primary", "danger", "info", "success", "warning"] or nothing
        +        enabled: "danger",
        +        disabled: "info"
        +    }
        +});
        +
        +
        +
        +
        +
        +

        Not Animated

        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        +

        Html:

        +
        +<div id="not-animated-toggle-button">
        +    <input type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#not-animated-toggle-button').toggleButtons({
        +    animated: false
        +});
        +
        +
        +
        +
        +
        +

        Transition Speed

        +
        +
        +
        +
        + +
        +
        + +
        +
        + +
        + +
        +
        + +
        +
        + +

        Html:

        +
        +<div id="transition-percent-toggle-button">
        +    <input type="checkbox" checked="checked">
        +</div>
        +
        +<div id="transition-value-toggle-button">
        +    <input type="checkbox">
        +</div>
        +

        Js:

        +
        +$('#transition-percent-toggle-button').toggleButtons({
        +    transitionspeed: "500%"
        +});
        +
        +$('#transition-value-toggle-button').toggleButtons({
        +    transitionspeed: 1  // default value: 0.05
        +});
        +
        +
        +
        +
        +
        +

        Disabled

        +
        +
        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        + +

        Html:

        +
        +<div id="disabled-toggle-button">
        +    <input type="checkbox" checked="checked" disabled="">
        +</div>
        +

        Js:

        +
        +$('#disabled-toggle-button').toggleButtons();
        +$('#disabled-toggle-button').toggleButtons('toggleActivation');  // to toggle the disabled state
        +
        +
        +
        + +
        +
        +

        Label

        +
        +
        +
        +
        + +
        + + +
        + +
        +
        +
        + +

        Html:

        +
        +<label for="checkbox14">Toggle me!</label>
        +<div id="label-toggle-button">
        +    <input id="checkboxLabel" type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#label-toggle-button').toggleButtons();
        +$('#label-toggle-button').toggleButtons('toggleState');  // to toggle the activation state
        +
        +
        +
        +
        +
        +

        Class

        +
        +
        +
        +
        + +
        + + +
        + +
        +
        +
        + + +
        + +
        +
        +
        + + + +
        + +
        +
        +
        +
        + +

        Html:

        +
        +<label for="checkboxOne">one</label>
        +<div class="toggle-button-class">
        +    <input id="checkboxOne" type="checkbox" checked="checked">
        +</div>
        +
        +<label for="checkboxTwo">two</label>
        +<div class="toggle-button-class">
        +    <input id="checkboxTwo" type="checkbox" checked="checked">
        +</div>
        +
        +<label for="checkboxThree">three</label>
        +<div class="toggle-button-class">
        +    <input id="checkboxThree" type="checkbox" checked="checked" disabled="">
        +</div>
        +

        Js:

        +
        +$('.toggle-button-class').toggleButtons();
        +
        +
        +
        +
        +
        +

        Custom Colors

        +
        +
        +
        +
        + +
        + + +
        + +
        +
        +
        + + +
        + +
        +
        +
        +
        + +

        Html:

        +
        +<label for="checkboxMagenta">Magenta</label>
        +<div id="magenta-toggle-button">
        +    <input id="checkboxMagenta" type="checkbox">
        +</div>
        +
        +<label for="checkboxGradientMagenta">Gradient Magenta</label>
        +<div id="gradient-magenta-toggle-button">
        +    <input id="checkboxGradientMagenta" type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#magenta-toggle-button').toggleButtons({
        +    style: {
        +        custom: {
        +            enabled: "#FF00FF",
        +            enabledColor: "#FFFFFF",
        +            disabled: "#FFAA00",
        +            disabledColor: "#333333"
        +        }
        +    }
        +});
        +
        +$('#gradient-magenta-toggle-button').toggleButtons({
        +    style: {
        +        custom: {
        +            enabled: "#FF00FF",
        +            enabledGradient: "#D300D3",
        +            enabledColor: "#FFFFFF",
        +            disabled: "#FFAA00",
        +            disabledGradient: "#DD9900",
        +            disabledColor: "#333333"
        +        }
        +    }
        +});
        +
        +
        +
        +
        +
        +

        Height & Text-style

        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        + +

        Html:

        +
        +<div id="height-text-style-toggle-button">
        +    <input type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#height-text-style-toggle-button').toggleButtons({
        +    height: 100,
        +    font: {
        +        'line-height': '100px',
        +        'font-size': '20px',
        +        'font-style': 'italic'
        +    }
        +});
        +
        +
        +
        +
        +
        +

        Data Attributes

        +
        +
        +
        +
        + +
        +
        + +
        +
        +
        + +

        Html:

        +
        +<div id="data-attribute-toggle-button"
        +     data-toggleButton-width="170"
        +     data-toggleButton-transitionspeed="500%"
        +     data-toggleButton-style-custom-enabled-background="#FF0000"
        +     data-toggleButton-style-custom-enabled-gradient="#000000">
        +    <input type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#data-attribute-toggle-button').toggleButtons();
        +
        +
        +
        +
        +
        +

        Toggle State

        +
        +
        +
        +
        + +
        +
        + +
        +
        + +
        ON!
        +
        Toggle me!
        +
        OFF!
        +
        +
        + +

        Html:

        +
        +<div id="toggle-state-toggle-button">
        +    <input type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#toggle-state-toggle-button').toggleButtons();
        +
        +$('#toggle-state-toggle-button').toggleButtons('toggleState');  // to toggle the state of the toggle button
        +$('#toggle-state-toggle-button').toggleButtons('setState', false); // true || false
        +
        +
        +
        +
        +
        +

        Destroy

        +
        +
        +
        +
        + +
        +
        + +
        +
        + +
        +
        + +

        Html:

        +
        +<div id="destroy-toggle-button">
        +    <input type="checkbox" checked="checked">
        +</div>
        +

        Js:

        +
        +$('#destroy-toggle-button').toggleButtons();
        +
        +$('#destroy-toggle-button').toggleButtons('destroy');
        +
        +
        +
        + +

        + follow me - + my site +

        +
        + + + + + + + + + diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/config.rb b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/config.rb new file mode 100644 index 0000000..148088b --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/config.rb @@ -0,0 +1,24 @@ +# Require any additional compass plugins here. + +# Set this to the root of your project when deployed: +http_path = "/" +css_dir = "stylesheets" +sass_dir = "sass" +images_dir = "images" +javascripts_dir = "javascripts" + +# You can select your preferred output style here (can be overridden via the command line): +# output_style = :expanded or :nested or :compact or :compressed + +# To enable relative paths to assets via compass helper functions. Uncomment: +# relative_assets = true + +# To disable debugging comments that display the original location of your selectors. Uncomment: +# line_comments = false + + +# If you prefer the indented syntax, you might want to regenerate this +# project again passing --syntax sass, or you can uncomment this: +# preferred_syntax = :sass +# and then run: +# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/js/jquery.min.js b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/js/jquery.min.js new file mode 100644 index 0000000..e209f96 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/js/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.2 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
        a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
        "+""+"
        ",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
        t
        ",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
        ",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( + a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

        ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
        ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
        ","
        "],thead:[1,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],col:[2,"","
        "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
        ","
        "]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f + .clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
        ").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/js/jquery.toggle.buttons.js b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/js/jquery.toggle.buttons.js new file mode 100644 index 0000000..8bb5905 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/js/jquery.toggle.buttons.js @@ -0,0 +1,284 @@ +!function ($) { + "use strict"; + // version: 2.8 + // by Mattia Larentis - follow me on twitter! @SpiritualGuru + + var addToAttribute = function (obj, array, value) { + var i = 0 + , length = array.length; + + for (; i < length; i++) { + obj = obj[array[i]] = obj[array[i]] || i == ( length - 1) ? value : {} + } + }; + + $.fn.toggleButtons = function (method) { + var $element + , $div + , transitionSpeed = 0.05 + , methods = { + init: function (opt) { + this.each(function () { + var $spanLeft + , $spanRight + , options + , moving + , dataAttribute = {}; + + $element = $(this); + $element.addClass('toggle-button'); + + $.each($element.data(), function (i, el) { + var key + , tmp = {}; + + if (i.indexOf("togglebutton") === 0) { + key = i.match(/[A-Z][a-z]+/g); + key = $.map(key, function (n) { + return (n.toLowerCase()); + }); + + addToAttribute(tmp, key, el); + dataAttribute = $.extend(true, dataAttribute, tmp); + } + }); + + options = $.extend(true, {}, $.fn.toggleButtons.defaults, opt, dataAttribute); + + $(this).data('options', options); + + $spanLeft = $('').addClass("labelLeft").text(options.label.enabled === undefined ? "ON" : options.label.enabled); + $spanRight = $('').addClass("labelRight").text(options.label.disabled === undefined ? "OFF " : options.label.disabled); + + // html layout + $div = $element.find('input:checkbox').wrap($('
        ')).parent(); + $div.append($spanLeft); + $div.append($('').attr('for', $element.find('input').attr('id'))); + $div.append($spanRight); + + if ($element.find('input').is(':checked')) + $element.find('>div').css('left', "0"); + else $element.find('>div').css('left', "-50%"); + + if (options.animated) { + if (options.transitionspeed !== undefined) + if (/^(\d*%$)/.test(options.transitionspeed)) // is a percent value? + transitionSpeed = 0.05 * parseInt(options.transitionspeed) / 100; + else + transitionSpeed = options.transitionspeed; + } + else transitionSpeed = 0; + + $(this).data('transitionSpeed', transitionSpeed * 1000); + + + options["width"] /= 2; + + // width of the bootstrap-toggle-button + $element + .css('width', options.width * 2) + .find('>div').css('width', options.width * 3) + .find('>span, >label').css('width', options.width); + + // height of the bootstrap-toggle-button + $element + .css('height', options.height) + .find('span, label') + .css('height', options.height) + .filter('span') + .css('line-height', options.height + "px"); + + if ($element.find('input').is(':disabled')) + $(this).addClass('deactivate'); + + $element.find('span').css(options.font); + + + // enabled custom color + if (options.style.enabled === undefined) { + if (options.style.custom !== undefined && options.style.custom.enabled !== undefined && options.style.custom.enabled.background !== undefined) { + $spanLeft.css('color', options.style.custom.enabled.color); + if (options.style.custom.enabled.gradient === undefined) + $spanLeft.css('background', options.style.custom.enabled.background); + else $.each(["-webkit-", "-moz-", "-o-", ""], function (i, el) { + $spanLeft.css('background-image', el + 'linear-gradient(top, ' + options.style.custom.enabled.background + ',' + options.style.custom.enabled.gradient + ')'); + }); + } + } + else $spanLeft.addClass(options.style.enabled); + + // disabled custom color + if (options.style.disabled === undefined) { + if (options.style.custom !== undefined && options.style.custom.disabled !== undefined && options.style.custom.disabled.background !== undefined) { + $spanRight.css('color', options.style.custom.disabled.color); + if (options.style.custom.disabled.gradient === undefined) + $spanRight.css('background', options.style.custom.disabled.background); + else $.each(["-webkit-", "-moz-", "-o-", ""], function (i, el) { + $spanRight.css('background-image', el + 'linear-gradient(top, ' + options.style.custom.disabled.background + ',' + options.style.custom.disabled.gradient + ')'); + }); + } + } + else $spanRight.addClass(options.style.disabled); + + var changeStatus = function ($this) { + $this.siblings('label') + .trigger('mousedown') + .trigger('mouseup') + .trigger('click'); + }; + + $spanLeft.on('click', function (e) { + changeStatus($(this)); + }); + $spanRight.on('click', function (e) { + changeStatus($(this)); + }); + + $element.find('input').on('change', function (e, skipOnChange) { + var $element = $(this).parent() + , active = $(this).is(':checked') + , $toggleButton = $(this).closest('.toggle-button'); + + $element.stop().animate({'left': active ? '0' : '-50%'}, $toggleButton.data('transitionSpeed')); + + options = $toggleButton.data('options'); + + if (!skipOnChange) + options.onChange($element, active, e); + }); + + $element.find('label').on('mousedown touchstart', function (e) { + moving = false; + e.preventDefault(); + e.stopImmediatePropagation(); + + if ($(this).closest('.toggle-button').is('.deactivate')) + $(this).off('click'); + else { + $(this).on('mousemove touchmove', function (e) { + var $element = $(this).closest('.toggle-button') + , relativeX = (e.pageX || e.originalEvent.targetTouches[0].pageX) - $element.offset().left + , percent = ((relativeX / (options.width * 2)) * 100); + moving = true; + + e.stopImmediatePropagation(); + e.preventDefault(); + + if (percent < 25) + percent = 25; + else if (percent > 75) + percent = 75; + + $element.find('>div').css('left', (percent - 75) + "%"); + }); + + $(this).on('click touchend', function (e) { + var $target = $(e.target) + , $myCheckBox = $target.siblings('input'); + + e.stopImmediatePropagation(); + e.preventDefault(); + $(this).off('mouseleave'); + + if (moving) + if (parseInt($(this).parent().css('left')) < -25) + $myCheckBox.attr('checked', false); + else $myCheckBox.attr('checked', true); + else $myCheckBox.attr("checked", !$myCheckBox.is(":checked")); + + $myCheckBox.trigger('change'); + }); + + $(this).on('mouseleave', function (e) { + var $myCheckBox = $(this).siblings('input'); + + e.preventDefault(); + e.stopImmediatePropagation(); + + $(this).off('mouseleave'); + $(this).trigger('mouseup'); + + if (parseInt($(this).parent().css('left')) < -25) + $myCheckBox.attr('checked', false); + else $myCheckBox.attr('checked', true); + + $myCheckBox.trigger('change'); + }); + + $(this).on('mouseup', function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + $(this).off('mousemove'); + }); + } + }); + } + ); + return this; + }, + toggleActivation: function () { + $(this).toggleClass('deactivate'); + }, + toggleState: function (skipOnChange) { + var $input = $(this).find('input'); + $input.attr('checked', !$input.is(':checked')).trigger('change', skipOnChange); + }, + setState: function(value, skipOnChange) { + $(this).find('input').attr('checked', value).trigger('change', skipOnChange); + }, + status: function () { + return $(this).find('input:checkbox').is(':checked'); + }, + destroy: function () { + var $div = $(this).find('div') + , $checkbox; + + $div.find(':not(input:checkbox)').remove(); + + $checkbox = $div.children(); + $checkbox.unwrap().unwrap(); + + $checkbox.unbind('change'); + + return $checkbox; + } + }; + + if (methods[method]) + return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); + else if (typeof method === 'object' || !method) + return methods.init.apply(this, arguments); + else + $.error('Method ' + method + ' does not exist!'); + }; + + $.fn.toggleButtons.defaults = { + onChange: function () { + }, + width: 100, + height: 25, + font: {}, + animated: true, + transitionspeed: undefined, + label: { + enabled: undefined, + disabled: undefined + }, + style: { + enabled: undefined, + disabled: undefined, + custom: { + enabled: { + background: undefined, + gradient: undefined, + color: "#FFFFFF" + }, + disabled: { + background: undefined, + gradient: undefined, + color: "#FFFFFF" + } + } + } + }; +}($); diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/sass/bootstrap-toggle-buttons.scss b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/sass/bootstrap-toggle-buttons.scss new file mode 100644 index 0000000..6d7261b --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/sass/bootstrap-toggle-buttons.scss @@ -0,0 +1,121 @@ +@import "compass/css3"; + +// version: 2.8 +// by Mattia Larentis - follow me on twitter! @SpiritualGuru + +$border: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +$white: #FEFEFE; +$blue: #0088CC; +$border-radius: 4px; + +.toggle-button { + display: inline-block; + cursor: pointer; + @include border-radius(5px); + border: 1px solid; + border-color: $border; + position: relative; + text-align: left; + overflow: hidden; + + // disable text selection highlighting + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + &.deactivate { + @include opacity(0.5); + cursor: default !important; + label, span { + cursor: default !important; + } + } + > div { + display: inline-block; + width: 150px; + position: absolute; + top: 0; + &.disabled { + left: -50%; + } + } + input[type=checkbox] { + //debug + display: none; + //position: absolute; + //margin-left: 60%; + //z-index: 123; + } + + span, label { + cursor: pointer; + position: relative; + float: left; + display: inline-block; + } + + label { + background: $white; + margin-left: -$border-radius; + margin-right: -$border-radius; + border: 1px solid #E6E6E6; + margin-top: -1px; + z-index: 100; + + @include background-image(linear-gradient(top, $white, #E6E6E6)); + @include border-radius($border-radius); + } + + span { + color: $white; + text-align: center; + font-weight: bold; + z-index: 1; + + &.labelLeft { + @include border-top-left-radius($border-radius); + @include border-bottom-left-radius($border-radius); + padding-left: 3px; + } + &.labelRight { + @include border-top-right-radius($border-radius); + @include border-bottom-right-radius($border-radius); + color: black; + @include background-image(linear-gradient(bottom, $white, #E6E6E6)); + padding-right: 3px; + } + + &.primary, &.labelLeft { + color: $white; + background: $blue; + @include background-image(linear-gradient(bottom, $blue, #0055CC)); + } + &.info { + $startColor: #5BC0DE; + color: $white; + background: $startColor; + @include background-image(linear-gradient(bottom, $startColor, #2F96B4)); + } + &.success { + $startColor: #62C462; + color: $white; + background: $startColor; + @include background-image(linear-gradient(bottom, $startColor, #51A351)); + } + &.warning { + $startColor: #DBB450; + color: $white; + background: $startColor; + @include background-image(linear-gradient(bottom, $startColor, #F89406)); + } + &.danger { + $startColor: #EE5f5B; + color: $white; + background: $startColor; + @include background-image(linear-gradient(bottom, $startColor, #BD362F)); + } + } +} \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/stylesheets/bootstrap-toggle-buttons.css b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/stylesheets/bootstrap-toggle-buttons.css new file mode 100644 index 0000000..8793bcc --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-toggle-buttons/static/stylesheets/bootstrap-toggle-buttons.css @@ -0,0 +1,155 @@ +/* line 11, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button { + display: inline-block; + cursor: pointer; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -ms-border-radius: 5px; + -o-border-radius: 5px; + border-radius: 5px; + border: 1px solid; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + position: relative; + text-align: left; + overflow: hidden; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* line 29, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button.deactivate { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); + opacity: 0.5; + cursor: default !important; +} +/* line 32, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button.deactivate label, .toggle-button.deactivate span { + cursor: default !important; +} +/* line 36, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button > div { + display: inline-block; + width: 150px; + position: absolute; + top: 0; +} +/* line 41, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button > div.disabled { + left: -50%; +} +/* line 45, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button input[type=checkbox] { + display: none; +} +/* line 53, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span, .toggle-button label { + cursor: pointer; + position: relative; + float: left; + display: inline-block; +} +/* line 60, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button label { + background: #fefefe; + margin-left: -4px; + margin-right: -4px; + border: 1px solid #E6E6E6; + margin-top: -1px; + z-index: 100; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fefefe), color-stop(100%, #e6e6e6)); + background-image: -webkit-linear-gradient(top, #fefefe, #e6e6e6); + background-image: -moz-linear-gradient(top, #fefefe, #e6e6e6); + background-image: -o-linear-gradient(top, #fefefe, #e6e6e6); + background-image: linear-gradient(top, #fefefe, #e6e6e6); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + -ms-border-radius: 4px; + -o-border-radius: 4px; + border-radius: 4px; +} +/* line 72, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span { + color: #fefefe; + text-align: center; + font-weight: bold; + z-index: 1; +} +/* line 78, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span.labelLeft { + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + padding-left: 3px; +} +/* line 83, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span.labelRight { + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + color: black; + background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #fefefe), color-stop(100%, #e6e6e6)); + background-image: -webkit-linear-gradient(bottom, #fefefe, #e6e6e6); + background-image: -moz-linear-gradient(bottom, #fefefe, #e6e6e6); + background-image: -o-linear-gradient(bottom, #fefefe, #e6e6e6); + background-image: linear-gradient(bottom, #fefefe, #e6e6e6); + padding-right: 3px; +} +/* line 91, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span.primary, .toggle-button span.labelLeft { + color: #fefefe; + background: #0088cc; + background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0088cc), color-stop(100%, #0055cc)); + background-image: -webkit-linear-gradient(bottom, #0088cc, #0055cc); + background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc); + background-image: -o-linear-gradient(bottom, #0088cc, #0055cc); + background-image: linear-gradient(bottom, #0088cc, #0055cc); +} +/* line 96, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span.info { + color: #fefefe; + background: #5bc0de; + background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #5bc0de), color-stop(100%, #2f96b4)); + background-image: -webkit-linear-gradient(bottom, #5bc0de, #2f96b4); + background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4); + background-image: linear-gradient(bottom, #5bc0de, #2f96b4); +} +/* line 102, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span.success { + color: #fefefe; + background: #62c462; + background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #62c462), color-stop(100%, #51a351)); + background-image: -webkit-linear-gradient(bottom, #62c462, #51a351); + background-image: -moz-linear-gradient(bottom, #62c462, #51a351); + background-image: -o-linear-gradient(bottom, #62c462, #51a351); + background-image: linear-gradient(bottom, #62c462, #51a351); +} +/* line 108, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span.warning { + color: #fefefe; + background: #dbb450; + background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #dbb450), color-stop(100%, #f89406)); + background-image: -webkit-linear-gradient(bottom, #dbb450, #f89406); + background-image: -moz-linear-gradient(bottom, #dbb450, #f89406); + background-image: -o-linear-gradient(bottom, #dbb450, #f89406); + background-image: linear-gradient(bottom, #dbb450, #f89406); +} +/* line 114, ../sass/bootstrap-toggle-buttons.scss */ +.toggle-button span.danger { + color: #fefefe; + background: #ee5f5b; + background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ee5f5b), color-stop(100%, #bd362f)); + background-image: -webkit-linear-gradient(bottom, #ee5f5b, #bd362f); + background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f); + background-image: linear-gradient(bottom, #ee5f5b, #bd362f); +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-tree/.gitignore b/www/themes/factuges/assets/plugins/bootstrap-tree/.gitignore new file mode 100644 index 0000000..db31c07 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tree/.gitignore @@ -0,0 +1,2 @@ +.project +.tmp* \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-tree/README.md b/www/themes/factuges/assets/plugins/bootstrap-tree/README.md new file mode 100644 index 0000000..01d7e22 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tree/README.md @@ -0,0 +1,19 @@ +Bootstrap Tree v0.2 +============== + +A lightweight Tree component, built for use with the Twitter Bootstrap framework. + +A work in progress. All feedback is welcome. + +[10.06.2012] - v0.2 - Added ability to populate branches with Ajax. "Branch" configuration + specifies where to get the data, and the parameters to "POST" in the request. + +Bootstrap Tree © 2012 Cutters Crossing + +'Bootstrap' is © 2012 Twitter, Inc. + +http://twitter.github.com/bootstrap + +Both are licensed under the Apache License, Version 2.0 (the "License") + +http://www.apache.org/licenses/LICENSE-2.0 \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/css/bootstrap-tree.css b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/css/bootstrap-tree.css new file mode 100644 index 0000000..6066ce5 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/css/bootstrap-tree.css @@ -0,0 +1,60 @@ +/*! + * Bootstrap Tree v0.3 + * + * Copyright 2012 Cutters Crossing + * Bootstrap is Copyright 2012 Twitter, Inc. + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @cutterbl. + */ + +.tree, +.branch { + list-style: none outside none; +} +.branch { + postion: relative; + height: 0; + margin: 0 0 0 15px; + overflow: hidden; +} +.branch.in { + height: auto; +} + +a:link, +a:visited, +a:hover, +a:active { + color: #000; + text-decoration: none; +} + +a:hover { + text-decoration: underline; + cursor: pointer; +} +/* Work in progress */ +a.tree-toggle-icon-only { + height: 16px; + width: 20px; + line-height: 16px; + vertical-align: middle; + display: inline-block; + background: url("../img/bstree-halflings.png") no-repeat; + background-position: 0 -22px; +} + +a.tree-toggle { + height: 16px; + padding-left: 20px; + line-height: 16px; + vertical-align: middle; + display: inline-block; + background: url("../img/bstree-halflings.png") no-repeat; + background-position: 0 -22px; +} +a.tree-toggle.closed, a.tree-toggle-icon-only.closed { + background-position: 0 1px; +} \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/ajax-loader.gif b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/ajax-loader.gif new file mode 100644 index 0000000..5b33f7e Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/ajax-loader.gif differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/bstree-halflings.png b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/bstree-halflings.png new file mode 100644 index 0000000..8ec9e97 Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/bstree-halflings.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/bstree-halflings_.png b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/bstree-halflings_.png new file mode 100644 index 0000000..6e519c9 Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/img/bstree-halflings_.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/js/bootstrap-tree.js b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/js/bootstrap-tree.js new file mode 100644 index 0000000..bad9b60 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-tree/bootstrap-tree/js/bootstrap-tree.js @@ -0,0 +1,460 @@ +/* ============================================================= + * bootstrap-tree.js v0.3 + * http://twitter.github.com/cutterbl/Bootstrap-Tree + * + * Inspired by Twitter Bootstrap, with credit to bits of code + * from all over. + * ============================================================= + * Copyright 2012 Cutters Crossing. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + +!function ($) { + + "use strict"; // jshint ;_; + + var loading = " Loading ..."; + + /* TREE CLASS DEFINITION + * ========================= */ + + var Tree = function (element, options) { + + this.$element = $(element) + this.$tree = this.$element.closest(".tree") + this.parentage = GetParentage(this.$element) + this.options = $.extend({}, $.fn.tree.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Tree.prototype = { + + constructor: Tree + + , toggle: function () { + + var a, n, s + , currentStatus = this.$element.hasClass("in") + , eventName = (!currentStatus) ? "openbranch" : "closebranch" + + this.$parent[currentStatus ? "addClass" : "removeClass"]("closed") + this.$element[currentStatus ? "removeClass" : "addClass"]("in") + + if (this.options.href) { + this._load() + } + + n = this.node() + // 'Action' (open|close) event + a = $.Event(eventName, { + node: n + }) + // 'Select' event + s = $.Event("nodeselect", { + node: n + }) + + this.$parent.trigger(a).trigger(s) + + } + + , _load: function () { + var data = $.extend({}, this.options) + , el = this.$element + , $this = $(this) + , options = this.options + + // some config data we don't need to pass in the post + delete data.parent + delete data.href + delete data.callback + + $.post(options.href, data, function (d, s, x){ + + var doc, type = "html" + + if (options.callback) { // If a callback was defined in the data parameters + + var cb = window[options.callback].apply(el, [d, s, x]) // callbacks must return an object with 'doc' and 'type' keys + doc = cb.doc || d + type = cb.type || type + + } else { + + try { + doc = $.parseJSON(d) + type = "json" + } catch (err) { + doc = d + } + + if (type !== "json") { + try { + doc = $.parseXML(d) + type = "xml" + } catch (err) { + doc = d + } + } + + } + + switch (type) { + + case "html": + el.html(doc) + break + + default: + $this[0]._buildOutput(doc, type, el) + break + + } + + }, "html") + } + + , _buildOutput: function (doc, type, parent) { + + var nodes = this._buildNodes(doc, type) + + parent.empty().append(this._createNodes(nodes)) + + } + + , _createNodes: function (nodes) { + + var els = [] + , $this = $(this) + + $.each(nodes, function (ind, el) { + + var node = $("
      • ") + , role = (el.leaf) ? "leaf" : "branch" + , attributes = {} + , anchor = $("") + + attributes.role = role + + if (!el.leaf) { + + var branch = $("
      • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        KeyDefaultDescription
        tabClass'nav nav-pills'ul navigation class
        nextSelector'.wizard li.next'next element selector
        previousSelector'.wizard li.previous'previous element selector
        firstSelector'.wizard li.first'first element selector
        lastSelector'.wizard li.last'last element selector
        + +Events +------ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        KeyDescription
        onInitFired when plugin is initialized
        onShowFired when plugin data is shown
        onNextFired when next button is clicked (return false to disable moving to the next step)
        onPreviousFired when previous button is clicked (return false to disable moving to the previous step)
        onFirstFired when first button is clicked (return false to disable moving to the first step)
        onLastFired when last button is clicked (return false to disable moving to the last step)
        onTabClickFired when a tab is clicked (return false to disable moving to that tab and showing it's contents)
        onTabShowFired when a tab content is shown (return false to disable showing that tab content)
        + +Methods +------- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        KeyParametersDescription
        nextMoves to the next tab
        previousMoves to the previous tab
        firstJumps to the first tab
        lastJumps to the last tab
        showzero based indexJumps to the specified tab
        currentIndexReturns the zero based index number for the current tab
        navigationLengthReturns the number of tabs
        + +

        © Vadim Vincent Gabriel 2012

        \ No newline at end of file diff --git a/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap-responsive.css b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap-responsive.css new file mode 100644 index 0000000..9259d26 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap-responsive.css @@ -0,0 +1,1058 @@ +/*! + * Bootstrap Responsive v2.1.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.hidden { + display: none; + visibility: hidden; +} + +.visible-phone { + display: none !important; +} + +.visible-tablet { + display: none !important; +} + +.hidden-desktop { + display: none !important; +} + +.visible-desktop { + display: inherit !important; +} + +@media (min-width: 768px) and (max-width: 979px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } +} + +@media (max-width: 767px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } +} + +@media (min-width: 1200px) { + .row { + margin-left: -30px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 30px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 1170px; + } + .span12 { + width: 1170px; + } + .span11 { + width: 1070px; + } + .span10 { + width: 970px; + } + .span9 { + width: 870px; + } + .span8 { + width: 770px; + } + .span7 { + width: 670px; + } + .span6 { + width: 570px; + } + .span5 { + width: 470px; + } + .span4 { + width: 370px; + } + .span3 { + width: 270px; + } + .span2 { + width: 170px; + } + .span1 { + width: 70px; + } + .offset12 { + margin-left: 1230px; + } + .offset11 { + margin-left: 1130px; + } + .offset10 { + margin-left: 1030px; + } + .offset9 { + margin-left: 930px; + } + .offset8 { + margin-left: 830px; + } + .offset7 { + margin-left: 730px; + } + .offset6 { + margin-left: 630px; + } + .offset5 { + margin-left: 530px; + } + .offset4 { + margin-left: 430px; + } + .offset3 { + margin-left: 330px; + } + .offset2 { + margin-left: 230px; + } + .offset1 { + margin-left: 130px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.564102564102564%; + *margin-left: 2.5109110747408616%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.45299145299145%; + *width: 91.39979996362975%; + } + .row-fluid .span10 { + width: 82.90598290598291%; + *width: 82.8527914166212%; + } + .row-fluid .span9 { + width: 74.35897435897436%; + *width: 74.30578286961266%; + } + .row-fluid .span8 { + width: 65.81196581196582%; + *width: 65.75877432260411%; + } + .row-fluid .span7 { + width: 57.26495726495726%; + *width: 57.21176577559556%; + } + .row-fluid .span6 { + width: 48.717948717948715%; + *width: 48.664757228587014%; + } + .row-fluid .span5 { + width: 40.17094017094017%; + *width: 40.11774868157847%; + } + .row-fluid .span4 { + width: 31.623931623931625%; + *width: 31.570740134569924%; + } + .row-fluid .span3 { + width: 23.076923076923077%; + *width: 23.023731587561375%; + } + .row-fluid .span2 { + width: 14.52991452991453%; + *width: 14.476723040552828%; + } + .row-fluid .span1 { + width: 5.982905982905983%; + *width: 5.929714493544281%; + } + .row-fluid .offset12 { + margin-left: 105.12820512820512%; + *margin-left: 105.02182214948171%; + } + .row-fluid .offset12:first-child { + margin-left: 102.56410256410257%; + *margin-left: 102.45771958537915%; + } + .row-fluid .offset11 { + margin-left: 96.58119658119658%; + *margin-left: 96.47481360247316%; + } + .row-fluid .offset11:first-child { + margin-left: 94.01709401709402%; + *margin-left: 93.91071103837061%; + } + .row-fluid .offset10 { + margin-left: 88.03418803418803%; + *margin-left: 87.92780505546462%; + } + .row-fluid .offset10:first-child { + margin-left: 85.47008547008548%; + *margin-left: 85.36370249136206%; + } + .row-fluid .offset9 { + margin-left: 79.48717948717949%; + *margin-left: 79.38079650845607%; + } + .row-fluid .offset9:first-child { + margin-left: 76.92307692307693%; + *margin-left: 76.81669394435352%; + } + .row-fluid .offset8 { + margin-left: 70.94017094017094%; + *margin-left: 70.83378796144753%; + } + .row-fluid .offset8:first-child { + margin-left: 68.37606837606839%; + *margin-left: 68.26968539734497%; + } + .row-fluid .offset7 { + margin-left: 62.393162393162385%; + *margin-left: 62.28677941443899%; + } + .row-fluid .offset7:first-child { + margin-left: 59.82905982905982%; + *margin-left: 59.72267685033642%; + } + .row-fluid .offset6 { + margin-left: 53.84615384615384%; + *margin-left: 53.739770867430444%; + } + .row-fluid .offset6:first-child { + margin-left: 51.28205128205128%; + *margin-left: 51.175668303327875%; + } + .row-fluid .offset5 { + margin-left: 45.299145299145295%; + *margin-left: 45.1927623204219%; + } + .row-fluid .offset5:first-child { + margin-left: 42.73504273504273%; + *margin-left: 42.62865975631933%; + } + .row-fluid .offset4 { + margin-left: 36.75213675213675%; + *margin-left: 36.645753773413354%; + } + .row-fluid .offset4:first-child { + margin-left: 34.18803418803419%; + *margin-left: 34.081651209310785%; + } + .row-fluid .offset3 { + margin-left: 28.205128205128204%; + *margin-left: 28.0987452264048%; + } + .row-fluid .offset3:first-child { + margin-left: 25.641025641025642%; + *margin-left: 25.53464266230224%; + } + .row-fluid .offset2 { + margin-left: 19.65811965811966%; + *margin-left: 19.551736679396257%; + } + .row-fluid .offset2:first-child { + margin-left: 17.094017094017094%; + *margin-left: 16.98763411529369%; + } + .row-fluid .offset1 { + margin-left: 11.11111111111111%; + *margin-left: 11.004728132387708%; + } + .row-fluid .offset1:first-child { + margin-left: 8.547008547008547%; + *margin-left: 8.440625568285142%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 30px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 1156px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 1056px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 956px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 856px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 756px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 656px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 556px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 456px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 356px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 256px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 156px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 56px; + } + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } +} + +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; + } + .span12 { + width: 724px; + } + .span11 { + width: 662px; + } + .span10 { + width: 600px; + } + .span9 { + width: 538px; + } + .span8 { + width: 476px; + } + .span7 { + width: 414px; + } + .span6 { + width: 352px; + } + .span5 { + width: 290px; + } + .span4 { + width: 228px; + } + .span3 { + width: 166px; + } + .span2 { + width: 104px; + } + .span1 { + width: 42px; + } + .offset12 { + margin-left: 764px; + } + .offset11 { + margin-left: 702px; + } + .offset10 { + margin-left: 640px; + } + .offset9 { + margin-left: 578px; + } + .offset8 { + margin-left: 516px; + } + .offset7 { + margin-left: 454px; + } + .offset6 { + margin-left: 392px; + } + .offset5 { + margin-left: 330px; + } + .offset4 { + margin-left: 268px; + } + .offset3 { + margin-left: 206px; + } + .offset2 { + margin-left: 144px; + } + .offset1 { + margin-left: 82px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.7624309392265194%; + *margin-left: 2.709239449864817%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.43646408839778%; + *width: 91.38327259903608%; + } + .row-fluid .span10 { + width: 82.87292817679558%; + *width: 82.81973668743387%; + } + .row-fluid .span9 { + width: 74.30939226519337%; + *width: 74.25620077583166%; + } + .row-fluid .span8 { + width: 65.74585635359117%; + *width: 65.69266486422946%; + } + .row-fluid .span7 { + width: 57.18232044198895%; + *width: 57.12912895262725%; + } + .row-fluid .span6 { + width: 48.61878453038674%; + *width: 48.56559304102504%; + } + .row-fluid .span5 { + width: 40.05524861878453%; + *width: 40.00205712942283%; + } + .row-fluid .span4 { + width: 31.491712707182323%; + *width: 31.43852121782062%; + } + .row-fluid .span3 { + width: 22.92817679558011%; + *width: 22.87498530621841%; + } + .row-fluid .span2 { + width: 14.3646408839779%; + *width: 14.311449394616199%; + } + .row-fluid .span1 { + width: 5.801104972375691%; + *width: 5.747913483013988%; + } + .row-fluid .offset12 { + margin-left: 105.52486187845304%; + *margin-left: 105.41847889972962%; + } + .row-fluid .offset12:first-child { + margin-left: 102.76243093922652%; + *margin-left: 102.6560479605031%; + } + .row-fluid .offset11 { + margin-left: 96.96132596685082%; + *margin-left: 96.8549429881274%; + } + .row-fluid .offset11:first-child { + margin-left: 94.1988950276243%; + *margin-left: 94.09251204890089%; + } + .row-fluid .offset10 { + margin-left: 88.39779005524862%; + *margin-left: 88.2914070765252%; + } + .row-fluid .offset10:first-child { + margin-left: 85.6353591160221%; + *margin-left: 85.52897613729868%; + } + .row-fluid .offset9 { + margin-left: 79.8342541436464%; + *margin-left: 79.72787116492299%; + } + .row-fluid .offset9:first-child { + margin-left: 77.07182320441989%; + *margin-left: 76.96544022569647%; + } + .row-fluid .offset8 { + margin-left: 71.2707182320442%; + *margin-left: 71.16433525332079%; + } + .row-fluid .offset8:first-child { + margin-left: 68.50828729281768%; + *margin-left: 68.40190431409427%; + } + .row-fluid .offset7 { + margin-left: 62.70718232044199%; + *margin-left: 62.600799341718584%; + } + .row-fluid .offset7:first-child { + margin-left: 59.94475138121547%; + *margin-left: 59.838368402492065%; + } + .row-fluid .offset6 { + margin-left: 54.14364640883978%; + *margin-left: 54.037263430116376%; + } + .row-fluid .offset6:first-child { + margin-left: 51.38121546961326%; + *margin-left: 51.27483249088986%; + } + .row-fluid .offset5 { + margin-left: 45.58011049723757%; + *margin-left: 45.47372751851417%; + } + .row-fluid .offset5:first-child { + margin-left: 42.81767955801105%; + *margin-left: 42.71129657928765%; + } + .row-fluid .offset4 { + margin-left: 37.01657458563536%; + *margin-left: 36.91019160691196%; + } + .row-fluid .offset4:first-child { + margin-left: 34.25414364640884%; + *margin-left: 34.14776066768544%; + } + .row-fluid .offset3 { + margin-left: 28.45303867403315%; + *margin-left: 28.346655695309746%; + } + .row-fluid .offset3:first-child { + margin-left: 25.69060773480663%; + *margin-left: 25.584224756083227%; + } + .row-fluid .offset2 { + margin-left: 19.88950276243094%; + *margin-left: 19.783119783707537%; + } + .row-fluid .offset2:first-child { + margin-left: 17.12707182320442%; + *margin-left: 17.02068884448102%; + } + .row-fluid .offset1 { + margin-left: 11.32596685082873%; + *margin-left: 11.219583872105325%; + } + .row-fluid .offset1:first-child { + margin-left: 8.56353591160221%; + *margin-left: 8.457152932878806%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 710px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 648px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 586px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 524px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 462px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 400px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 338px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 276px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 214px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 152px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 90px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 28px; + } +} + +@media (max-width: 767px) { + body { + padding-right: 20px; + padding-left: 20px; + } + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-right: -20px; + margin-left: -20px; + } + .container-fluid { + padding: 0; + } + .dl-horizontal dt { + float: none; + width: auto; + clear: none; + text-align: left; + } + .dl-horizontal dd { + margin-left: 0; + } + .container { + width: auto; + } + .row-fluid { + width: 100%; + } + .row, + .thumbnails { + margin-left: 0; + } + .thumbnails > li { + float: none; + margin-left: 0; + } + [class*="span"], + .row-fluid [class*="span"] { + display: block; + float: none; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .span12, + .row-fluid .span12 { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } + .modal { + position: fixed; + top: 20px; + right: 20px; + left: 20px; + width: auto; + margin: 0; + } + .modal.fade.in { + top: auto; + } +} + +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + .page-header h1 small { + display: block; + line-height: 20px; + } + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + .form-horizontal .controls { + margin-left: 0; + } + .form-horizontal .control-list { + padding-top: 0; + } + .form-horizontal .form-actions { + padding-right: 10px; + padding-left: 10px; + } + .modal { + top: 10px; + right: 10px; + left: 10px; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + .carousel-caption { + position: static; + } +} + +@media (max-width: 979px) { + body { + padding-top: 0; + } + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + .navbar-fixed-top { + margin-bottom: 20px; + } + .navbar-fixed-bottom { + margin-top: 20px; + } + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-right: 10px; + padding-left: 10px; + margin: 0 0 0 -5px; + } + .nav-collapse { + clear: both; + } + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { + background-color: #f2f2f2; + } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:hover { + background-color: #111111; + } + .nav-collapse.in .btn-group { + padding: 0; + margin-top: 5px; + } + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + display: block; + float: none; + max-width: none; + padding: 0; + margin: 0 15px; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + .nav-collapse, + .nav-collapse.collapse { + height: 0; + overflow: hidden; + } + .navbar .btn-navbar { + display: block; + } + .navbar-static .navbar-inner { + padding-right: 10px; + padding-left: 10px; + } +} + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap-responsive.min.css b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap-responsive.min.css new file mode 100644 index 0000000..7b0158d --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap-responsive.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap Responsive v2.1.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade.in{top:auto}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} diff --git a/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap.css b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap.css new file mode 100644 index 0000000..9fa6f76 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap.css @@ -0,0 +1,5774 @@ +/*! + * Bootstrap v2.1.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +audio:not([controls]) { + display: none; +} + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +a:hover, +a:active { + outline: 0; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + width: auto\9; + height: auto; + max-width: 100%; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +#map_canvas img { + max-width: none; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +button, +input { + *overflow: visible; + line-height: normal; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +body { + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 20px; + color: #333333; + background-color: #ffffff; +} + +a { + color: #0088cc; + text-decoration: none; +} + +a:hover { + color: #005580; + text-decoration: underline; +} + +.img-rounded { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.img-polaroid { + padding: 4px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.img-circle { + -webkit-border-radius: 500px; + -moz-border-radius: 500px; + border-radius: 500px; +} + +.row { + margin-left: -20px; + *zoom: 1; +} + +.row:before, +.row:after { + display: table; + line-height: 0; + content: ""; +} + +.row:after { + clear: both; +} + +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} + +.container, +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.span12 { + width: 940px; +} + +.span11 { + width: 860px; +} + +.span10 { + width: 780px; +} + +.span9 { + width: 700px; +} + +.span8 { + width: 620px; +} + +.span7 { + width: 540px; +} + +.span6 { + width: 460px; +} + +.span5 { + width: 380px; +} + +.span4 { + width: 300px; +} + +.span3 { + width: 220px; +} + +.span2 { + width: 140px; +} + +.span1 { + width: 60px; +} + +.offset12 { + margin-left: 980px; +} + +.offset11 { + margin-left: 900px; +} + +.offset10 { + margin-left: 820px; +} + +.offset9 { + margin-left: 740px; +} + +.offset8 { + margin-left: 660px; +} + +.offset7 { + margin-left: 580px; +} + +.offset6 { + margin-left: 500px; +} + +.offset5 { + margin-left: 420px; +} + +.offset4 { + margin-left: 340px; +} + +.offset3 { + margin-left: 260px; +} + +.offset2 { + margin-left: 180px; +} + +.offset1 { + margin-left: 100px; +} + +.row-fluid { + width: 100%; + *zoom: 1; +} + +.row-fluid:before, +.row-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.row-fluid:after { + clear: both; +} + +.row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.127659574468085%; + *margin-left: 2.074468085106383%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} + +.row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; +} + +.row-fluid .span11 { + width: 91.48936170212765%; + *width: 91.43617021276594%; +} + +.row-fluid .span10 { + width: 82.97872340425532%; + *width: 82.92553191489361%; +} + +.row-fluid .span9 { + width: 74.46808510638297%; + *width: 74.41489361702126%; +} + +.row-fluid .span8 { + width: 65.95744680851064%; + *width: 65.90425531914893%; +} + +.row-fluid .span7 { + width: 57.44680851063829%; + *width: 57.39361702127659%; +} + +.row-fluid .span6 { + width: 48.93617021276595%; + *width: 48.88297872340425%; +} + +.row-fluid .span5 { + width: 40.42553191489362%; + *width: 40.37234042553192%; +} + +.row-fluid .span4 { + width: 31.914893617021278%; + *width: 31.861702127659576%; +} + +.row-fluid .span3 { + width: 23.404255319148934%; + *width: 23.351063829787233%; +} + +.row-fluid .span2 { + width: 14.893617021276595%; + *width: 14.840425531914894%; +} + +.row-fluid .span1 { + width: 6.382978723404255%; + *width: 6.329787234042553%; +} + +.row-fluid .offset12 { + margin-left: 104.25531914893617%; + *margin-left: 104.14893617021275%; +} + +.row-fluid .offset12:first-child { + margin-left: 102.12765957446808%; + *margin-left: 102.02127659574467%; +} + +.row-fluid .offset11 { + margin-left: 95.74468085106382%; + *margin-left: 95.6382978723404%; +} + +.row-fluid .offset11:first-child { + margin-left: 93.61702127659574%; + *margin-left: 93.51063829787232%; +} + +.row-fluid .offset10 { + margin-left: 87.23404255319149%; + *margin-left: 87.12765957446807%; +} + +.row-fluid .offset10:first-child { + margin-left: 85.1063829787234%; + *margin-left: 84.99999999999999%; +} + +.row-fluid .offset9 { + margin-left: 78.72340425531914%; + *margin-left: 78.61702127659572%; +} + +.row-fluid .offset9:first-child { + margin-left: 76.59574468085106%; + *margin-left: 76.48936170212764%; +} + +.row-fluid .offset8 { + margin-left: 70.2127659574468%; + *margin-left: 70.10638297872339%; +} + +.row-fluid .offset8:first-child { + margin-left: 68.08510638297872%; + *margin-left: 67.9787234042553%; +} + +.row-fluid .offset7 { + margin-left: 61.70212765957446%; + *margin-left: 61.59574468085106%; +} + +.row-fluid .offset7:first-child { + margin-left: 59.574468085106375%; + *margin-left: 59.46808510638297%; +} + +.row-fluid .offset6 { + margin-left: 53.191489361702125%; + *margin-left: 53.085106382978715%; +} + +.row-fluid .offset6:first-child { + margin-left: 51.063829787234035%; + *margin-left: 50.95744680851063%; +} + +.row-fluid .offset5 { + margin-left: 44.68085106382979%; + *margin-left: 44.57446808510638%; +} + +.row-fluid .offset5:first-child { + margin-left: 42.5531914893617%; + *margin-left: 42.4468085106383%; +} + +.row-fluid .offset4 { + margin-left: 36.170212765957444%; + *margin-left: 36.06382978723405%; +} + +.row-fluid .offset4:first-child { + margin-left: 34.04255319148936%; + *margin-left: 33.93617021276596%; +} + +.row-fluid .offset3 { + margin-left: 27.659574468085104%; + *margin-left: 27.5531914893617%; +} + +.row-fluid .offset3:first-child { + margin-left: 25.53191489361702%; + *margin-left: 25.425531914893618%; +} + +.row-fluid .offset2 { + margin-left: 19.148936170212764%; + *margin-left: 19.04255319148936%; +} + +.row-fluid .offset2:first-child { + margin-left: 17.02127659574468%; + *margin-left: 16.914893617021278%; +} + +.row-fluid .offset1 { + margin-left: 10.638297872340425%; + *margin-left: 10.53191489361702%; +} + +.row-fluid .offset1:first-child { + margin-left: 8.51063829787234%; + *margin-left: 8.404255319148938%; +} + +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} + +.container { + margin-right: auto; + margin-left: auto; + *zoom: 1; +} + +.container:before, +.container:after { + display: table; + line-height: 0; + content: ""; +} + +.container:after { + clear: both; +} + +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} + +.container-fluid:before, +.container-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.container-fluid:after { + clear: both; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 21px; + font-weight: 200; + line-height: 30px; +} + +small { + font-size: 85%; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +cite { + font-style: normal; +} + +.muted { + color: #999999; +} + +.text-warning { + color: #c09853; +} + +.text-error { + color: #b94a48; +} + +.text-info { + color: #3a87ad; +} + +.text-success { + color: #468847; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 10px 0; + font-family: inherit; + font-weight: bold; + line-height: 1; + color: inherit; + text-rendering: optimizelegibility; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1 { + font-size: 36px; + line-height: 40px; +} + +h2 { + font-size: 30px; + line-height: 40px; +} + +h3 { + font-size: 24px; + line-height: 40px; +} + +h4 { + font-size: 18px; + line-height: 20px; +} + +h5 { + font-size: 14px; + line-height: 20px; +} + +h6 { + font-size: 12px; + line-height: 20px; +} + +h1 small { + font-size: 24px; +} + +h2 small { + font-size: 18px; +} + +h3 small { + font-size: 14px; +} + +h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 20px 0 30px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + padding: 0; + margin: 0 0 10px 25px; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} + +li { + line-height: 20px; +} + +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 20px; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 10px; +} + +.dl-horizontal { + *zoom: 1; +} + +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + line-height: 0; + content: ""; +} + +.dl-horizontal:after { + clear: both; +} + +.dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dl-horizontal dd { + margin-left: 180px; +} + +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid #ffffff; +} + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 0 0 0 15px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + margin-bottom: 0; + font-size: 16px; + font-weight: 300; + line-height: 25px; +} + +blockquote small { + display: block; + line-height: 20px; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 20px; +} + +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +code { + padding: 2px 4px; + color: #d14; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + color: inherit; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +form { + margin: 0 0 20px; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: 40px; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +legend small { + font-size: 15px; + color: #999999; +} + +label, +input, +button, +select, +textarea { + font-size: 14px; + font-weight: normal; + line-height: 20px; +} + +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +label { + display: block; + margin-bottom: 5px; +} + +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + display: inline-block; + height: 20px; + padding: 4px 6px; + margin-bottom: 9px; + font-size: 14px; + line-height: 20px; + color: #555555; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +input, +textarea, +.uneditable-input { + width: 206px; +} + +textarea { + height: auto; +} + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +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, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + *margin-top: 0; + line-height: normal; + cursor: pointer; +} + +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} + +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + + line-height: 30px; +} + +select { + width: 220px; + background-color: #ffffff; + border: 1px solid #cccccc; +} + +select[multiple], +select[size] { + height: auto; +} + +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.uneditable-input, +.uneditable-textarea { + color: #999999; + cursor: not-allowed; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +} + +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} + +.uneditable-textarea { + width: auto; + height: auto; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} + +.radio, +.checkbox { + min-height: 18px; + padding-left: 18px; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} + +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; +} + +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} + +.input-mini { + width: 60px; +} + +.input-small { + width: 90px; +} + +.input-medium { + width: 150px; +} + +.input-large { + width: 210px; +} + +.input-xlarge { + width: 270px; +} + +.input-xxlarge { + width: 530px; +} + +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} + +input, +textarea, +.uneditable-input { + margin-left: 0; +} + +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} + +input.span12, +textarea.span12, +.uneditable-input.span12 { + width: 926px; +} + +input.span11, +textarea.span11, +.uneditable-input.span11 { + width: 846px; +} + +input.span10, +textarea.span10, +.uneditable-input.span10 { + width: 766px; +} + +input.span9, +textarea.span9, +.uneditable-input.span9 { + width: 686px; +} + +input.span8, +textarea.span8, +.uneditable-input.span8 { + width: 606px; +} + +input.span7, +textarea.span7, +.uneditable-input.span7 { + width: 526px; +} + +input.span6, +textarea.span6, +.uneditable-input.span6 { + width: 446px; +} + +input.span5, +textarea.span5, +.uneditable-input.span5 { + width: 366px; +} + +input.span4, +textarea.span4, +.uneditable-input.span4 { + width: 286px; +} + +input.span3, +textarea.span3, +.uneditable-input.span3 { + width: 206px; +} + +input.span2, +textarea.span2, +.uneditable-input.span2 { + width: 126px; +} + +input.span1, +textarea.span1, +.uneditable-input.span1 { + width: 46px; +} + +.controls-row { + *zoom: 1; +} + +.controls-row:before, +.controls-row:after { + display: table; + line-height: 0; + content: ""; +} + +.controls-row:after { + clear: both; +} + +.controls-row [class*="span"] { + float: left; +} + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + +.control-group.warning > label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} + +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} + +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.control-group.error > label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} + +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} + +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.control-group.success > label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} + +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} + +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.control-group.info > label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} + +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} + +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} + +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { + color: #b94a48; + border-color: #ee5f5b; +} + +input:focus:required:invalid:focus, +textarea:focus:required:invalid:focus, +select:focus:required:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} + +.form-actions:before, +.form-actions:after { + display: table; + line-height: 0; + content: ""; +} + +.form-actions:after { + clear: both; +} + +.help-block, +.help-inline { + color: #595959; +} + +.help-block { + display: block; + margin-bottom: 10px; +} + +.help-inline { + display: inline-block; + *display: inline; + padding-left: 5px; + vertical-align: middle; + *zoom: 1; +} + +.input-append, +.input-prepend { + margin-bottom: 5px; + font-size: 0; + white-space: nowrap; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + font-size: 14px; + vertical-align: top; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.input-append input:focus, +.input-prepend input:focus, +.input-append select:focus, +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} + +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #eeeeee; + border: 1px solid #ccc; +} + +.input-append .add-on, +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} + +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} + +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.input-append .add-on, +.input-append .btn { + margin-left: -1px; +} + +.input-append .add-on:last-child, +.input-append .btn:last-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* Allow for input prepend/append in search forms */ + +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + margin-bottom: 0; + vertical-align: middle; + *zoom: 1; +} + +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} + +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} + +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + +.control-group { + margin-bottom: 10px; +} + +legend + .control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} + +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} + +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { + display: table; + line-height: 0; + content: ""; +} + +.form-horizontal .control-group:after { + clear: both; +} + +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} + +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} + +.form-horizontal .controls:first-child { + *padding-left: 180px; +} + +.form-horizontal .help-block { + margin-bottom: 0; +} + +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block { + margin-top: 10px; +} + +.form-horizontal .form-actions { + padding-left: 180px; +} + +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table th { + font-weight: bold; +} + +.table thead th { + vertical-align: bottom; +} + +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} + +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} + +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} + +.table-bordered thead:first-child tr:first-child th:first-child, +.table-bordered tbody:first-child tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered thead:first-child tr:first-child th:last-child, +.table-bordered tbody:first-child tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-bordered thead:last-child tr:last-child th:first-child, +.table-bordered tbody:last-child tr:last-child td:first-child, +.table-bordered tfoot:last-child tr:last-child td:first-child { + -webkit-border-radius: 0 0 0 4px; + -moz-border-radius: 0 0 0 4px; + border-radius: 0 0 0 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.table-bordered thead:last-child tr:last-child th:last-child, +.table-bordered tbody:last-child tr:last-child td:last-child, +.table-bordered tfoot:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; +} + +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-striped tbody tr:nth-child(odd) td, +.table-striped tbody tr:nth-child(odd) th { + background-color: #f9f9f9; +} + +.table-hover tbody tr:hover td, +.table-hover tbody tr:hover th { + background-color: #f5f5f5; +} + +table [class*=span], +.row-fluid table [class*=span] { + display: table-cell; + float: none; + margin-left: 0; +} + +.table .span1 { + float: none; + width: 44px; + margin-left: 0; +} + +.table .span2 { + float: none; + width: 124px; + margin-left: 0; +} + +.table .span3 { + float: none; + width: 204px; + margin-left: 0; +} + +.table .span4 { + float: none; + width: 284px; + margin-left: 0; +} + +.table .span5 { + float: none; + width: 364px; + margin-left: 0; +} + +.table .span6 { + float: none; + width: 444px; + margin-left: 0; +} + +.table .span7 { + float: none; + width: 524px; + margin-left: 0; +} + +.table .span8 { + float: none; + width: 604px; + margin-left: 0; +} + +.table .span9 { + float: none; + width: 684px; + margin-left: 0; +} + +.table .span10 { + float: none; + width: 764px; + margin-left: 0; +} + +.table .span11 { + float: none; + width: 844px; + margin-left: 0; +} + +.table .span12 { + float: none; + width: 924px; + margin-left: 0; +} + +.table .span13 { + float: none; + width: 1004px; + margin-left: 0; +} + +.table .span14 { + float: none; + width: 1084px; + margin-left: 0; +} + +.table .span15 { + float: none; + width: 1164px; + margin-left: 0; +} + +.table .span16 { + float: none; + width: 1244px; + margin-left: 0; +} + +.table .span17 { + float: none; + width: 1324px; + margin-left: 0; +} + +.table .span18 { + float: none; + width: 1404px; + margin-left: 0; +} + +.table .span19 { + float: none; + width: 1484px; + margin-left: 0; +} + +.table .span20 { + float: none; + width: 1564px; + margin-left: 0; +} + +.table .span21 { + float: none; + width: 1644px; + margin-left: 0; +} + +.table .span22 { + float: none; + width: 1724px; + margin-left: 0; +} + +.table .span23 { + float: none; + width: 1804px; + margin-left: 0; +} + +.table .span24 { + float: none; + width: 1884px; + margin-left: 0; +} + +.table tbody tr.success td { + background-color: #dff0d8; +} + +.table tbody tr.error td { + background-color: #f2dede; +} + +.table tbody tr.warning td { + background-color: #fcf8e3; +} + +.table tbody tr.info td { + background-color: #d9edf7; +} + +.table-hover tbody tr.success:hover td { + background-color: #d0e9c6; +} + +.table-hover tbody tr.error:hover td { + background-color: #ebcccc; +} + +.table-hover tbody tr.warning:hover td { + background-color: #faf2cc; +} + +.table-hover tbody tr.info:hover td { + background-color: #c4e3f3; +} + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + margin-top: 1px; + *margin-right: .3em; + line-height: 14px; + vertical-align: text-top; + background-image: url("../img/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; +} + +/* White icons with optional class, or on hover/active states of certain elements */ + +.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-"] { + background-image: url("../img/glyphicons-halflings-white.png"); +} + +.icon-glass { + background-position: 0 0; +} + +.icon-music { + background-position: -24px 0; +} + +.icon-search { + background-position: -48px 0; +} + +.icon-envelope { + background-position: -72px 0; +} + +.icon-heart { + background-position: -96px 0; +} + +.icon-star { + background-position: -120px 0; +} + +.icon-star-empty { + background-position: -144px 0; +} + +.icon-user { + background-position: -168px 0; +} + +.icon-film { + background-position: -192px 0; +} + +.icon-th-large { + background-position: -216px 0; +} + +.icon-th { + background-position: -240px 0; +} + +.icon-th-list { + background-position: -264px 0; +} + +.icon-ok { + background-position: -288px 0; +} + +.icon-remove { + background-position: -312px 0; +} + +.icon-zoom-in { + background-position: -336px 0; +} + +.icon-zoom-out { + background-position: -360px 0; +} + +.icon-off { + background-position: -384px 0; +} + +.icon-signal { + background-position: -408px 0; +} + +.icon-cog { + background-position: -432px 0; +} + +.icon-trash { + background-position: -456px 0; +} + +.icon-home { + background-position: 0 -24px; +} + +.icon-file { + background-position: -24px -24px; +} + +.icon-time { + background-position: -48px -24px; +} + +.icon-road { + background-position: -72px -24px; +} + +.icon-download-alt { + background-position: -96px -24px; +} + +.icon-download { + background-position: -120px -24px; +} + +.icon-upload { + background-position: -144px -24px; +} + +.icon-inbox { + background-position: -168px -24px; +} + +.icon-play-circle { + background-position: -192px -24px; +} + +.icon-repeat { + background-position: -216px -24px; +} + +.icon-refresh { + background-position: -240px -24px; +} + +.icon-list-alt { + background-position: -264px -24px; +} + +.icon-lock { + background-position: -287px -24px; +} + +.icon-flag { + background-position: -312px -24px; +} + +.icon-headphones { + background-position: -336px -24px; +} + +.icon-volume-off { + background-position: -360px -24px; +} + +.icon-volume-down { + background-position: -384px -24px; +} + +.icon-volume-up { + background-position: -408px -24px; +} + +.icon-qrcode { + background-position: -432px -24px; +} + +.icon-barcode { + background-position: -456px -24px; +} + +.icon-tag { + background-position: 0 -48px; +} + +.icon-tags { + background-position: -25px -48px; +} + +.icon-book { + background-position: -48px -48px; +} + +.icon-bookmark { + background-position: -72px -48px; +} + +.icon-print { + background-position: -96px -48px; +} + +.icon-camera { + background-position: -120px -48px; +} + +.icon-font { + background-position: -144px -48px; +} + +.icon-bold { + background-position: -167px -48px; +} + +.icon-italic { + background-position: -192px -48px; +} + +.icon-text-height { + background-position: -216px -48px; +} + +.icon-text-width { + background-position: -240px -48px; +} + +.icon-align-left { + background-position: -264px -48px; +} + +.icon-align-center { + background-position: -288px -48px; +} + +.icon-align-right { + background-position: -312px -48px; +} + +.icon-align-justify { + background-position: -336px -48px; +} + +.icon-list { + background-position: -360px -48px; +} + +.icon-indent-left { + background-position: -384px -48px; +} + +.icon-indent-right { + background-position: -408px -48px; +} + +.icon-facetime-video { + background-position: -432px -48px; +} + +.icon-picture { + background-position: -456px -48px; +} + +.icon-pencil { + background-position: 0 -72px; +} + +.icon-map-marker { + background-position: -24px -72px; +} + +.icon-adjust { + background-position: -48px -72px; +} + +.icon-tint { + background-position: -72px -72px; +} + +.icon-edit { + background-position: -96px -72px; +} + +.icon-share { + background-position: -120px -72px; +} + +.icon-check { + background-position: -144px -72px; +} + +.icon-move { + background-position: -168px -72px; +} + +.icon-step-backward { + background-position: -192px -72px; +} + +.icon-fast-backward { + background-position: -216px -72px; +} + +.icon-backward { + background-position: -240px -72px; +} + +.icon-play { + background-position: -264px -72px; +} + +.icon-pause { + background-position: -288px -72px; +} + +.icon-stop { + background-position: -312px -72px; +} + +.icon-forward { + background-position: -336px -72px; +} + +.icon-fast-forward { + background-position: -360px -72px; +} + +.icon-step-forward { + background-position: -384px -72px; +} + +.icon-eject { + background-position: -408px -72px; +} + +.icon-chevron-left { + background-position: -432px -72px; +} + +.icon-chevron-right { + background-position: -456px -72px; +} + +.icon-plus-sign { + background-position: 0 -96px; +} + +.icon-minus-sign { + background-position: -24px -96px; +} + +.icon-remove-sign { + background-position: -48px -96px; +} + +.icon-ok-sign { + background-position: -72px -96px; +} + +.icon-question-sign { + background-position: -96px -96px; +} + +.icon-info-sign { + background-position: -120px -96px; +} + +.icon-screenshot { + background-position: -144px -96px; +} + +.icon-remove-circle { + background-position: -168px -96px; +} + +.icon-ok-circle { + background-position: -192px -96px; +} + +.icon-ban-circle { + background-position: -216px -96px; +} + +.icon-arrow-left { + background-position: -240px -96px; +} + +.icon-arrow-right { + background-position: -264px -96px; +} + +.icon-arrow-up { + background-position: -289px -96px; +} + +.icon-arrow-down { + background-position: -312px -96px; +} + +.icon-share-alt { + background-position: -336px -96px; +} + +.icon-resize-full { + background-position: -360px -96px; +} + +.icon-resize-small { + background-position: -384px -96px; +} + +.icon-plus { + background-position: -408px -96px; +} + +.icon-minus { + background-position: -433px -96px; +} + +.icon-asterisk { + background-position: -456px -96px; +} + +.icon-exclamation-sign { + background-position: 0 -120px; +} + +.icon-gift { + background-position: -24px -120px; +} + +.icon-leaf { + background-position: -48px -120px; +} + +.icon-fire { + background-position: -72px -120px; +} + +.icon-eye-open { + background-position: -96px -120px; +} + +.icon-eye-close { + background-position: -120px -120px; +} + +.icon-warning-sign { + background-position: -144px -120px; +} + +.icon-plane { + background-position: -168px -120px; +} + +.icon-calendar { + background-position: -192px -120px; +} + +.icon-random { + width: 16px; + background-position: -216px -120px; +} + +.icon-comment { + background-position: -240px -120px; +} + +.icon-magnet { + background-position: -264px -120px; +} + +.icon-chevron-up { + background-position: -288px -120px; +} + +.icon-chevron-down { + background-position: -313px -119px; +} + +.icon-retweet { + background-position: -336px -120px; +} + +.icon-shopping-cart { + background-position: -360px -120px; +} + +.icon-folder-close { + background-position: -384px -120px; +} + +.icon-folder-open { + width: 16px; + background-position: -408px -120px; +} + +.icon-resize-vertical { + background-position: -432px -119px; +} + +.icon-resize-horizontal { + background-position: -456px -118px; +} + +.icon-hdd { + background-position: 0 -144px; +} + +.icon-bullhorn { + background-position: -24px -144px; +} + +.icon-bell { + background-position: -48px -144px; +} + +.icon-certificate { + background-position: -72px -144px; +} + +.icon-thumbs-up { + background-position: -96px -144px; +} + +.icon-thumbs-down { + background-position: -120px -144px; +} + +.icon-hand-right { + background-position: -144px -144px; +} + +.icon-hand-left { + background-position: -168px -144px; +} + +.icon-hand-up { + background-position: -192px -144px; +} + +.icon-hand-down { + background-position: -216px -144px; +} + +.icon-circle-arrow-right { + background-position: -240px -144px; +} + +.icon-circle-arrow-left { + background-position: -264px -144px; +} + +.icon-circle-arrow-up { + background-position: -288px -144px; +} + +.icon-circle-arrow-down { + background-position: -312px -144px; +} + +.icon-globe { + background-position: -336px -144px; +} + +.icon-wrench { + background-position: -360px -144px; +} + +.icon-tasks { + background-position: -384px -144px; +} + +.icon-filter { + background-position: -408px -144px; +} + +.icon-briefcase { + background-position: -432px -144px; +} + +.icon-fullscreen { + background-position: -456px -144px; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + *margin-bottom: -3px; +} + +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.dropdown-menu a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu li > a:hover, +.dropdown-menu li > a:focus, +.dropdown-submenu:hover > a { + color: #ffffff; + text-decoration: none; + background-color: #0088cc; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: #ffffff; + text-decoration: none; + background-color: #0088cc; + background-color: #0081c2; + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-repeat: repeat-x; + outline: 0; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu .disabled > a, +.dropdown-menu .disabled > a:hover { + color: #999999; +} + +.dropdown-menu .disabled > a:hover { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.open { + *z-index: 1000; +} + +.open > .dropdown-menu { + display: block; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} + +.dropdown-submenu > a:after { + display: block; + float: right; + width: 0; + height: 0; + margin-top: 5px; + margin-right: -10px; + border-color: transparent; + border-left-color: #cccccc; + border-style: solid; + border-width: 5px 0 5px 5px; + content: " "; +} + +.dropdown-submenu:hover > a:after { + border-left-color: #ffffff; +} + +.dropdown .dropdown-menu .nav-header { + padding-right: 20px; + padding-left: 20px; +} + +.typeahead { + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -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); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +.collapse.in { + height: auto; +} + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.btn { + display: inline-block; + *display: inline; + padding: 4px 14px; + margin-bottom: 0; + *margin-left: .3em; + font-size: 14px; + line-height: 20px; + *line-height: 20px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; + cursor: pointer; + background-color: #f5f5f5; + *background-color: #e6e6e6; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border: 1px solid #bbbbbb; + *border: 0; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn:hover, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} + +.btn:active, +.btn.active { + background-color: #cccccc \9; +} + +.btn:first-child { + *margin-left: 0; +} + +.btn:hover { + color: #333333; + text-decoration: none; + background-color: #e6e6e6; + *background-color: #d9d9d9; + /* Buttons in IE7 don't get borders, so darken on hover */ + + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn.active, +.btn:active { + background-color: #e6e6e6; + background-color: #d9d9d9 \9; + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn.disabled, +.btn[disabled] { + cursor: default; + background-color: #e6e6e6; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-large { + padding: 9px 14px; + font-size: 16px; + line-height: normal; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.btn-large [class^="icon-"] { + margin-top: 2px; +} + +.btn-small { + padding: 3px 9px; + font-size: 12px; + line-height: 18px; +} + +.btn-small [class^="icon-"] { + margin-top: 0; +} + +.btn-mini { + padding: 2px 6px; + font-size: 11px; + line-height: 17px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} + +.btn { + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); +} + +.btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + *background-color: #0044cc; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-primary:hover, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + color: #ffffff; + background-color: #0044cc; + *background-color: #003bb3; +} + +.btn-primary:active, +.btn-primary.active { + background-color: #003399 \9; +} + +.btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #faa732; + *background-color: #f89406; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-repeat: repeat-x; + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-warning:hover, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + color: #ffffff; + background-color: #f89406; + *background-color: #df8505; +} + +.btn-warning:active, +.btn-warning.active { + background-color: #c67605 \9; +} + +.btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + *background-color: #bd362f; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-repeat: repeat-x; + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-danger:hover, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; +} + +.btn-danger:active, +.btn-danger.active { + background-color: #942a25 \9; +} + +.btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb75b; + *background-color: #51a351; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-repeat: repeat-x; + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-success:hover, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + color: #ffffff; + background-color: #51a351; + *background-color: #499249; +} + +.btn-success:active, +.btn-success.active { + background-color: #408140 \9; +} + +.btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + *background-color: #2f96b4; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-repeat: repeat-x; + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-info:hover, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + color: #ffffff; + background-color: #2f96b4; + *background-color: #2a85a0; +} + +.btn-info:active, +.btn-info.active { + background-color: #24748c \9; +} + +.btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + *background-color: #222222; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); + background-image: -webkit-linear-gradient(top, #444444, #222222); + background-image: -o-linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); + background-image: -moz-linear-gradient(top, #444444, #222222); + background-repeat: repeat-x; + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-inverse:hover, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + color: #ffffff; + background-color: #222222; + *background-color: #151515; +} + +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; +} + +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} + +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} + +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-link { + color: #0088cc; + cursor: pointer; + border-color: transparent; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-link:hover { + color: #005580; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover { + color: #333333; + text-decoration: none; +} + +.btn-group { + position: relative; + *margin-left: .3em; + font-size: 0; + white-space: nowrap; + vertical-align: middle; +} + +.btn-group:first-child { + *margin-left: 0; +} + +.btn-group + .btn-group { + margin-left: 5px; +} + +.btn-toolbar { + margin-top: 10px; + margin-bottom: 10px; + font-size: 0; +} + +.btn-toolbar .btn-group { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} + +.btn-toolbar .btn + .btn, +.btn-toolbar .btn-group + .btn, +.btn-toolbar .btn + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group > .btn + .btn { + margin-left: -1px; +} + +.btn-group > .btn, +.btn-group > .dropdown-menu { + font-size: 14px; +} + +.btn-group > .btn-mini { + font-size: 11px; +} + +.btn-group > .btn-small { + font-size: 12px; +} + +.btn-group > .btn-large { + font-size: 16px; +} + +.btn-group > .btn:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group > .btn + .dropdown-toggle { + *padding-top: 5px; + padding-right: 8px; + *padding-bottom: 5px; + padding-left: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group > .btn-mini + .dropdown-toggle { + *padding-top: 2px; + padding-right: 5px; + *padding-bottom: 2px; + padding-left: 5px; +} + +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +.btn-group > .btn-large + .dropdown-toggle { + *padding-top: 7px; + padding-right: 12px; + *padding-bottom: 7px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} + +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} + +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} + +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} + +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} + +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} + +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} + +.btn .caret { + margin-top: 8px; + margin-left: 0; +} + +.btn-mini .caret, +.btn-small .caret, +.btn-large .caret { + margin-top: 6px; +} + +.btn-large .caret { + border-top-width: 5px; + border-right-width: 5px; + border-left-width: 5px; +} + +.dropup .btn-large .caret { + border-top: 0; + border-bottom: 5px solid #000000; +} + +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} + +.btn-group-vertical .btn { + display: block; + float: none; + width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group-vertical .btn + .btn { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical .btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.btn-group-vertical .btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.btn-group-vertical .btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} + +.btn-group-vertical .btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + color: #c09853; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.alert h4 { + margin: 0; +} + +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 20px; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} + +.alert-block p + p { + margin-top: 5px; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav > li > a { + display: block; +} + +.nav > li > a:hover { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > .pull-right { + float: right; +} + +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} + +.nav li + .nav-header { + margin-top: 9px; +} + +.nav-list { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 0; +} + +.nav-list > li > a, +.nav-list .nav-header { + margin-right: -15px; + margin-left: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.nav-list > li > a { + padding: 3px 15px; +} + +.nav-list > .active > a, +.nav-list > .active > a:hover { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} + +.nav-list [class^="icon-"] { + margin-right: 2px; +} + +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.nav-tabs, +.nav-pills { + *zoom: 1; +} + +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + line-height: 0; + content: ""; +} + +.nav-tabs:after, +.nav-pills:after { + clear: both; +} + +.nav-tabs > li, +.nav-pills > li { + float: left; +} + +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} + +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +.nav-tabs > li { + margin-bottom: -1px; +} + +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} + +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.nav-pills > .active > a, +.nav-pills > .active > a:hover { + color: #ffffff; + background-color: #0088cc; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li > a { + margin-right: 0; +} + +.nav-tabs.nav-stacked { + border-bottom: 0; +} + +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; +} + +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.nav-tabs.nav-stacked > li > a:hover { + z-index: 2; + border-color: #ddd; +} + +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} + +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} + +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.nav .dropdown-toggle .caret { + margin-top: 6px; + border-top-color: #0088cc; + border-bottom-color: #0088cc; +} + +.nav .dropdown-toggle:hover .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} + +/* move down carets for tabs */ + +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} + +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} + +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.nav > .dropdown.active > a:hover { + cursor: pointer; +} + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} + +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} + +.tabs-stacked .open > a:hover { + border-color: #999999; +} + +.tabbable { + *zoom: 1; +} + +.tabbable:before, +.tabbable:after { + display: table; + line-height: 0; + content: ""; +} + +.tabbable:after { + clear: both; +} + +.tab-content { + overflow: auto; +} + +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} + +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} + +.tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.tabs-below > .nav-tabs > li > a:hover { + border-top-color: #ddd; + border-bottom-color: transparent; +} + +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} + +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} + +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} + +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.tabs-left > .nav-tabs > li > a:hover { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: #ffffff; +} + +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} + +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.tabs-right > .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: #ffffff; +} + +.nav > .disabled > a { + color: #999999; +} + +.nav > .disabled > a:hover { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.navbar { + *position: relative; + *z-index: 2; + margin-bottom: 20px; + overflow: visible; + color: #777777; +} + +.navbar-inner { + min-height: 40px; + padding-right: 20px; + padding-left: 20px; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); +} + +.navbar-inner:before, +.navbar-inner:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-inner:after { + clear: both; +} + +.navbar .container { + width: auto; +} + +.nav-collapse.collapse { + height: auto; +} + +.navbar .brand { + display: block; + float: left; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .brand:hover { + text-decoration: none; +} + +.navbar-text { + margin-bottom: 0; + line-height: 40px; +} + +.navbar-link { + color: #777777; +} + +.navbar-link:hover { + color: #333333; +} + +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-right: 1px solid #ffffff; + border-left: 1px solid #f2f2f2; +} + +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} + +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn { + margin-top: 0; +} + +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} + +.navbar-form:before, +.navbar-form:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-form:after { + clear: both; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} + +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} + +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 6px; + white-space: nowrap; +} + +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} + +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} + +.navbar-search .search-query { + padding: 4px 14px; + margin-bottom: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.navbar-static-top { + position: static; + width: 100%; + margin-bottom: 0; +} + +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} + +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-right: 0; + padding-left: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} + +.navbar .nav > li { + float: left; +} + +.navbar .nav > li > a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} + +.navbar .nav > li > a:focus, +.navbar .nav > li > a:hover { + color: #333333; + text-decoration: none; + background-color: transparent; +} + +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { + color: #555555; + text-decoration: none; + background-color: #e5e5e5; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} + +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-right: 5px; + margin-left: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + *background-color: #e5e5e5; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); + background-repeat: repeat-x; + border-color: #e5e5e5 #e5e5e5 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} + +.navbar .btn-navbar:hover, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { + color: #ffffff; + background-color: #e5e5e5; + *background-color: #d9d9d9; +} + +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { + background-color: #cccccc \9; +} + +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + +.navbar .nav > li > .dropdown-menu:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.navbar .nav > li > .dropdown-menu:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-left: 6px solid transparent; + content: ''; +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:before { + top: auto; + bottom: -7px; + border-top: 7px solid #ccc; + border-bottom: 0; + border-top-color: rgba(0, 0, 0, 0.2); +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:after { + top: auto; + bottom: -6px; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + color: #555555; + background-color: #e5e5e5; +} + +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu.pull-right:before { + right: 12px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:after, +.navbar .nav > li > .dropdown-menu.pull-right:after { + right: 13px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { + right: 100%; + left: auto; + margin-right: -1px; + margin-left: 0; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.navbar-inverse { + color: #999999; +} + +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + border-color: #252525; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); +} + +.navbar-inverse .brand, +.navbar-inverse .nav > li > a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.navbar-inverse .brand:hover, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; +} + +.navbar-inverse .nav > li > a:focus, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .nav .active > a, +.navbar-inverse .nav .active > a:hover, +.navbar-inverse .nav .active > a:focus { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} + +.navbar-inverse .divider-vertical { + border-right-color: #222222; + border-left-color: #111111; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-search .search-query { + color: #ffffff; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} + +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:focus, +.navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + outline: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + +.navbar-inverse .btn-navbar { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + *background-color: #040404; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-image: -moz-linear-gradient(top, #151515, #040404); + background-repeat: repeat-x; + border-color: #040404 #040404 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.navbar-inverse .btn-navbar:hover, +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active, +.navbar-inverse .btn-navbar.disabled, +.navbar-inverse .btn-navbar[disabled] { + color: #ffffff; + background-color: #040404; + *background-color: #000000; +} + +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active { + background-color: #000000 \9; +} + +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.breadcrumb li { + display: inline-block; + *display: inline; + text-shadow: 0 1px 0 #ffffff; + *zoom: 1; +} + +.breadcrumb .divider { + padding: 0 5px; + color: #ccc; +} + +.breadcrumb .active { + color: #999999; +} + +.pagination { + height: 40px; + margin: 20px 0; +} + +.pagination ul { + display: inline-block; + *display: inline; + margin-bottom: 0; + margin-left: 0; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + *zoom: 1; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.pagination ul > li { + display: inline; +} + +.pagination ul > li > a, +.pagination ul > li > span { + float: left; + padding: 0 14px; + line-height: 38px; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + border-left-width: 0; +} + +.pagination ul > li > a:hover, +.pagination ul > .active > a, +.pagination ul > .active > span { + background-color: #f5f5f5; +} + +.pagination ul > .active > a, +.pagination ul > .active > span { + color: #999999; + cursor: default; +} + +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover { + color: #999999; + cursor: default; + background-color: transparent; +} + +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { + border-left-width: 1px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.pagination-centered { + text-align: center; +} + +.pagination-right { + text-align: right; +} + +.pager { + margin: 20px 0; + text-align: center; + list-style: none; + *zoom: 1; +} + +.pager:before, +.pager:after { + display: table; + line-height: 0; + content: ""; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager a, +.pager span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.pager a:hover { + text-decoration: none; + background-color: #f5f5f5; +} + +.pager .next a, +.pager .next span { + float: right; +} + +.pager .previous a { + float: left; +} + +.pager .disabled a, +.pager .disabled a:hover, +.pager .disabled span { + color: #999999; + cursor: default; + background-color: #fff; +} + +.modal-open .modal .dropdown-menu { + z-index: 2050; +} + +.modal-open .modal .dropdown.open { + *z-index: 2050; +} + +.modal-open .modal .popover { + z-index: 2060; +} + +.modal-open .modal .tooltip { + z-index: 2080; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.modal { + position: fixed; + top: 50%; + left: 50%; + z-index: 1050; + width: 560px; + margin: -250px 0 0 -280px; + overflow: auto; + background-color: #ffffff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} + +.modal.fade { + top: -25%; + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; + -moz-transition: opacity 0.3s linear, top 0.3s ease-out; + -o-transition: opacity 0.3s linear, top 0.3s ease-out; + transition: opacity 0.3s linear, top 0.3s ease-out; +} + +.modal.fade.in { + top: 50%; +} + +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} + +.modal-header .close { + margin-top: 2px; +} + +.modal-header h3 { + margin: 0; + line-height: 30px; +} + +.modal-body { + max-height: 400px; + padding: 15px; + overflow-y: auto; +} + +.modal-form { + margin-bottom: 0; +} + +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + line-height: 0; + content: ""; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + padding: 5px; + font-size: 11px; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.tooltip.top { + margin-top: -3px; +} + +.tooltip.right { + margin-left: 3px; +} + +.tooltip.bottom { + margin-top: 3px; +} + +.tooltip.left { + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + width: 236px; + padding: 1px; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.popover.top { + margin-bottom: 10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-right: 10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover-content p, +.popover-content ul, +.popover-content ol { + margin-bottom: 0; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: inline-block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow:after { + z-index: -1; + content: ""; +} + +.popover.top .arrow { + bottom: -10px; + left: 50%; + margin-left: -10px; + border-top-color: #ffffff; + border-width: 10px 10px 0; +} + +.popover.top .arrow:after { + bottom: -1px; + left: -11px; + border-top-color: rgba(0, 0, 0, 0.25); + border-width: 11px 11px 0; +} + +.popover.right .arrow { + top: 50%; + left: -10px; + margin-top: -10px; + border-right-color: #ffffff; + border-width: 10px 10px 10px 0; +} + +.popover.right .arrow:after { + bottom: -11px; + left: -1px; + border-right-color: rgba(0, 0, 0, 0.25); + border-width: 11px 11px 11px 0; +} + +.popover.bottom .arrow { + top: -10px; + left: 50%; + margin-left: -10px; + border-bottom-color: #ffffff; + border-width: 0 10px 10px; +} + +.popover.bottom .arrow:after { + top: -1px; + left: -11px; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-width: 0 11px 11px; +} + +.popover.left .arrow { + top: 50%; + right: -10px; + margin-top: -10px; + border-left-color: #ffffff; + border-width: 10px 0 10px 10px; +} + +.popover.left .arrow:after { + right: -1px; + bottom: -11px; + border-left-color: rgba(0, 0, 0, 0.25); + border-width: 11px 0 11px 11px; +} + +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} + +.thumbnails:before, +.thumbnails:after { + display: table; + line-height: 0; + content: ""; +} + +.thumbnails:after { + clear: both; +} + +.row-fluid .thumbnails { + margin-left: 0; +} + +.thumbnails > li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} + +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +a.thumbnail:hover { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +.thumbnail > img { + display: block; + max-width: 100%; + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #555555; +} + +.label, +.badge { + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; +} + +.label { + padding: 1px 4px 2px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.badge { + padding: 1px 9px 2px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} + +a.label:hover, +a.badge:hover { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label-important, +.badge-important { + background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} + +.label-warning, +.badge-warning { + background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} + +.label-success, +.badge-success { + background-color: #468847; +} + +.label-success[href], +.badge-success[href] { + background-color: #356635; +} + +.label-info, +.badge-info { + background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { + background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} + +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +.btn-mini .label, +.btn-mini .badge { + top: 0; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress .bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress .bar + .bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); +} + +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} + +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-danger .bar, +.progress .bar-danger { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); +} + +.progress-danger.progress-striped .bar, +.progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-success .bar, +.progress .bar-success { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); +} + +.progress-success.progress-striped .bar, +.progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-info .bar, +.progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); +} + +.progress-info.progress-striped .bar, +.progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-warning .bar, +.progress .bar-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); +} + +.progress-warning.progress-striped .bar, +.progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.accordion { + margin-bottom: 20px; +} + +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.accordion-heading { + border-bottom: 0; +} + +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +.accordion-toggle { + cursor: pointer; +} + +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} + +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel .item > img { + display: block; + line-height: 1; +} + +.carousel .active, +.carousel .next, +.carousel .prev { + display: block; +} + +.carousel .active { + left: 0; +} + +.carousel .next, +.carousel .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel .next { + left: 100%; +} + +.carousel .prev { + left: -100%; +} + +.carousel .next.left, +.carousel .prev.right { + left: 0; +} + +.carousel .active.left { + left: -100%; +} + +.carousel .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.right { + right: 15px; + left: auto; +} + +.carousel-control:hover { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-caption { + position: absolute; + right: 0; + bottom: 0; + left: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} + +.carousel-caption h4, +.carousel-caption p { + line-height: 20px; + color: #ffffff; +} + +.carousel-caption h4 { + margin: 0 0 5px; +} + +.carousel-caption p { + margin-bottom: 0; +} + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + color: inherit; +} + +.hero-unit p { + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.hide { + display: none; +} + +.show { + display: block; +} + +.invisible { + visibility: hidden; +} + +.affix { + position: fixed; +} diff --git a/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap.min.css b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap.min.css new file mode 100644 index 0000000..31d8b96 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/css/bootstrap.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.1.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}.text-warning{color:#c09853}.text-error{color:#b94a48}.text-info{color:#3a87ad}.text-success{color:#468847}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:1;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1{font-size:36px;line-height:40px}h2{font-size:30px;line-height:40px}h3{font-size:24px;line-height:40px}h4{font-size:18px;line-height:20px}h5{font-size:14px;line-height:20px}h6{font-size:12px;line-height:20px}h1 small{font-size:24px}h2 small{font-size:18px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:9px;font-size:14px;line-height:20px;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}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,.uneditable-input:focus{border-color:rgba(82,168,236,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(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal;cursor:pointer}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:18px;padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"]{float:left}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info>label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;font-size:14px;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .add-on,.input-append .btn{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child,.table-bordered tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topleft:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table [class*=span],.row-fluid table [class*=span]{display:table-cell;float:none;margin-left:0}.table .span1{float:none;width:44px;margin-left:0}.table .span2{float:none;width:124px;margin-left:0}.table .span3{float:none;width:204px;margin-left:0}.table .span4{float:none;width:284px;margin-left:0}.table .span5{float:none;width:364px;margin-left:0}.table .span6{float:none;width:444px;margin-left:0}.table .span7{float:none;width:524px;margin-left:0}.table .span8{float:none;width:604px;margin-left:0}.table .span9{float:none;width:684px;margin-left:0}.table .span10{float:none;width:764px;margin-left:0}.table .span11{float:none;width:844px;margin-left:0}.table .span12{float:none;width:924px;margin-left:0}.table .span13{float:none;width:1004px;margin-left:0}.table .span14{float:none;width:1084px;margin-left:0}.table .span15{float:none;width:1164px;margin-left:0}.table .span16{float:none;width:1244px;margin-left:0}.table .span17{float:none;width:1324px;margin-left:0}.table .span18{float:none;width:1404px;margin-left:0}.table .span19{float:none;width:1484px;margin-left:0}.table .span20{float:none;width:1564px;margin-left:0}.table .span21{float:none;width:1644px;margin-left:0}.table .span22{float:none;width:1724px;margin-left:0}.table .span23{float:none;width:1804px;margin-left:0}.table .span24{float:none;width:1884px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.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-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:linear-gradient(to bottom,#08c,#0077b3);background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-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)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 14px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:2px}.btn-small{padding:3px 9px;font-size:12px;line-height:18px}.btn-small [class^="icon-"]{margin-top:0}.btn-mini{padding:2px 6px;font-size:11px;line-height:17px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-image:-moz-linear-gradient(top,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-image:-moz-linear-gradient(top,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-toolbar .btn+.btn,.btn-toolbar .btn-group+.btn,.btn-toolbar .btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu{font-size:14px}.btn-group>.btn-mini{font-size:11px}.btn-group>.btn-small{font-size:12px}.btn-group>.btn-large{font-size:16px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-top:0;border-bottom:5px solid #000}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical .btn{display:block;float:none;width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical .btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;color:#c09853;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible;color:#777}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;width:100%;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse{color:#999}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-image:-moz-linear-gradient(top,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb .divider{padding:0 5px;color:#ccc}.breadcrumb .active{color:#999}.pagination{height:40px;margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:0 14px;line-height:38px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a,.pager span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a,.pager .next span{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover,.pager .disabled span{color:#999;cursor:default;background-color:#fff}.modal-open .modal .dropdown-menu{z-index:2050}.modal-open .modal .dropdown.open{*z-index:2050}.modal-open .modal .popover{z-index:2060}.modal-open .modal .tooltip{z-index:2080}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;width:560px;margin:-250px 0 0 -280px;overflow:auto;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-bottom:10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-right:10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow:after{z-index:-1;content:""}.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-top-color:#fff;border-width:10px 10px 0}.popover.top .arrow:after{bottom:-1px;left:-11px;border-top-color:rgba(0,0,0,0.25);border-width:11px 11px 0}.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-right-color:#fff;border-width:10px 10px 10px 0}.popover.right .arrow:after{bottom:-11px;left:-1px;border-right-color:rgba(0,0,0,0.25);border-width:11px 11px 11px 0}.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-bottom-color:#fff;border-width:0 10px 10px}.popover.bottom .arrow:after{top:-1px;left:-11px;border-bottom-color:rgba(0,0,0,0.25);border-width:0 11px 11px}.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-left-color:#fff;border-width:10px 0 10px 10px}.popover.left .arrow:after{right:-1px;bottom:-11px;border-left-color:rgba(0,0,0,0.25);border-width:11px 0 11px 11px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.label,.badge{font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel .item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item>img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit p{font-size:18px;font-weight:200;line-height:30px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} diff --git a/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/img/glyphicons-halflings-white.png b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/img/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/img/glyphicons-halflings-white.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/img/glyphicons-halflings.png b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/img/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/img/glyphicons-halflings.png differ diff --git a/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/js/bootstrap.js b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/js/bootstrap.js new file mode 100644 index 0000000..f73fcb8 --- /dev/null +++ b/www/themes/factuges/assets/plugins/bootstrap-wizard/bootstrap/js/bootstrap.js @@ -0,0 +1,2027 @@ +/* =================================================== + * bootstrap-transition.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#transitions + * =================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + $(function () { + + "use strict"; // jshint ;_; + + + /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) + * ======================================================= */ + + $.support.transition = (function () { + + var transitionEnd = (function () { + + var el = document.createElement('bootstrap') + , transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + , name + + for (name in transEndEventNames){ + if (el.style[name] !== undefined) { + return transEndEventNames[name] + } + } + + }()) + + return transitionEnd && { + end: transitionEnd + } + + })() + + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-alert.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT DATA-API + * ============== */ + + $(function () { + $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) + }) + +}(window.jQuery);/* ============================================================ + * bootstrap-button.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON DATA-API + * =============== */ + + $(function () { + $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-carousel.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.options = options + this.options.slide && this.slide(this.options.slide) + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , to: function (pos) { + var $active = this.$element.find('.item.active') + , children = $active.parent().children() + , activePos = children.index($active) + , that = this + + if (pos > (children.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activePos == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle() + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e = $.Event('slide', { + relatedTarget: $next[0] + }) + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + if ($next.hasClass('active')) return + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL DATA-API + * ================= */ + + $(function () { + $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() + }) + }) + +}(window.jQuery);/* ============================================================= + * bootstrap-collapse.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSIBLE PLUGIN DEFINITION + * ============================== */ + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = typeof option == 'object' && option + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSIBLE DATA-API + * ==================== */ + + $(function () { + $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + }) + +}(window.jQuery);/* ============================================================ + * bootstrap-dropdown.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + $this.focus() + } + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() + + $items = $('[role=menu] li:not(.divider) a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + getParent($(toggle)) + .removeClass('open') + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html') + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + $('body') + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + }) + +}(window.jQuery);/* ========================================================= + * bootstrap-modal.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* MODAL CLASS DEFINITION + * ====================== */ + + var Modal = function (element, options) { + this.options = options + this.$element = $(element) + .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) + this.options.remote && this.$element.find('.modal-body').load(this.options.remote) + } + + Modal.prototype = { + + constructor: Modal + + , toggle: function () { + return this[!this.isShown ? 'show' : 'hide']() + } + + , show: function () { + var that = this + , e = $.Event('show') + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + $('body').addClass('modal-open') + + this.isShown = true + + this.escape() + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(document.body) //don't move modals dom position + } + + that.$element + .show() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element + .addClass('in') + .attr('aria-hidden', false) + .focus() + + that.enforceFocus() + + transition ? + that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : + that.$element.trigger('shown') + + }) + } + + , hide: function (e) { + e && e.preventDefault() + + var that = this + + e = $.Event('hide') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + $('body').removeClass('modal-open') + + this.escape() + + $(document).off('focusin.modal') + + this.$element + .removeClass('in') + .attr('aria-hidden', true) + + $.support.transition && this.$element.hasClass('fade') ? + this.hideWithTransition() : + this.hideModal() + } + + , enforceFocus: function () { + var that = this + $(document).on('focusin.modal', function (e) { + if (that.$element[0] !== e.target && !that.$element.has(e.target).length) { + that.$element.focus() + } + }) + } + + , escape: function () { + var that = this + if (this.isShown && this.options.keyboard) { + this.$element.on('keyup.dismiss.modal', function ( e ) { + e.which == 27 && that.hide() + }) + } else if (!this.isShown) { + this.$element.off('keyup.dismiss.modal') + } + } + + , hideWithTransition: function () { + var that = this + , timeout = setTimeout(function () { + that.$element.off($.support.transition.end) + that.hideModal() + }, 500) + + this.$element.one($.support.transition.end, function () { + clearTimeout(timeout) + that.hideModal() + }) + } + + , hideModal: function (that) { + this.$element + .hide() + .trigger('hidden') + + this.backdrop() + } + + , removeBackdrop: function () { + this.$backdrop.remove() + this.$backdrop = null + } + + , backdrop: function (callback) { + var that = this + , animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $('