Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
taskonsite-архив-перенесен
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitry Korolev
taskonsite-архив-перенесен
Commits
47e910be
Commit
47e910be
authored
Mar 09, 2016
by
Виталий Мурашко
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Course likes
parent
20054c40
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
250 additions
and
19 deletions
+250
-19
common/modules/school/assets/css/school.css
common/modules/school/assets/css/school.css
+13
-0
common/modules/school/assets/js/school.js
common/modules/school/assets/js/school.js
+32
-11
common/modules/school/controllers/LikesCourseController.php
common/modules/school/controllers/LikesCourseController.php
+72
-0
common/modules/school/models/Courses.php
common/modules/school/models/Courses.php
+29
-0
common/modules/school/models/LikesCourse.php
common/modules/school/models/LikesCourse.php
+50
-0
common/modules/school/views/course/view.php
common/modules/school/views/course/view.php
+12
-8
common/modules/school/views/likes-course/block_likes_course.php
.../modules/school/views/likes-course/block_likes_course.php
+9
-0
console/migrations/m160308_105319_create_table_likes_course.php
...e/migrations/m160308_105319_create_table_likes_course.php
+33
-0
No files found.
common/modules/school/assets/css/school.css
View file @
47e910be
...
@@ -85,4 +85,17 @@ a.ls_block_title {
...
@@ -85,4 +85,17 @@ a.ls_block_title {
}
}
.ls_block_btn
{
.ls_block_btn
{
margin-top
:
10px
;
margin-top
:
10px
;
}
.ls_likes
{
margin-bottom
:
20px
;
}
.ls_likes_y_choice
{
background
:
#00CF56
;
color
:
#fff
;
text-decoration
:
none
;
}
.ls_likes_n_choice
{
background
:
#F26363
;
color
:
#fff
;
text-decoration
:
none
;
}
}
\ No newline at end of file
common/modules/school/assets/js/school.js
View file @
47e910be
...
@@ -100,7 +100,7 @@ $(document).ready(function() {
...
@@ -100,7 +100,7 @@ $(document).ready(function() {
$
(
'
#login_form
'
).
hide
();
$
(
'
#login_form
'
).
hide
();
});
});
$
(
'
body
'
).
on
(
'
click
'
,
'
.call_form_reg
'
,
function
(){
$
(
'
body
'
).
on
(
'
click
'
,
'
.call_form_reg
'
,
function
(){
link
=
$
(
this
);
link
=
$
(
this
);
title
=
'
Регистрация на курс <br>
'
+
link
.
data
(
'
title
'
);
title
=
'
Регистрация на курс <br>
'
+
link
.
data
(
'
title
'
);
spec_propotion
=
link
.
data
(
'
spec
'
);
spec_propotion
=
link
.
data
(
'
spec
'
);
...
@@ -112,16 +112,37 @@ $(document).ready(function() {
...
@@ -112,16 +112,37 @@ $(document).ready(function() {
else
{
else
{
$
(
'
.spec_propotition
'
).
hide
();
$
(
'
.spec_propotition
'
).
hide
();
}
}
/*jQuery.ajax({
});
type: 'POST',
$
(
'
body
'
).
on
(
'
click
'
,
'
a.ls_likes_y
'
,
function
(){
url: "/school/lessons-admin/update-form-document",
link
=
$
(
this
);
data: {'docId': doc},
courseId
=
link
.
data
(
'
course
'
);
success: function(data){
if
(
!
link
.
hasClass
(
"
ls_likes_y_choice
"
)
)
{
jQuery('#doc-upd').append(
jQuery
.
ajax
({
data
type
:
'
POST
'
,
);
url
:
"
/school/likes-course/like-course
"
,
}
dataType
:
"
html
"
,
});*/
data
:
{
'
courseId
'
:
courseId
},
success
:
function
(
data
){
jQuery
(
'
.ls_likes
'
).
html
(
data
);
}
});
}
});
$
(
'
body
'
).
on
(
'
click
'
,
'
a.ls_likes_n
'
,
function
(){
link
=
$
(
this
);
courseId
=
link
.
data
(
'
course
'
);
if
(
!
link
.
hasClass
(
"
ls_likes_n_choice
"
))
{
jQuery
.
ajax
({
type
:
'
POST
'
,
url
:
"
/school/likes-course/unlike-course
"
,
data
:
{
'
courseId
'
:
courseId
},
dataType
:
"
html
"
,
success
:
function
(
data
){
jQuery
(
'
.ls_likes
'
).
html
(
data
);
}
});
}
});
});
});
});
...
...
common/modules/school/controllers/LikesCourseController.php
0 → 100644
View file @
47e910be
<?php
namespace
common\modules\school\controllers
;
use
common\components\BaseController
;
use
common\modules\school\models\LikesCourse
;
class
LikesCourseController
extends
BaseController
{
public
static
function
actionsTitles
()
{
return
[
'Like-course'
=>
'Положительная оценка курса пользователем'
,
'Unlike-course'
=>
'Отрицательная оценка курса пользователем'
,
];
}
public
function
actionLikeCourse
()
{
if
(
!
\Yii
::
$app
->
user
->
isGuest
){
$courseId
=
$_POST
[
'courseId'
];
$userId
=
\Yii
::
$app
->
user
->
id
;
$estimateCourse
=
LikesCourse
::
findOne
([
'user_id'
=>
$userId
,
'course_id'
=>
$courseId
]);
if
(
!
$estimateCourse
){
$estimateCourse
=
new
LikesCourse
();
$estimateCourse
->
estimate
=
LikesCourse
::
LIKE
;
$estimateCourse
->
user_id
=
$userId
;
$estimateCourse
->
course_id
=
$courseId
;
$estimateCourse
->
save
();
}
else
{
if
(
$estimateCourse
->
estimate
==
LikesCourse
::
UNLIKE
){
$estimateCourse
->
estimate
=
LikesCourse
::
LIKE
;
$estimateCourse
->
save
();
}
}
$gradeUser
=
LikesCourse
::
LIKE
;
echo
$this
->
renderPartial
(
'block_likes_course'
,
array
(
'gradeUser'
=>
$gradeUser
,
'courseId'
=>
$courseId
));
}
}
public
function
actionUnlikeCourse
()
{
if
(
!
\Yii
::
$app
->
user
->
isGuest
){
$courseId
=
$_POST
[
'courseId'
];
$userId
=
\Yii
::
$app
->
user
->
id
;
$estimateCourse
=
LikesCourse
::
findOne
([
'user_id'
=>
$userId
,
'course_id'
=>
$courseId
]);
if
(
!
$estimateCourse
){
$estimateCourse
=
new
LikesCourse
();
$estimateCourse
->
estimate
=
LikesCourse
::
UNLIKE
;
$estimateCourse
->
user_id
=
$userId
;
$estimateCourse
->
course_id
=
$courseId
;
$estimateCourse
->
save
();
}
else
{
if
(
$estimateCourse
->
estimate
==
LikesCourse
::
LIKE
){
$estimateCourse
->
estimate
=
LikesCourse
::
UNLIKE
;
$estimateCourse
->
save
();
}
}
$gradeUser
=
LikesCourse
::
UNLIKE
;
echo
$this
->
renderPartial
(
'block_likes_course'
,
array
(
'gradeUser'
=>
$gradeUser
,
'courseId'
=>
$courseId
));
}
}
}
common/modules/school/models/Courses.php
View file @
47e910be
...
@@ -6,6 +6,7 @@ use Yii;
...
@@ -6,6 +6,7 @@ use Yii;
use
common\modules\school\models\Lessons
;
use
common\modules\school\models\Lessons
;
use
common\modules\testings\models\Test
;
use
common\modules\testings\models\Test
;
use
common\modules\school\models\LikesCourse
;
class
Courses
extends
\common\components\ActiveRecordModel
class
Courses
extends
\common\components\ActiveRecordModel
{
{
...
@@ -135,4 +136,32 @@ class Courses extends \common\components\ActiveRecordModel
...
@@ -135,4 +136,32 @@ class Courses extends \common\components\ActiveRecordModel
}
}
return
$class
;
return
$class
;
}
}
public
function
getEstimateCourseLike
(
$courseId
)
{
$userId
=
\Yii
::
$app
->
user
->
id
;
$estimateCourse
=
LikesCourse
::
findOne
([
'user_id'
=>
$userId
,
'course_id'
=>
$courseId
,
'estimate'
=>
LikesCourse
::
LIKE
]);
if
(
$estimateCourse
){
return
true
;
}
else
{
return
false
;
}
}
public
function
getEstimateCourseUnlike
(
$courseId
)
{
$userId
=
\Yii
::
$app
->
user
->
id
;
$estimateCourse
=
LikesCourse
::
findOne
([
'user_id'
=>
$userId
,
'course_id'
=>
$courseId
,
'estimate'
=>
LikesCourse
::
UNLIKE
]);
if
(
$estimateCourse
){
return
true
;
}
else
{
return
false
;
}
}
}
}
common/modules/school/models/LikesCourse.php
0 → 100644
View file @
47e910be
<?php
namespace
common\modules\school\models
;
class
LikesCourse
extends
\common\components\ActiveRecordModel
{
const
LIKE
=
1
;
const
UNLIKE
=
2
;
public
static
function
tableName
()
{
return
'likes_course'
;
}
public
function
name
()
{
return
'Оценка курса'
;
}
public
function
attributeLabels
()
{
return
[
'estimate'
=>
'Оценка'
,
'user_id'
=>
'Пользователь'
,
'course_id'
=>
'Курс'
,
];
}
/**
* @inheritdoc
*/
public
function
rules
()
{
return
[
[[
'estimate'
,
'user_id'
,
'course_id'
],
'required'
],
[[
'estimate'
,
'user_id'
,
'course_id'
],
'integer'
],
];
}
/**
* @inheritdoc
*/
public
function
behaviors
()
{
return
[
];
}
}
common/modules/school/views/course/view.php
View file @
47e910be
...
@@ -61,15 +61,19 @@
...
@@ -61,15 +61,19 @@
],
],
],
],
]
);
]
);
?>
?>
<div
class=
"col-md-3 col-xs-6 col-sm-12"
>
<div
class=
"clear"
></div>
<div
class=
"ls_likes"
>
<?php
if
(
!
Yii
::
$app
->
user
->
isGuest
)
:
?>
<div
class=
"ls_likes_title"
>
Нравится курс?
</div>
<div
class=
"col-md-3 col-xs-6 col-sm-12"
>
<a
href=
""
class=
"ls_likes_y"
>
Да
</a>
<div
class=
"ls_likes"
>
<a
href=
""
class=
"ls_likes_n"
>
Нет
</a>
<div
class=
"ls_likes_title"
>
Нравится курс?
</div>
<a
href=
"javascript:void(0)"
class=
"ls_likes_y
<?php
echo
$model
->
getEstimateCourseLike
(
$model
->
id
)
?
'ls_likes_y_choice'
:
''
;
?>
"
data-course=
"
<?php
echo
$model
->
id
;
?>
"
>
Да
</a>
<a
href=
"javascript:void(0)"
class=
"ls_likes_n
<?php
echo
$model
->
getEstimateCourseUnlike
(
$model
->
id
)
?
'ls_likes_n_choice'
:
''
;
?>
"
data-course=
"
<?php
echo
$model
->
id
;
?>
"
>
Нет
</a>
</div>
</div>
</div>
</div>
<?php
endif
;
?>
</div>
</div>
</section>
</section>
<footer>
<footer>
...
...
common/modules/school/views/likes-course/block_likes_course.php
0 → 100644
View file @
47e910be
<?php
use
common\modules\school\models\LikesCourse
;
?>
<div
class=
"ls_likes_title"
>
Нравится курс?
</div>
<a
href=
"javascript:void(0)"
class=
"ls_likes_y
<?php
echo
(
$gradeUser
==
LikesCourse
::
LIKE
)
?
'ls_likes_y_choice'
:
''
;
?>
"
data-course=
"
<?php
echo
$courseId
;
?>
"
>
Да
</a>
<a
href=
"javascript:void(0)"
class=
"ls_likes_n
<?php
echo
(
$gradeUser
==
LikesCourse
::
UNLIKE
)
?
'ls_likes_n_choice'
:
''
;
?>
"
data-course=
"
<?php
echo
$courseId
;
?>
"
>
Нет
</a>
console/migrations/m160308_105319_create_table_likes_course.php
0 → 100644
View file @
47e910be
<?php
use
yii\db\Schema
;
use
yii\db\Migration
;
class
m160308_105319_create_table_likes_course
extends
Migration
{
public
function
safeUp
()
{
$tableOptions
=
null
;
if
(
$this
->
db
->
driverName
===
'mysql'
)
{
$tableOptions
=
'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB'
;
}
// Структура таблицы `lessons`
$this
->
createTable
(
'likes_course'
,
[
'id'
=>
Schema
::
TYPE_PK
,
'estimate'
=>
Schema
::
TYPE_INTEGER
.
'(11) NOT NULL'
,
'user_id'
=>
Schema
::
TYPE_INTEGER
.
'(11) NOT NULL'
,
'course_id'
=>
Schema
::
TYPE_INTEGER
.
'(11) NOT NULL'
,
],
$tableOptions
);
$this
->
createIndex
(
'FK_likes_course_users'
,
'likes_course'
,
'user_id'
);
$this
->
createIndex
(
'FK_likes_course_courses'
,
'likes_course'
,
'course_id'
);
}
public
function
safeDown
()
{
$this
->
dropTable
(
'likes_course'
);
}
}
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