GithubHelp home page GithubHelp logo

textpattern / textpattern Goto Github PK

View Code? Open in Web Editor NEW
762.0 47.0 110.0 49.55 MB

A flexible, elegant, fast and easy-to-use content management system written in PHP.

Home Page: https://textpattern.com

License: GNU General Public License v2.0

PHP 87.70% CSS 2.47% JavaScript 9.80% HTML 0.02% Hack 0.01%
cms content-management php textpattern platform content-management-system cmf cms-framework

textpattern's Introduction

Textpattern CMS

Crowdin Known Vulnerabilities GitHub Sponsors

Textpattern Logo

A flexible, elegant, fast and easy-to-use content management system written in PHP. Textpattern is free and open source software.

Textpattern CMS screenshots

System requirements

Textpattern is installed to a web server with PHP and MySQL.

Ensure the server meets or exceeds the system requirements before you continue.

Download Textpattern

The current production release is version 4.8.8. It can be downloaded from the Textpattern website or GitHub in .zip and .tar.gz varieties.

If you want to use the multi-site functionality in Textpattern, get the .tar.gz archive.

textpattern.com GitHub
.zip Download Download
.tar.gz Download Download

Install Textpattern

Please see README.txt for details on installing Textpattern.

Upgrade Textpattern

Please see README.txt for details on upgrading Textpattern.

Help and Support

The Textpattern support forum is home to a friendly and helpful community of Textpattern users and experts. Textpattern also has a social network presence on Mastodon and Twitter.

Development

The development snapshot can be obtained from the Textpattern repository on GitHub.

Anticipated changes to future system requirements

As a development version approaches release, minimum and recommended system requirements are confirmed and the production release system requirements is updated accordingly.

The following table outlines anticipated forthcoming changes to system requirements. It takes into account vendor support, security considerations, overall performance and other factors. Note that minimum and/or recommended versions listed may change multiple times during the development process.

Textpattern development versions

Note that targeted versions listed may change multiple times during the development process.

We are targeting Textpattern 4.9 as the next minor release. Refer to the following table for anticipated changes to system requirements.

Minimum Recommended
PHP 5.6 vendor supported
(8.1, 8.2 or 8.3)
MySQL 5.5 vendor supported LTS
(8.0)
Apache vendor supported
(2.4)
Nginx mainline (1.25) or stable (1.24)

Contributing

Do you want to help with the development of Textpattern? Please refer to the contributing documentation for full details.

GitHub topic tags

If you use GitHub for Textpattern-related development please consider adding some of the following topic keywords to your public project repositories, so we can expand the network of discoverable resources:

Additional development tools

Various components used within Textpattern (such as the bundled themes and language translations) are maintained in standalone repositories. Textpattern has a simple development toolset built on Node.js to pull the distribution files of those repositories into the core as required.

You can install Node.js using the installer or package manager.

Install required dev tools:

npm install

You can then pull the following components from the CLI, like so:

npm run get-default-theme
npm run get-classic-admin-theme
npm run get-hive-admin-theme
npm run get-pophelp
npm run get-textpacks
npm run get-dependencies

To request a specific tag or branch:

npm run get-default-theme 4.8.8
npm run get-classic-admin-theme 4.8.8
npm run get-classic-admin-theme 4.8.x
npm run get-hive-admin-theme 4.8.x
npm run get-textpacks 4.8.x

Release tools:

Usage: npm run txp-gitdist <version> [dest-dir] (dest-dir defaults to a temporary location).

npm run txp-index
npm run txp-checksums
npm run txp-gitdist 1.2.3 ../my-dest-dir

Thank You

Thank you to our GitHub sponsors. Your continued support is greatly appreciated!

We are grateful to DigitalOcean, BrowserStack and 1Password for their kind considerations in supporting Textpattern CMS development by way of web hosting infrastructure (DigitalOcean), cross-browser testing platform (BrowserStack) and secure password management (1Password). Thank you!

This project is supported by:

Legal

Released under the GNU General Public License. See LICENSE.txt for terms and conditions.

Includes contributions licensed under the GNU Lesser General Public License. See LICENSE-LESSER.txt for terms and conditions.

Includes contributions licensed under the New BSD License. See LICENSE-BSD-3.txt for terms and conditions.

Textpattern CMS blogging illustration

textpattern's People

Contributors

artagesw avatar bloatware avatar bloke avatar clairebrione avatar da2x avatar dependabot-preview[bot] avatar dependabot[bot] avatar drmonkeyninja avatar gocom avatar jasonhoffman avatar jools-r avatar jsoo avatar kusor avatar makss avatar mamash avatar melonking906 avatar osadl avatar petecooper avatar philwareham avatar rimas-kudelis avatar rwetzlmayr avatar snyk-bot avatar tellyworth avatar tocsinde avatar uli-on avatar vanmelick avatar zmonteiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

textpattern's Issues

Auto-focusing

From stefdawson on July 28, 2009 13:10:59

Since jQuery is now a stock component of TXP, auto-focusing the cursor on
the login page ought to be easy. I suggest:

  1. If the login Name box is empty, focus there
  2. If the Name contains some text, focus in the password box

Alternatively, a simple one-liner to autofocus in the Name box would be
fine. Not everybody chooses to 'remember' their login info... :-)

This could of course be extended to the Write tab to autofocus in the Title
field, or the Forms tab to autofocus in the form textarea, etc.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=21

Core plugin l10n and i18n method

From r.wetzlmayr on September 24, 2009 11:10:02

A common method to store and edit texts for plugins at monolingual sites
would be helpful. My primary concern are user-visible strings, but plugin
help texts might also be a target for this issue.

A solution should help both plugin authors and site owners. Authors could
distribute a set of translations with their work, while site owners could
add local strings for the plugin to use, and eventually redistribute a
language set back to the community or plugin author.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=45

Stable branch version numbering scheme

From r.wetzlmayr on June 24, 2009 07:11:41

The current version numbering scheme for the stable branch 4.0.x assumes
the existence of the next "big" release aka crockery as 4.1.x. This
assumption does not hold water. Solely incrementing the "patch" component
of version numbers sends wrong signals regarding progress and compatibility.

Version numbering for the stable branch will adopt a Major.Minor.Patch
(4.x.x) scheme.

Version policy:

  • Changes in major version numbers signal the existence of significant
    incompatibilities with previous versions.
  • Changes in minor version numbers signal update compatibility, bug fixes,
    new features and enhancements.
  • Changes in patch numbers signal bug fixes.

Version 4.1.x is considered taken by the stale "crockery" branch.

Requires moving the /development/4.0 repository directory plus a few edits
in Textbook and in the Google Code wiki.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=5

Files

From [email protected] on September 01, 2009 11:22:44

Hey

Not a defect/issue or bug, more of a feature request (directed here by
Robert Wetzlmayr - see http://twitter.com/rwetzlmayr/status/3683019124 ).
Could be pipe dream stuff but definitely something I think that would be an
improvement to the textpattern CMS.

I love textpattern. One of the key pluses for me that is missing in a lot
of other CMS's is how TXP separates content and presentation. I love the
grouping of files, images and links as separate kinds of content and the
ease with which these can be associated with individual articles (through
custom fields, for example).

However, I wish that files were more flexible and there was:

the ability to rename files, and/or

the ability to have an alternative title for a file

Thinking here how TXP treats images (and wondering why files are treated so
differently).

Hope this makes sense - it is the one ommission/frustration for me (apart
from section hierarchy) in an otherwise lovely CMS :)

Cole http://cole007.net/

Original issue: http://code.google.com/p/textpattern/issues/detail?id=32

Fine-graining control of expired articles

From r.wetzlmayr on July 09, 2009 09:32:48

Past their expiry date, expired articles are output according to the
'publish_expired_articles' prefs - a site-wide setting which affects the
range of electable articles for both XHTML output and RSS/Atom feeds.

For feeds, this behaviour seems sufficient.

OTOH, XHTML pages should allow expired articles to get published in any
arbitrary fashion, at the designer's discretion. An additional attribute to
<txp:article[_custom] />, <txp:recent_articles /> and <txp:related_articles
/> would be reasonable.

Related discussion: http://forum.textpattern.com/viewtopic.php?id=30726

Original issue: http://code.google.com/p/textpattern/issues/detail?id=14

populateArticleData() custom field handling

From [email protected] on July 23, 2009 15:06:12

Problem

Currently populateArticleData() adds the custom fields to the $thisarticle
array using the label the administrators setup in the advanced preferences
page. However, no checking seems to be done to determine if the user's
chosen field name is already used by textpattern. This can give rise to
some confusing scenarios.

If a user were to name one of their custom fields such that the name
matches an existing field of the $thisarticle array, then that value is
overwritten by the value of the custom field, potentially leading to
unpredictable behavior and potentially support issues.

For example, if you create a custom field named 'body' then all existing
data in any article's 'body' field becomes hidden -- overwritten by the
value of the corresponding custom field.

Proposed Solution

The populateArticleData() routine should add the custom field values to
$thisarticle array in a segregated namespace (perhaps as simple as one
created by prefixing 'cf_' to the start of every custom field's name.)

The custom field tags would also need adapting to fetch field values from
the namespace too.

I'd suggest adding a single routine to the txplib_misc.php file to provide
a standard implementation for this 'name' => 'custom name' mapping and that
this function be used internally by populateArticleData() and the custom
field tag handlers.

Impact on Plugins

Custom field accessing plugins will probably need to be modified.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=20

<acronym> is Invalid element for HTML 5

From [email protected] on August 22, 2009 01:19:39

What steps will reproduce the problem? 1. Using textile for abbreviations is invalid for HTML 5 [example:
ABC(Always Be Closing) outputs Always Be
Closing] What is the expected output? What do you see instead? instead of it should use What version of the product are you using? On what operating system? Txp 4.2 beta on Debian Linux Please provide any additional information below. should be a quick fix in file: classTextile.php on line 1049. I fixed it in
my copy but it should be in the master copy.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=28

$default_event not properly set in SVN versions

From r.wetzlmayr on September 23, 2009 07:46:07

Symptom: $default_event is not accounted for when $txp_using_svn is true.

Prerequisite: $default_event must not be used during a site update.

In https://code.google.com/p/textpattern/source/browse/development/4.x/textpattern/index.php?spec=svn3279&r=3278#108 ,
TXP_UPDATE is defined for both "real" version updates and sites running
from SVN. In https://code.google.com/p/textpattern/source/browse/development/4.x/textpattern/index.php?spec=svn3279&r=3278#120 ,
this ambiguity shoots ourselves in the foot.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=42

article form defined in write tab (modified module) has precedence above form en listform in in article tag

From [email protected] on September 08, 2009 00:31:28

What steps will reproduce the problem? ------------------------------------

  1. choose a module for article in write tab
  2. use this in page layout:
    <txp:article limit="10" form="article" listform="article_listing />
    or <txp:article limit="10" form="article" />
    or <txp:article limit="10" listform="article_listing />
    or <txp:article limit="10" />
  3. In all cases, no matter which (list)forms are used in the page tag, the
    articles with a form specified in the article context (even if the default
    form is chosen) are displayed with that form. What is the expected output? What do you see instead? -----------------------------------------------------
    I expect that all articles should be displayed with the specified listform
    if there is no individual_article. What version of the product are you using? On what operating system? --------------------------------------------------------------------
    cms: textpattern 4.2
    os: windows xp Please provide any additional information below. -----------------------------------------------
    No matter what I do (I tested it in a lot of contexts) the following
    precedence is used when displaying an article in article list:
  • article form
  • tag listform
  • tag form

Work around

Instead of a modified module use a custom_field for defining the article
form and redirect it using the default article form if it is an
individual_article

Original issue: http://code.google.com/p/textpattern/issues/detail?id=37

<txp:comment_x_tags/> don't allow closing without trailing space.

From [email protected] on August 04, 2009 17:32:42

What steps will reproduce the problem? 1. Use any txp:comment tag like so: <txp:comment_name_input />. it works in 4.0.8 and 4.2.0-
rc1.
2. Now, use the same tag without a trailing space: txp:comment_name_input/. Textpattern
throws the following warning, and fails to render the specified comment-form output: "Textpattern
Warning: tag does not exist on line xxx".

As far as I can tell, you can use any other Textpattern or TXP plugin tag without the trailing
space-- so far, I've only noticed the comment form tags being affected by this.

This behavior appears in 4.0.8 and 4.2.0-rc1.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=25

txp:category1 delivers different results when used in containers vs. article form

From r.wetzlmayr on June 25, 2009 12:36:37

jstubbs reports:

I am using the latest SVN revision on a live test site, and have come
across a possible bug.

If I use this code category1 displays the correct category name:

<txp:if_section name="my-section">
<txp:article limit="1" form="my-form" >

Category:

<txp:body />
/txp:article
/txp:if_section

But, if I use this:

<txp:if_section name="my-section">
<txp:article limit="1" form="my-form" />
/txp:if_section

With form my-form contents:

Category:

<txp:body />

Then the category1 is a different category. Head scratch!!

I presume that placing attributes within a container tag takes precedence
over the form=“my-form” attribute in a single tag, but the category should
still be the same..

Related discussion: http://forum.textpattern.com/viewtopic.php?id=31117

Original issue: http://code.google.com/p/textpattern/issues/detail?id=6

timezone settings

From [email protected] on September 02, 2009 03:44:45

Getting the following warnings (+ a lot more) in the txp preferences. Almost certainly has to do with the timezone support…

Running txp 4.2 (Rev 3189) on mac os 10.6 with php 5.3 and mysql 5.1.37

Warning: getdate() [function.getdate]: It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the
date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone
identifier. We selected 'Europe/London' for 'BST/1,0/DST' instead in /Users/user/Sites/domain.dev/textpattern/lib/txplib_misc.php on line 1262

Warning: mktime() [function.mktime]: It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the
date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone
identifier. We selected 'Europe/London' for 'BST/1,0/DST' instead in /Users/user/Sites/domain.dev/textpattern/lib/txplib_misc.php on line 1263

Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the
date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone
identifier. We selected 'Europe/London' for 'BST/1,0/DST' instead in /Users/user/Sites/domain.dev/textpattern/lib/txplib_misc.php on line 1299

Original issue: http://code.google.com/p/textpattern/issues/detail?id=33

txp:if_article_id on article list context

From [email protected] on August 26, 2009 00:53:46

When on individual article context, the following snippet work as expected:
if I'm viewing article X, then article X title is not linked on the
generated output. Great!

<txp:article_custom file_id="_%" section='<txp:section />' >
  <txp:if_article_id>
    <h3><txp:title /></h3>
  <txp:else />
    <h3><a href="<txp:permlink />" rel="bookmark" title="Read this
extract"><txp:title /></a></h3>
  </txp:if_article_id>
</txp:article_custom

But then, if I'm on article list context, I get no ouput at all for any of the two "branches" on the conditional tag.

Tag trace (for the sake of brevity, I've copied just one loop and of the above code):

<txp:article_custom file_id="_%" section='<txp:section />' wraptag="ul">
        [attribute 'section']
        <txp:section />
        [/attribute]
        [SQL (0.000875949859619): select *, unix_timestamp(Posted) as uPosted,
unix_timestamp(Expires) as uExpires, unix_timestamp(LastMod) as uLastMod
from textpattern where 1=1 and Status = 4 and Posted <= now() and Section
IN ('xxxxxx') and custom_1 like '_%'  order by Posted desc limit 0, 10]
        [article 26]
        </txp:if_article_id>
        <txp:article_id />
        <txp:if_article_id>
        </txp:if_article_id>
        <txp:permlink />
</txp:article_custom>

If you need additional info, please, tell me.

Thanks. What version of the product are you using? On what operating system? I'm on TXP 4.2.0 RC ( r3269 ) on Ubuntu Linux.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=31

qmail MTA requires \r linebreaks in (subject) header of mails sent using PHP mail() function

From [email protected] on September 08, 2009 23:10:43

see discussion in http://forum.textpattern.com/viewtopic.php?id=31697 TXP tries to use the right line endings when sending emails, but fails when
using qmail ( http://cr.yp.to/qmail.html ). Apparently qmail wants \r line
endings (instead of \n) in the subject parameter of the PHP mail() function
if you're using linebreaks in subjects, which happens automatically if your
subject line is too long (encode_mailheader limits the length of header
lines according to relevant RFCs).

This is the error you get when for example you're trying to add a new user
in such a situation (qmail MTA + long site name, causing a multi line
subject header):

Warning: mail(): Bad parameters to mail() function, mail not sent. in
/.../textpattern/lib/txplib_misc.php on line 989

Before even considering to think about attempting to fix this, please
reproduce the problem first, because while qmail is known for being really
strict when it comes to proper use of line endings, all documentation I can
find suggests using \n (as TXP already does on *nix systems). Using \r
makes no sense yet solved the problem for the user in the forum topic
mentioned above, unless it's two wrongs making a right.

Original issue: http://code.google.com/p/textpattern/issues/detail?id=38

"Set timestamp to now..." causes bad UX for draft/hidden future articles

From r.wetzlmayr on July 01, 2009 09:05:29

Bloke reports:

Updating draft/hidden/pending articles unconditionally resets the timestamp
to "now".

This is surprising behaviour in scenarios where an author deliberately
chose a future publishing date for a draft/hidden/pending article only to
find "Set timestamp to now..." checked a sa result of save operation.

Related discussion: http://forum.textpattern.com/viewtopic.php?id=30396

Original issue: http://code.google.com/p/textpattern/issues/detail?id=9

comments_are_ol preference is not semantic

From [email protected] on August 22, 2009 01:31:10

What steps will reproduce the problem? This preference should really be removed because there's no reason why the
user shouldn't be able to create this markup themselves, however for the
sake of argument. If the user doesn't want to output comments as an ordered
list, it currently out puts comments in a

which is not semantic -
especially in HTML 5. This could be handled two ways:

  1. A third option could be added for HTML 5 users and have it wrap comments
    in ... comment markup ...
  2. Or instead of outputting
    like it does now, have it output nothing
    (which is what I modified the code to do on line 1778 in taghandlers.php What version of the product are you using? On what operating system? txp 4.2 beta on Debian linux

Original issue: http://code.google.com/p/textpattern/issues/detail?id=29

Improving populateArticleData() column dependency

From stefdawson on July 23, 2009 09:05:59

Is there some way to help avoid having to alter calls to the textpattern
table when new additional columns are required by populateArticleData()? At
the moment all such calls require both the core and plugin authors to alter
their code to use:

*, unix_timestamp(Posted) as uPosted, unix_timestamp(Expires) as uExpires,
unix_timestamp(LastMod) as uLastMod

This may chage in future, as it did in 4.0.7, and to keep on top of it is
non-trivial. Older plugins throw warnings for something that really isn't
their fault and would otherwise function perfectly in later core revisions.

If there were some wrapper or in-built cleverness that added the
supplemental columns if not present, it would simplify interactions with
the textpattern table and potentially ease version transitions.

Thoughts on how to go about this? Is it possible?

Original issue: http://code.google.com/p/textpattern/issues/detail?id=19

<txp:article_custom /> in body or excerpt breaks feeds

From r.wetzlmayr on August 10, 2009 13:35:24

Reported by makss in http://forum.textpattern.com/viewtopic.php?id=29399 :

Steps to reproduce:

  1. Create a few articles
  2. Create another article with
    2.1 body:
    <txp:article_custom wraptag="ul" break="li"
    txp:permlink<txp:title />/txp:permlink
    /txp:article_custom
    2.2 excerpt:
    <txp:article_custom wraptag="ul" break="li"
    txp:permlink<txp:title />/txp:permlink
    /txp:article_custom
  3. ATOM and RSS feeds contain body and excerpt of the last created article
    in all feed items

Reason: $thisarticle global gets overwritten while parsing the embedded
article_custom tags.

Attachment: feeds-with-embedded-article-tags-r3266.patch

Original issue: http://code.google.com/p/textpattern/issues/detail?id=27

Enhance doLabel()

From stefdawson on September 04, 2009 11:55:41

Currently there is no way to prevent doLabel() from displaying a
tag
if you don't want one, or if you want a 'simple' break between label and
item (e.g. a colon or a space). Whatever you specify is surrounded by '<'
and '>' brackets.

I propose doLabel() should behave similarly to doWrap() insofar as if you
specify something that isn't a tag it should put it after the label
without brackets.

At the moment it is also not possible to specify an empty labeltag, because
if it's empty it adds a break tag by default. Whether an empty labeltag is
desirable is open to debate, but for tags and plugins that use
doLabel($label, $labeltag).doWrap($out, $wraptag, $break,
$class)
it allows more flexibility in output.

If an empty labeltag is permitted, to preserve backwards compatibility we
would either have to:

  1. allow something like a space or a known constant that indicated "no
    break please", or
  2. permit labeltag="" to set no labeltag, thus all other tags that
    currently use labeltag=>'' in lAtts() would need modifying to make 'br'
    their default

Would modifying this have any other side effects? Is this something that
would be useful to people who use label/labeltag? Should there be an empty
labeltag option? Should the labeltag be allowed to be a simple character
like colon or space, or is this a gross violation of naming convention?

Original issue: http://code.google.com/p/textpattern/issues/detail?id=35

Add an "id" attribute to <txp:file_download_list />

From r.wetzlmayr on July 06, 2009 12:03:07

rsilletti reports:

Provides a new "id" attribute and query segment for file_download_list to
allow filtering by file id or comma delimited list of ids.

--- /Library/Apache2/htdocs/fournine/textpattern/publish/taghandlers.php
( revision 3243 )
+++ /Library/Apache2/htdocs/fournine/textpattern/publish/taghandlers.php
(working copy)
@@ -3267,6 +3267,7 @@
global $thisfile;

     extract(lAtts(array(
  •        'id'       => '',
         'break'    => br,
         'category' => '',
         'class'    => __FUNCTION__,
    

    @@ -3285,6 +3286,7 @@

     $where = array('1=1');
     if ($category) $where[] = "category IN ('".join("','",
    

    doSlash(do_list($category)))."')";

  •    if ($id) $where[] = "id IN ('".join("','",
    

    doSlash(do_list($id)))."')";
    if ($status) $where[] = "status = '".doSlash($status)."'";

     $qparts = array(
    

Related discussion: http://forum.textpattern.com/viewtopic.php?id=28935

Original issue: http://code.google.com/p/textpattern/issues/detail?id=11

Load order from plugin_cache_dir

From stefdawson on July 21, 2009 10:30:44

Is it desirable to make the plugin load order more deterministic when
dealing with plugin files in the cache? At the moment it seems to loosely
be the order they were uploaded to the directory, but altering a file and
re-uploading it to the cache doesn't necessarily change its load order.

Similarly, changing its filename sometimes does and sometimes does not
change its load order. This appears to be a feature of glob() or possibly
the underlying file inodes.

If the output of glob() was sorted by some arbitrary means (filename?) in
load_plugins(), at least site admins have the option of renaming files to
promote/demote plugins, and can thus alter the order they appear on the
Extensions tab. Would also benefit plugin systems with multiple files in a
suite, to guarantee load behaviour.

Any better ideas?

Original issue: http://code.google.com/p/textpattern/issues/detail?id=17

'Inner' support for forms

From mark.ericson on July 12, 2009 22:58:25

Today I was working on a new textpattern-based website and realized it
would be very powerful if I could effectively parameterize a form. I
would use this in several places in my site design to create consistent
wrapping of content, but with different content for different scenarios.

Effectively I would call a form which would provide the outer wrapping
tags, but I could pass some inner (x)html content.

This is a super oversimplification, doesn't adequately document the use
cases, but I was thinking of something like this:

Page contains:

<txp:output_form "myform">

  • list item1

  • list item2

  • </txp:output_form />

    Where form "myform" is defined as:

    Output would be:

    1. list item1
    2. list item2

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=15

    Can't Add Categories When Using Chinese

    From [email protected] on September 25, 2009 08:50:44

    What steps will reproduce the problem? 1.After set up.(Using zh_cn utf8)
    2.Following the step to add a Chinese Character Categorie.
    3.The First Chinese Categorie will be add ok,and the second,what ever
    Chinese character you add,textpattern will say already exists. What is the expected output? What do you see instead? using this two Chinese Character will add ok,like 你好0,你好1 but when
    using this two chinese character will not add.like 你好,你好吗 What version of the product are you using? On what operating system? version 4.2.0 and 4.0.8 on Linux,Windows Please provide any additional information below. no more.

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=46

    Invalid regexp warnings in admin-side article search terms

    From r.wetzlmayr on October 08, 2009 11:57:54

    1. Visit the articles tab
    2. Search "Title, Body & Excerpt", "Section", "Author" or "Categories" for
      a sole regexp metacharacter like asterisk (*) or backslash ().
    3. MySQL casts a warning: "Got error 'repetition-operator operand invalid'
      from regexp", "Got error 'trailing backslash ()' from regexp" etc.

    Reported by THE BLUE DRAGON IN http://forum.textpattern.com/viewtopic.php?id=32007 .

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=47

    Fix behaviour of <txp:if_section> and <txp:if_category> tags

    From r.wetzlmayr on September 10, 2009 08:08:08

    ruud suggests:

    Leaving out the name attribute and setting the name attribute to an empty
    string doesn’t work consistently in both tags:

    • compare txp:if_section to txp:if_category: the former condition is
      true on the frontpage where there is no section while the latter condition
      is false on the frontpage where there is no category, but true for any
      valid category. The txp:if_category behaviour makes more sense.
    • compare <txp:if_category name="">, <txp:if_section name="">,
      <txp:if_category name=",about"> and <txp:if_section name=",about">. The
      last three are consistent in behaviour. When specifying an empty category
      or section, if you’re on the frontpage (no section/category), the condition
      is true. But <txp:if_category name=""> behaves differently, because that
      one is true currently if you’re on any valid category page. An empty
      category or section name could mean “any” or “none”. The latter makes more
      sense and is used in 3 out of 4 situations.

    related discussion: http://forum.textpattern.com/viewtopic.php?id=29263

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=39

    Error message in comment entry popup

    From r.wetzlmayr on October 30, 2009 12:14:20

    PHP strict warnings are visible in the comment popup window when comment
    mode is configured as "popup":

    Strict Standards: Non-static method timezone::is_dst() should not be called
    statically in /textpattern/lib/txplib_misc.php on line 1265

    Strict Standards: Non-static method timezone::is_supported() should not be
    called statically in /textpattern/lib/txplib_misc.php on line 2523

    Does not occur at all instances, depends on PHP settings.

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=48

    New tag: <txp:link_id />

    From r.wetzlmayr on June 30, 2009 07:57:06

    rsilleti reports:

    Given the new options available with tags as attributes, this may be an
    idea worth considering. The tag returns the current link id when used in a
    linklist form.

    --- /Library/Apache2/htdocs/adev/textpattern/publish/taghandlers.php
    ( revision 3189 )
    +++ /Library/Apache2/htdocs/adev/textpattern/publish/taghandlers.php
    (working copy)
    @@ -527,6 +527,14 @@
    return doLabel($label, $labeltag).doTag($category, $wraptag,
    $class);
    }
    }
    +// -------------------------------------------------------------

    • function link_id()

    • {

    •      global $thislink;
      
    •     assert_link();
      
    •     return $thislink['id'];
      

      +}

      // -------------------------------------------------------------
      function eE($txt) // convert email address into unicode entities

    Related discussion: http://forum.textpattern.com/viewtopic.php?pid=207958#p207958

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=8

    extraneous <h2 id="comment> </h2> appended to articles

    From [email protected] on September 19, 2009 22:50:22

    What steps will reproduce the problem? 1. Enable Site Wide Comments (Admin > Preferences > Basic > Accept Comments)
    2. Set "On By Default" to No (Admin > Preferences > Basic > Accept Comments)
    2. Create a page template with JUST txp:article<txp:body />/txp:article
    3. Set a section to use this page
    4. Create an article in this section, turning comments OFF
    5. Publish Article
    6. View source of article.

    What is the expected output?
    To see my article Text ONLY

    What do you see instead?
    My article Text + "

    "

    What version of the product are you using?
    Textpattern version: 4.2.0 ( r3275 )

    On what operating system?
    Centos 5.3 x86_64 Please provide any additional information below. I'm rying to use a stripped down article/section/page to produce linkable text files from Textpattern, for creating custom rss feeds, store javascript
    in the DB, etc. if a page template like:
    txp:article<txp:body />/txp:article
    doesn't deliver exactly and only the body of the article to the browser, then it seems broken.

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=41

    Defer feed handling after pretext()

    From stefdawson on July 21, 2009 11:37:59

    Ref: http://forum.textpattern.com/viewtopic.php?pid=211305#p211305 At the moment, pretext() does not just set up the TXP environment. If it
    detects a feed is required, it serves it immediately. This causes problems
    with 'site maintenance' plugins that require pretext to complete, but wish
    to serve alternative HTTP status codes: feeds are always served despite the
    site being in maintenance mode.

    The attached patch, courtesy of net-carver, sets up rss and atom feeds as
    before, but does not deliver them until after pretext() has completed and
    the pretext_end callback has fired.

    Any downsides to this approach? It appears to work with both messy
    (?rss=true) and clean URL modes.

    Attachment: feedmod.patch

    Original issue: http://code.google.com/p/textpattern/issues/detail?id=18

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.