Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
TelegramBot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kulya
TelegramBot
Commits
d1442fe9
Commit
d1442fe9
authored
Apr 14, 2016
by
RedScorp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
for UTF-8 characters in the class definition and commands
parent
3b97af62
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
790 additions
and
762 deletions
+790
-762
Telegram.php
src/Telegram.php
+790
-762
No files found.
src/Telegram.php
View file @
d1442fe9
...
...
@@ -252,7 +252,8 @@ class Telegram
$which
[]
=
'User'
;
foreach
(
$which
as
$auth
)
{
$command_namespace
=
__NAMESPACE__
.
'\\Commands\\'
.
$auth
.
'Commands\\'
.
ucfirst
(
$command
)
.
'Command'
;
// $command_namespace = __NAMESPACE__ . '\\Commands\\' . $auth . 'Commands\\' . ucfirst($command) . 'Command';
$command_namespace
=
__NAMESPACE__
.
'\\Commands\\'
.
$auth
.
'Commands\\'
.
$this
->
mb_ucfirst
(
$command
)
.
'Command'
;
if
(
class_exists
(
$command_namespace
))
{
return
new
$command_namespace
(
$this
,
$this
->
update
);
}
...
...
@@ -430,7 +431,8 @@ class Telegram
*/
private
function
getCommandFromType
(
$type
)
{
return
ucfirst
(
str_replace
(
'_'
,
''
,
$type
));
// return ucfirst(str_replace('_', '', $type));
return
$this
->
mb_ucfirst
(
str_replace
(
'_'
,
''
,
$type
));
}
/**
...
...
@@ -521,7 +523,8 @@ class Telegram
*/
protected
function
sanitizeCommand
(
$command
)
{
return
str_replace
(
' '
,
''
,
ucwords
(
str_replace
(
'_'
,
' '
,
$command
)));
// return str_replace(' ', '', ucwords(str_replace('_', ' ', $command)));
return
str_replace
(
' '
,
''
,
$this
->
mb_ucwords
(
str_replace
(
'_'
,
' '
,
$command
)));
}
/**
...
...
@@ -759,4 +762,29 @@ class Telegram
return
$result
;
}
/**
* Replace function `ucwords` for UTF-8 characters in the class definition and commands
*
* @param string $str
* @param string $encoding (default = 'UTF-8')
*
* @return string
*/
protected
function
mb_ucwords
(
$str
,
$encoding
=
'UTF-8'
)
{
return
mb_convert_case
(
$str
,
MB_CASE_TITLE
,
$encoding
);
}
/**
* Replace function `ucfirst` for UTF-8 characters in the class definition and commands
*
* @param string $str
* @param string $encoding (default = 'UTF-8')
*
* @return string
*/
protected
function
mb_ucfirst
(
$str
,
$encoding
=
'UTF-8'
)
{
return
mb_strtoupper
(
mb_substr
(
$str
,
0
,
1
,
$encoding
),
$encoding
)
.
mb_strtolower
(
mb_substr
(
$str
,
1
,
mb_strlen
(
$str
),
$encoding
),
$encoding
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment