images/smilies/face-angel.svg
author Dan
Fri, 05 Oct 2007 01:57:00 -0400
changeset 161 e1a22031b5bd
parent 0 902822492a68
permissions -rw-r--r--
Major revamps to the template parser. Fixed a few security holes that could allow PHP to be injected in untimely places in TPL code. Improved Ux for XSS attempt in tplWikiFormat. Documented many functions. Backported much cleaner parser from 2.0 branch. Beautified a lot of code in the depths of the template class. Pretty much a small-scale Extreme Makeover.

<?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:xlink="http://www.w3.org/1999/xlink"
   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   sodipodi:docname="face-angel.svg"
   sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/emotes"
   inkscape:version="0.42+devel"
   sodipodi:version="0.32"
   id="svg4376"
   height="48px"
   width="48px">
  <defs
     id="defs3">
    <linearGradient
       id="linearGradient3179">
      <stop
         style="stop-color:#ffffff;stop-opacity:1;"
         offset="0"
         id="stop3181" />
      <stop
         style="stop-color:#f6e76a;stop-opacity:1;"
         offset="1"
         id="stop3185" />
    </linearGradient>
    <linearGradient
       id="linearGradient3451">
      <stop
         style="stop-color:#ffffff;stop-opacity:1;"
         offset="0"
         id="stop3453" />
      <stop
         id="stop4936"
         offset="0.5"
         style="stop-color:#fefc9a;stop-opacity:0.62886596;" />
      <stop
         style="stop-color:#fefc9a;stop-opacity:0;"
         offset="1"
         id="stop3455" />
    </linearGradient>
    <radialGradient
       inkscape:collect="always"
       xlink:href="#linearGradient3451"
       id="radialGradient3468"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(1.000000,0.000000,0.000000,0.166667,7.650132e-16,8.709935)"
       cx="25.127777"
       cy="10.451922"
       fx="25.127777"
       fy="10.451922"
       r="15.076666" />
    <linearGradient
       id="linearGradient3050">
      <stop
         style="stop-color:#a40000;stop-opacity:1;"
         offset="0"
         id="stop3052" />
      <stop
         style="stop-color:#ec0000;stop-opacity:1.0000000;"
         offset="1.0000000"
         id="stop3054" />
    </linearGradient>
    <linearGradient
       id="linearGradient3290">
      <stop
         id="stop3292"
         offset="0.0000000"
         style="stop-color:#fffcde;stop-opacity:1.0000000;" />
      <stop
         style="stop-color:#f6e76a;stop-opacity:1.0000000;"
         offset="0.64485979"
         id="stop3294" />
      <stop
         id="stop3296"
         offset="1.0000000"
         style="stop-color:#ffb738;stop-opacity:1.0000000;" />
    </linearGradient>
    <radialGradient
       r="8.9020796"
       fy="15.755712"
       fx="29.158466"
       cy="15.720984"
       cx="29.288071"
       gradientUnits="userSpaceOnUse"
       id="radialGradient2714"
       xlink:href="#linearGradient3179"
       inkscape:collect="always" />
    <linearGradient
       id="linearGradient2509">
      <stop
         style="stop-color:#fffbd5;stop-opacity:1.0000000;"
         offset="0.0000000"
         id="stop2511" />
      <stop
         style="stop-color:#edd400;stop-opacity:1.0000000;"
         offset="1.0000000"
         id="stop2513" />
    </linearGradient>
    <radialGradient
       gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-6.479446,-13.37211)"
       id="aigrd2"
       cx="25.0527"
       cy="39.5928"
       r="15.7572"
       fx="25.0527"
       fy="39.5928"
       gradientUnits="userSpaceOnUse">
      <stop
         offset="0.0000000"
         style="stop-color:#777777;stop-opacity:1.0000000;"
         id="stop8602" />
      <stop
         offset="1"
         style="stop-color:#000000"
         id="stop8604" />
    </radialGradient>
    <linearGradient
       id="linearGradient4565"
       inkscape:collect="always">
      <stop
         id="stop4567"
         offset="0"
         style="stop-color:#000000;stop-opacity:1;" />
      <stop
         id="stop4569"
         offset="1"
         style="stop-color:#000000;stop-opacity:0;" />
    </linearGradient>
    <linearGradient
       id="linearGradient3824">
      <stop
         id="stop3826"
         offset="0"
         style="stop-color:#ffffff;stop-opacity:1;" />
      <stop
         id="stop3828"
         offset="1.0000000"
         style="stop-color:#c9c9c9;stop-opacity:1.0000000;" />
    </linearGradient>
    <linearGradient
       id="linearGradient3800">
      <stop
         id="stop3802"
         offset="0.0000000"
         style="stop-color:#ffeed6;stop-opacity:1.0000000;" />
      <stop
         style="stop-color:#e49c2f;stop-opacity:1.0000000;"
         offset="0.50000000"
         id="stop8664" />
      <stop
         id="stop3804"
         offset="1.0000000"
         style="stop-color:#ffc66c;stop-opacity:1.0000000;" />
    </linearGradient>
    <radialGradient
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
       r="19.714285"
       fy="38.571430"
       fx="24.714285"
       cy="38.571430"
       cx="24.714285"
       id="radialGradient4571"
       xlink:href="#linearGradient4565"
       inkscape:collect="always" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient3050"
       id="linearGradient3384"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.356785,-4.136152e-17,4.888137e-17,0.421652,15.59796,22.41694)"
       x1="23.031250"
       y1="24.312500"
       x2="23.031250"
       y2="36.249878" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient3050"
       id="linearGradient3388"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.277603,-9.832923e-2,0.112086,0.340135,19.04250,26.33855)"
       x1="23.377983"
       y1="21.840229"
       x2="23.591845"
       y2="31.634424" />
    <linearGradient
       inkscape:collect="always"
       xlink:href="#linearGradient3050"
       id="linearGradient3394"
       gradientUnits="userSpaceOnUse"
       gradientTransform="matrix(0.277603,-9.832923e-2,0.112086,0.340135,19.04250,26.33855)"
       x1="23.377983"
       y1="21.840229"
       x2="23.591845"
       y2="31.634424" />
  </defs>
  <sodipodi:namedview
     inkscape:window-y="330"
     inkscape:window-x="569"
     inkscape:window-height="614"
     inkscape:window-width="872"
     inkscape:showpageshadow="false"
     inkscape:document-units="px"
     inkscape:grid-bbox="true"
     showgrid="false"
     inkscape:current-layer="layer1"
     inkscape:cy="23.689514"
     inkscape:cx="41.558678"
     inkscape:zoom="4.9245777"
     inkscape:pageshadow="2"
     inkscape:pageopacity="0.0"
     borderopacity="0.19607843"
     bordercolor="#666666"
     pagecolor="#ffffff"
     id="base"
     fill="#edd400" />
  <metadata
     id="metadata4">
    <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>Face - Angel</dc:title>
        <dc:subject>
          <rdf:Bag>
            <rdf:li>emoticon</rdf:li>
            <rdf:li>emote</rdf:li>
            <rdf:li>smiley</rdf:li>
            <rdf:li>angel</rdf:li>
            <rdf:li>0:)</rdf:li>
            <rdf:li>0:-)</rdf:li>
          </rdf:Bag>
        </dc:subject>
        <cc:license
           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
        <dc:creator>
          <cc:Agent>
            <dc:title>Jakub Steiner</dc:title>
          </cc:Agent>
        </dc:creator>
        <dc:source>http://jimmac.musichall.cz</dc:source>
        <dc:description />
        <dc:contributor>
          <cc:Agent>
            <dc:title>Corey Woodworth</dc:title>
          </cc:Agent>
        </dc:contributor>
      </cc:Work>
      <cc:License
         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
        <cc:permits
           rdf:resource="http://web.resource.org/cc/Reproduction" />
        <cc:permits
           rdf:resource="http://web.resource.org/cc/Distribution" />
        <cc:requires
           rdf:resource="http://web.resource.org/cc/Notice" />
        <cc:requires
           rdf:resource="http://web.resource.org/cc/Attribution" />
        <cc:permits
           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
        <cc:requires
           rdf:resource="http://web.resource.org/cc/ShareAlike" />
      </cc:License>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:groupmode="layer"
     inkscape:label="Layer 1"
     id="layer1">
    <path
       d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1  5.0000000,38.571430 A 19.714285 6.5714288 0 1 1  44.428570 38.571430 z"
       sodipodi:ry="6.5714288"
       sodipodi:rx="19.714285"
       sodipodi:cy="38.571430"
       sodipodi:cx="24.714285"
       id="path4563"
       style="opacity:0.53164557;color:#000000;fill:url(#radialGradient4571);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
       sodipodi:type="arc" />
    <path
       transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)"
       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
       sodipodi:ry="8.6620579"
       sodipodi:rx="8.6620579"
       sodipodi:cy="19.008621"
       sodipodi:cx="31.112698"
       id="path4320"
       style="overflow:visible;display:inline;visibility:visible;stroke-opacity:1;stroke-dashoffset:0.0000000;stroke-dasharray:none;stroke-miterlimit:4.0000000;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:0.48004404;stroke:#e49a17;fill-rule:evenodd;fill-opacity:1.0;fill:url(#radialGradient2714);color:#000000;opacity:1.0000000"
       sodipodi:type="arc" />
    <path
       transform="matrix(1.175809,0.000000,0.000000,2.582227,-5.280449,-20.47780)"
       d="M 40.204443 10.451922 A 15.076666 2.5127776 0 1 1  10.051111,10.451922 A 15.076666 2.5127776 0 1 1  40.204443 10.451922 z"
       sodipodi:ry="2.5127776"
       sodipodi:rx="15.076666"
       sodipodi:cy="10.451922"
       sodipodi:cx="25.127777"
       id="path3423"
       style="opacity:1;color:#000000;fill:url(#radialGradient3468);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.00150537;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
       sodipodi:type="arc" />
    <path
       transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)"
       sodipodi:type="arc"
       style="opacity:0.4;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
       id="path4322"
       sodipodi:cx="31.112698"
       sodipodi:cy="19.008621"
       sodipodi:rx="8.6620579"
       sodipodi:ry="8.6620579"
       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z" />
    <path
       sodipodi:nodetypes="czczc"
       id="path2659"
       d="M 37.284637,24.719966 C 34.268170,29.944639 30.741134,33.710005 24.462492,33.710005 C 18.362475,33.710005 13.896955,29.370308 11.110016,24.543189 C 13.659429,27.599109 17.392948,31.109501 24.197327,31.109501 C 32.327531,31.109501 33.749103,28.202646 37.284637,24.719966 z "
       style="opacity:0.35999998;color:#000000;fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
    <path
       style="fill:url(#aigrd2);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
       d="M 37.284637,24.012862 C 34.268170,29.237535 30.741134,33.002901 24.462492,33.002901 C 18.362475,33.002901 13.896955,28.663204 11.110016,23.836085 C 13.659429,26.892005 17.392948,30.402397 24.197327,30.402397 C 32.327531,30.402397 33.749103,27.495542 37.284637,24.012862 z "
       id="path8606"
       sodipodi:nodetypes="czczc" />
    <path
       sodipodi:type="arc"
       style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#c3b400;stroke-width:2.32432675;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
       id="path1453"
       sodipodi:cx="25.127777"
       sodipodi:cy="10.451922"
       sodipodi:rx="15.076666"
       sodipodi:ry="2.5127776"
       d="M 40.204443 10.451922 A 15.076666 2.5127776 0 1 1  10.051111,10.451922 A 15.076666 2.5127776 0 1 1  40.204443 10.451922 z"
       transform="matrix(1.012503,0.000000,0.000000,1.645326,-1.176935,-10.68538)" />
    <path
       transform="matrix(1.014856,0.000000,0.000000,1.611564,-1.206928,-10.33866)"
       d="M 40.204443 10.451922 A 15.076666 2.5127776 0 1 1  10.051111,10.451922 A 15.076666 2.5127776 0 1 1  40.204443 10.451922 z"
       sodipodi:ry="2.5127776"
       sodipodi:rx="15.076666"
       sodipodi:cy="10.451922"
       sodipodi:cx="25.127777"
       id="path2472"
       style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffff06;stroke-width:0.78194094;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
       sodipodi:type="arc" />
    <path
       style="opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
       d="M 25.203063,17.578559 C 26.982405,21.949412 31.532943,22.064182 33.134299,17.728635 C 30.310009,19.967515 27.713179,19.322697 25.203063,17.578559 z "
       id="path1336"
       sodipodi:nodetypes="ccc" />
    <path
       sodipodi:nodetypes="ccc"
       id="path1458"
       d="M 23.134299,17.578559 C 21.354957,21.949412 16.804419,22.064182 15.203063,17.728635 C 18.027353,19.967515 20.624183,19.322697 23.134299,17.578559 z "
       style="opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
  </g>
</svg>