Plugin Directory

Changeset 417645


Ignore:
Timestamp:
07/31/2011 07:02:22 PM (15 years ago)
Author:
freedimensional
Message:

Major update - thousands more colour options via transparent images and CSS3 rounded corners. Integration with the new Subscription Options Add-on Pack.

Location:
subscription-options/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • subscription-options/trunk/GNU General Public License.txt

    r194297 r417645  
    11                    GNU GENERAL PUBLIC LICENSE
     2
    23                       Version 3, 29 June 2007
    34
     5
     6
    47 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
     8
    59 Everyone is permitted to copy and distribute verbatim copies
     10
    611 of this license document, but changing it is not allowed.
    712
     13
     14
    815                            Preamble
    916
     17
     18
    1019  The GNU General Public License is a free, copyleft license for
     20
    1121software and other kinds of works.
    1222
     23
     24
    1325  The licenses for most software and other practical works are designed
     26
    1427to take away your freedom to share and change the works.  By contrast,
     28
    1529the GNU General Public License is intended to guarantee your freedom to
     30
    1631share and change all versions of a program--to make sure it remains free
     32
    1733software for all its users.  We, the Free Software Foundation, use the
     34
    1835GNU General Public License for most of our software; it applies also to
     36
    1937any other work released this way by its authors.  You can apply it to
     38
    2039your programs, too.
    2140
     41
     42
    2243  When we speak of free software, we are referring to freedom, not
     44
    2345price.  Our General Public Licenses are designed to make sure that you
     46
    2447have the freedom to distribute copies of free software (and charge for
     48
    2549them if you wish), that you receive source code or can get it if you
     50
    2651want it, that you can change the software or use pieces of it in new
     52
    2753free programs, and that you know you can do these things.
    2854
     55
     56
    2957  To protect your rights, we need to prevent others from denying you
     58
    3059these rights or asking you to surrender the rights.  Therefore, you have
     60
    3161certain responsibilities if you distribute copies of the software, or if
     62
    3263you modify it: responsibilities to respect the freedom of others.
    3364
     65
     66
    3467  For example, if you distribute copies of such a program, whether
     68
    3569gratis or for a fee, you must pass on to the recipients the same
     70
    3671freedoms that you received.  You must make sure that they, too, receive
     72
    3773or can get the source code.  And you must show them these terms so they
     74
    3875know their rights.
    3976
     77
     78
    4079  Developers that use the GNU GPL protect your rights with two steps:
     80
    4181(1) assert copyright on the software, and (2) offer you this License
     82
    4283giving you legal permission to copy, distribute and/or modify it.
    4384
     85
     86
    4487  For the developers' and authors' protection, the GPL clearly explains
     88
    4589that there is no warranty for this free software.  For both users' and
     90
    4691authors' sake, the GPL requires that modified versions be marked as
     92
    4793changed, so that their problems will not be attributed erroneously to
     94
    4895authors of previous versions.
    4996
     97
     98
    5099  Some devices are designed to deny users access to install or run
     100
    51101modified versions of the software inside them, although the manufacturer
     102
    52103can do so.  This is fundamentally incompatible with the aim of
     104
    53105protecting users' freedom to change the software.  The systematic
     106
    54107pattern of such abuse occurs in the area of products for individuals to
     108
    55109use, which is precisely where it is most unacceptable.  Therefore, we
     110
    56111have designed this version of the GPL to prohibit the practice for those
     112
    57113products.  If such problems arise substantially in other domains, we
     114
    58115stand ready to extend this provision to those domains in future versions
     116
    59117of the GPL, as needed to protect the freedom of users.
    60118
     119
     120
    61121  Finally, every program is threatened constantly by software patents.
     122
    62123States should not allow patents to restrict development and use of
     124
    63125software on general-purpose computers, but in those that do, we wish to
     126
    64127avoid the special danger that patents applied to a free program could
     128
    65129make it effectively proprietary.  To prevent this, the GPL assures that
     130
    66131patents cannot be used to render the program non-free.
    67132
     133
     134
    68135  The precise terms and conditions for copying, distribution and
     136
    69137modification follow.
    70138
     139
     140
    71141                       TERMS AND CONDITIONS
    72142
     143
     144
    73145  0. Definitions.
    74146
     147
     148
    75149  "This License" refers to version 3 of the GNU General Public License.
    76150
     151
     152
    77153  "Copyright" also means copyright-like laws that apply to other kinds of
     154
    78155works, such as semiconductor masks.
    79156
     157
     158
    80159  "The Program" refers to any copyrightable work licensed under this
     160
    81161License.  Each licensee is addressed as "you".  "Licensees" and
     162
    82163"recipients" may be individuals or organizations.
    83164
     165
     166
    84167  To "modify" a work means to copy from or adapt all or part of the work
     168
    85169in a fashion requiring copyright permission, other than the making of an
     170
    86171exact copy.  The resulting work is called a "modified version" of the
     172
    87173earlier work or a work "based on" the earlier work.
    88174
     175
     176
    89177  A "covered work" means either the unmodified Program or a work based
     178
    90179on the Program.
    91180
     181
     182
    92183  To "propagate" a work means to do anything with it that, without
     184
    93185permission, would make you directly or secondarily liable for
     186
    94187infringement under applicable copyright law, except executing it on a
     188
    95189computer or modifying a private copy.  Propagation includes copying,
     190
    96191distribution (with or without modification), making available to the
     192
    97193public, and in some countries other activities as well.
    98194
     195
     196
    99197  To "convey" a work means any kind of propagation that enables other
     198
    100199parties to make or receive copies.  Mere interaction with a user through
     200
    101201a computer network, with no transfer of a copy, is not conveying.
    102202
     203
     204
    103205  An interactive user interface displays "Appropriate Legal Notices"
     206
    104207to the extent that it includes a convenient and prominently visible
     208
    105209feature that (1) displays an appropriate copyright notice, and (2)
     210
    106211tells the user that there is no warranty for the work (except to the
     212
    107213extent that warranties are provided), that licensees may convey the
     214
    108215work under this License, and how to view a copy of this License.  If
     216
    109217the interface presents a list of user commands or options, such as a
     218
    110219menu, a prominent item in the list meets this criterion.
    111220
     221
     222
    112223  1. Source Code.
    113224
     225
     226
    114227  The "source code" for a work means the preferred form of the work
     228
    115229for making modifications to it.  "Object code" means any non-source
     230
    116231form of a work.
    117232
     233
     234
    118235  A "Standard Interface" means an interface that either is an official
     236
    119237standard defined by a recognized standards body, or, in the case of
     238
    120239interfaces specified for a particular programming language, one that
     240
    121241is widely used among developers working in that language.
    122242
     243
     244
    123245  The "System Libraries" of an executable work include anything, other
     246
    124247than the work as a whole, that (a) is included in the normal form of
     248
    125249packaging a Major Component, but which is not part of that Major
     250
    126251Component, and (b) serves only to enable use of the work with that
     252
    127253Major Component, or to implement a Standard Interface for which an
     254
    128255implementation is available to the public in source code form.  A
     256
    129257"Major Component", in this context, means a major essential component
     258
    130259(kernel, window system, and so on) of the specific operating system
     260
    131261(if any) on which the executable work runs, or a compiler used to
     262
    132263produce the work, or an object code interpreter used to run it.
    133264
     265
     266
    134267  The "Corresponding Source" for a work in object code form means all
     268
    135269the source code needed to generate, install, and (for an executable
     270
    136271work) run the object code and to modify the work, including scripts to
     272
    137273control those activities.  However, it does not include the work's
     274
    138275System Libraries, or general-purpose tools or generally available free
     276
    139277programs which are used unmodified in performing those activities but
     278
    140279which are not part of the work.  For example, Corresponding Source
     280
    141281includes interface definition files associated with source files for
     282
    142283the work, and the source code for shared libraries and dynamically
     284
    143285linked subprograms that the work is specifically designed to require,
     286
    144287such as by intimate data communication or control flow between those
     288
    145289subprograms and other parts of the work.
    146290
     291
     292
    147293  The Corresponding Source need not include anything that users
     294
    148295can regenerate automatically from other parts of the Corresponding
     296
    149297Source.
    150298
     299
     300
    151301  The Corresponding Source for a work in source code form is that
     302
    152303same work.
    153304
     305
     306
    154307  2. Basic Permissions.
    155308
     309
     310
    156311  All rights granted under this License are granted for the term of
     312
    157313copyright on the Program, and are irrevocable provided the stated
     314
    158315conditions are met.  This License explicitly affirms your unlimited
     316
    159317permission to run the unmodified Program.  The output from running a
     318
    160319covered work is covered by this License only if the output, given its
     320
    161321content, constitutes a covered work.  This License acknowledges your
     322
    162323rights of fair use or other equivalent, as provided by copyright law.
    163324
     325
     326
    164327  You may make, run and propagate covered works that you do not
     328
    165329convey, without conditions so long as your license otherwise remains
     330
    166331in force.  You may convey covered works to others for the sole purpose
     332
    167333of having them make modifications exclusively for you, or provide you
     334
    168335with facilities for running those works, provided that you comply with
     336
    169337the terms of this License in conveying all material for which you do
     338
    170339not control copyright.  Those thus making or running the covered works
     340
    171341for you must do so exclusively on your behalf, under your direction
     342
    172343and control, on terms that prohibit them from making any copies of
     344
    173345your copyrighted material outside their relationship with you.
    174346
     347
     348
    175349  Conveying under any other circumstances is permitted solely under
     350
    176351the conditions stated below.  Sublicensing is not allowed; section 10
     352
    177353makes it unnecessary.
    178354
     355
     356
    179357  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    180358
     359
     360
    181361  No covered work shall be deemed part of an effective technological
     362
    182363measure under any applicable law fulfilling obligations under article
     364
    18336511 of the WIPO copyright treaty adopted on 20 December 1996, or
     366
    184367similar laws prohibiting or restricting circumvention of such
     368
    185369measures.
    186370
     371
     372
    187373  When you convey a covered work, you waive any legal power to forbid
     374
    188375circumvention of technological measures to the extent such circumvention
     376
    189377is effected by exercising rights under this License with respect to
     378
    190379the covered work, and you disclaim any intention to limit operation or
     380
    191381modification of the work as a means of enforcing, against the work's
     382
    192383users, your or third parties' legal rights to forbid circumvention of
     384
    193385technological measures.
    194386
     387
     388
    195389  4. Conveying Verbatim Copies.
    196390
     391
     392
    197393  You may convey verbatim copies of the Program's source code as you
     394
    198395receive it, in any medium, provided that you conspicuously and
     396
    199397appropriately publish on each copy an appropriate copyright notice;
     398
    200399keep intact all notices stating that this License and any
     400
    201401non-permissive terms added in accord with section 7 apply to the code;
     402
    202403keep intact all notices of the absence of any warranty; and give all
     404
    203405recipients a copy of this License along with the Program.
    204406
     407
     408
    205409  You may charge any price or no price for each copy that you convey,
     410
    206411and you may offer support or warranty protection for a fee.
    207412
     413
     414
    208415  5. Conveying Modified Source Versions.
    209416
     417
     418
    210419  You may convey a work based on the Program, or the modifications to
     420
    211421produce it from the Program, in the form of source code under the
     422
    212423terms of section 4, provided that you also meet all of these conditions:
    213424
     425
     426
    214427    a) The work must carry prominent notices stating that you modified
     428
    215429    it, and giving a relevant date.
    216430
     431
     432
    217433    b) The work must carry prominent notices stating that it is
     434
    218435    released under this License and any conditions added under section
     436
    219437    7.  This requirement modifies the requirement in section 4 to
     438
    220439    "keep intact all notices".
    221440
     441
     442
    222443    c) You must license the entire work, as a whole, under this
     444
    223445    License to anyone who comes into possession of a copy.  This
     446
    224447    License will therefore apply, along with any applicable section 7
     448
    225449    additional terms, to the whole of the work, and all its parts,
     450
    226451    regardless of how they are packaged.  This License gives no
     452
    227453    permission to license the work in any other way, but it does not
     454
    228455    invalidate such permission if you have separately received it.
    229456
     457
     458
    230459    d) If the work has interactive user interfaces, each must display
     460
    231461    Appropriate Legal Notices; however, if the Program has interactive
     462
    232463    interfaces that do not display Appropriate Legal Notices, your
     464
    233465    work need not make them do so.
    234466
     467
     468
    235469  A compilation of a covered work with other separate and independent
     470
    236471works, which are not by their nature extensions of the covered work,
     472
    237473and which are not combined with it such as to form a larger program,
     474
    238475in or on a volume of a storage or distribution medium, is called an
     476
    239477"aggregate" if the compilation and its resulting copyright are not
     478
    240479used to limit the access or legal rights of the compilation's users
     480
    241481beyond what the individual works permit.  Inclusion of a covered work
     482
    242483in an aggregate does not cause this License to apply to the other
     484
    243485parts of the aggregate.
    244486
     487
     488
    245489  6. Conveying Non-Source Forms.
    246490
     491
     492
    247493  You may convey a covered work in object code form under the terms
     494
    248495of sections 4 and 5, provided that you also convey the
     496
    249497machine-readable Corresponding Source under the terms of this License,
     498
    250499in one of these ways:
    251500
     501
     502
    252503    a) Convey the object code in, or embodied in, a physical product
     504
    253505    (including a physical distribution medium), accompanied by the
     506
    254507    Corresponding Source fixed on a durable physical medium
     508
    255509    customarily used for software interchange.
    256510
     511
     512
    257513    b) Convey the object code in, or embodied in, a physical product
     514
    258515    (including a physical distribution medium), accompanied by a
     516
    259517    written offer, valid for at least three years and valid for as
     518
    260519    long as you offer spare parts or customer support for that product
     520
    261521    model, to give anyone who possesses the object code either (1) a
     522
    262523    copy of the Corresponding Source for all the software in the
     524
    263525    product that is covered by this License, on a durable physical
     526
    264527    medium customarily used for software interchange, for a price no
     528
    265529    more than your reasonable cost of physically performing this
     530
    266531    conveying of source, or (2) access to copy the
     532
    267533    Corresponding Source from a network server at no charge.
    268534
     535
     536
    269537    c) Convey individual copies of the object code with a copy of the
     538
    270539    written offer to provide the Corresponding Source.  This
     540
    271541    alternative is allowed only occasionally and noncommercially, and
     542
    272543    only if you received the object code with such an offer, in accord
     544
    273545    with subsection 6b.
    274546
     547
     548
    275549    d) Convey the object code by offering access from a designated
     550
    276551    place (gratis or for a charge), and offer equivalent access to the
     552
    277553    Corresponding Source in the same way through the same place at no
     554
    278555    further charge.  You need not require recipients to copy the
     556
    279557    Corresponding Source along with the object code.  If the place to
     558
    280559    copy the object code is a network server, the Corresponding Source
     560
    281561    may be on a different server (operated by you or a third party)
     562
    282563    that supports equivalent copying facilities, provided you maintain
     564
    283565    clear directions next to the object code saying where to find the
     566
    284567    Corresponding Source.  Regardless of what server hosts the
     568
    285569    Corresponding Source, you remain obligated to ensure that it is
     570
    286571    available for as long as needed to satisfy these requirements.
    287572
     573
     574
    288575    e) Convey the object code using peer-to-peer transmission, provided
     576
    289577    you inform other peers where the object code and Corresponding
     578
    290579    Source of the work are being offered to the general public at no
     580
    291581    charge under subsection 6d.
    292582
     583
     584
    293585  A separable portion of the object code, whose source code is excluded
     586
    294587from the Corresponding Source as a System Library, need not be
     588
    295589included in conveying the object code work.
    296590
     591
     592
    297593  A "User Product" is either (1) a "consumer product", which means any
     594
    298595tangible personal property which is normally used for personal, family,
     596
    299597or household purposes, or (2) anything designed or sold for incorporation
     598
    300599into a dwelling.  In determining whether a product is a consumer product,
     600
    301601doubtful cases shall be resolved in favor of coverage.  For a particular
     602
    302603product received by a particular user, "normally used" refers to a
     604
    303605typical or common use of that class of product, regardless of the status
     606
    304607of the particular user or of the way in which the particular user
     608
    305609actually uses, or expects or is expected to use, the product.  A product
     610
    306611is a consumer product regardless of whether the product has substantial
     612
    307613commercial, industrial or non-consumer uses, unless such uses represent
     614
    308615the only significant mode of use of the product.
    309616
     617
     618
    310619  "Installation Information" for a User Product means any methods,
     620
    311621procedures, authorization keys, or other information required to install
     622
    312623and execute modified versions of a covered work in that User Product from
     624
    313625a modified version of its Corresponding Source.  The information must
     626
    314627suffice to ensure that the continued functioning of the modified object
     628
    315629code is in no case prevented or interfered with solely because
     630
    316631modification has been made.
    317632
     633
     634
    318635  If you convey an object code work under this section in, or with, or
     636
    319637specifically for use in, a User Product, and the conveying occurs as
     638
    320639part of a transaction in which the right of possession and use of the
     640
    321641User Product is transferred to the recipient in perpetuity or for a
     642
    322643fixed term (regardless of how the transaction is characterized), the
     644
    323645Corresponding Source conveyed under this section must be accompanied
     646
    324647by the Installation Information.  But this requirement does not apply
     648
    325649if neither you nor any third party retains the ability to install
     650
    326651modified object code on the User Product (for example, the work has
     652
    327653been installed in ROM).
    328654
     655
     656
    329657  The requirement to provide Installation Information does not include a
     658
    330659requirement to continue to provide support service, warranty, or updates
     660
    331661for a work that has been modified or installed by the recipient, or for
     662
    332663the User Product in which it has been modified or installed.  Access to a
     664
    333665network may be denied when the modification itself materially and
     666
    334667adversely affects the operation of the network or violates the rules and
     668
    335669protocols for communication across the network.
    336670
     671
     672
    337673  Corresponding Source conveyed, and Installation Information provided,
     674
    338675in accord with this section must be in a format that is publicly
     676
    339677documented (and with an implementation available to the public in
     678
    340679source code form), and must require no special password or key for
     680
    341681unpacking, reading or copying.
    342682
     683
     684
    343685  7. Additional Terms.
    344686
     687
     688
    345689  "Additional permissions" are terms that supplement the terms of this
     690
    346691License by making exceptions from one or more of its conditions.
     692
    347693Additional permissions that are applicable to the entire Program shall
     694
    348695be treated as though they were included in this License, to the extent
     696
    349697that they are valid under applicable law.  If additional permissions
     698
    350699apply only to part of the Program, that part may be used separately
     700
    351701under those permissions, but the entire Program remains governed by
     702
    352703this License without regard to the additional permissions.
    353704
     705
     706
    354707  When you convey a copy of a covered work, you may at your option
     708
    355709remove any additional permissions from that copy, or from any part of
     710
    356711it.  (Additional permissions may be written to require their own
     712
    357713removal in certain cases when you modify the work.)  You may place
     714
    358715additional permissions on material, added by you to a covered work,
     716
    359717for which you have or can give appropriate copyright permission.
    360718
     719
     720
    361721  Notwithstanding any other provision of this License, for material you
     722
    362723add to a covered work, you may (if authorized by the copyright holders of
     724
    363725that material) supplement the terms of this License with terms:
    364726
     727
     728
    365729    a) Disclaiming warranty or limiting liability differently from the
     730
    366731    terms of sections 15 and 16 of this License; or
    367732
     733
     734
    368735    b) Requiring preservation of specified reasonable legal notices or
     736
    369737    author attributions in that material or in the Appropriate Legal
     738
    370739    Notices displayed by works containing it; or
    371740
     741
     742
    372743    c) Prohibiting misrepresentation of the origin of that material, or
     744
    373745    requiring that modified versions of such material be marked in
     746
    374747    reasonable ways as different from the original version; or
    375748
     749
     750
    376751    d) Limiting the use for publicity purposes of names of licensors or
     752
    377753    authors of the material; or
    378754
     755
     756
    379757    e) Declining to grant rights under trademark law for use of some
     758
    380759    trade names, trademarks, or service marks; or
    381760
     761
     762
    382763    f) Requiring indemnification of licensors and authors of that
     764
    383765    material by anyone who conveys the material (or modified versions of
     766
    384767    it) with contractual assumptions of liability to the recipient, for
     768
    385769    any liability that these contractual assumptions directly impose on
     770
    386771    those licensors and authors.
    387772
     773
     774
    388775  All other non-permissive additional terms are considered "further
     776
    389777restrictions" within the meaning of section 10.  If the Program as you
     778
    390779received it, or any part of it, contains a notice stating that it is
     780
    391781governed by this License along with a term that is a further
     782
    392783restriction, you may remove that term.  If a license document contains
     784
    393785a further restriction but permits relicensing or conveying under this
     786
    394787License, you may add to a covered work material governed by the terms
     788
    395789of that license document, provided that the further restriction does
     790
    396791not survive such relicensing or conveying.
    397792
     793
     794
    398795  If you add terms to a covered work in accord with this section, you
     796
    399797must place, in the relevant source files, a statement of the
     798
    400799additional terms that apply to those files, or a notice indicating
     800
    401801where to find the applicable terms.
    402802
     803
     804
    403805  Additional terms, permissive or non-permissive, may be stated in the
     806
    404807form of a separately written license, or stated as exceptions;
     808
    405809the above requirements apply either way.
    406810
     811
     812
    407813  8. Termination.
    408814
     815
     816
    409817  You may not propagate or modify a covered work except as expressly
     818
    410819provided under this License.  Any attempt otherwise to propagate or
     820
    411821modify it is void, and will automatically terminate your rights under
     822
    412823this License (including any patent licenses granted under the third
     824
    413825paragraph of section 11).
    414826
     827
     828
    415829  However, if you cease all violation of this License, then your
     830
    416831license from a particular copyright holder is reinstated (a)
     832
    417833provisionally, unless and until the copyright holder explicitly and
     834
    418835finally terminates your license, and (b) permanently, if the copyright
     836
    419837holder fails to notify you of the violation by some reasonable means
     838
    420839prior to 60 days after the cessation.
    421840
     841
     842
    422843  Moreover, your license from a particular copyright holder is
     844
    423845reinstated permanently if the copyright holder notifies you of the
     846
    424847violation by some reasonable means, this is the first time you have
     848
    425849received notice of violation of this License (for any work) from that
     850
    426851copyright holder, and you cure the violation prior to 30 days after
     852
    427853your receipt of the notice.
    428854
     855
     856
    429857  Termination of your rights under this section does not terminate the
     858
    430859licenses of parties who have received copies or rights from you under
     860
    431861this License.  If your rights have been terminated and not permanently
     862
    432863reinstated, you do not qualify to receive new licenses for the same
     864
    433865material under section 10.
    434866
     867
     868
    435869  9. Acceptance Not Required for Having Copies.
    436870
     871
     872
    437873  You are not required to accept this License in order to receive or
     874
    438875run a copy of the Program.  Ancillary propagation of a covered work
     876
    439877occurring solely as a consequence of using peer-to-peer transmission
     878
    440879to receive a copy likewise does not require acceptance.  However,
     880
    441881nothing other than this License grants you permission to propagate or
     882
    442883modify any covered work.  These actions infringe copyright if you do
     884
    443885not accept this License.  Therefore, by modifying or propagating a
     886
    444887covered work, you indicate your acceptance of this License to do so.
    445888
     889
     890
    446891  10. Automatic Licensing of Downstream Recipients.
    447892
     893
     894
    448895  Each time you convey a covered work, the recipient automatically
     896
    449897receives a license from the original licensors, to run, modify and
     898
    450899propagate that work, subject to this License.  You are not responsible
     900
    451901for enforcing compliance by third parties with this License.
    452902
     903
     904
    453905  An "entity transaction" is a transaction transferring control of an
     906
    454907organization, or substantially all assets of one, or subdividing an
     908
    455909organization, or merging organizations.  If propagation of a covered
     910
    456911work results from an entity transaction, each party to that
     912
    457913transaction who receives a copy of the work also receives whatever
     914
    458915licenses to the work the party's predecessor in interest had or could
     916
    459917give under the previous paragraph, plus a right to possession of the
     918
    460919Corresponding Source of the work from the predecessor in interest, if
     920
    461921the predecessor has it or can get it with reasonable efforts.
    462922
     923
     924
    463925  You may not impose any further restrictions on the exercise of the
     926
    464927rights granted or affirmed under this License.  For example, you may
     928
    465929not impose a license fee, royalty, or other charge for exercise of
     930
    466931rights granted under this License, and you may not initiate litigation
     932
    467933(including a cross-claim or counterclaim in a lawsuit) alleging that
     934
    468935any patent claim is infringed by making, using, selling, offering for
     936
    469937sale, or importing the Program or any portion of it.
    470938
     939
     940
    471941  11. Patents.
    472942
     943
     944
    473945  A "contributor" is a copyright holder who authorizes use under this
     946
    474947License of the Program or a work on which the Program is based.  The
     948
    475949work thus licensed is called the contributor's "contributor version".
    476950
     951
     952
    477953  A contributor's "essential patent claims" are all patent claims
     954
    478955owned or controlled by the contributor, whether already acquired or
     956
    479957hereafter acquired, that would be infringed by some manner, permitted
     958
    480959by this License, of making, using, or selling its contributor version,
     960
    481961but do not include claims that would be infringed only as a
     962
    482963consequence of further modification of the contributor version.  For
     964
    483965purposes of this definition, "control" includes the right to grant
     966
    484967patent sublicenses in a manner consistent with the requirements of
     968
    485969this License.
    486970
     971
     972
    487973  Each contributor grants you a non-exclusive, worldwide, royalty-free
     974
    488975patent license under the contributor's essential patent claims, to
     976
    489977make, use, sell, offer for sale, import and otherwise run, modify and
     978
    490979propagate the contents of its contributor version.
    491980
     981
     982
    492983  In the following three paragraphs, a "patent license" is any express
     984
    493985agreement or commitment, however denominated, not to enforce a patent
     986
    494987(such as an express permission to practice a patent or covenant not to
     988
    495989sue for patent infringement).  To "grant" such a patent license to a
     990
    496991party means to make such an agreement or commitment not to enforce a
     992
    497993patent against the party.
    498994
     995
     996
    499997  If you convey a covered work, knowingly relying on a patent license,
     998
    500999and the Corresponding Source of the work is not available for anyone
     1000
    5011001to copy, free of charge and under the terms of this License, through a
     1002
    5021003publicly available network server or other readily accessible means,
     1004
    5031005then you must either (1) cause the Corresponding Source to be so
     1006
    5041007available, or (2) arrange to deprive yourself of the benefit of the
     1008
    5051009patent license for this particular work, or (3) arrange, in a manner
     1010
    5061011consistent with the requirements of this License, to extend the patent
     1012
    5071013license to downstream recipients.  "Knowingly relying" means you have
     1014
    5081015actual knowledge that, but for the patent license, your conveying the
     1016
    5091017covered work in a country, or your recipient's use of the covered work
     1018
    5101019in a country, would infringe one or more identifiable patents in that
     1020
    5111021country that you have reason to believe are valid.
    5121022
     1023
     1024
    5131025  If, pursuant to or in connection with a single transaction or
     1026
    5141027arrangement, you convey, or propagate by procuring conveyance of, a
     1028
    5151029covered work, and grant a patent license to some of the parties
     1030
    5161031receiving the covered work authorizing them to use, propagate, modify
     1032
    5171033or convey a specific copy of the covered work, then the patent license
     1034
    5181035you grant is automatically extended to all recipients of the covered
     1036
    5191037work and works based on it.
    5201038
     1039
     1040
    5211041  A patent license is "discriminatory" if it does not include within
     1042
    5221043the scope of its coverage, prohibits the exercise of, or is
     1044
    5231045conditioned on the non-exercise of one or more of the rights that are
     1046
    5241047specifically granted under this License.  You may not convey a covered
     1048
    5251049work if you are a party to an arrangement with a third party that is
     1050
    5261051in the business of distributing software, under which you make payment
     1052
    5271053to the third party based on the extent of your activity of conveying
     1054
    5281055the work, and under which the third party grants, to any of the
     1056
    5291057parties who would receive the covered work from you, a discriminatory
     1058
    5301059patent license (a) in connection with copies of the covered work
     1060
    5311061conveyed by you (or copies made from those copies), or (b) primarily
     1062
    5321063for and in connection with specific products or compilations that
     1064
    5331065contain the covered work, unless you entered into that arrangement,
     1066
    5341067or that patent license was granted, prior to 28 March 2007.
    5351068
     1069
     1070
    5361071  Nothing in this License shall be construed as excluding or limiting
     1072
    5371073any implied license or other defenses to infringement that may
     1074
    5381075otherwise be available to you under applicable patent law.
    5391076
     1077
     1078
    5401079  12. No Surrender of Others' Freedom.
    5411080
     1081
     1082
    5421083  If conditions are imposed on you (whether by court order, agreement or
     1084
    5431085otherwise) that contradict the conditions of this License, they do not
     1086
    5441087excuse you from the conditions of this License.  If you cannot convey a
     1088
    5451089covered work so as to satisfy simultaneously your obligations under this
     1090
    5461091License and any other pertinent obligations, then as a consequence you may
     1092
    5471093not convey it at all.  For example, if you agree to terms that obligate you
     1094
    5481095to collect a royalty for further conveying from those to whom you convey
     1096
    5491097the Program, the only way you could satisfy both those terms and this
     1098
    5501099License would be to refrain entirely from conveying the Program.
    5511100
     1101
     1102
    5521103  13. Use with the GNU Affero General Public License.
    5531104
     1105
     1106
    5541107  Notwithstanding any other provision of this License, you have
     1108
    5551109permission to link or combine any covered work with a work licensed
     1110
    5561111under version 3 of the GNU Affero General Public License into a single
     1112
    5571113combined work, and to convey the resulting work.  The terms of this
     1114
    5581115License will continue to apply to the part which is the covered work,
     1116
    5591117but the special requirements of the GNU Affero General Public License,
     1118
    5601119section 13, concerning interaction through a network will apply to the
     1120
    5611121combination as such.
    5621122
     1123
     1124
    5631125  14. Revised Versions of this License.
    5641126
     1127
     1128
    5651129  The Free Software Foundation may publish revised and/or new versions of
     1130
    5661131the GNU General Public License from time to time.  Such new versions will
     1132
    5671133be similar in spirit to the present version, but may differ in detail to
     1134
    5681135address new problems or concerns.
    5691136
     1137
     1138
    5701139  Each version is given a distinguishing version number.  If the
     1140
    5711141Program specifies that a certain numbered version of the GNU General
     1142
    5721143Public License "or any later version" applies to it, you have the
     1144
    5731145option of following the terms and conditions either of that numbered
     1146
    5741147version or of any later version published by the Free Software
     1148
    5751149Foundation.  If the Program does not specify a version number of the
     1150
    5761151GNU General Public License, you may choose any version ever published
     1152
    5771153by the Free Software Foundation.
    5781154
     1155
     1156
    5791157  If the Program specifies that a proxy can decide which future
     1158
    5801159versions of the GNU General Public License can be used, that proxy's
     1160
    5811161public statement of acceptance of a version permanently authorizes you
     1162
    5821163to choose that version for the Program.
    5831164
     1165
     1166
    5841167  Later license versions may give you additional or different
     1168
    5851169permissions.  However, no additional obligations are imposed on any
     1170
    5861171author or copyright holder as a result of your choosing to follow a
     1172
    5871173later version.
    5881174
     1175
     1176
    5891177  15. Disclaimer of Warranty.
    5901178
     1179
     1180
    5911181  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
     1182
    5921183APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
     1184
    5931185HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
     1186
    5941187OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
     1188
    5951189THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     1190
    5961191PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
     1192
    5971193IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
     1194
    5981195ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    5991196
     1197
     1198
    6001199  16. Limitation of Liability.
    6011200
     1201
     1202
    6021203  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
     1204
    6031205WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
     1206
    6041207THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
     1208
    6051209GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
     1210
    6061211USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
     1212
    6071213DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
     1214
    6081215PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
     1216
    6091217EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
     1218
    6101219SUCH DAMAGES.
    6111220
     1221
     1222
    6121223  17. Interpretation of Sections 15 and 16.
    6131224
     1225
     1226
    6141227  If the disclaimer of warranty and limitation of liability provided
     1228
    6151229above cannot be given local legal effect according to their terms,
     1230
    6161231reviewing courts shall apply local law that most closely approximates
     1232
    6171233an absolute waiver of all civil liability in connection with the
     1234
    6181235Program, unless a warranty or assumption of liability accompanies a
     1236
    6191237copy of the Program in return for a fee.
    6201238
     1239
     1240
    6211241                     END OF TERMS AND CONDITIONS
    6221242
     1243
     1244
    6231245            How to Apply These Terms to Your New Programs
    6241246
     1247
     1248
    6251249  If you develop a new program, and you want it to be of the greatest
     1250
    6261251possible use to the public, the best way to achieve this is to make it
     1252
    6271253free software which everyone can redistribute and change under these terms.
    6281254
     1255
     1256
    6291257  To do so, attach the following notices to the program.  It is safest
     1258
    6301259to attach them to the start of each source file to most effectively
     1260
    6311261state the exclusion of warranty; and each file should have at least
     1262
    6321263the "copyright" line and a pointer to where the full notice is found.
    6331264
     1265
     1266
    6341267    <one line to give the program's name and a brief idea of what it does.>
     1268
    6351269    Copyright (C) <year>  <name of author>
    6361270
     1271
     1272
    6371273    This program is free software: you can redistribute it and/or modify
     1274
    6381275    it under the terms of the GNU General Public License as published by
     1276
    6391277    the Free Software Foundation, either version 3 of the License, or
     1278
    6401279    (at your option) any later version.
    6411280
     1281
     1282
    6421283    This program is distributed in the hope that it will be useful,
     1284
    6431285    but WITHOUT ANY WARRANTY; without even the implied warranty of
     1286
    6441287    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     1288
    6451289    GNU General Public License for more details.
    6461290
     1291
     1292
    6471293    You should have received a copy of the GNU General Public License
     1294
    6481295    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    6491296
     1297
     1298
    6501299Also add information on how to contact you by electronic and paper mail.
    6511300
     1301
     1302
    6521303  If the program does terminal interaction, make it output a short
     1304
    6531305notice like this when it starts in an interactive mode:
    6541306
     1307
     1308
    6551309    Subscription Options  Copyright (C) 2009  Tom Saunter AKA freedimensional
     1310
    6561311    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     1312
    6571313    This is free software, and you are welcome to redistribute it
     1314
    6581315    under certain conditions; type `show c' for details.
    6591316
     1317
     1318
    6601319The hypothetical commands `show w' and `show c' should show the appropriate
     1320
    6611321parts of the General Public License.  Of course, your program's commands
     1322
    6621323might be different; for a GUI interface, you would use an "about box".
    6631324
     1325
     1326
    6641327  You should also get your employer (if you work as a programmer) or school,
     1328
    6651329if any, to sign a "copyright disclaimer" for the program, if necessary.
     1330
    6661331For more information on this, and how to apply and follow the GNU GPL, see
     1332
    6671333<http://www.gnu.org/licenses/>.
    6681334
     1335
     1336
    6691337  The GNU General Public License does not permit incorporating your program
     1338
    6701339into proprietary programs.  If your program is a subroutine library, you
     1340
    6711341may consider it more useful to permit linking proprietary applications with
     1342
    6721343the library.  If this is what you want to do, use the GNU Lesser General
     1344
    6731345Public License instead of this License.  But first, please read
     1346
    6741347<http://www.gnu.org/philosophy/why-not-lgpl.html>.
  • subscription-options/trunk/readme.txt

    r296198 r417645  
    11=== Subscription Options ===
     2
    23Contributors: Tom Saunter
     4
    35Donate link: http://bit.ly/donate_to_me
     6
    47Tags: subscription, subscribe, option, options, color, colour, colors, colours, feedburner, rss, feed, mail, email, service, twitter, stream, follow, facebook, page, delivery, icon, icons, widget, sidebar, settings
     8
    59Requires at least: 2.8
    6 Tested up to: 3.0
    7 Stable tag: 0.7.4
     10
     11Tested up to: 3.2
     12
     13Stable tag: 0.8
     14
     15
    816
    917Adds subscription option icons for your RSS Feed; your FeedBurner Email Service; your Twitter Stream and your Facebook page. Totally user-defined.
    1018
     19
     20
    1121== Description ==
     22
    1223The most common ways for people to subscribe to a blog and its content are through RSS, Email and Twitter. Facebook pages are increasing in usage too. This plugin places related subscription icons in a widget area and lets users enter their own feed or page URLs and select the colour of their icons. Its really simple but theres lots of power under the hood.
    1324
     25
     26
    1427= Features: =
     28
    1529* Offers an attractive range of subscription options for your readers using familiar-looking icons.
     30
    1631* Intuitive interface for editing options, including your feed or page URLs, widget title and icon sizes.
    17 * Independent handling across multiple widget instances, using WordPress 2.8's new widget_class coolness.
    18 * NEW in Version 0.6 - the ability to select between 12 colours.
    19 * NEW in Version 0.7 - now XHTML valid
     32
     33* Independent handling across multiple widget instances, using WordPress 2.8's widget_class coolness.
     34
     35* NEW in Version 0.8 – the ability to select any colour, via HEX code or [HTML Color Name](http://www.w3schools.com/html/html_colornames.asp).
     36
     37* NEW in Version 0.8 – integration with the brand new [Subscription Options Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack).
     38
     39
    2040
    2141== Installation ==
     42
    22431. Download the plugin by hitting that big red button to the right.
     44
    23452. Extract the files and place the entire 'subscription-options' folder into your wp_content/plugins directory.
     46
    24473. Go to your 'Installed Plugins' panel and activate 'Subscription Options'.
     48
    25494. You are now ready to use the widget.
    2650
     51
     52
    2753= Setup: =
     54
    2855* Go to your 'Appearance > Widgets' panel and select the widget area you wish for the plugin to appear in.
     56
    2957* Enter the following details:
     58
    30591. Widget Title
    31 2. RSS Feed URL & Colour ID
    32 3. Email Service URL & Colour ID
    33 4. Twitter Stream URL & Colour ID
    34 5. Facebook Page URL & Colour ID
     60
     612. RSS Feed URL & Colour
     62
     633. Email Service URL & Colour
     64
     654. Twitter Stream URL & Colour
     66
     675. Facebook Page URL & Colour
     68
    35696. Size of Feed Icons
    3670
    37 * Hit 'Save' then test the result. Change the icons' size and colour if necessary.
     71
    3872* Please note that you don't need to use all the icons - just don't enter a URL if you don't want an icon to show up.
    3973
     74* Please also note that you can use any HTML colour code, be it HEX code or [HTML Color Name](http://www.w3schools.com/html/html_colornames.asp).
     75
     76* Hit ‘Done’ then ‘Save Changes’. Test the appearance and perhaps change the size of the icons as necessary.
     77
     78* If you would like additional icons for LinkedIn, Flickr, Google+ or Podcasting, consider installing the [Subscription Options Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack) and a new set of subscription options will automatically appear in the widget options panel.
     79
    4080== Screenshots ==
     81
    41821.  This is how the plugin could look on your blog.
     83
    42842.  This is the widget options panel.
     85
    43863.  These are some example configurations.
    4487
     88
     89
    4590== Changelog ==
     91
    4692* 0.1.0 was the first iteration of what I promise will be a participatory experience
     93
    4794* 0.1.5 - added css classes for users to hook into and edit through their css sheets
     95
    4896* 0.2 - added user-defined header size and target of users' clicks
     97
    4998* 0.3 - updated icons to scale up to higher sizes without dithering
     99
    50100* 0.4 - switched to WP 2.8's widget_class functionality to really crank it up
     101
    51102* 0.5 - inclusion of a new subscription icon for Facebook, by popular demand
     103
    52104* 0.6 - implemented an icon colour changer with twelve options
     105
    53106* 0.7 - upgraded to pass XHTML 1.0 Transitional validation
     107
     108* 0.8 - full colour options & additional subscription icons based on user feedback
     109
    54110= Future Versions: =
    55 * 0.8 - more subscription icons based on user feedback
     111
     112* 0.9 – farbtastic or other java-based colour picker integration
     113
     114
    56115
    57116== Upgrade Notice ==
    58117
    59 = 0.6 =
    60 This new version will give you 12 colour options for each of your icons!
     118
     119
     120= 0.8 =
     121
     122This new version give you thousands of new colour options, using transparent icons and CSS3 rounded corners. As such, the widget looks best in modern CSS3-compatible web browsers, so please upgrade only if you are entirely comfortable with this.
     123
     124
    61125
    62126== Frequently Asked Questions ==
     127
    63128= Where do I put the widget? =
     129
    64130You can place the widget wherever you like as long as it is within a pre-defined widget area. I haven't worked out how to let people place the widget wherever they like. Let me know if you can help on my [contact page](http://digitalcortex.net/contact) though.
    65131
     132
     133
    66134= Can I style the widget in my own way? =
    67 Yes of course, it's WordPress! You can use your stylesheet.css to override your theme's default widget settings by using the following CSS classes:
    68135
    69 * the RSS feed icon > img.rss_icon
    70 * the email service icon > img.mail_icon
    71 * the twitter icon > img.twitter_icon
    72 * the facebook icon > img.facebook_icon
     136Yes of course, it’s WordPress! You can use your stylesheet.css or this widget’s internal stylesheet to override your theme’s default widget settings by using the following CSS classes:
     137
     138* img.suboptions-icon – all icons (useful for setting alignment or spacing)
     139
     140* img.rss-icon – the RSS feed icon
     141
     142* img.email-icon – the email service icon
     143
     144* img.twitter-icon – the Twitter icon
     145
     146* img.facebook-icon – the Facebook icon
     147
     148
    73149
    74150Please note that the icons' sizes will still need to be set from within the widget admin panel. CSS doesn't let you override that.
    75151
     152
     153
     154= Why don't my icons have nice rounded corners any more? =
     155
     156The latest version of this plugin gives you thousands of new colour options, using transparent icons and CSS3 rounded corners. As such, the widget looks best in modern CSS3-compatible web browsers such as Firefox, Google Chrome or IE9. If you are not entirely comfortable with this, you can always roll back to an [older version](http://wordpress.org/extend/plugins/subscription-options/download).
     157
     158
     159
     160= How do I find my Feedburner Email Service URL? =
     161
     162The clickstream from within Feedburner looks like this: Publicize > Email Subscriptions > Activate. Then right click and copy the text that says 'Preview Subscription Link
     163' That's your Feedburner Email Service URL... BOOM!
     164
     165
     166
    76167= Where can I find more help and support? =
     168
    77169Just email me from the contact page on [my blog](http://digitalcortex.net/contact) or leave a comment [right here](http://digitalcortex.net/plugins/subscription-options). I'll be happy to help where possible.
    78170
     171
     172
    79173= I'm a fan of this plugin. What are my options? =
     174
    80175[Digital Cortex](http://digitalcortex.net) ([rss](http://feeds.feedburner.com/digitalcortex)) is actively seeking new fans & followers on [Facebook](http://facebook.com/digitalcortex) and [Twitter](http://twitter.com/freedimensional) if you fancy it?
    81176
     177
     178
    82179= How can I support the development of this plugin? =
    83 Thank you so much for asking. Here is a link to where you can contribute to the development fund: [Donate](http://bit.ly/donate_to_me)
     180
     181Thank you so much for asking. There are a couple of options. You can purchase the [Subscription Options Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack) for $1.50, or you can [donate here](http://bit.ly/donate_to_me) without upgrading.
  • subscription-options/trunk/suboptions.php

    r296198 r417645  
    11<?php
     2
     3
     4
    25/**
     6
    37 * Plugin Name: Subscription Options
     8
    49 * Plugin URI: http://digitalcortex.net/plugins/subscription-options
    5  * Description: Adds subscription option icons for your RSS Feed; your FeedBurner Email Service; your Twitter Stream and even your Facebook page. 12 colour options. Totally user-defined.
    6  * Version: 0.7.4
     10
     11 * Description: Adds subscription option icons for your RSS Feed; your FeedBurner Email Service; your Twitter Stream and even your Facebook page. Thousands of colour options. Totally user-defined. Also available: <a title="Upgrade for only $1.50" target="_blank" href="http://digitalcortex.net/plugins/subscription-options/addon-pack">The Subscription Options Add-on Pack</a>!
     12
     13 * Version: 0.8
     14
    715 * Author: Tom Saunter
     16
    817 * Author URI: http://digitalcortex.net
     18
    919 *
     20
    1021 * This program is free software: you can redistribute it and/or modify
     22
    1123 * it under the terms of the GNU General Public License as published by
     24
    1225 * the Free Software Foundation, either version 3 of the License, or
     26
    1327 * (at your option) any later version.
     28
    1429 *
     30
    1531 * This program is distributed in the hope that it will be useful,
     32
    1633 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     34
    1735 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     36
    1837 * GNU General Public License for more details.
     38
    1939 *
     40
    2041 * You should have received a copy of the GNU General Public License
     42
    2143 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     44
    2245 */
    2346
     47 
     48
    2449/**
    25  * Add function to widgets_init that will load the widget.
     50
     51 * Add functions that will load the widget.
     52
    2653 */
     54
    2755add_action( 'widgets_init', 'suboptions_load_widgets' );
    2856
     57
     58
    2959/**
     60
    3061 * Register the widget.
     62
    3163 * 'suboptions_widget' is the widget class used below.
     64
    3265 */
     66
    3367function suboptions_load_widgets() {
     68
    3469    register_widget( 'suboptions_widget' );
     70
    3571}
    3672
     73
     74
    3775/**
     76
    3877 * Extends the widget class.
     78
    3979 * This class handles everything that needs to be handled with the widget:
     80
    4081 * the settings, form, display, and update. Nice!
     82
    4183 */
     84
    4285class suboptions_widget extends WP_Widget {
    4386
     87
     88
    4489    /**
     90
    4591     * Widget setup.
     92
    4693     */
     94
    4795    function suboptions_widget() {
     96
    4897        /* Widget settings. */
     98
    4999        $widget_ops = array( 'classname' => 'suboptions', 'description' => __('Add subscription options for your readers with related feed icons', 'suboptions') );
    50100
     101
     102
    51103        /* Widget control settings. */
    52         $control_ops = array( 'width' => 260, 'height' => 350, 'id_base' => 'suboptions-widget' );
     104
     105        $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'suboptions-widget' );
     106
     107
    53108
    54109        /* Create the widget. */
     110
    55111        $this->WP_Widget( 'suboptions-widget', __('Subscription Options', 'suboptions'), $widget_ops, $control_ops );
     112
    56113    }
    57114
     115   
     116
    58117    /**
     118
    59119     * Display the widget on the screen.
     120
    60121     */
     122
    61123    function widget( $args, $instance ) {
     124
    62125        extract( $args );
    63126
    64         /* Variables from the widget settings. */
     127
     128
     129        /* Variables for the standard widget. */
     130
    65131        $title = apply_filters('widget_title', $instance['title'] );
     132
     133        $size = $instance['size'];
     134
    66135        $rss_url = $instance['rss_url'];
    67         $mail_url = $instance['mail_url'];
     136
     137        $rss_col = $instance['rss_col'];
     138
     139        $email_url = $instance['email_url'];
     140
     141        $email_col = $instance['email_col'];
     142
    68143        $twitter_url = $instance['twitter_url'];
     144
     145        $twitter_col = $instance['twitter_col'];
     146
    69147        $facebook_url = $instance['facebook_url'];
    70         $size = $instance['size'];
    71         $rss_col = $instance['rss_col'];
    72         $mail_col = $instance['mail_col'];
    73         $twitter_col = $instance['twitter_col'];
     148
    74149        $facebook_col = $instance['facebook_col'];
    75150
     151
     152
     153        /* Variables for the add-on pack. */
     154
     155        $linkedin_url = $instance['linkedin_url'];
     156
     157        $linkedin_col = $instance['linkedin_col'];
     158
     159        $flickr_url = $instance['flickr_url'];
     160
     161        $flickr_col = $instance['flickr_col'];
     162
     163        $google_url = $instance['google_url'];
     164
     165        $google_col = $instance['google_col'];
     166
     167        $podcast_url = $instance['podcast_url'];
     168
     169        $podcast_col = $instance['podcast_col'];
     170
     171
     172
    76173        /* Before widget (defined by themes). */
     174
    77175        echo $before_widget;
    78176
     177
     178
    79179        /* Display the widget title if one was input (before and after defined by themes). */
     180
    80181        if ( $title )
     182
    81183            echo $before_title . $title . $after_title;
    82184
     185
     186
    83187        /* If an RSS Feed URL was entered, display the RSS icon. */         
     188
    84189        if ( $rss_url )
    85             echo '<a target="_blank" title="Subscribe via RSS" href="'.$rss_url.'"><img class="rss_icon" alt="Subscribe via RSS" style="border: 0px none; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/feed_icon_'.$rss_col.'.png"/> </a>';
     190
     191            echo '<a target="_blank" title="Subscribe via RSS" href="'.$rss_url.'"><img class="suboptions-icon rounded-corners rss-icon" alt="Subscribe via RSS" style="background: '.$rss_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/rss_transparent.png"/> </a>';
     192
    86193               
     194
    87195        /* If a FeedBurner Email Service URL was entered, display the email icon. */           
    88         if ( $mail_url )
    89             echo '<a target="_blank" title="Subscribe via Email" href="'.$mail_url.'"><img alt="Subscribe via Email" class="mail_icon" style="border: 0px none; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/mail_icon_'.$mail_col.'.png"/> </a>';
     196
     197        if ( $email_url )
     198
     199            echo '<a target="_blank" title="Subscribe via Email" href="'.$email_url.'"><img class="suboptions-icon rounded-corners email-icon" alt="Subscribe via Email" style="background: '.$email_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/email_transparent.png"/> </a>';
     200
    90201           
     202
    91203        /* If a Twitter Stream URL was entered, display the Twitter icon. */           
     204
    92205        if ( $twitter_url )
    93             echo '<a target="_blank" title="Subscribe via Twitter" href="'.$twitter_url.'"><img alt="Subscribe via Twitter" class="twitter_icon" style="border: 0px none; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/twitter_icon_'.$twitter_col.'.png"/> </a>';
     206
     207            echo '<a target="_blank" title="Subscribe via Twitter" href="'.$twitter_url.'"><img class="suboptions-icon rounded-corners twitter-icon" alt="Subscribe via Twitter" style="background: '.$twitter_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/twitter_transparent.png"/> </a>';
     208
     209           
    94210
    95211        /* If a Facebook Page URL was entered, display the Facebook icon. */           
     212
    96213        if ( $facebook_url )
    97             echo '<a target="_blank" title="Subscribe via Facebook" href="'.$facebook_url.'"><img alt="Subscribe via Facebook" class="facebook_icon" style="border: 0px none; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/facebook_icon_'.$facebook_col.'.png"/> </a>';
     214
     215            echo '<a target="_blank" title="Subscribe via Facebook" href="'.$facebook_url.'"><img class="suboptions-icon rounded-corners facebook-icon" alt="Subscribe via Facebook" style="background: '.$facebook_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/facebook_transparent.png"/> </a>';
     216
     217       
     218
     219        /* If a LinkedIn Profile URL was entered, display the LinkedIn icon. */         
     220
     221        if ( $linkedin_url )
     222
     223            echo '<a target="_blank" title="Subscribe via LinkedIn" href="'.$linkedin_url.'"><img class="suboptions-icon rounded-corners linkedin_icon" alt="Subscribe via LinkedIn" style="background: '.$linkedin_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/linkedin_transparent.png"/> </a>';
     224
     225
     226
     227        /* If a Flickr Page URL was entered, display the Flickr icon. */           
     228
     229        if ( $flickr_url )
     230
     231            echo '<a target="_blank" title="Subscribe via Flickr" href="'.$flickr_url.'"><img class="suboptions-icon rounded-corners flickr_icon" alt="Subscribe via Flickr" style="background: '.$flickr_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/flickr_transparent.png"/> </a>';
     232
     233
     234
     235        /* If a Google+ URL was entered, display the Google+ icon. */           
     236
     237        if ( $google_url )
     238
     239            echo '<a target="_blank" title="Subscribe via Google+" href="'.$google_url.'"><img class="suboptions-icon rounded-corners google_icon" alt="Subscribe via Google+" style="background: '.$google_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/google_transparent.png"/> </a>';
     240
     241
     242
     243        /* If a Podcasting Service URL was entered, display the Podcast icon. */           
     244
     245        if ( $podcast_url )
     246
     247            echo '<a target="_blank" title="Subscribe via Podcast" href="'.$podcast_url.'"><img class="suboptions-icon rounded-corners podcast_icon" alt="Subscribe via Podcast" style="background: '.$podcast_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/podcast_transparent.png"/> </a>';
     248
     249       
    98250
    99251        /* After widget (defined by themes). */
     252
    100253        echo $after_widget;
     254
    101255    }
    102256
     257
     258
    103259    /**
     260
    104261     * Update the widget settings.
     262
    105263     */
     264
    106265    function update( $new_instance, $old_instance ) {
     266
    107267        $instance = $old_instance;
    108268
    109         /* Strip HTML tags for the following: */
     269
     270
     271        /* Strip HTML tags for the standard widget: */
     272
    110273        $instance['title'] = strip_tags( $new_instance['title'] );
     274
     275        $instance['size'] = strip_tags( $new_instance['size'] );
     276
    111277        $instance['rss_url'] = strip_tags( $new_instance['rss_url'] );
    112         $instance['mail_url'] = strip_tags( $new_instance['mail_url'] );
     278
     279        $instance['rss_col'] = strip_tags( $new_instance['rss_col'] );
     280
     281        $instance['email_url'] = strip_tags( $new_instance['email_url'] );
     282
     283        $instance['email_col'] = strip_tags( $new_instance['email_col'] );
     284
    113285        $instance['twitter_url'] = strip_tags( $new_instance['twitter_url'] );
     286
     287        $instance['twitter_col'] = strip_tags( $new_instance['twitter_col'] );
     288
    114289        $instance['facebook_url'] = strip_tags( $new_instance['facebook_url'] );
    115         $instance['size'] = strip_tags( $new_instance['size'] );
    116         $instance['rss_col'] = strip_tags( $new_instance['rss_col'] );
    117         $instance['mail_col'] = strip_tags( $new_instance['mail_col'] );
    118         $instance['twitter_col'] = strip_tags( $new_instance['twitter_col'] );
     290
    119291        $instance['facebook_col'] = strip_tags( $new_instance['facebook_col'] );
    120292
     293       
     294
     295        /* Strip HTML tags for the add-on pack: */
     296
     297        $instance['linkedin_url'] = strip_tags( $new_instance['linkedin_url'] );
     298
     299        $instance['linkedin_col'] = strip_tags( $new_instance['linkedin_col'] );
     300
     301        $instance['flickr_url'] = strip_tags( $new_instance['flickr_url'] );
     302
     303        $instance['flickr_col'] = strip_tags( $new_instance['flickr_col'] );
     304
     305        $instance['google_url'] = strip_tags( $new_instance['google_url'] );
     306
     307        $instance['google_col'] = strip_tags( $new_instance['google_col'] );
     308
     309        $instance['podcast_url'] = strip_tags( $new_instance['podcast_url'] );
     310
     311        $instance['podcast_col'] = strip_tags( $new_instance['podcast_col'] );
     312
     313
     314
    121315        return $instance;
     316
    122317    }
    123318
     319
     320
    124321    /**
     322
    125323     * Displays the widget settings controls on the widget panel.
     324
    126325     * Makes use of the get_field_id() and get_field_name() function
     326
    127327     * when creating your form elements. This handles the confusing stuff.
     328
    128329     */
     330
    129331    function form( $instance ) {
    130332
    131         /* Set up some default widget settings. */
    132333        $defaults = array(
     334
     335       
     336
     337            /* Set up some default standard widget settings. */
     338
    133339            'title' => 'Subscription Options:',
     340
     341            'size' => '70',
     342
    134343            'rss_url' => '',
    135             'mail_url' => '',
     344
     345            'rss_col' => '#FF9831',
     346
     347            'email_url' => '',
     348
     349            'email_col' => '#7AFD32',
     350
    136351            'twitter_url' => '',
     352
     353            'twitter_col' => '#309AFE',
     354
    137355            'facebook_url' => '',
    138             'size' => '70',
    139             'rss_col' => '9',
    140             'mail_col' => '1',
    141             'twitter_col' => '4',
    142             'facebook_col' => '7',
     356
     357            'facebook_col' => '#FF005D',
     358
     359           
     360
     361            /* Set up some default add-on pack settings. */
     362
     363            'linkedin_url' => '',
     364
     365            'linkedin_col' => '#2680AA',
     366
     367            'flickr_url' => '',
     368
     369            'flickr_col' => '#FF0084',
     370
     371            'google_url' => '',
     372
     373            'google_col' => '#555555',
     374
     375            'podcast_url' => '',
     376
     377            'podcast_col' => '#B474E6',
     378
     379
     380
    143381          );
     382
    144383        $instance = wp_parse_args( (array) $instance, $defaults ); ?>
    145384
     385
     386
    146387        <!-- Widget Title: Text Input -->
    147         <p>
    148             <label for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label>
    149             <input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:218px;" />
    150         </p>
    151 
    152         <!-- RSS Feed URL & Colour ID: Text Input -->
    153         <p>
    154             <label for="<?php echo $this->get_field_id( 'rss_url' ); ?>"><?php _e('RSS Feed URL & Colour:', 'suboptions'); ?></label>
    155             <input id="<?php echo $this->get_field_id( 'rss_url' ); ?>" name="<?php echo $this->get_field_name( 'rss_url' ); ?>" value="<?php echo $instance['rss_url']; ?>" style="width:218px;" /><input id="<?php echo $this->get_field_id( 'rss_col' ); ?>" name="<?php echo $this->get_field_name( 'rss_col' ); ?>" value="<?php echo $instance['rss_col']; ?>" style="width:23px;" />
    156         </p>
    157 
    158         <!-- FeedBurner Email Service URL & Colour ID: Text Input -->
    159         <p>
    160             <label for="<?php echo $this->get_field_id( 'mail_url' ); ?>"><?php _e('FeedBurner Email Service URL & Colour:', 'suboptions'); ?></label>
    161             <input id="<?php echo $this->get_field_id( 'mail_url' ); ?>" name="<?php echo $this->get_field_name( 'mail_url' ); ?>" value="<?php echo $instance['mail_url']; ?>" style="width:218px;" /><input id="<?php echo $this->get_field_id( 'mail_col' ); ?>" name="<?php echo $this->get_field_name( 'mail_col' ); ?>" value="<?php echo $instance['mail_col']; ?>" style="width:23px;" />
    162             </p>
    163        
    164         <!-- Twitter Stream URL & Colour ID: Text Input -->
    165         <p>
    166             <label for="<?php echo $this->get_field_id( 'twitter_url' ); ?>"><?php _e('Twitter Stream URL & Colour:', 'suboptions'); ?></label>
    167             <input id="<?php echo $this->get_field_id( 'twitter_url' ); ?>" name="<?php echo $this->get_field_name( 'twitter_url' ); ?>" value="<?php echo $instance['twitter_url']; ?>" style="width:218px;" /><input id="<?php echo $this->get_field_id( 'twitter_col' ); ?>" name="<?php echo $this->get_field_name( 'twitter_col' ); ?>" value="<?php echo $instance['twitter_col']; ?>" style="width:23px;" />
    168             </p>
    169        
    170         <!-- Facebook Page URL & Colour ID: Text Input -->
    171         <p>
    172             <label for="<?php echo $this->get_field_id( 'facebook_url' ); ?>"><?php _e('Facebook Page URL & Colour:', 'suboptions'); ?></label>
    173             <input id="<?php echo $this->get_field_id( 'facebook_url' ); ?>" name="<?php echo $this->get_field_name( 'facebook_url' ); ?>" value="<?php echo $instance['facebook_url']; ?>" style="width:218px;" /><input id="<?php echo $this->get_field_id( 'facebook_col' ); ?>" name="<?php echo $this->get_field_name( 'facebook_col' ); ?>" value="<?php echo $instance['facebook_col']; ?>" style="width:23px;" />   
    174             </p>
    175        
    176         <!-- Colour Reference: Image -->
    177         <p>
    178             <label><?php _e('IDs:', 'suboptions'); ?></label>
    179             <img style="margin: 0pt 0pt -6px 5px;" alt="if you can't see colours go to http://digitalcortex.net/plugins" src="../wp-content/plugins/subscription-options/images/colour-options.png"/>
    180         </p>
     388
     389        <p class="suboptions-item">
     390
     391            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label>
     392
     393            <input class="suboptions-title" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" />
     394
     395        </p>
     396
     397
     398
     399        <!-- RSS Feed URL & Colour: Text Input -->
     400
     401        <p class="suboptions-item">
     402
     403            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'rss_url' ); ?>"><?php _e('RSS Feed URL & Colour:', 'suboptions'); ?></label>
     404
     405            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'rss_url' ); ?>" name="<?php echo $this->get_field_name( 'rss_url' ); ?>" value="<?php echo $instance['rss_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'rss_col' ); ?>" name="<?php echo $this->get_field_name( 'rss_col' ); ?>" value="<?php echo $instance['rss_col']; ?>" />
     406
     407        </p>
     408
     409
     410
     411        <!-- FeedBurner Email Service URL & Colour Text Input -->
     412
     413        <p class="suboptions-item">
     414
     415            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'email_url' ); ?>"><?php _e('FeedBurner Email Service URL & Colour:', 'suboptions'); ?></label>
     416
     417            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'email_url' ); ?>" name="<?php echo $this->get_field_name( 'email_url' ); ?>" value="<?php echo $instance['email_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'email_col' ); ?>" name="<?php echo $this->get_field_name( 'email_col' ); ?>" value="<?php echo $instance['email_col']; ?>" />
     418
     419        </p>
     420
     421       
     422
     423        <!-- Twitter Stream URL & Colour: Text Input -->
     424
     425        <p class="suboptions-item">
     426
     427            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'twitter_url' ); ?>"><?php _e('Twitter Stream URL & Colour:', 'suboptions'); ?></label>
     428
     429            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'twitter_url' ); ?>" name="<?php echo $this->get_field_name( 'twitter_url' ); ?>" value="<?php echo $instance['twitter_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'twitter_col' ); ?>" name="<?php echo $this->get_field_name( 'twitter_col' ); ?>" value="<?php echo $instance['twitter_col']; ?>" />
     430
     431        </p>
     432
     433       
     434
     435        <!-- Facebook Page URL & Colour: Text Input -->
     436
     437        <p class="suboptions-item">
     438
     439            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'facebook_url' ); ?>"><?php _e('Facebook Page URL & Colour:', 'suboptions'); ?></label>
     440
     441            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'facebook_url' ); ?>" name="<?php echo $this->get_field_name( 'facebook_url' ); ?>" value="<?php echo $instance['facebook_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'facebook_col' ); ?>" name="<?php echo $this->get_field_name( 'facebook_col' ); ?>" value="<?php echo $instance['facebook_col']; ?>" />   
     442
     443        </p>
     444
     445       
     446
     447        <!-- Decides to render Add-on Pack settings, if Add-on Pack is installed -->
     448
     449        <?php
     450
     451        if (function_exists('suboptions_addon')) {
     452
     453        echo '<div id="suboptions-addon" class="suboptions-installed">';
     454
     455        } else {
     456
     457        echo '<p>Need more icons? Install the <a title="Install the Subscription Options Add-on Pack for $1.50" target="_blank" href="http://digitalcortex.net/plugins/subscription-options/addon-pack">Add-on Pack</a>!</p>';
     458
     459        echo '<div id="suboptions-addon" class="suboptions-not-installed">';
     460
     461        }
     462
     463        ?>
     464
     465       
     466
     467        <!-- Add-on Pack: LinkedIn Profile URL & Colour: Text Input -->
     468
     469        <p class="suboptions-item">
     470
     471            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'linkedin_url' ); ?>"><?php _e('LinkedIn Profile URL & Colour:', 'suboptions'); ?></label>
     472
     473            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'linkedin_url' ); ?>" name="<?php echo $this->get_field_name( 'linkedin_url' ); ?>" value="<?php echo $instance['linkedin_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'linkedin_col' ); ?>" name="<?php echo $this->get_field_name( 'linkedin_col' ); ?>" value="<?php echo $instance['linkedin_col']; ?>" />
     474
     475        </p>
     476
     477
     478
     479        <!-- Add-on Pack: Flickr Page URL & Colour Text Input -->
     480
     481        <p class="suboptions-item">
     482
     483            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'flickr_url' ); ?>"><?php _e('Flickr Page URL & Colour:', 'suboptions'); ?></label>
     484
     485            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'flickr_url' ); ?>" name="<?php echo $this->get_field_name( 'flickr_url' ); ?>" value="<?php echo $instance['flickr_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'flickr_col' ); ?>" name="<?php echo $this->get_field_name( 'flickr_col' ); ?>" value="<?php echo $instance['flickr_col']; ?>" />
     486
     487        </p>
     488
     489
     490
     491        <!-- Add-on Pack: Google+ URL & Colour: Text Input -->
     492
     493        <p class="suboptions-item">
     494
     495            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'google_url' ); ?>"><?php _e('Google Plus URL & Colour:', 'suboptions'); ?></label>
     496
     497            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'google_url' ); ?>" name="<?php echo $this->get_field_name( 'google_url' ); ?>" value="<?php echo $instance['google_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'google_col' ); ?>" name="<?php echo $this->get_field_name( 'google_col' ); ?>" value="<?php echo $instance['google_col']; ?>" />
     498
     499        </p>
     500
     501
     502
     503        <!-- Add-on Pack: Podcasting Service URL & Colour: Text Input -->
     504
     505        <p class="suboptions-item">
     506
     507            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'podcast_url' ); ?>"><?php _e('Podcasting Service URL & Colour:', 'suboptions'); ?></label>
     508
     509            <input class="suboptions-url" id="<?php echo $this->get_field_id( 'podcast_url' ); ?>" name="<?php echo $this->get_field_name( 'podcast_url' ); ?>" value="<?php echo $instance['podcast_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'podcast_col' ); ?>" name="<?php echo $this->get_field_name( 'podcast_col' ); ?>" value="<?php echo $instance['podcast_col']; ?>" />
     510
     511        </p>
     512
     513        </div>
     514
     515       
    181516
    182517        <!-- Icon Size: Text Input -->
    183         <p>
    184             <label for="<?php echo $this->get_field_id( 'size' ); ?>"><?php _e('Icon Size:', 'suboptions'); ?></label><input id="<?php echo $this->get_field_id( 'size' ); ?>" name="<?php echo $this->get_field_name( 'size' ); ?>" value="<?php echo $instance['size']; ?>" style="width:30px; " /><?php _e(' pixels', 'suboptions'); ?> 
    185         </p>
     518
     519        <p class="suboptions-item">
     520
     521            <label class="suboptions-label" for="<?php echo $this->get_field_id( 'size' ); ?>"><?php _e('Icon Size:', 'suboptions'); ?></label><input class="suboptions-size" id="<?php echo $this->get_field_id( 'size' ); ?>" name="<?php echo $this->get_field_name( 'size' ); ?>" value="<?php echo $instance['size']; ?>" style="width:30px; " /><?php _e(' pixels', 'suboptions'); ?>
     522
     523        </p>
     524
     525       
    186526
    187527    <?php
     528
     529   
     530
    188531    }
     532
    189533}
    190534
     535
     536
     537/*
     538
     539* Add a bit of style.
     540
     541*/
     542
     543function suboptions_style() {
     544
     545    $siteurl = get_option('wpurl');
     546
     547    $url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/suboptions.css';
     548
     549    echo "<link rel='stylesheet' type='text/css' href='$url' />\n";
     550
     551}
     552
     553add_action( 'wp_head', 'suboptions_style' );
     554
     555add_action( 'admin_head', 'suboptions_style' );
     556
     557
     558
    191559?>
Note: See TracChangeset for help on using the changeset viewer.