@ -0,0 +1,409 @@
|
||||
/* Tree */
|
||||
|
||||
.claro .dijitTreeRow .dijitCheckBox {
|
||||
position : relative;
|
||||
top : -2px;
|
||||
}
|
||||
|
||||
.claro .dijitTreeLabel {
|
||||
outline : 0;
|
||||
}
|
||||
|
||||
.claro .dijitTree .feedParam {
|
||||
color : #555;
|
||||
float : right;
|
||||
margin-right : 1em;
|
||||
}
|
||||
|
||||
.claro .dijitTree .filterRules {
|
||||
display : block;
|
||||
color : #ccc;
|
||||
font-size : 10px;
|
||||
margin-left : 100px;
|
||||
}
|
||||
|
||||
.claro .dijitTree .filterRules span {
|
||||
display : block;
|
||||
color : green;
|
||||
}
|
||||
|
||||
#filterDlg_Matches span.filterRule {
|
||||
color : green;
|
||||
}
|
||||
|
||||
.claro .dijitTree .filterRules span.inverse,
|
||||
#filterDlg_Matches span.filterRule.inverse {
|
||||
color : red;
|
||||
}
|
||||
|
||||
|
||||
.claro .dijitTree .labelParam {
|
||||
float : right;
|
||||
margin-right : 1em;
|
||||
}
|
||||
|
||||
.claro .dijitTree .dijitTreeLabel.Disabled,
|
||||
.claro .dijitTree .labelParam.Disabled {
|
||||
color : #555;
|
||||
}
|
||||
|
||||
.claro .dijitTreeRow.Error {
|
||||
color : red;
|
||||
}
|
||||
|
||||
.claro .dijitTreeRow.Hidden {
|
||||
display : none;
|
||||
}
|
||||
|
||||
.claro .dijitTreeNode .loadingNode {
|
||||
margin-left : 3px;
|
||||
height : 9px;
|
||||
}
|
||||
|
||||
.claro .dijitFolderClosed,
|
||||
.claro .dijitFolderOpened {
|
||||
display : none;
|
||||
}
|
||||
|
||||
.claro .dijitTreeNode .dijitCheckBox {
|
||||
margin-left : 4px;
|
||||
}
|
||||
|
||||
.claro .dijitTreeIsRoot > .dijitTreeRow > .dijitTreeExpando {
|
||||
margin-left : 5px;
|
||||
}
|
||||
|
||||
.claro .dijitTree .dijitTreeExpando {
|
||||
margin-top : 0px;
|
||||
opacity : 0.6;
|
||||
}
|
||||
|
||||
.claro .dijitTree .dijitTreeNode {
|
||||
padding : 0px;
|
||||
border-width : 0px;
|
||||
}
|
||||
|
||||
.claro .dijitTree .dijitTreeRow {
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.claro .dijitTree .dijitTreeRowSelected {
|
||||
background : white;
|
||||
}
|
||||
|
||||
.claro .dijitTree .dijitTreeRowHover {
|
||||
background : #f0f0f0;
|
||||
border-color : #ddd;
|
||||
}
|
||||
|
||||
.claro .dijitTree .dijitTreeRowSelected {
|
||||
background : white;
|
||||
border-color : #ddd;
|
||||
}
|
||||
|
||||
.claro .dijitTreeRowSelected .dijitTreeLabel {
|
||||
text-shadow : 1px 1px 2px #fff;
|
||||
}
|
||||
|
||||
.claro .dijitTreeRow .dijitTreeExpando {
|
||||
background-image: url("../images/treeExpandImages.png");
|
||||
position : relative;
|
||||
top : -1px;
|
||||
}
|
||||
|
||||
.claro .dijitTreeRow .dijitTreeExpandoLeaf {
|
||||
background : none;
|
||||
}
|
||||
|
||||
/* Toolbar */
|
||||
|
||||
.claro .dijitToolbar {
|
||||
background : #f5f5f5;
|
||||
border-color : #ddd;
|
||||
/* text-rendering: optimizelegibility;
|
||||
font-family : "Segoe WP Semibold", "Segoe UI Semibold",
|
||||
"Segoe UI Web Semibold", "Segoe UI", "Helvetica Neue",
|
||||
Helvetica, Arial, sans-serif; */
|
||||
}
|
||||
|
||||
/* .claro .dijitToolbar {
|
||||
text-shadow : 1px 1px 2px #fff;
|
||||
} */
|
||||
|
||||
.claro .dijitDialog .dijitToolbar {
|
||||
border : 1px solid #ddd;
|
||||
}
|
||||
|
||||
/* Dialog */
|
||||
|
||||
.claro .dijitDialog h2 {
|
||||
margin-top : 0px;
|
||||
margin-bottom : 4px;
|
||||
border-width : 0px;
|
||||
}
|
||||
|
||||
.claro .dijitMenuItemLabel {
|
||||
font-size : 13px;
|
||||
}
|
||||
|
||||
/* Checkbox */
|
||||
|
||||
.claro .dijitCheckBox {
|
||||
background-image : url("../images/untick.png");
|
||||
background-color : transparent;
|
||||
width : 15px;
|
||||
height : 15px;
|
||||
margin : 1px;
|
||||
opacity : 0.7;
|
||||
background-position : center center;
|
||||
transition : opacity 0.25s;
|
||||
-webkit-transition : opacity 0.25s;
|
||||
/* border : 1px solid #b5bcc7; */
|
||||
padding : 1px;
|
||||
}
|
||||
|
||||
.claro .dijitCheckBox:hover {
|
||||
opacity : 1;
|
||||
}
|
||||
|
||||
.claro .dijitCheckBox.dijitCheckBoxDisabled:hover {
|
||||
opacity : 0.7;
|
||||
}
|
||||
|
||||
.claro .dijitCheckBox.dijitCheckBoxChecked {
|
||||
border-color : #69C671;
|
||||
background-image : url("../images/tick.png");
|
||||
opacity : 1;
|
||||
}
|
||||
|
||||
/* Various buttons */
|
||||
|
||||
.claro .dijitButton .dijitButtonNode,
|
||||
.claro .dijitComboButton .dijitButtonNode,
|
||||
.claro .dijitToolbar .dijitDropDownButton .dijitButtonNode,
|
||||
.claro .dijitToolbar .dijitComboButton,
|
||||
.claro .dijitToolbar .dijitComboButton .dijitButtonNode {
|
||||
background : none;
|
||||
border-color : transparent;
|
||||
box-shadow : none;
|
||||
}
|
||||
|
||||
button,
|
||||
input[type="submit"] {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size : 14px;
|
||||
}
|
||||
|
||||
button,
|
||||
input[type="submit"],
|
||||
.claro .dijitButton,
|
||||
.claro .dijitComboButton {
|
||||
display: inline-block;
|
||||
padding: 4px 12px;
|
||||
margin-bottom: 0;
|
||||
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-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
|
||||
background-repeat: repeat-x;
|
||||
border: 1px solid #cccccc;
|
||||
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;
|
||||
border-radius: 4px;
|
||||
-webkit-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);
|
||||
}
|
||||
|
||||
button:hover,
|
||||
button:focus,
|
||||
button:active,
|
||||
input[type="submit"]:hover,
|
||||
input[type="submit"]:focus,
|
||||
input[type="submit"]:active,
|
||||
.claro .dijitButton:hover,
|
||||
.claro .dijitButton:focus,
|
||||
.claro .dijitButton:active,
|
||||
.claro .dijitComboButton:hover,
|
||||
.claro .dijitComboButton:focus,
|
||||
.claro .dijitComboButton:active,
|
||||
.claro .dijitButton.dijitButtonDisabled {
|
||||
color: #333333;
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
|
||||
button:active,
|
||||
input[type="submit"]:active,
|
||||
.claro .dijitButton:active,
|
||||
.claro .dijitComboButton:active {
|
||||
background-color: #cccccc \9;
|
||||
}
|
||||
|
||||
.claro .dijitToolbar .dijitButton,
|
||||
.claro .dijitToolbar .dijitButton.dijitHover,
|
||||
.claro .dijitToolbar .dijitComboButton,
|
||||
.claro .dijitToolbar .dijitComboButton.dijitHover {
|
||||
background : none;
|
||||
border-color : transparent;
|
||||
box-shadow : none;
|
||||
padding : 0px;
|
||||
margin : 0px;
|
||||
line-height : auto;
|
||||
text-shadow : none;
|
||||
}
|
||||
|
||||
.claro .dijitToolbar .dijitDropDownButton .dijitButtonText,
|
||||
.claro .dijitToolbar .dijitComboButton .dijitButtonText {
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
.claro .dijitToolbar .dijitDropDownButton .dijitButtonNode {
|
||||
border-radius : 4px;
|
||||
}
|
||||
|
||||
.claro .dijitToolbar .dijitButton.dijitHover,
|
||||
.claro .dijitToolbar .dijitDropDownButton.dijitHover .dijitButtonNode,
|
||||
.claro .dijitToolbar .dijitComboButton.dijitHover {
|
||||
border-color : #ccc;
|
||||
}
|
||||
|
||||
.claro .dijitToolbar .dijitButton.dijitHover .dijitButtonNode,
|
||||
.claro .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode {
|
||||
background : none;
|
||||
}
|
||||
|
||||
.claro .dijitToolbar .dijitButton .dijitButtonContents,
|
||||
.claro .dijitToolbar .dijitDropDownButton .dijitButtonContents,
|
||||
.claro .dijitToolbar .dijitComboButton .dijitButtonContents {
|
||||
font-size : 13px;
|
||||
}
|
||||
|
||||
button:hover,
|
||||
button:focus,
|
||||
input[type="submit"]:hover,
|
||||
input[type="submit"]:focus,
|
||||
.claro .dijitButton:hover,
|
||||
.claro .dijitToolbar .dijitButton:hover .dijitButtonNode,
|
||||
.claro .dijitToolbar .dijitButton.dijitHover .dijitButtonNode,
|
||||
.claro .dijitButton:focus,
|
||||
.claro .dijitComboButton:hover,
|
||||
.claro .dijitComboButton:focus {
|
||||
color: #333333;
|
||||
text-decoration: none;
|
||||
background-position: 0 -15px;
|
||||
-webkit-transition: background-position 0.1s linear;
|
||||
transition: background-position 0.1s linear;
|
||||
}
|
||||
|
||||
button:focus,
|
||||
input[type="submit"]:focus,
|
||||
.claro .dijitButton:focus,
|
||||
.claro .dijitComboButton:focus {
|
||||
outline: thin dotted #333;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
button:active,
|
||||
input[type="submit"]:active,
|
||||
.claro .dijitButton:active,
|
||||
.claro .dijitComboButton:active,
|
||||
.claro .dijitToolbar .dijitDropDownButton.dijitOpened,
|
||||
.claro .dijitToolbar .dijitComboButton.dijitOpened,
|
||||
.claro .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode {
|
||||
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);
|
||||
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
input[type="submit"][disabled],
|
||||
button[disabled],
|
||||
.claro .dijitButton[disabled],
|
||||
.claro .dijitButton.dijitButtonDisabled,
|
||||
.claro .dijitComboButton.dijitButtonDisabled {
|
||||
cursor: default;
|
||||
background-image: none;
|
||||
opacity: 0.65;
|
||||
filter: alpha(opacity=65);
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.claro .dijitButton .dijitButtonContents,
|
||||
.claro .dijitComboButton .dijitButtonContents {
|
||||
font-size : 14px;
|
||||
font-weight : normal;
|
||||
line-height : 20px;
|
||||
}
|
||||
|
||||
.claro .dijitButton.small .dijitButtonText {
|
||||
font-size : 11px;
|
||||
}
|
||||
|
||||
.claro .dijitMenu {
|
||||
border-color : #ccc;
|
||||
}
|
||||
|
||||
.claro .dijitMenu .dijitMenuItem.dijitHover,
|
||||
.claro .dijitMenu .dijitMenuItem.dijitFocused,
|
||||
.claro .dijitMenuTable .dijitMenuItem.dijitHover .dijitMenuItemLabel,
|
||||
.claro .dijitMenuTable .dijitMenuItem.dijitFocused .dijitMenuItemLabel {
|
||||
background : #eee;
|
||||
border-color : transparent;
|
||||
}
|
||||
|
||||
.claro .dijitButton .dijitButtonNode,
|
||||
.claro .dijitComboButton .dijitButtonNode {
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
/* Other stuff */
|
||||
|
||||
/* .claro .dijitAccordionTitleFocus {
|
||||
text-shadow : 1px 1px 2px #fff;
|
||||
}
|
||||
|
||||
.claro .dijitAccordionTitle {
|
||||
text-rendering: optimizelegibility;
|
||||
font-family : "Segoe WP Semibold", "Segoe UI Semibold",
|
||||
"Segoe UI Web Semibold", "Segoe UI", "Helvetica Neue",
|
||||
Helvetica, Arial, sans-serif;
|
||||
} */
|
||||
|
||||
.claro .dijitAccordionInnerContainer.dijitAccordionInnerContainerSelected {
|
||||
border-color : #ccc;
|
||||
}
|
||||
|
||||
.claro .dijitAccordionContainer .dijitAccordionChildWrapper {
|
||||
border-color : #ddd;
|
||||
}
|
||||
|
||||
/* Tabs */
|
||||
|
||||
.claro .dijitTabContent {
|
||||
background : #eee;
|
||||
}
|
||||
|
||||
.claro .dijitTabContent.dijitTabChecked,
|
||||
.claro .dijitTabContent.dijitTabHover,
|
||||
.claro .dijitTabContent.dijitFocused {
|
||||
background : white;
|
||||
}
|
||||
|
||||
.claro .dijitTabPaneWrapper,
|
||||
.claro .dijitTabContainerTop-tabs,
|
||||
.claro .dijitTab,
|
||||
.claro .dijitAccordionInnerContainer {
|
||||
border-color : #ddd;
|
||||
}
|
||||
|
@ -0,0 +1,105 @@
|
||||
body#ttrssZoom {
|
||||
margin-left : auto;
|
||||
margin-right : auto;
|
||||
padding : 20px;
|
||||
max-width : 670px;
|
||||
background : #f5f5f5;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postHeader div.postFeedTitle {
|
||||
float : left;
|
||||
text-align : right;
|
||||
padding-left : 0px;
|
||||
font-size : 11px;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postHeader a.postComments {
|
||||
text-align : right;
|
||||
padding-left : 0px;
|
||||
font-size : 11px;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postHeader div.postDate {
|
||||
float : none;
|
||||
text-align : right;
|
||||
padding-left : 0px;
|
||||
color : #777;
|
||||
font-size : 11px;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postHeader div.postTags {
|
||||
color : #777;
|
||||
font-size : 11px;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postHeader div.postTitle {
|
||||
white-space : normal;
|
||||
font-size : 16px;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postContent {
|
||||
font-size : 15px;
|
||||
line-height : 1.5;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postContent p {
|
||||
max-width : 650px;
|
||||
-webkit-hyphens: auto;
|
||||
-moz-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postHeader {
|
||||
margin : 10px;
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-style : solid;
|
||||
border-color : #eee;
|
||||
background : white;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postReply {
|
||||
border : 1px solid #ddd;
|
||||
background : white;
|
||||
box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
body#ttrssZoom div.footer {
|
||||
margin-top : 1em;
|
||||
text-align : center;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postContent img {
|
||||
max-width : 630px;
|
||||
height : auto;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postContent blockquote {
|
||||
margin : 5px 0px 5px 0px;
|
||||
color : #555;
|
||||
padding-left : 10px;
|
||||
border-width : 0px 0px 0px 4px;
|
||||
border-color : #ccc;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postContent code {
|
||||
color : #009900;
|
||||
font-family : monospace;
|
||||
font-size : 12px;
|
||||
}
|
||||
|
||||
body#ttrssZoom div.postContent pre {
|
||||
margin : 5px 0px 5px 0px;
|
||||
padding : 10px;
|
||||
color : #555;
|
||||
font-family : monospace;
|
||||
font-size : 12px;
|
||||
border-width : 0px;
|
||||
border-color : #ccc;
|
||||
border-style : solid;
|
||||
background : #f5f5f5;
|
||||
display : block;
|
||||
max-width : 98%;
|
||||
overflow : auto;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 340 B After Width: | Height: | Size: 701 B |
@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16px"
|
||||
height="16px"
|
||||
id="svg2985"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
inkscape:export-filename="Y:\public_html\testbox\tt-irc\images\alert.png"
|
||||
inkscape:export-xdpi="102.17"
|
||||
inkscape:export-ydpi="102.17"
|
||||
sodipodi:docname="alert.svg">
|
||||
<defs
|
||||
id="defs2987" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.197802"
|
||||
inkscape:cx="0.97227717"
|
||||
inkscape:cy="13.508447"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1137"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata2990">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#d40000;fill-opacity:1"
|
||||
id="path2993"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="4.7752476"
|
||||
sodipodi:cy="2.3499999"
|
||||
sodipodi:r1="8.1370182"
|
||||
sodipodi:r2="4.0685091"
|
||||
sodipodi:arg1="0.52359878"
|
||||
sodipodi:arg2="1.5707963"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 11.822112,6.418509 -7.0468643,0 -7.0468646,0 3.5234322,-6.10276355 3.5234323,-6.10276375 3.5234322,6.10276356 z"
|
||||
inkscape:transform-center-y="-2.0342545"
|
||||
transform="translate(3.2247524,7.6842546)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:Sans Bold"
|
||||
x="6.1657715"
|
||||
y="12.508285"
|
||||
id="text3767"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3769"
|
||||
x="6.1657715"
|
||||
y="12.508285">!</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 213 B After Width: | Height: | Size: 555 B |
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16px"
|
||||
height="16px"
|
||||
id="svg2985"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="close_notify.svg">
|
||||
<defs
|
||||
id="defs2987" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#88b0f0"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.197802"
|
||||
inkscape:cx="0.97227717"
|
||||
inkscape:cy="8"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1138"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata2990">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#454545;stroke-width:0.73948608000000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path2997"
|
||||
sodipodi:cx="6.6673269"
|
||||
sodipodi:cy="7.1702971"
|
||||
sodipodi:rx="5.270792"
|
||||
sodipodi:ry="5.270792"
|
||||
d="m 11.938119,7.1702971 a 5.270792,5.270792 0 1 1 -10.5415841,0 5.270792,5.270792 0 1 1 10.5415841,0 z"
|
||||
transform="matrix(1.3522905,0,0,1.3522905,-1.0161629,-1.6963247)" />
|
||||
<path
|
||||
style="fill:none;stroke:#454545;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;opacity:1"
|
||||
d="M 4.4322613,4.4322611 11.567739,11.567739"
|
||||
id="path3771"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#454545;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;opacity:1"
|
||||
d="M 11.567739,4.432261 4.432261,11.567739"
|
||||
id="path3771-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 317 B |
After Width: | Height: | Size: 655 B |
After Width: | Height: | Size: 666 B |
After Width: | Height: | Size: 691 B |
After Width: | Height: | Size: 586 B |
After Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 415 B |
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 633 B |
After Width: | Height: | Size: 778 B |
Before Width: | Height: | Size: 387 B After Width: | Height: | Size: 586 B |
After Width: | Height: | Size: 670 B |
@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16.000000px"
|
||||
height="16.000000px"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.42"
|
||||
sodipodi:docbase="/home/fox/public_html/testbox/tt-rss/images"
|
||||
sodipodi:docname="mark_set.svg"
|
||||
inkscape:export-filename="/home/fox/public_html/testbox/tt-rss/images/mark_set.png"
|
||||
inkscape:export-xdpi="90.000000"
|
||||
inkscape:export-ydpi="90.000000">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0000000"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="31.678384"
|
||||
inkscape:cx="6.9004349"
|
||||
inkscape:cy="7.4155540"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1131"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1.0000000;fill:#a8cdfd;fill-opacity:1.0000000;stroke:#4f9dfd;stroke-width:0.99999938;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
|
||||
id="path1306"
|
||||
sodipodi:sides="5"
|
||||
sodipodi:cx="7.3551731"
|
||||
sodipodi:cy="1.6684607"
|
||||
sodipodi:r1="6.3745561"
|
||||
sodipodi:r2="3.1872780"
|
||||
sodipodi:arg1="0.78539816"
|
||||
sodipodi:arg2="1.4137167"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.0000000"
|
||||
inkscape:randomized="0.0000000"
|
||||
d="M 11.862665,6.1759525 L 7.8537732,4.8164981 L 4.4611852,7.3482318 L 4.5152876,3.1154547 L 1.0590984,0.67126048 L 5.1014272,-0.58528520 L 6.3579728,-4.6276140 L 8.8021671,-1.1714248 L 13.034944,-1.2255272 L 10.503210,2.1670609 L 11.862665,6.1759525 z "
|
||||
transform="matrix(-0.707107,-0.707107,0.707107,-0.707107,12.02111,14.98939)" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 623 B |
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16.000000px"
|
||||
height="16.000000px"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
sodipodi:docname="mark_unset.svg"
|
||||
inkscape:export-filename="/home/fox/public_html/testbox/tt-rss/images/mark_unset.png"
|
||||
inkscape:export-xdpi="90.000000"
|
||||
inkscape:export-ydpi="90.000000"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0000000"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.919596"
|
||||
inkscape:cx="-13.509597"
|
||||
inkscape:cy="-5.9527534"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1131"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#88b0f0;stroke-width:0.99999938000000022;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path1306"
|
||||
sodipodi:sides="5"
|
||||
sodipodi:cx="7.3551731"
|
||||
sodipodi:cy="1.6684607"
|
||||
sodipodi:r1="6.3745561"
|
||||
sodipodi:r2="3.1872780"
|
||||
sodipodi:arg1="0.78539816"
|
||||
sodipodi:arg2="1.4137167"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.0000000"
|
||||
inkscape:randomized="0.0000000"
|
||||
d="M 11.862665,6.1759525 L 7.8537732,4.8164981 L 4.4611852,7.3482318 L 4.5152876,3.1154547 L 1.0590984,0.67126048 L 5.1014272,-0.58528520 L 6.3579728,-4.6276140 L 8.8021671,-1.1714248 L 13.034944,-1.2255272 L 10.503210,2.1670609 L 11.862665,6.1759525 z "
|
||||
transform="matrix(-0.707107,-0.707107,0.707107,-0.707107,12.02111,14.98939)" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 372 B |
After Width: | Height: | Size: 612 B |
After Width: | Height: | Size: 591 B |
After Width: | Height: | Size: 347 B |
After Width: | Height: | Size: 691 B |
@ -1,184 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="16"
|
||||
height="16"
|
||||
id="RSSicon"
|
||||
viewBox="0 0 32 32"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
sodipodi:docname="mark_set.svg">
|
||||
<metadata
|
||||
id="metadata34">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1137"
|
||||
id="namedview32"
|
||||
showgrid="false"
|
||||
inkscape:zoom="23.953242"
|
||||
inkscape:cx="6.5252922"
|
||||
inkscape:cy="10.694533"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="RSSicon" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<linearGradient
|
||||
x1="30.059999"
|
||||
y1="30.059999"
|
||||
x2="225.94"
|
||||
y2="225.94"
|
||||
id="RSSg"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,-224)">
|
||||
<stop
|
||||
offset="0.0"
|
||||
stop-color="#E3702D"
|
||||
id="stop6" />
|
||||
<stop
|
||||
offset="0.1071"
|
||||
stop-color="#EA7D31"
|
||||
id="stop8" />
|
||||
<stop
|
||||
offset="0.3503"
|
||||
stop-color="#F69537"
|
||||
id="stop10" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
stop-color="#FB9E3A"
|
||||
id="stop12" />
|
||||
<stop
|
||||
offset="0.7016"
|
||||
stop-color="#EA7C31"
|
||||
id="stop14" />
|
||||
<stop
|
||||
offset="0.8866"
|
||||
stop-color="#DE642B"
|
||||
id="stop16" />
|
||||
<stop
|
||||
offset="1.0"
|
||||
stop-color="#D95B29"
|
||||
id="stop18" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#RSSg"
|
||||
id="linearGradient3029"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,-224)"
|
||||
x1="30.059999"
|
||||
y1="30.059999"
|
||||
x2="225.94"
|
||||
y2="225.94" />
|
||||
<filter
|
||||
id="filter3031"
|
||||
inkscape:label="Desaturate"
|
||||
x="0"
|
||||
y="0"
|
||||
width="1"
|
||||
height="1"
|
||||
inkscape:menu="Color"
|
||||
inkscape:menu-tooltip="Render in shades of gray by reducing saturation to zero"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feColorMatrix
|
||||
id="feColorMatrix3033"
|
||||
type="saturate"
|
||||
values="0" />
|
||||
</filter>
|
||||
<filter
|
||||
id="filter3035"
|
||||
inkscape:label="Desaturate"
|
||||
x="0"
|
||||
y="0"
|
||||
width="1"
|
||||
height="1"
|
||||
inkscape:menu="Color"
|
||||
inkscape:menu-tooltip="Render in shades of gray by reducing saturation to zero"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feColorMatrix
|
||||
id="feColorMatrix3037"
|
||||
type="saturate"
|
||||
values="0" />
|
||||
</filter>
|
||||
</defs>
|
||||
<g
|
||||
id="g3021"
|
||||
transform="matrix(0.10305878,0,0,0.10305878,2.808475,25.893644)"
|
||||
style="opacity:1">
|
||||
<rect
|
||||
style="fill:#cc5d15;"
|
||||
id="rect20"
|
||||
y="-224"
|
||||
x="0"
|
||||
ry="55"
|
||||
rx="55"
|
||||
height="256"
|
||||
width="256" />
|
||||
<rect
|
||||
style="fill:#f49c52;"
|
||||
id="rect22"
|
||||
y="-219"
|
||||
x="5"
|
||||
ry="50"
|
||||
rx="50"
|
||||
height="246"
|
||||
width="246" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient3029);"
|
||||
id="rect24"
|
||||
y="-214"
|
||||
x="10"
|
||||
ry="47"
|
||||
rx="47"
|
||||
height="236"
|
||||
width="236" />
|
||||
<circle
|
||||
transform="translate(0,-224)"
|
||||
style="fill:#ffffff;"
|
||||
sodipodi:ry="24"
|
||||
sodipodi:rx="24"
|
||||
sodipodi:cy="189"
|
||||
sodipodi:cx="68"
|
||||
id="circle26"
|
||||
r="24"
|
||||
cy="189"
|
||||
cx="68"
|
||||
d="m 92,189 c 0,13.25483 -10.745166,24 -24,24 -13.254834,0 -24,-10.74517 -24,-24 0,-13.25483 10.745166,-24 24,-24 13.254834,0 24,10.74517 24,24 z" />
|
||||
<path
|
||||
style="fill:#ffffff;"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path28"
|
||||
d="M 160,-11 H 126 A 82,82 0 0 0 44,-93 v -34 a 116,116 0 0 1 116,116 z" />
|
||||
<path
|
||||
style="fill:#ffffff;"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path30"
|
||||
d="M 184,-11 A 140,140 0 0 0 44,-151 v -35 a 175,175 0 0 1 175,175 z" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 717 B |
@ -1,149 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="16"
|
||||
height="16"
|
||||
id="RSSicon"
|
||||
viewBox="0 0 32 32"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="pub_unset.svg">
|
||||
<metadata
|
||||
id="metadata34">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1137"
|
||||
id="namedview32"
|
||||
showgrid="false"
|
||||
inkscape:zoom="23.953242"
|
||||
inkscape:cx="6.0451902"
|
||||
inkscape:cy="5.8935127"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="RSSicon" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<linearGradient
|
||||
x1="30.059999"
|
||||
y1="30.059999"
|
||||
x2="225.94"
|
||||
y2="225.94"
|
||||
id="RSSg"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,-224)">
|
||||
<stop
|
||||
offset="0.0"
|
||||
stop-color="#E3702D"
|
||||
id="stop6" />
|
||||
<stop
|
||||
offset="0.1071"
|
||||
stop-color="#EA7D31"
|
||||
id="stop8" />
|
||||
<stop
|
||||
offset="0.3503"
|
||||
stop-color="#F69537"
|
||||
id="stop10" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
stop-color="#FB9E3A"
|
||||
id="stop12" />
|
||||
<stop
|
||||
offset="0.7016"
|
||||
stop-color="#EA7C31"
|
||||
id="stop14" />
|
||||
<stop
|
||||
offset="0.8866"
|
||||
stop-color="#DE642B"
|
||||
id="stop16" />
|
||||
<stop
|
||||
offset="1.0"
|
||||
stop-color="#D95B29"
|
||||
id="stop18" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#RSSg"
|
||||
id="linearGradient3029"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,-224)"
|
||||
x1="30.059999"
|
||||
y1="30.059999"
|
||||
x2="225.94"
|
||||
y2="225.94" />
|
||||
</defs>
|
||||
<rect
|
||||
width="27.385"
|
||||
height="27.385"
|
||||
rx="5.8834963"
|
||||
ry="5.8834963"
|
||||
x="2.3074989"
|
||||
y="2.3075001"
|
||||
id="rect20"
|
||||
style="fill:#909090;fill-opacity:1" />
|
||||
<rect
|
||||
width="26.315275"
|
||||
height="26.315275"
|
||||
rx="5.3486328"
|
||||
ry="5.3486328"
|
||||
x="2.8423624"
|
||||
y="2.8423634"
|
||||
id="rect22"
|
||||
style="fill:#a0a0a0;fill-opacity:0.94117647" />
|
||||
<rect
|
||||
width="25.245548"
|
||||
height="25.245548"
|
||||
rx="5.0277152"
|
||||
ry="5.0277152"
|
||||
x="3.3772256"
|
||||
y="3.3772268"
|
||||
id="rect24"
|
||||
style="fill:#c0c0c0;fill-opacity:1" />
|
||||
<circle
|
||||
d="m 92,189 c 0,13.25483 -10.745166,24 -24,24 -13.254834,0 -24,-10.74517 -24,-24 0,-13.25483 10.745166,-24 24,-24 13.254834,0 24,10.74517 24,24 z"
|
||||
cx="68"
|
||||
cy="189"
|
||||
r="24"
|
||||
id="circle26"
|
||||
sodipodi:cx="68"
|
||||
sodipodi:cy="189"
|
||||
sodipodi:rx="24"
|
||||
sodipodi:ry="24"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.10697266,0,0,0.10697266,2.307499,2.3075002)" />
|
||||
<path
|
||||
d="M 19.423125,25.092677 H 15.786054 A 8.7717581,8.7717581 0 0 0 7.014296,16.320919 v -3.637071 a 12.408829,12.408829 0 0 1 12.408829,12.408829 z"
|
||||
id="path28"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" />
|
||||
<path
|
||||
d="M 21.990468,25.092677 A 14.976172,14.976172 0 0 0 7.014296,10.116504 V 6.3724612 A 18.720216,18.720216 0 0 1 25.734512,25.092677 z"
|
||||
id="path30"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 332 B |
Before Width: | Height: | Size: 181 B After Width: | Height: | Size: 295 B |
Before Width: | Height: | Size: 190 B After Width: | Height: | Size: 295 B |
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 172 B After Width: | Height: | Size: 201 B |
@ -1,80 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32px"
|
||||
height="32px"
|
||||
id="svg7311"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
sodipodi:docname="sign_excl.svg">
|
||||
<defs
|
||||
id="defs7313" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="-11.862611"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1137"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7316">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#eb6363;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path6540-7"
|
||||
sodipodi:cx="3.409934"
|
||||
sodipodi:cy="4.3416462"
|
||||
sodipodi:rx="14.271205"
|
||||
sodipodi:ry="14.271205"
|
||||
d="m 17.681139,4.3416462 a 14.271205,14.271205 0 1 1 -28.54241,0 14.271205,14.271205 0 1 1 28.54241,0 z"
|
||||
transform="translate(12.590066,11.658354)"
|
||||
inkscape:export-xdpi="73.07"
|
||||
inkscape:export-ydpi="73.07" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:Times New Roman"
|
||||
x="11.482422"
|
||||
y="24.308594"
|
||||
id="text6542-9"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6544-5"
|
||||
x="11.482422"
|
||||
y="24.308594"
|
||||
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Georgia;-inkscape-font-specification:Georgia Bold">!</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.8 KiB |
@ -1,83 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32px"
|
||||
height="32px"
|
||||
id="svg2985"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
sodipodi:docname="sign_info.svg"
|
||||
inkscape:export-filename="Y:\public_html\testbox\tt-rss\images\sign_info.png"
|
||||
inkscape:export-xdpi="67.5"
|
||||
inkscape:export-ydpi="67.5">
|
||||
<defs
|
||||
id="defs2987" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.7994505"
|
||||
inkscape:cx="6.8311272"
|
||||
inkscape:cy="-22.339561"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1137"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata2990">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#88b0f0;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path6540"
|
||||
sodipodi:cx="3.409934"
|
||||
sodipodi:cy="4.3416462"
|
||||
sodipodi:rx="14.271205"
|
||||
sodipodi:ry="14.271205"
|
||||
d="m 17.681139,4.3416462 a 14.271205,14.271205 0 1 1 -28.54241,0 14.271205,14.271205 0 1 1 28.54241,0 z"
|
||||
transform="translate(12.590066,11.658354)"
|
||||
inkscape:export-xdpi="73.07"
|
||||
inkscape:export-ydpi="73.07" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:Times New Roman"
|
||||
x="11.763672"
|
||||
y="25.070313"
|
||||
id="text6542"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6544"
|
||||
x="11.763672"
|
||||
y="25.070313"
|
||||
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Georgia;-inkscape-font-specification:Georgia Bold">i</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 670 B |
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 594 B |
After Width: | Height: | Size: 537 B |
After Width: | Height: | Size: 793 B |
After Width: | Height: | Size: 288 B |
After Width: | Height: | Size: 518 B |
After Width: | Height: | Size: 741 B |
@ -1,3 +1,3 @@
|
||||
<?php # This file has been generated at: Thu May 30 08:39:20 MSK 2013
|
||||
<?php # This file has been generated at: Fri Sep 27 13:42:37 MSK 2013
|
||||
define('GENERATED_CONFIG_CHECK', 26);
|
||||
$requred_defines = array( 'DB_TYPE', 'DB_HOST', 'DB_USER', 'DB_NAME', 'DB_PASS', 'MYSQL_CHARSET', 'SELF_URL_PATH', 'FEED_CRYPT_KEY', 'SINGLE_USER_MODE', 'SIMPLE_UPDATE_MODE', 'PHP_EXECUTABLE', 'LOCK_DIRECTORY', 'CACHE_DIR', 'ICONS_DIR', 'ICONS_URL', 'AUTH_AUTO_CREATE', 'AUTH_AUTO_LOGIN', 'FORCE_ARTICLE_PURGE', 'PUBSUBHUBBUB_HUB', 'PUBSUBHUBBUB_ENABLED', 'SPHINX_ENABLED', 'SPHINX_SERVER', 'SPHINX_INDEX', 'ENABLE_REGISTRATION', 'REG_NOTIFY_ADDRESS', 'REG_MAX_USERS', 'SESSION_COOKIE_LIFETIME', 'SESSION_CHECK_ADDRESS', 'SMTP_FROM_NAME', 'SMTP_FROM_ADDRESS', 'DIGEST_SUBJECT', 'SMTP_SERVER', 'SMTP_LOGIN', 'SMTP_PASSWORD', 'SMTP_SECURE', 'CHECK_FOR_NEW_VERSION', 'ENABLE_GZIP_OUTPUT', 'PLUGINS', 'LOG_DESTINATION', 'CONFIG_VERSION'); ?>
|
||||
$requred_defines = array( 'DB_TYPE', 'DB_HOST', 'DB_USER', 'DB_NAME', 'DB_PASS', 'MYSQL_CHARSET', 'SELF_URL_PATH', 'FEED_CRYPT_KEY', 'SINGLE_USER_MODE', 'SIMPLE_UPDATE_MODE', 'PHP_EXECUTABLE', 'LOCK_DIRECTORY', 'CACHE_DIR', 'ICONS_DIR', 'ICONS_URL', 'AUTH_AUTO_CREATE', 'AUTH_AUTO_LOGIN', 'FORCE_ARTICLE_PURGE', 'PUBSUBHUBBUB_HUB', 'PUBSUBHUBBUB_ENABLED', 'ENABLE_REGISTRATION', 'REG_NOTIFY_ADDRESS', 'REG_MAX_USERS', 'SESSION_COOKIE_LIFETIME', 'SESSION_CHECK_ADDRESS', 'SMTP_FROM_NAME', 'SMTP_FROM_ADDRESS', 'DIGEST_SUBJECT', 'SMTP_SERVER', 'SMTP_LOGIN', 'SMTP_PASSWORD', 'SMTP_SECURE', 'CHECK_FOR_NEW_VERSION', 'DETECT_ARTICLE_LANGUAGE', 'ENABLE_GZIP_OUTPUT', 'PLUGINS', 'LOG_DESTINATION', 'CONFIG_VERSION'); ?>
|
||||
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
// Compatibility shim for hooking up jimIcon to Tiny Tiny RSS.
|
||||
|
||||
require_once "jimIcon.php";
|
||||
|
||||
class floIconIcon {
|
||||
function getImageResource() {
|
||||
return $this->img;
|
||||
}
|
||||
}
|
||||
|
||||
class floIcon {
|
||||
function readICO($file) {
|
||||
$jim = new jimIcon();
|
||||
$icon = new floIconIcon();
|
||||
$icon->img = $jim->fromiconstring(file_get_contents($file));
|
||||
$this->images = array($icon);
|
||||
}
|
||||
}
|
||||
?>
|
@ -0,0 +1,270 @@
|
||||
<?php
|
||||
|
||||
// Simple .ICO parsing. The ICO format is insanely complex and this may
|
||||
// fail to correctly handle some technically valid files, but it works
|
||||
// on the majority I've found.
|
||||
//
|
||||
// jimIcon was written in 2013 by Jim Paris <jim@jtan.com> and is
|
||||
// released under the terms of the CC0:
|
||||
//
|
||||
// To the extent possible under law, the author(s) have dedicated all
|
||||
// copyright and related and neighboring rights to this software to
|
||||
// the public domain worldwide. This software is distributed without
|
||||
// any arranty.
|
||||
//
|
||||
// You may have received a copy of the CC0 Public Domain Dedication
|
||||
// along with this software. If not, see
|
||||
// http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
class jimIcon {
|
||||
// Get an image color from a string
|
||||
function get_color($str, $img) {
|
||||
$b = ord($str[0]);
|
||||
$g = ord($str[1]);
|
||||
$r = ord($str[2]);
|
||||
if (strlen($str) > 3) {
|
||||
$a = 127 - (ord($str[3]) / 2);
|
||||
if ($a != 0 && $a != 127)
|
||||
$this->had_alpha = 1;
|
||||
} else {
|
||||
$a = 0;
|
||||
}
|
||||
if ($a != 127)
|
||||
$this->all_transaprent = 0;
|
||||
return imagecolorallocatealpha($img, $r, $g, $b, $a);
|
||||
}
|
||||
|
||||
// Given a string with the contents of an .ICO,
|
||||
// return a GD image of the icon, or false on error.
|
||||
function fromiconstring($ico) {
|
||||
$this->error = "(unknown error)";
|
||||
$this->had_alpha = 0;
|
||||
|
||||
// Read header
|
||||
if (strlen($ico) < 6) {
|
||||
$this->error = "too short";
|
||||
return false;
|
||||
}
|
||||
$h = unpack("vzero/vtype/vnum", $ico);
|
||||
|
||||
// Must be ICO format with at least one image
|
||||
if ($h["zero"] != 0 || $h["type"] != 1 || $h["num"] == 0) {
|
||||
// See if we can just parse it with GD directly
|
||||
// if it's not ICO format; maybe it was a mislabeled
|
||||
// PNG or something.
|
||||
$i = @imagecreatefromstring($ico);
|
||||
if ($i) {
|
||||
imagesavealpha($i, true);
|
||||
return $i;
|
||||
}
|
||||
$this->error = "not ICO or other image";
|
||||
return false;
|
||||
}
|
||||
|
||||
// Read directory entries to find the biggest image
|
||||
$most_pixels = 0;
|
||||
for ($i = 0; $i < $h["num"]; $i++) {
|
||||
$entry = substr($ico, 6 + 16 * $i, 16);
|
||||
if (!$entry || strlen($entry) < 16)
|
||||
continue;
|
||||
$e = unpack("Cwidth/" .
|
||||
"Cheight/" .
|
||||
"Ccolors/" .
|
||||
"Czero/" .
|
||||
"vplanes/" .
|
||||
"vbpp/" .
|
||||
"Vsize/" .
|
||||
"Voffset/",
|
||||
$entry);
|
||||
if ($e["width"] == 0)
|
||||
$e["width"] = 256;
|
||||
if ($e["height"] == 0)
|
||||
$e["height"] = 256;
|
||||
if ($e["zero"] != 0) {
|
||||
$this->error = "nonzero reserved field";
|
||||
return false;
|
||||
}
|
||||
$pixels = $e["width"] * $e["height"];
|
||||
if ($pixels > $most_pixels) {
|
||||
$most_pixels = $pixels;
|
||||
$most = $e;
|
||||
}
|
||||
}
|
||||
if ($most_pixels == 0) {
|
||||
$this->error = "no pixels";
|
||||
return false;
|
||||
}
|
||||
$e = $most;
|
||||
|
||||
// Extract image data
|
||||
$data = substr($ico, $e["offset"], $e["size"]);
|
||||
if (!$data || strlen($data) != $e["size"]) {
|
||||
$this->error = "bad image data";
|
||||
return false;
|
||||
}
|
||||
|
||||
// See if we can parse it (might be PNG format here)
|
||||
$i = @imagecreatefromstring($data);
|
||||
if ($i) {
|
||||
imagesavealpha($img, true);
|
||||
return $i;
|
||||
}
|
||||
|
||||
// Must be a BMP. Parse it ourselves.
|
||||
$img = imagecreatetruecolor($e["width"], $e["height"]);
|
||||
imagesavealpha($img, true);
|
||||
$bg = imagecolorallocatealpha($img, 255, 0, 0, 127);
|
||||
imagefill($img, 0, 0, $bg);
|
||||
|
||||
// Skip over the BITMAPCOREHEADER or BITMAPINFOHEADER;
|
||||
// we'll just assume the palette and pixel data follow
|
||||
// in the most obvious format as described by the icon
|
||||
// directory entry.
|
||||
$bitmapinfo = unpack("Vsize", $data);
|
||||
if ($bitmapinfo["size"] == 40) {
|
||||
$info = unpack("Vsize/" .
|
||||
"Vwidth/" .
|
||||
"Vheight/" .
|
||||
"vplanes/" .
|
||||
"vbpp/" .
|
||||
"Vcompress/" .
|
||||
"Vsize/" .
|
||||
"Vxres/" .
|
||||
"Vyres/" .
|
||||
"Vpalcolors/" .
|
||||
"Vimpcolors/", $data);
|
||||
if ($e["bpp"] == 0) {
|
||||
$e["bpp"] = $info["bpp"];
|
||||
}
|
||||
}
|
||||
$data = substr($data, $bitmapinfo["size"]);
|
||||
|
||||
$height = $e["height"];
|
||||
$width = $e["width"];
|
||||
$bpp = $e["bpp"];
|
||||
|
||||
// For indexed images, we only support 1, 4, or 8 BPP
|
||||
switch ($bpp) {
|
||||
case 1:
|
||||
case 4:
|
||||
case 8:
|
||||
$indexed = 1;
|
||||
break;
|
||||
case 24:
|
||||
case 32:
|
||||
$indexed = 0;
|
||||
break;
|
||||
default:
|
||||
$this->error = "bad BPP $bpp";
|
||||
return false;
|
||||
}
|
||||
|
||||
$offset = 0;
|
||||
if ($indexed) {
|
||||
$palette = array();
|
||||
$this->all_transparent = 1;
|
||||
for ($i = 0; $i < (1 << $bpp); $i++) {
|
||||
$entry = substr($data, $i * 4, 4);
|
||||
$palette[$i] = $this->get_color($entry, $img);
|
||||
}
|
||||
$offset = $i * 4;
|
||||
|
||||
// Hack for some icons: if everything was transparent,
|
||||
// discard alpha channel.
|
||||
if ($this->all_transparent) {
|
||||
for ($i = 0; $i < (1 << $bpp); $i++) {
|
||||
$palette[$i] &= 0xffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Assume image data follows in bottom-up order.
|
||||
// First the "XOR" image
|
||||
if ((strlen($data) - $offset) < ($bpp * $height * $width / 8)) {
|
||||
$this->error = "short data";
|
||||
return false;
|
||||
}
|
||||
$XOR = array();
|
||||
for ($y = $height - 1; $y >= 0; $y--) {
|
||||
$x = 0;
|
||||
while ($x < $width) {
|
||||
if (!$indexed) {
|
||||
$bytes = $bpp / 8;
|
||||
$entry = substr($data, $offset, $bytes);
|
||||
$pixel = $this->get_color($entry, $img);
|
||||
$XOR[$y][$x] = $pixel;
|
||||
$x++;
|
||||
$offset += $bytes;
|
||||
} elseif ($bpp == 1) {
|
||||
$p = ord($data[$offset]);
|
||||
for ($b = 0x80; $b > 0; $b >>= 1) {
|
||||
if ($p & $b) {
|
||||
$pixel = $palette[1];
|
||||
} else {
|
||||
$pixel = $palette[0];
|
||||
}
|
||||
$XOR[$y][$x] = $pixel;
|
||||
$x++;
|
||||
}
|
||||
$offset++;
|
||||
} elseif ($bpp == 4) {
|
||||
$p = ord($data[$offset]);
|
||||
$pixel1 = $palette[$p >> 4];
|
||||
$pixel2 = $palette[$p & 0x0f];
|
||||
$XOR[$y][$x] = $pixel1;
|
||||
$XOR[$y][$x+1] = $pixel2;
|
||||
$x += 2;
|
||||
$offset++;
|
||||
} elseif ($bpp == 8) {
|
||||
$pixel = $palette[ord($data[$offset])];
|
||||
$XOR[$y][$x] = $pixel;
|
||||
$x += 1;
|
||||
$offset++;
|
||||
} else {
|
||||
$this->error = "bad BPP";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// End of row padding
|
||||
while ($offset & 3)
|
||||
$offset++;
|
||||
}
|
||||
|
||||
// Now the "AND" image, which is 1 bit per pixel. Ignore
|
||||
// if some of our image data already had alpha values,
|
||||
// or if there isn't enough data left.
|
||||
if ($this->had_alpha ||
|
||||
((strlen($data) - $offset) < ($height * $width / 8))) {
|
||||
// Just return what we've got
|
||||
for ($y = 0; $y < $height; $y++) {
|
||||
for ($x = 0; $x < $width; $x++) {
|
||||
imagesetpixel($img, $x, $y,
|
||||
$XOR[$y][$x]);
|
||||
}
|
||||
}
|
||||
return $img;
|
||||
}
|
||||
|
||||
// Mask what we have with the "AND" image
|
||||
for ($y = $height - 1; $y >= 0; $y--) {
|
||||
$x = 0;
|
||||
while ($x < $width) {
|
||||
for ($b = 0x80;
|
||||
$b > 0 && $x < $width; $b >>= 1) {
|
||||
if (!(ord($data[$offset]) & $b)) {
|
||||
imagesetpixel($img, $x, $y,
|
||||
$XOR[$y][$x]);
|
||||
}
|
||||
$x++;
|
||||
}
|
||||
$offset++;
|
||||
}
|
||||
|
||||
// End of row padding
|
||||
while ($offset & 3)
|
||||
$offset++;
|
||||
}
|
||||
return $img;
|
||||
}
|
||||
}
|
||||
?>
|
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
class Text_LanguageDetect_Exception extends Exception
|
||||
{
|
||||
/**
|
||||
* Database file could not be found
|
||||
*/
|
||||
const DB_NOT_FOUND = 10;
|
||||
|
||||
/**
|
||||
* Database file found, but not readable
|
||||
*/
|
||||
const DB_NOT_READABLE = 11;
|
||||
|
||||
/**
|
||||
* Database file is empty
|
||||
*/
|
||||
const DB_EMPTY = 12;
|
||||
|
||||
/**
|
||||
* Database contents is not a PHP array
|
||||
*/
|
||||
const DB_NOT_ARRAY = 13;
|
||||
|
||||
/**
|
||||
* Magic quotes are activated
|
||||
*/
|
||||
const MAGIC_QUOTES = 14;
|
||||
|
||||
|
||||
/**
|
||||
* Parameter of invalid type passed to method
|
||||
*/
|
||||
const PARAM_TYPE = 20;
|
||||
|
||||
/**
|
||||
* Character in parameter is invalid
|
||||
*/
|
||||
const INVALID_CHAR = 21;
|
||||
|
||||
|
||||
/**
|
||||
* Language is not in the database
|
||||
*/
|
||||
const UNKNOWN_LANGUAGE = 30;
|
||||
|
||||
|
||||
/**
|
||||
* Error during block detection
|
||||
*/
|
||||
const BLOCK_DETECTION = 40;
|
||||
|
||||
|
||||
/**
|
||||
* Error while clustering languages
|
||||
*/
|
||||
const NO_HIGHEST_KEY = 50;
|
||||
}
|
@ -0,0 +1,341 @@
|
||||
<?php
|
||||
/**
|
||||
* Part of Text_LanguageDetect
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_LanguageDetect
|
||||
* @author Christian Weiske <cweiske@php.net>
|
||||
* @copyright 2011 Christian Weiske <cweiske@php.net>
|
||||
* @license http://www.debian.org/misc/bsd.license BSD
|
||||
* @version SVN: $Id$
|
||||
* @link http://pear.php.net/package/Text_LanguageDetect/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Provides a mapping between the languages from lang.dat and the
|
||||
* ISO 639-1 and ISO-639-2 codes.
|
||||
*
|
||||
* Note that this class contains only languages that exist in lang.dat.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_LanguageDetect
|
||||
* @author Christian Weiske <cweiske@php.net>
|
||||
* @copyright 2011 Christian Weiske <cweiske@php.net>
|
||||
* @license http://www.debian.org/misc/bsd.license BSD
|
||||
* @link http://www.loc.gov/standards/iso639-2/php/code_list.php
|
||||
*/
|
||||
class Text_LanguageDetect_ISO639
|
||||
{
|
||||
/**
|
||||
* Maps all language names from the language database to the
|
||||
* ISO 639-1 2-letter language code.
|
||||
*
|
||||
* NULL indicates that there is no 2-letter code.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $nameToCode2 = array(
|
||||
'albanian' => 'sq',
|
||||
'arabic' => 'ar',
|
||||
'azeri' => 'az',
|
||||
'bengali' => 'bn',
|
||||
'bulgarian' => 'bg',
|
||||
'cebuano' => null,
|
||||
'croatian' => 'hr',
|
||||
'czech' => 'cs',
|
||||
'danish' => 'da',
|
||||
'dutch' => 'nl',
|
||||
'english' => 'en',
|
||||
'estonian' => 'et',
|
||||
'farsi' => 'fa',
|
||||
'finnish' => 'fi',
|
||||
'french' => 'fr',
|
||||
'german' => 'de',
|
||||
'hausa' => 'ha',
|
||||
'hawaiian' => null,
|
||||
'hindi' => 'hi',
|
||||
'hungarian' => 'hu',
|
||||
'icelandic' => 'is',
|
||||
'indonesian' => 'id',
|
||||
'italian' => 'it',
|
||||
'kazakh' => 'kk',
|
||||
'kyrgyz' => 'ky',
|
||||
'latin' => 'la',
|
||||
'latvian' => 'lv',
|
||||
'lithuanian' => 'lt',
|
||||
'macedonian' => 'mk',
|
||||
'mongolian' => 'mn',
|
||||
'nepali' => 'ne',
|
||||
'norwegian' => 'no',
|
||||
'pashto' => 'ps',
|
||||
'pidgin' => null,
|
||||
'polish' => 'pl',
|
||||
'portuguese' => 'pt',
|
||||
'romanian' => 'ro',
|
||||
'russian' => 'ru',
|
||||
'serbian' => 'sr',
|
||||
'slovak' => 'sk',
|
||||
'slovene' => 'sl',
|
||||
'somali' => 'so',
|
||||
'spanish' => 'es',
|
||||
'swahili' => 'sw',
|
||||
'swedish' => 'sv',
|
||||
'tagalog' => 'tl',
|
||||
'turkish' => 'tr',
|
||||
'ukrainian' => 'uk',
|
||||
'urdu' => 'ur',
|
||||
'uzbek' => 'uz',
|
||||
'vietnamese' => 'vi',
|
||||
'welsh' => 'cy',
|
||||
);
|
||||
|
||||
/**
|
||||
* Maps all language names from the language database to the
|
||||
* ISO 639-2 3-letter language code.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $nameToCode3 = array(
|
||||
'albanian' => 'sqi',
|
||||
'arabic' => 'ara',
|
||||
'azeri' => 'aze',
|
||||
'bengali' => 'ben',
|
||||
'bulgarian' => 'bul',
|
||||
'cebuano' => 'ceb',
|
||||
'croatian' => 'hrv',
|
||||
'czech' => 'ces',
|
||||
'danish' => 'dan',
|
||||
'dutch' => 'nld',
|
||||
'english' => 'eng',
|
||||
'estonian' => 'est',
|
||||
'farsi' => 'fas',
|
||||
'finnish' => 'fin',
|
||||
'french' => 'fra',
|
||||
'german' => 'deu',
|
||||
'hausa' => 'hau',
|
||||
'hawaiian' => 'haw',
|
||||
'hindi' => 'hin',
|
||||
'hungarian' => 'hun',
|
||||
'icelandic' => 'isl',
|
||||
'indonesian' => 'ind',
|
||||
'italian' => 'ita',
|
||||
'kazakh' => 'kaz',
|
||||
'kyrgyz' => 'kir',
|
||||
'latin' => 'lat',
|
||||
'latvian' => 'lav',
|
||||
'lithuanian' => 'lit',
|
||||
'macedonian' => 'mkd',
|
||||
'mongolian' => 'mon',
|
||||
'nepali' => 'nep',
|
||||
'norwegian' => 'nor',
|
||||
'pashto' => 'pus',
|
||||
'pidgin' => 'crp',
|
||||
'polish' => 'pol',
|
||||
'portuguese' => 'por',
|
||||
'romanian' => 'ron',
|
||||
'russian' => 'rus',
|
||||
'serbian' => 'srp',
|
||||
'slovak' => 'slk',
|
||||
'slovene' => 'slv',
|
||||
'somali' => 'som',
|
||||
'spanish' => 'spa',
|
||||
'swahili' => 'swa',
|
||||
'swedish' => 'swe',
|
||||
'tagalog' => 'tgl',
|
||||
'turkish' => 'tur',
|
||||
'ukrainian' => 'ukr',
|
||||
'urdu' => 'urd',
|
||||
'uzbek' => 'uzb',
|
||||
'vietnamese' => 'vie',
|
||||
'welsh' => 'cym',
|
||||
);
|
||||
|
||||
/**
|
||||
* Maps ISO 639-1 2-letter language codes to the language names
|
||||
* in the language database
|
||||
*
|
||||
* Not all languages have a 2 letter code, so some are missing
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $code2ToName = array(
|
||||
'ar' => 'arabic',
|
||||
'az' => 'azeri',
|
||||
'bg' => 'bulgarian',
|
||||
'bn' => 'bengali',
|
||||
'cs' => 'czech',
|
||||
'cy' => 'welsh',
|
||||
'da' => 'danish',
|
||||
'de' => 'german',
|
||||
'en' => 'english',
|
||||
'es' => 'spanish',
|
||||
'et' => 'estonian',
|
||||
'fa' => 'farsi',
|
||||
'fi' => 'finnish',
|
||||
'fr' => 'french',
|
||||
'ha' => 'hausa',
|
||||
'hi' => 'hindi',
|
||||
'hr' => 'croatian',
|
||||
'hu' => 'hungarian',
|
||||
'id' => 'indonesian',
|
||||
'is' => 'icelandic',
|
||||
'it' => 'italian',
|
||||
'kk' => 'kazakh',
|
||||
'ky' => 'kyrgyz',
|
||||
'la' => 'latin',
|
||||
'lt' => 'lithuanian',
|
||||
'lv' => 'latvian',
|
||||
'mk' => 'macedonian',
|
||||
'mn' => 'mongolian',
|
||||
'ne' => 'nepali',
|
||||
'nl' => 'dutch',
|
||||
'no' => 'norwegian',
|
||||
'pl' => 'polish',
|
||||
'ps' => 'pashto',
|
||||
'pt' => 'portuguese',
|
||||
'ro' => 'romanian',
|
||||
'ru' => 'russian',
|
||||
'sk' => 'slovak',
|
||||
'sl' => 'slovene',
|
||||
'so' => 'somali',
|
||||
'sq' => 'albanian',
|
||||
'sr' => 'serbian',
|
||||
'sv' => 'swedish',
|
||||
'sw' => 'swahili',
|
||||
'tl' => 'tagalog',
|
||||
'tr' => 'turkish',
|
||||
'uk' => 'ukrainian',
|
||||
'ur' => 'urdu',
|
||||
'uz' => 'uzbek',
|
||||
'vi' => 'vietnamese',
|
||||
);
|
||||
|
||||
/**
|
||||
* Maps ISO 639-2 3-letter language codes to the language names
|
||||
* in the language database.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $code3ToName = array(
|
||||
'ara' => 'arabic',
|
||||
'aze' => 'azeri',
|
||||
'ben' => 'bengali',
|
||||
'bul' => 'bulgarian',
|
||||
'ceb' => 'cebuano',
|
||||
'ces' => 'czech',
|
||||
'crp' => 'pidgin',
|
||||
'cym' => 'welsh',
|
||||
'dan' => 'danish',
|
||||
'deu' => 'german',
|
||||
'eng' => 'english',
|
||||
'est' => 'estonian',
|
||||
'fas' => 'farsi',
|
||||
'fin' => 'finnish',
|
||||
'fra' => 'french',
|
||||
'hau' => 'hausa',
|
||||
'haw' => 'hawaiian',
|
||||
'hin' => 'hindi',
|
||||
'hrv' => 'croatian',
|
||||
'hun' => 'hungarian',
|
||||
'ind' => 'indonesian',
|
||||
'isl' => 'icelandic',
|
||||
'ita' => 'italian',
|
||||
'kaz' => 'kazakh',
|
||||
'kir' => 'kyrgyz',
|
||||
'lat' => 'latin',
|
||||
'lav' => 'latvian',
|
||||
'lit' => 'lithuanian',
|
||||
'mkd' => 'macedonian',
|
||||
'mon' => 'mongolian',
|
||||
'nep' => 'nepali',
|
||||
'nld' => 'dutch',
|
||||
'nor' => 'norwegian',
|
||||
'pol' => 'polish',
|
||||
'por' => 'portuguese',
|
||||
'pus' => 'pashto',
|
||||
'rom' => 'romanian',
|
||||
'rus' => 'russian',
|
||||
'slk' => 'slovak',
|
||||
'slv' => 'slovene',
|
||||
'som' => 'somali',
|
||||
'spa' => 'spanish',
|
||||
'sqi' => 'albanian',
|
||||
'srp' => 'serbian',
|
||||
'swa' => 'swahili',
|
||||
'swe' => 'swedish',
|
||||
'tgl' => 'tagalog',
|
||||
'tur' => 'turkish',
|
||||
'ukr' => 'ukrainian',
|
||||
'urd' => 'urdu',
|
||||
'uzb' => 'uzbek',
|
||||
'vie' => 'vietnamese',
|
||||
);
|
||||
|
||||
/**
|
||||
* Returns the 2-letter ISO 639-1 code for the given language name.
|
||||
*
|
||||
* @param string $lang English language name like "swedish"
|
||||
*
|
||||
* @return string Two-letter language code (e.g. "sv") or NULL if not found
|
||||
*/
|
||||
public static function nameToCode2($lang)
|
||||
{
|
||||
$lang = strtolower($lang);
|
||||
if (!isset(self::$nameToCode2[$lang])) {
|
||||
return null;
|
||||
}
|
||||
return self::$nameToCode2[$lang];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the 3-letter ISO 639-2 code for the given language name.
|
||||
*
|
||||
* @param string $lang English language name like "swedish"
|
||||
*
|
||||
* @return string Three-letter language code (e.g. "swe") or NULL if not found
|
||||
*/
|
||||
public static function nameToCode3($lang)
|
||||
{
|
||||
$lang = strtolower($lang);
|
||||
if (!isset(self::$nameToCode3[$lang])) {
|
||||
return null;
|
||||
}
|
||||
return self::$nameToCode3[$lang];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the language name for the given 2-letter ISO 639-1 code.
|
||||
*
|
||||
* @param string $code Two-letter language code (e.g. "sv")
|
||||
*
|
||||
* @return string English language name like "swedish"
|
||||
*/
|
||||
public static function code2ToName($code)
|
||||
{
|
||||
$lang = strtolower($code);
|
||||
if (!isset(self::$code2ToName[$code])) {
|
||||
return null;
|
||||
}
|
||||
return self::$code2ToName[$code];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the language name for the given 3-letter ISO 639-2 code.
|
||||
*
|
||||
* @param string $code Three-letter language code (e.g. "swe")
|
||||
*
|
||||
* @return string English language name like "swedish"
|
||||
*/
|
||||
public static function code3ToName($code)
|
||||
{
|
||||
$lang = strtolower($code);
|
||||
if (!isset(self::$code3ToName[$code])) {
|
||||
return null;
|
||||
}
|
||||
return self::$code3ToName[$code];
|
||||
}
|
||||
}
|
||||
|
||||
?>
|