Leonard  Paucek

Leonard Paucek

1667070360

Grocery CRUD: A PHP Codeigniter Framework Library

Grocery CRUD

Grocery CRUD is a PHP and Codeigniter Framework library that creates a full functional CRUD system without the need to customise JavaScript or CSS.

.gitignore

.htaccess
.buildpath
.settings/
.project
.idea/
system/
assets/grocery_crud/themes/bootstrap
application/.htaccess
application/cache/
application/config/migration.php
application/config/autoload.php
application/config/config.php
application/config/constants.php
application/config/memcached.php
application/config/database.php
application/config/doctypes.php
application/config/foreign_chars.php
application/config/hooks.php
application/config/index.html
application/config/mimes.php
application/config/profiler.php
application/config/routes.php
application/config/smileys.php
application/config/user_agents.php
application/controllers/index.html
application/controllers/examples2.php
application/controllers/build.php
application/controllers/welcome.php
application/views/example2.php
application/core/
application/errors/
application/helpers/
application/hooks/
application/index.html
application/language/
application/libraries/index.html
application/libraries/grocery_crud_extended.php
application/logs/
assets/uploads/images/
application/models/index.html
application/third_party/
application/views/index.html
application/views/welcome_message.php
application/views/errors/*
index.php
license.txt
bootstrap-v4

change_log.txt

v1.6.4
    - #491: Fixing issue when we use set_read_fields with a column that doesn't exist at the database
    - Updating jQuery version to 2.x
v1.6.3
   - #465: Translation for Spanish Uruguay by @mlopezcoria
   - #470: Update Polish translation by @tikky
   - #468: Remove PHP 7.3 warnings
   - #38: Bug fix: required_fields doesn't work for relation_n_n fields
   - #469: datatables theme - update table fails after delete
v 1.6.2
    - #442: Searching in grid with value 0 is not working
    - #458: Updated Lithuanian language by @dgvirtual
    - #463: Updated Spanish language by @CarlosPinedaT
    - Security fix
v 1.6.1
    - #441: Adding clone functionality - contribution from @portapipe
v 1.6.0
    - #211: Bug if use where clause and try to "search all" the fields
    - #432: Bootstrap Theme issues with filtering when we are using set_relation with multiple fields
    - #353: Adding callback_read_field function
    - #433: Preview click with fancybox to work the same across all the themes
v 1.5.9
    - #420: set_relation with brackets is causing ambiguous column name when the field name exists at the basic table
    - #413: Unexpected error when there are non english chars and a datetime field as column
    - #406: Export button to work without the need of a popup window or new tab
    - Clean-up redundant JavaScript load if it is not required.
    - Remove Export as a flash plugin for security reasons and instead add a download link
v 1.5.8
    - #382: Adding custom error message for set_rules()
    - Two new lang strings for the multiple delete confirmation
    - #388: Chosen select have 100% width at flexigrid theme
v 1.5.7
   - #331: Have a configurable XSS clean option to prevent XSS attacks
   - #370: A faster way to calculate the totals
v 1.5.6
   - Unset bootstrap with more CSS unsets
   - Languages updates (Portuguese, Italian, Spanish)
   - #367: Missing translation for Search {column_name}
v 1.5.5
   Add Croatian language - translated by: Siniša Dragičević Martinčić
   - Small CSS fixes: Datetime and date picker was overflowing in some languages
   - Removing uniform.js
v 1.5.4
   Changes for compatibility without jQuery Migrate
v 1.5.3
   #141 - Max length for decimal numbers (pull request from @dodge107)
   #335 - Unable to locate the model you have specified: grocery_crud_model (pull request: #336 from @P8H)
v 1.5.2
   Add lithuanian language - translated by alex@gnosi.lt
   Fix compatibility issues with Codeigniter 3
   Add "More" lang string for the datagrid listing
v 1.5.1
	#290 - Added functionality to define upload file types per field (pull request from @syrys)
	#305 - Update french.php and add translation for date format (pull request from @bvrignaud)
	New function unset_bootstrap that removes JS and CSS of the new bootstrap theme
v 1.5.0
	#211 - Bug if use where clause.
	#197 - Properly sanitize filenames for uploads.
	#237 - Set Timepicker to 24 hour format.
    #294 - Javascript bug with set_subject().
	Add a new method unset_view that is just an alias to unset_read method.
	Multiple delete fields for flexibility for future themes.
	Fixing the bug of jquery form plugin with returning the textarea as required.
	Add $subject_plural as a second parameter to the set_subject method.
	Multiple search fields for flexibilty for future themes:
	     - Multiple simple search
	     - Multiple relation search
	     - Multiple relation_n_n search
	More configuration preferences
	    - Setting environment (e.g. production)
	    - Setting default theme (e.g. datatables)
	Add 2 new functions:
		- unset_read_fields
		- set_read_fields
v 1.4.1
	#231 - Read page not showing relations.
	#233 - File upload uniqueid not unique.
v 1.4.0
	#170 - Problem with more than one date inputs at the dialog.
	#148 - New theme twitter-bootstrap
	#150 - Optimizing the SELECT statement for counting rows.
	#144 - Unique fields as new functionallity for unique fields in the database.
	#129 - Small bug uploading images.
	#142 - Extras doesn't work properly when the field doesn't exist in the database
	#158 - New method name set_crud_url_path. This method is useful when the path is not specified correctly.
	#163 - Custom field type label for true_false. Like hidden, enum and set.
	Noty Jquery Plugin to load when you delete a record.
	Upgrading Jquery to Jquery 1.10.2
	Multiple grids in one page.
	New language: Catalan.
	Add "view" as new action.
	Small bug fixes:
		- #165 - add_action "url_has_http" issue
		- #166 - Improved file upload error handling
		- #167 - add_action method in Twitter_Bootstrap theme, doesn't update the dropdown properly
v 1.3.3
	#102 - Unsigned field type bug.
	#103 - Multiple columns search filtering at datatables.
	#113 - Relation n_n missing when unset field.
	Adding languages: Bengali, Slovak, Korean.
	Stop supporting Codeigniter version 2.1.1 with ugly workarounds.
	Use fancybox for previewing the thumbnails at the list page.
	Transliteration characters for uploaded files.
	Updating jQuery Plugins and third party addons:
		- Updating jQuery to version 1.8.2
		- jQuery UI Library to v1.9.0.
		- Timepicker Addon for jQuery UI Datepicker to v1.0.5.
		- jQuery UI Multiselect and adding localization files for it.
		- jQuery Numeric plugin to v1.3.1.
		- jQuery Chosen plugin to v0.9.8.
		- Updating CKEditor to v3.6.5 with minimum setup.
		- Updating TinyMCE to v3.5.7.
v 1.3.2
	#98 - Add more field types.
			- Dropdown field type.
			- Multiselect field type
	#101 - Size of a request header field exceeds server limit for datatables.
	#97 - Add new method and functionality - unset_jquery_ui
	#46 - Supporting IE7.
	#95 - Export and print doesn't remove the html tags.
v 1.3.1
	Updating "Export","Print" and "Minimize/Maximaze" lang strings
	Renewing to the latest tinymce version
	Jquery version 1.8.1
	Fixing small bugs
v 1.3
	#73 - Jquery version 1.8.0
	#88 - Where clause in set_relation_n_n.
	#87 - Templating system to the  set_relation_n_n method.
	#82 - Have a thumbnail after uploading an image.
	Adding Czech Language.
	Internationalisation for datepicker ui and datetime picker.
	#86 - Print functionality to both flexigrid and datatables theme.
	#85 - Export functionality to both flexigrid and datatables theme.
	Print functionality to datatables theme.
	Having CKEditor as the default texteditor for grocery CRUD.
	Adding Markitup texteditor. Really useful editor for developers.
	#68 - set_relation doesn't work as expected when the third field (title name) is the same on two or more set_relation methods.
	#80 - method order_by doesn't work correctly on datatables theme.
	More configuration values:
		- Choose text-editor between 'ckeditor','tinymce' or 'markitup'.
		- Choose text-editor type between 'minimal' or 'full'.
		- Character limiter at the columns of the list page.
v 1.2.3
	Compatible with Codeigniter version 2.1.1
	Adding Hungarian language.
	Adding new method: field_type. For now it is just an alias to the change_field_type method.
	#49 - Adding new method: set_primary_key.
	#27 - Adding value to enum and set of the change_field_type method.
	#44 - Changing the date format at the list table. For example the 10 Jan 2003 has to be 10/01/2003.
	#56 - Field type true_false now uses default value.
	#42 - Insert ids to all the inputs for easy Javascript changes.
	Bug fixes:
		#30 - Change field type doesn't work if the field is not at the table.
		#38 - required_field doesn't work for relation_n_n fields.
v 1.2.2
	Adding Dutch language.
	Adding a new method "unset_back_to_list".  Unsets everything that has to do with buttons or links with go back to list message.
	#23 - When we use $crud->where() method it doesn't work as expected with the search of flexigrid.
	#28 - Change the hardcoded JavaScripts and CSS with variables.
	#25 - Adding a new method "unset_list".  Unsets the first list and the ajax_list and gives an exception error for the user that tries to access it.
	Adding a new button/feature "save and go back to list". When a user press the button "save and go back to list" it is automatically redirect you to the list page when a successful save is done.
	Adding the default_per_page at the config file. This specifies the first visit per page that a user should see at the list page. For example 25 rows per page.
	#13 - The list search and ordering is not working with the n-n relation columns.
	Small bug fixes:
		#20 - Pressing tab and enter after adding a date or a datetime field it clears the date.
		#21 - By default the texteditor transform the utf8 to html entities.
		#22 - Doesn't recognize that a tinyint 1 or int 1 can just take a numeric value more than 1.
v 1.2.1.1
	Small bug fixes:
		#18 - Returning $this to all the callbacks methods.
		"set" type doesn't work properly.
v.1.2.1
	Adding languages: Afrikaans, Danish, Japanese, Romanian.
	Adding 3 new methods. unset_fields, unset_add_fields and unset_edit_fields.
	Renewing Javascripts: tinymce.
	Issue #14 - In firefox browser if you add more than one textarea. Only the last textarea works properly.
	Issue #16 - Flexigrid's Search string get garbled with multibyte string.
	Adding the "set" field type.
	Adding the "readonly" field type.
	Adding lang strings: "set_relation_title", "list_record", "form_inactive", "form_active";
v.1.2
	Adding languages: Arabic, Chinese, European Portuguese, German , Persian, Polish, Indonesian, Turkish, Ukrainian.
	Adding date format to the auto date fields. The format can be dd/mm/yyyy or mm/dd/yyyy or the old-one yyyy-mm-dd.
	Adding date-time format to the auto date-time fields. The format is chosen by the default date format (uk-date , us-date or sql-date).
	Adding a new uploader. Works with the most common browsers. Internet Explorer 8+, Mozilla Firefox, Google Chrome, Opera, Safari.
	Changing the interface of the form inputs. Now all the text inputs looks like bootstrap's inputs.
	Adding a where clause at the 4th argument to the simple set_relation method.
	Adding order by clause at the 5th argument to the simple set_relation method.
	Adding 3 new callbcaks, callback_upload, callback_before_upload, callback_after_upload.
	BUG fix - unset_jquery function now works properly.
	BUG fix #9 (The form's clear functionallity don't work properly after the insert).
	RENAMING METHODS:
		callback_escape_insert to callback_insert,
		callback_escape_update to callback_update,
		callback_escape_delete to callback_delete
	RENAMING CLASSES:
		grocery_Field_Types to grocery_CRUD_Field_Types
		grocery_Model_Driver to grocery_CRUD_Model_Driver
		grocery_Form_validation to grocery_CRUD_Form_validation
		grocery_Layout to grocery_CRUD_Layout
		grocery_States to grocery_CRUD_States
		grocery_Model to grocery_CRUD_Model
v.1.1.8
	Add new jquery version 1.7.1
	Changing the drop-down list of the set_relation. Now the drop-down list has unique design for all the browsers, is searchable and also can be empty.
	Changing the layout or relation n-n (only without the ordering field). The new one, is much more user friendly and easier to handle lot of data.
	Adding languages: Italian, Russian.
	Small BUG fixes:
		- Auto-recognize enum fields for CI 2.1
		- Don't print " " if a value is empty, is useless
		- Smal but important CSS Fixes.
		- #7 set_relation BUG conflict when a field name appears twice.
	Manipulating NULL data. Automatically add NULL to a NULL-able field when it's empty.
v.1.1.7
	Multilingual functionality, adding languages: Bulgarian, French, Portuguese, Spanish,  Thai.
	Fixing issue #3, replace mysql_escape_string() with str_replace. This function has been DEPRECATED as of PHP 5.3.0.
	Fixing issue #5, set_relation with multiple fields don't work with NULL-able fields.
	Fixing issue #6, unique_hash issue (not unique when having same method name in 2 diff. controllers).
	Changing license. Grocery CRUD is released with dual licensing, using the GPL v3 (license-gpl3.txt) and the MIT license (license-mit.txt).
v.1.1.6
	New feature: Multilingual functionality.
	Remember the search text and the field name at the list that user had insert.
	Method set_relation - New feature to add more than one fields to the title of the related table.
	Adding Timestamp as an automatic date and time field.
	Change the business logic of adding js and css files. This is really useful for a FUTURE feature with multiple tables in the same view.
	A temporary solution for the search for All that have a relation_n_n.
	Small Bug fix - adding tinyint as a type to autogenerate the true_false type (active-inactive) for tinyint at CI 2.1
	Fixing issue #1 - flexigrid width was always 960px. Now has always 100% width.
v.1.1.4
	Bug Fix - When you have unset edit and unset delete in your actions and also you have insert one or more add_action, the column Actions disapeared.
	Adding a new field type named "password". This is a simple transformation of the field input from text to password and it hides the password from the list grid.
	Changing state name insert and update to... "insert" and "update" and not "add" and "edit" that was till this revision.
	Fully compatible with codeigniter 2.1 - Changing the library of CI_Form_Validation and adding it into the library of grocery CRUD for stability.
v.1.1.3
	Changing the functionality of the private method _theme_view. Now it's not dependent with the Loader of codeigniter.
		So every template controller, HMVC, e.t.c. can work well with grocery CRUD now.
	Changing the library core and make it more minimal and more powerful.
	New method unset_jquery. Very useful, if you already have the jquery library at your basic template.This is good to avoid jquery conflicts.
	BUG fix - No more conflicts between flexigrid tables. There was a cookie conflict between different lists.
	BUG fix - The set relation now works if you add the same table name twice.
	Renaming the folder public to assets.
	Grocery CRUD is now ready to be a spark.
	Changing the functionality and the javascript of the uploader. There is no need to have $config['enable_query_strings'] set to true anymore.
v.1.1.2
	Renaming the label "Tools" to "Actions".
	Creation of new field type : "hidden" to add hidden fields. You can also add a value to the hidden field.
	Updating Javascripts: datatables, file_uploader.
	Disable sorting of the row "Actions" on datatables theme and fix the actions hover on paging that didn't work.
	Adding new feature/function add_action. Adds icons and urls for custom "actions".
	Adding .htaccess files to the views of themes for security reasons.
v.1.1
	Bug Fix - Datetime picker now works fine to an empty input. It also works fine to the add operation.
	When the edit and the delete is unset then dissapear the column Tools.
	The default library/model is not in a third party but has been moved in the main codeigniter foldering for better functionality and to use it in both CI 1.7.x and CI 2.0.x .
	Delete the grocery Exceptions Library. Everyone can create his own exception library . It was just an example.
	Add new jquery version 1.6.2 and renewing some plugins.
	Remove php short tags.
	No direct script access allowed on the views.
	Renaming function set_relation_1_n to set_relation_n_n. The functionality has not change.
	Removing the libraries MY_Output.php and MY_Loader.php from the core folder.
	Removing the folder template. The template was just an example and confused lot of people.
	Fully compatible with Codeigniter versions 1.7.x , 2.0.0 - 2.0.3.
	Creation of new field type : "invisible". Very useful if you use callbacks.

For more information, visit http://www.grocerycrud.com


Download Details:

Author: scoumbourdis
Source Code: https://github.com/scoumbourdis/grocery-crud

License: GPL-3.0 and 2 other licenses found

#codeigniter #php 

What is GEEK

Buddha Community

Grocery CRUD: A PHP Codeigniter Framework Library

Laravel Vs CodeIgniter (Choosing Best PHP Framework In 2021)

This is image title

Do you want to create an outstanding web application? You would need a flexible and scalable framework in terms of architecture. Laravel and CodeIgniter have gained a lot of popularity in the last few years. Both frameworks can use to create robust and high-performance web apps. Laravel powers around 0.37% of the websites while CodeIgniter holds 0.36% of the market share.

This is image title

Laravel, being a popular open-source PHP framework, is widely used for building websites and web applications. As this framework uses the MVC pattern, it provides comfortable and easy development. One gets complete control over the project over the development of applications as external APIs can be implemented. Laravel’s MVC architecture reuses the application logic to create scalable web apps.

On the other hand, CodeIgniter is an object-oriented, event-driven functional framework that helps to create fully-featured web applications. It considers as one of the best frameworks to develop dynamic websites and web apps. As the users do not need to rely on MVC development patterns, it can be integrated with third-party plugins to add complex features to the web app. CodeIgniter is known for its amazing security.

1. Built-In Modules
Laravel allows web developers to break the project into smaller modules through a bundle. They can re-use the models across different projects and save development costs.CodeIgniter does not support built-in modules and the programmers need to create and maintain multiple modules with the help of Modular Extension.

2. Library Usage
Laravel possesses object-oriented libraries that used to add the right features. Laravel libraries are comparatively easier to use than the ones available for CodeIgniter.

3. REST APIs
Laravel offers RESTful controllers to help the developers create custom REST APIs without writing any additional code. CodeIgniter does not provide such a feature to simplify the development of APIs. CodeIgniter developers may have to write more code as compared to Laravel developers while creating web apps.

4. HTTPS Support
Laravel supports the HTTPS route and helps programmers to make the right decision for creating a specific URL for each HTTPS route. With CodeIgniter development, programmers need to manage URL helpers to enable protection for data transmission.

5. Data Migration
Laravel provides greater support for data migration while CodeIgniter may have limitations and it may be time-consuming to migrate data while using it.database migration
This is image title

6. PHP Version Support
Both Laravel and CodeIgniter frameworks support the latest PHP version i.e. PHP 7.X. The developers and testers may find it easy to build web apps with Laravel as compared to CodeIgniter development.

7. Technical Documentation
When we talk about the technical documentation for both frameworks, CodeIgniter wins the race as it has easy-to-understand documentation. On the other hand, Laravel has tough documentation that may not be easy to understand for all programmers.

Read More

#laravel or codeigniter #laravel vs codeigniter #laravel vs codeigniter performance #php framework laravel vs codeigniter #php laravel vs codeigniter

Gordon  Murray

Gordon Murray

1623648178

How to Use Prepared Statement in PHP 8 For CRUD Application

Security is a measured challenge while creating an application in PHP. The raw SQL query in PHP can be injected through a malicious function. This may affect your entire functionality. Even you can lose your database or particular table and even any record. Due to the SQL injection, the vulnerable code or script can be injected into your SQL query. It is the most important thing to prevent SQL injection in your PHP application. I already shared a brief post on  SQL Injection and Prevention Techniques in PHP. The PHP frameworks like  Laravel,  CodeIgniter, etc are secured from the SQL injection. We can overcome the possibility of SQL injection using prepared statement. The PHP prepared statement query will generate a placeholder. It will prepare a SQL statement and later will bind the values to the placeholder. In this post, I will create a CRUD app using prepared statement.

Contents

  • 1 Prerequisites
  • 2 Create a Project Folder Structure
  • 3 Create Database and Table
  • 4 Database Connection For PHP Prepared Statement
  • 5 Create Master Layouts in PHP
  • 6 Create Index File For Displaying Data
  • 7 CRUD in PHP Using Prepared Statement
  • 8 Create Post
  • 9 Show Post
  • 10 Update Post
  • 11 Delete Post
  • 12 Conclusion
  • 12.1 Share this:
  • 12.2 Like this:
  • 12.3 Related

Prerequisites

For creating this CRUD app in php using prepared statement, you must have the below configuration.

  • Apache/Nginx Server
  • PHP >=7
  • MySQL >=5
  • VS Code (Optional)

Create a Project Folder Structure

Firstly, go to the htdocs directory if you are a windows user and installed xampp/wampp. If you are a Linux user then go to the var/www/html and create a new folder there. In my case, the folder name is crud. Inside this folder, I have created these two subfolders named assets and master.

Let me explain the file

#php #crud app #php 8 crud #php crud

Hire PHP Developer - Best PHP Web Frameworks for Web Development

A framework that can drastically cut down the requirement to write original code to develop the web apps as per your requirement is PHP Framework. PHP frameworks offer code libraries for commonly used functions to reduce the development time.

Want to use PHP Web Frameworks for your web applications?

WebClues Infotech offers a service to hire dedicated PHP developers for all of the below-mentioned frameworks

  • Laravel Developer
  • Codeigniter Developer
  • Yii Developer
  • Zend Developer
  • Cake PHP Developer
  • Core PHP Developer

Not sure which framework to use for your PHP web application?

Contact us

Schedule Interview with PHP Developer https://bit.ly/3dsTWf0

Email: sales@webcluesinfotech.com

#hire php developer #hire php web developers #hire php developer in 2021 #hire php developers & dedicated php programmers #hire php developers india #hire and outsource freelance php developers

Leonard  Paucek

Leonard Paucek

1667070360

Grocery CRUD: A PHP Codeigniter Framework Library

Grocery CRUD

Grocery CRUD is a PHP and Codeigniter Framework library that creates a full functional CRUD system without the need to customise JavaScript or CSS.

.gitignore

.htaccess
.buildpath
.settings/
.project
.idea/
system/
assets/grocery_crud/themes/bootstrap
application/.htaccess
application/cache/
application/config/migration.php
application/config/autoload.php
application/config/config.php
application/config/constants.php
application/config/memcached.php
application/config/database.php
application/config/doctypes.php
application/config/foreign_chars.php
application/config/hooks.php
application/config/index.html
application/config/mimes.php
application/config/profiler.php
application/config/routes.php
application/config/smileys.php
application/config/user_agents.php
application/controllers/index.html
application/controllers/examples2.php
application/controllers/build.php
application/controllers/welcome.php
application/views/example2.php
application/core/
application/errors/
application/helpers/
application/hooks/
application/index.html
application/language/
application/libraries/index.html
application/libraries/grocery_crud_extended.php
application/logs/
assets/uploads/images/
application/models/index.html
application/third_party/
application/views/index.html
application/views/welcome_message.php
application/views/errors/*
index.php
license.txt
bootstrap-v4

change_log.txt

v1.6.4
    - #491: Fixing issue when we use set_read_fields with a column that doesn't exist at the database
    - Updating jQuery version to 2.x
v1.6.3
   - #465: Translation for Spanish Uruguay by @mlopezcoria
   - #470: Update Polish translation by @tikky
   - #468: Remove PHP 7.3 warnings
   - #38: Bug fix: required_fields doesn't work for relation_n_n fields
   - #469: datatables theme - update table fails after delete
v 1.6.2
    - #442: Searching in grid with value 0 is not working
    - #458: Updated Lithuanian language by @dgvirtual
    - #463: Updated Spanish language by @CarlosPinedaT
    - Security fix
v 1.6.1
    - #441: Adding clone functionality - contribution from @portapipe
v 1.6.0
    - #211: Bug if use where clause and try to "search all" the fields
    - #432: Bootstrap Theme issues with filtering when we are using set_relation with multiple fields
    - #353: Adding callback_read_field function
    - #433: Preview click with fancybox to work the same across all the themes
v 1.5.9
    - #420: set_relation with brackets is causing ambiguous column name when the field name exists at the basic table
    - #413: Unexpected error when there are non english chars and a datetime field as column
    - #406: Export button to work without the need of a popup window or new tab
    - Clean-up redundant JavaScript load if it is not required.
    - Remove Export as a flash plugin for security reasons and instead add a download link
v 1.5.8
    - #382: Adding custom error message for set_rules()
    - Two new lang strings for the multiple delete confirmation
    - #388: Chosen select have 100% width at flexigrid theme
v 1.5.7
   - #331: Have a configurable XSS clean option to prevent XSS attacks
   - #370: A faster way to calculate the totals
v 1.5.6
   - Unset bootstrap with more CSS unsets
   - Languages updates (Portuguese, Italian, Spanish)
   - #367: Missing translation for Search {column_name}
v 1.5.5
   Add Croatian language - translated by: Siniša Dragičević Martinčić
   - Small CSS fixes: Datetime and date picker was overflowing in some languages
   - Removing uniform.js
v 1.5.4
   Changes for compatibility without jQuery Migrate
v 1.5.3
   #141 - Max length for decimal numbers (pull request from @dodge107)
   #335 - Unable to locate the model you have specified: grocery_crud_model (pull request: #336 from @P8H)
v 1.5.2
   Add lithuanian language - translated by alex@gnosi.lt
   Fix compatibility issues with Codeigniter 3
   Add "More" lang string for the datagrid listing
v 1.5.1
	#290 - Added functionality to define upload file types per field (pull request from @syrys)
	#305 - Update french.php and add translation for date format (pull request from @bvrignaud)
	New function unset_bootstrap that removes JS and CSS of the new bootstrap theme
v 1.5.0
	#211 - Bug if use where clause.
	#197 - Properly sanitize filenames for uploads.
	#237 - Set Timepicker to 24 hour format.
    #294 - Javascript bug with set_subject().
	Add a new method unset_view that is just an alias to unset_read method.
	Multiple delete fields for flexibility for future themes.
	Fixing the bug of jquery form plugin with returning the textarea as required.
	Add $subject_plural as a second parameter to the set_subject method.
	Multiple search fields for flexibilty for future themes:
	     - Multiple simple search
	     - Multiple relation search
	     - Multiple relation_n_n search
	More configuration preferences
	    - Setting environment (e.g. production)
	    - Setting default theme (e.g. datatables)
	Add 2 new functions:
		- unset_read_fields
		- set_read_fields
v 1.4.1
	#231 - Read page not showing relations.
	#233 - File upload uniqueid not unique.
v 1.4.0
	#170 - Problem with more than one date inputs at the dialog.
	#148 - New theme twitter-bootstrap
	#150 - Optimizing the SELECT statement for counting rows.
	#144 - Unique fields as new functionallity for unique fields in the database.
	#129 - Small bug uploading images.
	#142 - Extras doesn't work properly when the field doesn't exist in the database
	#158 - New method name set_crud_url_path. This method is useful when the path is not specified correctly.
	#163 - Custom field type label for true_false. Like hidden, enum and set.
	Noty Jquery Plugin to load when you delete a record.
	Upgrading Jquery to Jquery 1.10.2
	Multiple grids in one page.
	New language: Catalan.
	Add "view" as new action.
	Small bug fixes:
		- #165 - add_action "url_has_http" issue
		- #166 - Improved file upload error handling
		- #167 - add_action method in Twitter_Bootstrap theme, doesn't update the dropdown properly
v 1.3.3
	#102 - Unsigned field type bug.
	#103 - Multiple columns search filtering at datatables.
	#113 - Relation n_n missing when unset field.
	Adding languages: Bengali, Slovak, Korean.
	Stop supporting Codeigniter version 2.1.1 with ugly workarounds.
	Use fancybox for previewing the thumbnails at the list page.
	Transliteration characters for uploaded files.
	Updating jQuery Plugins and third party addons:
		- Updating jQuery to version 1.8.2
		- jQuery UI Library to v1.9.0.
		- Timepicker Addon for jQuery UI Datepicker to v1.0.5.
		- jQuery UI Multiselect and adding localization files for it.
		- jQuery Numeric plugin to v1.3.1.
		- jQuery Chosen plugin to v0.9.8.
		- Updating CKEditor to v3.6.5 with minimum setup.
		- Updating TinyMCE to v3.5.7.
v 1.3.2
	#98 - Add more field types.
			- Dropdown field type.
			- Multiselect field type
	#101 - Size of a request header field exceeds server limit for datatables.
	#97 - Add new method and functionality - unset_jquery_ui
	#46 - Supporting IE7.
	#95 - Export and print doesn't remove the html tags.
v 1.3.1
	Updating "Export","Print" and "Minimize/Maximaze" lang strings
	Renewing to the latest tinymce version
	Jquery version 1.8.1
	Fixing small bugs
v 1.3
	#73 - Jquery version 1.8.0
	#88 - Where clause in set_relation_n_n.
	#87 - Templating system to the  set_relation_n_n method.
	#82 - Have a thumbnail after uploading an image.
	Adding Czech Language.
	Internationalisation for datepicker ui and datetime picker.
	#86 - Print functionality to both flexigrid and datatables theme.
	#85 - Export functionality to both flexigrid and datatables theme.
	Print functionality to datatables theme.
	Having CKEditor as the default texteditor for grocery CRUD.
	Adding Markitup texteditor. Really useful editor for developers.
	#68 - set_relation doesn't work as expected when the third field (title name) is the same on two or more set_relation methods.
	#80 - method order_by doesn't work correctly on datatables theme.
	More configuration values:
		- Choose text-editor between 'ckeditor','tinymce' or 'markitup'.
		- Choose text-editor type between 'minimal' or 'full'.
		- Character limiter at the columns of the list page.
v 1.2.3
	Compatible with Codeigniter version 2.1.1
	Adding Hungarian language.
	Adding new method: field_type. For now it is just an alias to the change_field_type method.
	#49 - Adding new method: set_primary_key.
	#27 - Adding value to enum and set of the change_field_type method.
	#44 - Changing the date format at the list table. For example the 10 Jan 2003 has to be 10/01/2003.
	#56 - Field type true_false now uses default value.
	#42 - Insert ids to all the inputs for easy Javascript changes.
	Bug fixes:
		#30 - Change field type doesn't work if the field is not at the table.
		#38 - required_field doesn't work for relation_n_n fields.
v 1.2.2
	Adding Dutch language.
	Adding a new method "unset_back_to_list".  Unsets everything that has to do with buttons or links with go back to list message.
	#23 - When we use $crud->where() method it doesn't work as expected with the search of flexigrid.
	#28 - Change the hardcoded JavaScripts and CSS with variables.
	#25 - Adding a new method "unset_list".  Unsets the first list and the ajax_list and gives an exception error for the user that tries to access it.
	Adding a new button/feature "save and go back to list". When a user press the button "save and go back to list" it is automatically redirect you to the list page when a successful save is done.
	Adding the default_per_page at the config file. This specifies the first visit per page that a user should see at the list page. For example 25 rows per page.
	#13 - The list search and ordering is not working with the n-n relation columns.
	Small bug fixes:
		#20 - Pressing tab and enter after adding a date or a datetime field it clears the date.
		#21 - By default the texteditor transform the utf8 to html entities.
		#22 - Doesn't recognize that a tinyint 1 or int 1 can just take a numeric value more than 1.
v 1.2.1.1
	Small bug fixes:
		#18 - Returning $this to all the callbacks methods.
		"set" type doesn't work properly.
v.1.2.1
	Adding languages: Afrikaans, Danish, Japanese, Romanian.
	Adding 3 new methods. unset_fields, unset_add_fields and unset_edit_fields.
	Renewing Javascripts: tinymce.
	Issue #14 - In firefox browser if you add more than one textarea. Only the last textarea works properly.
	Issue #16 - Flexigrid's Search string get garbled with multibyte string.
	Adding the "set" field type.
	Adding the "readonly" field type.
	Adding lang strings: "set_relation_title", "list_record", "form_inactive", "form_active";
v.1.2
	Adding languages: Arabic, Chinese, European Portuguese, German , Persian, Polish, Indonesian, Turkish, Ukrainian.
	Adding date format to the auto date fields. The format can be dd/mm/yyyy or mm/dd/yyyy or the old-one yyyy-mm-dd.
	Adding date-time format to the auto date-time fields. The format is chosen by the default date format (uk-date , us-date or sql-date).
	Adding a new uploader. Works with the most common browsers. Internet Explorer 8+, Mozilla Firefox, Google Chrome, Opera, Safari.
	Changing the interface of the form inputs. Now all the text inputs looks like bootstrap's inputs.
	Adding a where clause at the 4th argument to the simple set_relation method.
	Adding order by clause at the 5th argument to the simple set_relation method.
	Adding 3 new callbcaks, callback_upload, callback_before_upload, callback_after_upload.
	BUG fix - unset_jquery function now works properly.
	BUG fix #9 (The form's clear functionallity don't work properly after the insert).
	RENAMING METHODS:
		callback_escape_insert to callback_insert,
		callback_escape_update to callback_update,
		callback_escape_delete to callback_delete
	RENAMING CLASSES:
		grocery_Field_Types to grocery_CRUD_Field_Types
		grocery_Model_Driver to grocery_CRUD_Model_Driver
		grocery_Form_validation to grocery_CRUD_Form_validation
		grocery_Layout to grocery_CRUD_Layout
		grocery_States to grocery_CRUD_States
		grocery_Model to grocery_CRUD_Model
v.1.1.8
	Add new jquery version 1.7.1
	Changing the drop-down list of the set_relation. Now the drop-down list has unique design for all the browsers, is searchable and also can be empty.
	Changing the layout or relation n-n (only without the ordering field). The new one, is much more user friendly and easier to handle lot of data.
	Adding languages: Italian, Russian.
	Small BUG fixes:
		- Auto-recognize enum fields for CI 2.1
		- Don't print " " if a value is empty, is useless
		- Smal but important CSS Fixes.
		- #7 set_relation BUG conflict when a field name appears twice.
	Manipulating NULL data. Automatically add NULL to a NULL-able field when it's empty.
v.1.1.7
	Multilingual functionality, adding languages: Bulgarian, French, Portuguese, Spanish,  Thai.
	Fixing issue #3, replace mysql_escape_string() with str_replace. This function has been DEPRECATED as of PHP 5.3.0.
	Fixing issue #5, set_relation with multiple fields don't work with NULL-able fields.
	Fixing issue #6, unique_hash issue (not unique when having same method name in 2 diff. controllers).
	Changing license. Grocery CRUD is released with dual licensing, using the GPL v3 (license-gpl3.txt) and the MIT license (license-mit.txt).
v.1.1.6
	New feature: Multilingual functionality.
	Remember the search text and the field name at the list that user had insert.
	Method set_relation - New feature to add more than one fields to the title of the related table.
	Adding Timestamp as an automatic date and time field.
	Change the business logic of adding js and css files. This is really useful for a FUTURE feature with multiple tables in the same view.
	A temporary solution for the search for All that have a relation_n_n.
	Small Bug fix - adding tinyint as a type to autogenerate the true_false type (active-inactive) for tinyint at CI 2.1
	Fixing issue #1 - flexigrid width was always 960px. Now has always 100% width.
v.1.1.4
	Bug Fix - When you have unset edit and unset delete in your actions and also you have insert one or more add_action, the column Actions disapeared.
	Adding a new field type named "password". This is a simple transformation of the field input from text to password and it hides the password from the list grid.
	Changing state name insert and update to... "insert" and "update" and not "add" and "edit" that was till this revision.
	Fully compatible with codeigniter 2.1 - Changing the library of CI_Form_Validation and adding it into the library of grocery CRUD for stability.
v.1.1.3
	Changing the functionality of the private method _theme_view. Now it's not dependent with the Loader of codeigniter.
		So every template controller, HMVC, e.t.c. can work well with grocery CRUD now.
	Changing the library core and make it more minimal and more powerful.
	New method unset_jquery. Very useful, if you already have the jquery library at your basic template.This is good to avoid jquery conflicts.
	BUG fix - No more conflicts between flexigrid tables. There was a cookie conflict between different lists.
	BUG fix - The set relation now works if you add the same table name twice.
	Renaming the folder public to assets.
	Grocery CRUD is now ready to be a spark.
	Changing the functionality and the javascript of the uploader. There is no need to have $config['enable_query_strings'] set to true anymore.
v.1.1.2
	Renaming the label "Tools" to "Actions".
	Creation of new field type : "hidden" to add hidden fields. You can also add a value to the hidden field.
	Updating Javascripts: datatables, file_uploader.
	Disable sorting of the row "Actions" on datatables theme and fix the actions hover on paging that didn't work.
	Adding new feature/function add_action. Adds icons and urls for custom "actions".
	Adding .htaccess files to the views of themes for security reasons.
v.1.1
	Bug Fix - Datetime picker now works fine to an empty input. It also works fine to the add operation.
	When the edit and the delete is unset then dissapear the column Tools.
	The default library/model is not in a third party but has been moved in the main codeigniter foldering for better functionality and to use it in both CI 1.7.x and CI 2.0.x .
	Delete the grocery Exceptions Library. Everyone can create his own exception library . It was just an example.
	Add new jquery version 1.6.2 and renewing some plugins.
	Remove php short tags.
	No direct script access allowed on the views.
	Renaming function set_relation_1_n to set_relation_n_n. The functionality has not change.
	Removing the libraries MY_Output.php and MY_Loader.php from the core folder.
	Removing the folder template. The template was just an example and confused lot of people.
	Fully compatible with Codeigniter versions 1.7.x , 2.0.0 - 2.0.3.
	Creation of new field type : "invisible". Very useful if you use callbacks.

For more information, visit http://www.grocerycrud.com


Download Details:

Author: scoumbourdis
Source Code: https://github.com/scoumbourdis/grocery-crud

License: GPL-3.0 and 2 other licenses found

#codeigniter #php 

Mike  Kozey

Mike Kozey

1617423780

10 of the Best PHP Testing Frameworks for 2021

We will discuss how the best PHP testing frameworks approach test automation and what pros or cons they all offer. Let’s look at the best PHP frameworks.

A framework is a collection or set of tools and processes that work together to support testing and developmental activities. It contains various utility libraries, reusable modules, test data setup, and other dependencies. Be it web development or testing, there are multiple frameworks that can enhance your team’s efficiency and productivity. Web testing, in particular, has a plethora of frameworks, and selecting a framework that suits your needs depends on your language of choice.

Amongst all server-side programming languages,  80% of websites use PHP, and the right framework can make the job easier. We decided to dive deeper into PHP and find out what the best PHP testing frameworks are. In this blog, we will be focusing on automated testing frameworks and will be listing out the best PHP frameworks that will allow you to write your test cases in a standard format.

Best PHP Testing Frameworks of 2021

Several frameworks have been and are being used for development and testing purposes. But each one is unique in its own way and offers unique features. We will discuss how the best PHP testing frameworks approach test automation and what pros or cons they all offer. Without further ado, let’s look at the best PHP frameworks.

  1. PHPUnit
  2. Codeception
  3. Storyplayer
  4. SeleniumHQ
  5. Behat
  6. Atoum
  7. SimpleTest
  8. phpSpec
  9. Peridot
  10. Kahlan

#php #php framework #php frameworks