{"id":21942081,"url":"https://github.com/richardzcode/jofe","last_synced_at":"2025-03-22T15:25:20.322Z","repository":{"id":1669734,"uuid":"2396549","full_name":"richardzcode/jofe","owner":"richardzcode","description":"Joomla 1.5 extension. PHP","archived":false,"fork":false,"pushed_at":"2011-09-17T00:11:04.000Z","size":5012,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-27T15:44:33.378Z","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":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richardzcode.png","metadata":{"files":{"readme":"README.markdown","changelog":"CHANGELOG.php","contributing":null,"funding":null,"license":"LICENSE.php","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-09-16T01:16:17.000Z","updated_at":"2013-10-06T03:16:33.000Z","dependencies_parsed_at":"2022-09-07T01:52:38.330Z","dependency_job_id":null,"html_url":"https://github.com/richardzcode/jofe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardzcode%2Fjofe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardzcode%2Fjofe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardzcode%2Fjofe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardzcode%2Fjofe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardzcode","download_url":"https://codeload.github.com/richardzcode/jofe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244976077,"owners_count":20541406,"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-11-29T03:16:25.039Z","updated_at":"2025-03-22T15:25:20.303Z","avatar_url":"https://github.com/richardzcode.png","language":"PHP","readme":"# Jofe - Joomla 1.5 extension\n\nSome common features I abstracted out when work with Joomla 1.5.\n\nI wasn't aiming for a full, big library. Just something that helps rapid development.\n\nSimplicity is the key.\n\nFor example. It does include an inflector library. So instead of what you see in Rails:\n\u003cpre\u003e\n\tpost.comments\n\tpost.comments.size\n\u003c/pre\u003e\n\nIn Jofe it is like\n\u003cpre\u003e\n\tpost._obj_comment\n\tpost._count_comment\n\u003c/pre\u003e\n\nNote that although it is a one-to-many relationship, comment is still referred in singular form by post.\n\nIt is not very cool by looking at it, but simply works for developers.\n\n## Location: /libraries/jofe/\n\n## Extensions:\n\n### Major extensions:\n\n* JofeComponent - Simplify the component creation.\n\u003cpre\u003e\n\tjimport('jofe.application.component');\n\t\n\tclass BlogComponent extends JofeComponent{\n\t\tprotected $_default_controller = 'post';\n\t\t\n\t\tpublic function  prepare() {\n\t\t\tparent::prepare();\n\t\t\t$this-\u003eaddStyleSheet('blog.css');\n\t\t\t$this-\u003eaddScript('jquery-1.4.4.min.js');\n\t\t\t$this-\u003eaddScript('blog.js');\n\t\t}\n\t}\n\t\n\t$com = new BlogComponent();\n\t$com-\u003erun();\n\u003c/pre\u003e\n* JofeController - Extends JController. Wraps RESTful actions.\n* JofeView - Extends JView. Very small extention just created some default RESTful responses.\n* JofeTable - Extends JTable.\n\t* Simple ORM features\n\t\t* find function\n\t\t* object relationship specified in relates_to_one, and relates_to_many.\n\t\t* A couple of helper functions\n\t* Triggers\n* JofeModel - Extends JModel. Handles pagination/sorting/filtering\n\n### Side extensions:\n\nHave dependency on jQuery and need some CSS\n\n* JofeForm - Helps create form.\n* JofeGrid - Takes data returned by JofeModel and renders grid.\n\u003cpre\u003e\n\t$grid = new JofeGrid(array(\n\t\t\t\tarray(\n\t\t\t\t\t'header' =\u003e 'Title',\n\t\t\t\t\t'width' =\u003e '50%',\n\t\t\t\t\t'field' =\u003e 'title',\n\t\t\t\t\t'callback' =\u003e 'post_grid_col_title',\n\t\t\t\t\t'sortable' =\u003e true\n\t\t\t\t),\n\t\t\t\tarray(\n\t\t\t\t\t'header' =\u003e 'Created',\n\t\t\t\t\t'width' =\u003e '20%',\n\t\t\t\t\t'field' =\u003e 'created_on',\n\t\t\t\t\t'sortable' =\u003e true\n\t\t\t\t)\n\t\t\t),\n\t\t\t$this-\u003egriddata\n\t\t);\n\t$grid-\u003erender();\n\u003c/pre\u003e\n\n## Sample component:\n\n/components/com_blog","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichardzcode%2Fjofe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichardzcode%2Fjofe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichardzcode%2Fjofe/lists"}