{"id":16487148,"url":"https://github.com/vsimko/twikilib-php","last_synced_at":"2026-05-10T22:32:30.320Z","repository":{"id":28865221,"uuid":"32389384","full_name":"vsimko/twikilib-php","owner":"vsimko","description":"Object-oriented API to a TWiki database for PHP programs","archived":false,"fork":false,"pushed_at":"2023-06-27T10:08:19.000Z","size":725,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T16:18:24.135Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vsimko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-17T11:26:26.000Z","updated_at":"2023-06-27T10:08:23.000Z","dependencies_parsed_at":"2025-01-11T16:18:25.885Z","dependency_job_id":"a28578d6-45f9-474c-8d39-5cf37a553d42","html_url":"https://github.com/vsimko/twikilib-php","commit_stats":{"total_commits":70,"total_committers":3,"mean_commits":"23.333333333333332","dds":"0.30000000000000004","last_synced_commit":"fa4a16db446f21420141397711c67450dba936d6"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsimko%2Ftwikilib-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsimko%2Ftwikilib-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsimko%2Ftwikilib-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsimko%2Ftwikilib-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vsimko","download_url":"https://codeload.github.com/vsimko/twikilib-php/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241289144,"owners_count":19939027,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T13:32:51.741Z","updated_at":"2026-05-10T22:32:30.274Z","avatar_url":"https://github.com/vsimko.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About TWikiLib for PHP\n\n**Note:** More info in [github wiki](https://github.com/vsimko/twikilib-php/wiki)\n\nThis library provides an object-oriented API to a TWiki database.\nThe main goal is to help users familiar with PHP extract data from\nTWiki database which would otherwise require knowledge of the PERL\nprogramming language.\nOur library is intended to be self-contained and easily pluggable\ninto other PHP projects, such as Joomla or Wordpress.\n\nTWiki stores its data in a directory structure where wiki pages\n(called topics) are stored as separate textual files.\nTopics can also contain attached files.\nInformation within topics can be organized into sections, paragraphs and tables.\nSome topics contain so-called *forms* which are collections of key-value pairs (fields).\nThis allows presenting information in a more structured way.\n\nFor example, you could attach a `ProjectForm` to topics that carry information about your projects and define fields such as \"Project Name\", \"Deadline\" ...\n\nUsing **twikilib-php** you can, for instance, search for topics by text located within form fields.\n\n## Download Latest Version\n\nDownload the following PHAR bundles and move them to your project's directory:\n * [twikilib-php.phar](https://github.com/vsimko/twikilib-php/raw/master/dist/twikilib-php.phar) - contains the minimal runtime code.\n * [twikilib-php-api.phar](https://github.com/vsimko/twikilib-php/raw/master/dist/twikilib-php-api.phar) - this bundle contains the API code.\n * [twikilib-php-examples.phar](https://github.com/vsimko/twikilib-php/raw/master/dist/twikilib-php-examples.phar) - this optional bundle contains example applications.\n\nNote: See [Usage Examples](../../wiki/Usage-Examples) if you have never used PHARs before.\n\n## Requirements\n * PHP 5.3 (we use namespaces)\n * TWiki directory should be accessible from your PHP code.\n   It means that you should be able to read files located in `TWIKIROOT/data` and `TWIKIROOT/pub`.\n\n## Example\nFor more examples and user documentation see UsageExamples.\n\n```php\n\u003c?php\n   require_once 'init-twikilib-api.php';\n   \n   use twikilib\\core\\Config;\n   use twikilib\\core\\FilesystemDB;\n   \n   $config = new Config('myconfig.ini');\n   \n   $db = new FilesystemDB($config);\n   $topic = $db-\u003eloadTopicByName('Main.WebHome');\n   $lastModified = $topic-\u003egetTopicInfoNode()-\u003egetTopicDate();\n   \n   echo $lastModified;\n```\n\n# Features Overview\n\n * Object-oriented API that uses namespaces (PHP 5.3+ required)\n * Read/Write access to the TWiki database\n * Access to basic information about a topic - name, author, date ...\n * Access to form fields (date, text, list)\n * Access to form model (the topic containing the form definition)\n   * some form fields can be marked *published*, the API throws\n     an exception when accessing unpublished fields\n     (this can be turned off explicitly)\n * Access to raw topic text\n   * working with individual sections\n   * working with wiki tables\n * Access to topic's hidden preferences (e.g. `VIEW_TEMPLATE`)\n * Access to attachments\n   * API for generating cached thumbnails out of attached images\n * Access to revision comments\n * API for parsing CSV files (useful for batch imports to TWiki using our API)\n * API for accessing Joomla database (useful when we need to embed information\n   from an existing Joomla database or during a batch import/export)\n * API for caching results (useful when we search for topics frequently)\n * Search API\n * The framework supports bundling source code into PHAR archives\n   * Support for autoloading of classes from all PHARS/dirs in a given\n     directory (very handy)\n   * Support for CLI/web mini-applications (try `runapp.php --list`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsimko%2Ftwikilib-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvsimko%2Ftwikilib-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsimko%2Ftwikilib-php/lists"}