CodeIgniter: Access Third Party Libraries | FormGet
https://forum.codeigniter.com/post-356190.html
http://demianlabs.com/lab/post/multisite-codeigniter-with-sessions-preserved-across-subdomains-using-virtual-hosts/
Integrate SAML Single Sign On SSO in a codeigniter app
I've been asked to implement the Single Sign On (SSO) using Google Apps for authenticating (and register?) the users of a codeigniter web application.
Did anyone implement this into a codeigniter application? Any library or code?
Library http://getsparks.org/packages/oauth2/versions/HEAD/show
Google is an OAuth2 provider that the library seems to support. You will get the email of the user from the Google OAuth token like shown in the code
$user = $provider->get_user_info($token);
You will need a registration or some kind of invitations for the current users to hook with this new system once it is ready.
2,8631515 silver badges1414 bronze badges
From that example controller on the site it looks like it won't get a $token if a "code" isn't received first? '!$this->input->get('code')', what link or information do I have to prompt the user for to get a "code"? –
You don't have to worry about that. The library has all the endpoints for those providers github.com/philsturgeon/codeigniter-oauth2/blob/master/… –
I would stay away from SAML unless you have a strong reason for using it. It is a very capable protocol, which not only provides authentication but also other kinds of security assertions. But all of that power comes with commensurate complexity. OAuth is simple by comparison.
I have used SimpleSAMLphp in the past with good results. But it isn't a library so much as an entire web application all on its own.
10.8k33 gold badges3030 silver badges4949 bronze badges
I would suggest taking a look at: http://www.jasny.net/articles/simple-single-sign-on-for-php/
Continuous integration for CodeIgniter APIs | CircleCI
GitHub - jasny/sso: Simple Single Sign-On for PHP
Routing in Multilanguage (first segment is ignored)
i18n Multi language Library Helper · bcit-ci/CodeIgniter Wiki · GitHub
CodeIgniter 2.1 internationalization i18n · bcit-ci/CodeIgniter Wiki · GitHub
Routes in CodeIgniter 4 - New Myth Media Blog
https://codecanyon.net/item/academy-course-based-learning-management-system/22703468
https://codecanyon.net/item/inilabs-school-management-system-express/11630340
https://codecanyon.net/item/hrsale-the-ultimate-hrm/21665619
https://codecanyon.net/item/ekushey-project-manager-crm/9492104
https://codecanyon.net/item/erp-business-erp-solution-product-shop-company-management/19314578
https://codecanyon.net/item/timwork-team-collaboration-tool-and-project-management-system/28227564
https://codecanyon.net/item/proms-project-management-system-and-crm/20254138
https://codecanyon.net/item/timwork-saas-team-collaboration-system-and-project-management-tool/29382528
https://codecanyon.net/item/taskly-saas-project-management-tool/24490506
https://en.wikipedia.org/wiki/Category:Software_comparisons
https://en.wikipedia.org/wiki/Comparison_of_CRM_systems
https://en.wikipedia.org/wiki/Comparison_of_project_management_software
https://en.wikipedia.org/wiki/List_of_ERP_software_packages
https://en.wikipedia.org/wiki/Comparison_of_Business_Process_Model_and_Notation_modeling_tools
New
Query Builder Class — CodeIgniter 4.0.4 documentation
Using CodeIgniter’s Model — CodeIgniter 4.0.4 documentation
Localization — CodeIgniter 4.0.4 documentation
php - How to set proper codeigniter base url? - Stack Overflow
php - url codeigniter multilanguage for all pages - Stack Overflow
URI Routing — CodeIgniter 4.0.4 documentation
Form Helper — CodeIgniter 4.0.4 documentation
Old
CodeIgniter Documentation && CodeIgniter4 User Guide
Controller Filters — CodeIgniter4 4.0.0-alpha.4 documentation
Services — CodeIgniter4 4.0.0-alpha.4 documentation
News section — CodeIgniter4 4.0.0-alpha.4 documentation
Using CodeIgniter’s Model — CodeIgniter4 4.0.0-alpha.4 documentation
Localization — CodeIgniter4 4.0.0-alpha.4 documentation
CodeIgniter4 User Guide — CodeIgniter4 4.0.0-alpha.4 documentation
Handling Multiple Environments — CodeIgniter4 4.0.0-beta.2 documentation .env
Query Helper Methods — CodeIgniter 3.1.9 documentation
Representational State Transfer (REST) is an architectural style for distributed application.
$routes->resource('photos');
// Equivalent to the following:
$routes->get('photos/new', 'Photos::new');
$routes->post('photos', 'Photos::create');
$routes->get('photos', 'Photos::index');
$routes->get('photos/(:segment)', 'Photos::show/$1');
$routes->get('photos/(:segment)/edit', 'Photos::edit/$1');
$routes->put('photos/(:segment)', 'Photos::update/$1');
$routes->patch('photos/(:segment)', 'Photos::update/$1');
$routes->delete('photos/(:segment)', 'Photos::delete/$1');
Read more: RESTful Resource Handling
GitHub - divpusher/codeigniter4-auth: A simple authentication library for CodeIgniter 4.
Download the package and place the Auth folder in app/ThirdParty/.
Open app/Config/Autoload.php and add to autoload like this:
$psr4 = [
'Config' => APPPATH . 'Config',
APP_NAMESPACE => APPPATH,
'App' => APPPATH,
'Auth' => APPPATH . 'ThirdParty/Auth',
];
Set up the email in app/Config/Email. Fill the $fromEmail and $fromName as well! I suggest you to use mailtrap.io for local development.
Enable CSRF in app/Config/Filters.
Make sure that your database is set in .env file or in app/Config/Database.php. Install the users table by running the following command in your project root:
php spark migrate
Visit /register on your local server to begin.
Other
GitHub - lonnieezell/codigniter-shield: Authentication and Authorization for CodeIgniter 4
GitHub - lonnieezell/myth-auth: One-stop Auth package for CodeIgniter 4
Step 1: On the app/config/app.php filepublic $baseURL = 'http://localhost:8080';
Topublic $baseURL = 'http://localhost/your_project_name/';
Step 2: In the app.php file:public $uriProtocol = 'REQUEST_URI';
Topublic $uriProtocol = 'PATH_INFO';
Step 3: Change In index.php
Edit index.php the following line:$pathsPath = FCPATH . '../app/Config/Paths.php';
change to$pathsPath = FCPATH . 'app/Config/Paths.php';
Step 4:
Move index.php and .htaccess to your root project directory.
Edit .env the following line:
CI_ENVIRONMENT = production
production or development
site_url('about/my_work');
// http://mywebsite.com/en/about/my_work
base_url('css/styles.css');
// http://mywebsite.com/css/styles.css
Working with URIs — CodeIgniter4 4.0.0-alpha.4 documentation
URI Routing — CodeIgniter 3.1.9 documentation
URI Class — CodeIgniter 3.1.9 documentation
Working with RESTful Services in CodeIgniter
Code Igniter is MVC, that a thing that all people know.
That make it is a bad idea to call a function from controller or model.
The only function that available is the one from helper.
But you can use a function inside a model actually :D.
Okey, lets explore those choiches :
I would like to answer this question as this comes all times up in searches --
You can call a controller method in view, but please note that this is not a good practice in any MVC including codeigniter.
Your controller may be like below class --
$CI =& get_instance();
$CI->abc($id) ;
Using Function From Helper
You just need to load the helper in any place before call the function needed.
You can call it inside your controller, model or view.
The only limitation is you cannot use $this on any function of helper.–> Create a helper inside your “application/helper” folder. Eg : myhelpername_helper.php
–> Create the function inside the helper,
eg : function my_function(){ echo ‘Hi’; }
–> inisiate it inside your view (or your controller) : $this->load->helper(‘myhelpername’);
–> Call the function. Eg : my_function();
Remember not to use “$this->my_function();” because helper is off OOP side of your code.
Using Function From Model
The bright-side of this option is you can use “$this”, means all variable of CI object is available.
–> Remember to inisiate the model in your controller.
–> Say your model is “mymodelname_model.php” and the function is “mymodelname”, you can call it inside your view like this :
$this->mymodelname->mymodelname();
You can call a controller function with AJAX on your view. In this case, I'm using the jQuery library to make the call
php - How to call codeigniter controller function from view - Stack Overflow
php 5.6 - Algorithm for tree data in php codeigniter - Stack Overflow
php - Parent - Child - Grand Child category Markup in Codeigniter view - Stack Overflow
Multi Level Nested Category System in Codeigniter and MySql - My Programming Tutorials
php - codeigniter tree view build data - Stack Overflow
PHP Codeigniter 3 - Create Dynamic Tree View using Bootstrap Treeview JS
Infinite dynamic Multi-level nested category with Codeigniter and MySQL - Roy Tutorials
Infinite dynamic Multi-level nested category with PHP and MySQL - Roy Tutorials
Academia Journal of Scientific Research | Publons
How to get current url with query string in codeigniter?
php - create parent and its child tree in codeigniter - Stack Overflow
php - Mutlilevel page list in CodeIgniter - Code Review Stack Exchange
php 5.6 - Algorithm for tree data in php codeigniter - Stack Overflow
TypeError: Too few arguments in function
JQuery Ajax Request Example in Codeigniter
php - Codeigniter & jquery Ajax - Stack Overflow
php - Сегмент направления Codeigniter - Qaru
How to work with controllers in CodeIgniter
php - Calling a Controller function in another Controller in CodeIgniter - Stack Overflow
Codeigniter : calling a method of one controller from other - Stack Overflow
MahdiMajidzadeh/Codeigniter-Persian: A Codeigniter library to work with Persian characters
Configure CodeIgniter to run on two servers | Libraries & Helpers | ExpressionEngine
Is it possible to call a controller from another controller in CodeIgniter? - Quora
To view PHP code in a browser the code first has to run a distribution of the popular Apache web server called XAMPP or usbwebserver which comes pre-installed with PHP, Perl and MySQL.
PHP code can be embedded anywhere in a web document in one of four different ways. The standard notation is to delimit the code by “”. This is called a PHP
code block, or just a PHP block.
<? = php
?>
Keep in mind that text output will only be visible on the web page if it is located within the HTML body element.
<? = php
echo "Hello World";
print "Hello World"
?>
Comments are used to insert notes into the code and will have no effect on the parsing of the script. PHP has the two standard C++ notations for single-line (//) and multi-line
(/* */) comments. The Perl comment notation (#) may also be used to make single-line comments.
<? = php
// single-line comment
# single-line comment
/* multi-line
comment */
?>
A variable starts with a dollar sign ($) followed by an identifier, which is the name of the variable.
$myVar;
A value can be assigned to a variable by using the equals sign, or assignment operator (=). The variable then becomes defined or initialized.
$myVar = 10;
PHP is a variable’s data type will change automatically to be able to hold the value it is assigned.
$myVar = 1; // int type
$myVar = 1.5; // float type
Data Type = Category = Description
int = Scalar = Integer
float = Scalar = Floating-point number
bool = Scalar = Boolean value
string = Scalar = Series of characters
array = Composite = Collection of values
object = Composite = User-defined data type
resource = Special = External resource
callable = Special = Function or method
null = Special = No value
An integer is a whole number. They can be specified in decimal (base 10), hexadecimal $myInt = 1234; // decimal number
$myInt = 0b10; // binary number (2 decimal)
$myInt = 0123; // octal number (83 decimal)
$myInt = 0x1A; // hexadecimal number (26 decimal)(base 16), octal (base 8) or binary (base 2) notation.
The float or floating-point type can store real numbers. These can be assigned using either decimal or exponential notation.
$myFloat = 1.234;
$myFloat = 3e2; // 3*10^2 = 300
Commonly can hold approximately 14 decimal digits and a maximum decimal value of 1.8x10 308 .
The bool type can store a Boolean value, which is a value that can only be either true or false. These values are specified with the true and false keywords.
$myBool = true;
The case-insensitive constant null is used to represent a variable with no value. Such a variable is considered to be of the special null data type.
$myNull = null; // variable is set to null
If evaluated as a bool it becomes false, as a number it becomes zero (0), and as a string it becomes an empty string ("").
$myInt = $myNull + 0; // numeric context (0)
$myBool = $myNull == true; // bool context (false)
echo $myNull; // string context ("")
In PHP it is possible to use variables that have not been assigned a value. Such undefined variables will then automatically be created with the value null.
echo $myUndefined; // variable is set to null
Operators are used to operate on values. They can be grouped into five types: arithmetic, assignment, comparison, logical and bitwise operators.
The arithmetic operators include the four basic arithmetic operations, as well as the modulus operator (%) which is used to obtain the division remainder.
$x = 4 + 2; // 6 // addition
$x = 4 - 2; // 2 // subtraction
$x = 4 * 2; // 8 // multiplication
$x = 4 / 2; // 2 // division
$x = 4 % 2; // 0 // modulus (division remainder)
The second group is the assignment operators. Most importantly, the assignment operator (=) itself, which assigns a value to a variable.
A common use of the assignment and arithmetic operators is to operate on a variable and then to save the result back into that same variable. These operations can be shortened
with the combined assignment operators.
$x = 0;
$x += 5; // $x = $x+5;
$x -= 5; // $x = $x-5;
$x *= 5; // $x = $x*5;
$x /= 5; // $x = $x/5;
$x %= 5; // $x = $x%5;
Another common operation is to increment or decrement a variable by one. This can be
simplified with the increment (++) and decrement (−−) operators.
$x++; // $x += 1;
$x−−; // $x -= 1;
Both of these operators can be used either before or after a variable.
$x++; // post-increment
$x−−; // post-decrement
++$x; // pre-increment
−−$x; // pre-decrement
The result on the variable is the same whichever is used. The difference is that
the post-operator returns the original value before it changes the variable, while the
pre-operator changes the variable first and then returns the value.
$x = 5; $y = $x++; // $x=6, $y=5
$x = 5; $y = ++$x; // $x=6, $y=6
The comparison operators compare two values and return either true or false. They are
mainly used to specify conditions, which are expressions that evaluate to either true
or false.
$x = (2 == 3); // false // equal to
$x = (2 != 3); // true // not equal to
$x = (2 <> 3); // true // not equal to (alternative)
$x = (2 === 3); // false // identical
$x = (2 !== 3); // true // not identical
$x = (2 > 3); // false // greater than
$x = (2 < 3); // true // less than
$x = (2 >= 3); // false // greater than or equal to
$x = (2 <= 3); // true // less than or equal to
The identical operator (===) is used for comparing both the value and data type of
the operands. It returns true if both operands have the same value and are of the same
type. Likewise, the not identical operator (!==) returns true if the operands do not have
the same value or are not of the same type. Put another way, the equality operators will
perform type conversions, whereas the identical operators will not.
$x = (1 == "1"); // true (same value)
$x = (1 === "1"); // false (different types)
The logical operators are often used together with the comparison operators. Logical and
(&&) evaluates to true if both the left and right side are true, and logical or (||) evaluates to
true if either the left or right side is true. The logical not (!) operator is used for inverting
a Boolean result. Note that for both “logical and” and “logical or” the right side of the
operator will not be evaluated if the result is already determined by the left side.
$x = (true && false); // false // logical and
$x = (true || false); // true // logical or
$x = !(true); // false // logical not
The bitwise operators can manipulate binary digits of numbers. For example, the xor
operator (^) turn on the bits that are set on one side of the operator, but not on both sides.
$x = 5 & 4; // 101 & 100 = 100 (4) // and
$x = 5 | 4; // 101 | 100 = 101 (5) // or
$x = 5 ^ 4; // 101 ^ 100 = 001 (1) // xor (exclusive or)
$x = 4 << 1; // 100 << 1 =1000 (8) // left shift
$x = 4 >> 1; // 100 >> 1 = 10 (2) // right shift
$x = ~4; // ~00000100 = 11111011 (-5) // invert
These bitwise operators have shorthand assignment operators, just like the
arithmetic operators.
$x=5; $x &= 4; // 101 & 100 = 100 (4) // and
$x=5; $x |= 4; // 101 | 100 = 101 (5) // or
$x=5; $x ^= 4; // 101 ^ 100 = 001 (1) // xor
$x=5; $x <<= 1; // 101 << 1 =1010 (10)// left shift
$x=5; $x >>= 1; // 101 >> 1 = 10 (2) // right shift
In PHP, expressions are normally evaluated from left to right. However, when an
expression contains multiple operators, the precedence of those operators decides the
order in which they are evaluated.
Pre Operator
1 ++ −−
2 ~ − (unary)
3 !
4 * / %
5 + − (binary)
6 << >>
7 < <= > >= <>
8 == != === !==
9 &10 ^
11 |
12 &&
13 ||
14 = op=
15 and
16 xor
17 or
For example, logical and (&&) binds weaker than relational operators, which in turn
bind weaker than arithmetic operators.
$x = 2+3 > 1*4 && 5/5 == 1; // true
To make things clearer, parentheses can be used to specify which part of the
expression will be evaluated first. Parentheses have the highest precedence of all
operators.
$x = ((2+3) > (1*4)) && ((5/5) == 1); // true
In the precedence table make special note of the last three operators: and, or and xor.
The and and or operators work in the same way as the logical && and || operators. The
only difference is their lower level of precedence.
// Same as: $a = (true && false);
$a = true && false; // $a is false
// Same as: ($a = true) and false;
$a = true and false; // $a is true
The xor operator is a Boolean version of the bitwise ^ operator. It evaluates to true
if only one of the operands are true.
$a = (true xor true); // false
A string is a series of characters that can be stored in a variable. In PHP, strings are
typically delimited by single quotes.
$a = 'Hello';
PHP has two string operators. The dot symbol is known as the concatenation operator
(.) and combines two strings into one. It also has an accompanying assignment operator
(.=), which appends the right-hand string to the left-hand string variable.
$b = $a . ' World'; // Hello World
$a .= ' World'; // Hello World
PHP strings can be delimited in four different ways. There are two single-line notations:
double-quote (" ") and single-quote (' '). The difference between them is that variables
are not parsed in single-quoted strings whereas they are parsed in double-quoted strings.
$c = 'World';
echo "Hello $c"; // "Hello World"
echo 'Hello $c'; // "Hello $c"
Single-quoted strings tend to be preferred unless parsing is desired, mainly because
string parsing has a very small performance overhead. However, double-quoted strings
are considered easier to read, which makes the choice more a matter of preference.
In addition to single-quoted and double-quoted strings, there are two multi-line
notations: heredoc and nowdoc. These notations are mainly used to include larger
blocks of text.
The heredoc syntax consists of the <<< operator followed by an identifier and a new line.
The string is then included followed by a new line containing the identifier in order to
close the string. Variables are parsed inside of a heredoc string, just as with double-quoted
strings.
$s = <<<LABEL
Heredoc (with parsing)
LABEL;
Nowdoc strings
The syntax for the nowdoc string is the same as for the heredoc string, except that the
initial identifier is enclosed in single-quotes. Variables will not be parsed inside
a nowdoc string.
$s = <<<'LABEL'
Nowdoc (without parsing)
LABEL;
Escape characters
Escape characters are used to write special characters, such as backslashes or
double-quotes. A table of the escape characters available in PHP can be seen below.
Character Meaning
\n newline
\t horizontal tab
\r carriage return
\f form feed
\$ dollar sign
\v vertical tab
\' single quote
\e escape
\" double quote
\\ backslash
For example, line breaks are represented with the escape character “\n” in text.
$s = "Hello\nWorld";
Note that this character is different from the
HTML tag, which creates line
breaks on web pages.
echo "Hello
World";
When using the single-quote or nowdoc delimiter the only escape characters that
work are the backslash (\\) and single-quote (\') characters.
$s = 'It\'s'; // "It's"
Escaping the backslash is only necessary before a single-quote or at the end of
the string.
Character reference
Characters within strings can be referenced by specifying the index of the desired
character in square brackets after the string variable, starting with zero. This can be used
both for accessing and modifying single characters.
$s = 'Hello';
$s[0] = 'J';
echo $s; // "Jello"
The strlen function retrieves the length of the string argument. This can for example
be used to change the last character of a string.
$s[strlen($s)-1] = 'y';
echo $s; // "Jelly"
String compare
The way to compare two strings is simply by using the equal to operator. This will not
compare the memory addresses, as in some other languages.
$a = 'test';
$b = 'test';
$c = ($a == $b); // true
Chapter 5: Arrays ■ 17
Chapter 6: Conditionals ■ 21
Chapter 7: Loops ■ 25
Chapter 8: Functions ■ 29
Chapter 9: Class ■ 35
Chapter 10: Inheritance ■ 39
Chapter 11: Access Levels ■ 43
Chapter 12: Static ■ 47
Chapter 13: Constants ■ 51
Chapter 14: Interface ■ 55
Chapter 15: Abstract ■ 59
Chapter 16: Traits ■ 61
Chapter 17: Importing Files ■ 63
Chapter 18: Type Hinting ■ 67
Chapter 19: Type Conversions ■ 69
Chapter 20: Variable Testing ■ 73
Chapter 21: Overloading ■ 77
Chapter 22: Magic Methods ■ 81
Chapter 23: User Input ■ 87
Chapter 24: Cookies ■ 93
Chapter 25: Sessions ■ 95
Chapter 26: Namespaces ■ 97
Chapter 27: References ■ 103
Chapter 28: Advanced Variables ■ 107
Chapter 29: Error Handling ■ 111
Chapter 30: Exception Handling ■ 117
A list of awesome CodeIgniter core, helpers, hooks, language, libraries, third_party and other cool resources for CodeIgniter.
View Layouts — CodeIgniter 4.1.5 documentation
Views — CodeIgniter 4.1.5 documentation
News section — CodeIgniter 4.1.5 documentation
Query Builder Class — CodeIgniter 4.2.1 documentation
Generating Query Results — CodeIgniter 4.2.1 documentation