Tutor LMS – eLearning and online course solution - Version 1.3.0

Version Description

  • 17 May, 2019 =

  • Added: Flash Msg ability to show flash msg in a different view or different action

  • Added: Styling, change default color scheme

  • Added: return at tutor_course_loop_thumbnail() based on $echo condition

  • Added: Purchase history from the dashboard

  • Added: Become Instructor Button on student dashboard based on settings

  • Added: Enable Disable Course Market place, default Tutor LMS will be single instructor format.

  • Fixed: a template div closing/return issue in dashboard > reviews menu

  • Fixed: Tutor course content export-import in WordPress way

  • Fixed: Some responsive issue in course details and lesson page

  • Reduced: Instructor and Student Registration form field. removed phone number and profile bio filed from the registration page.

  • Moved: tutor icon CSS file from tutor-front.css file to individually

Download this release

Release Info

Developer themeum
Plugin Icon wp plugin Tutor LMS – eLearning and online course solution
Version 1.3.0
Comparing to
See all releases

Code changes from version 1.2.20 to 1.3.0

assets/css/tutor-front.css CHANGED
@@ -1,5 +1,3 @@
1
- @import "../icons/css/tutor-icon.css";
2
-
3
  :root{
4
  --tutor-primary-color: #1B52D8;
5
  --tutor-primary-hover-color: #1b52a9;
@@ -108,6 +106,12 @@ Most Important CSS
108
  flex: 0 0 50%;
109
  max-width: 50%;
110
  }
 
 
 
 
 
 
111
  }
112
  @media (max-width: 767px) {
113
  .tutor-col-auto, .tutor-col, .tutor-col-3, .tutor-col-4, .tutor-col-6, .tutor-col-8, .tutor-col-9{
@@ -737,12 +741,10 @@ div[class*="tutor-course-col"] {
737
  margin-right: 5px;
738
  }
739
 
740
-
741
  .tutor-loop-course-footer .tutor-loop-cart-btn-wrap a.added_to_cart:before{
742
  display: none;
743
  }
744
 
745
-
746
  /* Standard syntax */
747
  @-webkit-keyframes mymove {
748
  from {
@@ -812,6 +814,7 @@ div[class*="tutor-course-col"] {
812
  }
813
 
814
  .tutor-course-loop-title h2{
 
815
  font-size: 16px;
816
  font-size: 16px;
817
  font-size: 1rem;
@@ -950,11 +953,11 @@ Alert Box Css
950
  border-radius: 3px 3px 3px 3px;
951
  }
952
  .tutor-info-msg {
953
- color: #059;
954
  background-color: #BEF;
955
  }
956
  .tutor-success-msg {
957
- color: #270;
958
  background-color: #DFF2BF;
959
  }
960
  .tutor-warning-msg {
@@ -1109,6 +1112,7 @@ a.tutor-btn.bordered-btn:hover,
1109
  border-collapse: collapse;
1110
  border: 1px solid #DCDFE5;
1111
  border-radius: 4px;
 
1112
  }
1113
  .tutor-dashboard-info-table thead{
1114
  background: #FAFBFC;
@@ -1173,7 +1177,7 @@ a.tutor-btn.bordered-btn:hover,
1173
  }
1174
  .tutor-dashboard-review-title a{
1175
  font-weight: 500;
1176
- color: #4B5981;
1177
  }
1178
 
1179
  .tutor-dashboard-review-links{
@@ -1230,6 +1234,7 @@ a.tutor-btn.bordered-btn:hover,
1230
  display: block;
1231
  font-weight: 700;
1232
  font-size: 30px;
 
1233
  }
1234
  .tutor-dashboard-info-cards .tutor-dashboard-info-card p span span{
1235
  display: inline-block;
@@ -1248,7 +1253,7 @@ a.tutor-btn.bordered-btn:hover,
1248
  padding: 15px 13px !important;
1249
  }
1250
  .tutor-dashboard-content .tutor-quiz-attempt-history tr.pass{
1251
- border-left: 3px solid #4BD863;
1252
  }
1253
  .tutor-dashboard-content .tutor-quiz-attempt-history tr.fail{
1254
  border-left: 3px solid #D71830;
@@ -1263,7 +1268,7 @@ a.tutor-btn.bordered-btn:hover,
1263
  }
1264
 
1265
  .tutor-dashboard-content .tutor-quiz-attempt-history table a{
1266
- color: #4B5981;
1267
  font-weight: 700;
1268
  font-size: 14px;
1269
  line-height: 24px;
@@ -1283,7 +1288,7 @@ a.tutor-btn.bordered-btn:hover,
1283
 
1284
  .tutor-dashboard-item-group > h4{
1285
  font-size: 20px;
1286
- color: #4B5981;
1287
  font-weight: 500;
1288
  }
1289
 
@@ -1292,6 +1297,8 @@ a.tutor-btn.bordered-btn:hover,
1292
  /* dashboard profile*/
1293
 
1294
  .tutor-dashboard-profile .tutor-dashboard-profile-item{
 
 
1295
  display: flex;
1296
  }
1297
  .tutor-dashboard-profile .tutor-dashboard-profile-item .heading{
@@ -1299,6 +1306,8 @@ a.tutor-btn.bordered-btn:hover,
1299
  }
1300
 
1301
  .tutor-dashboard-profile .tutor-dashboard-profile-item .content{
 
 
1302
  flex-grow: 1;
1303
  }
1304
 
@@ -1359,13 +1368,13 @@ a.tutor-btn.bordered-btn:hover,
1359
  .tutor-dashboard-inline-links ul li a{
1360
  display: block;
1361
  padding: 5px 10px;
1362
- color: #4B5981;
1363
  margin-bottom: -1px;
1364
  line-height: 40px;
1365
  }
1366
  .tutor-dashboard-inline-links ul li a:hover, .tutor-dashboard-inline-links ul li.active a {
1367
- color: #3057D5;
1368
- border-bottom: 1px solid #3057D5;
1369
  padding-bottom: 4px;
1370
  }
1371
  .tutor-dashboard-student-meta ul li:first-child{
@@ -1408,7 +1417,7 @@ a.tutor-btn.bordered-btn:hover,
1408
  background-color: #EDF0F9;
1409
  }
1410
  .tutor-dashboard-permalinks li.active a{
1411
- background-color: #3057D5;
1412
  color: #ffffff;
1413
  }
1414
 
@@ -1437,7 +1446,7 @@ a.tutor-btn.bordered-btn:hover,
1437
  line-height: 28px;
1438
  }
1439
 
1440
- .tutor-dashboard-permalinks a::before{
1441
  content: "\e968";
1442
  font-family: 'tutor' !important;
1443
  speak: none;
@@ -1452,55 +1461,61 @@ a.tutor-btn.bordered-btn:hover,
1452
  vertical-align: middle;
1453
  color: var(--tutor-primary-color);
1454
  opacity: .6;
 
1455
  font-size: 17px;
1456
  }
1457
- .tutor-dashboard-permalinks a:hover::before{
1458
  opacity: 1;
 
1459
  }
1460
 
1461
- .tutor-dashboard-permalinks li.active a::before{
1462
  opacity: 1;
 
1463
  color: #fff;
1464
  }
1465
 
1466
- .tutor-dashboard-menu-my-profile a::before{
1467
  content: "\e963";
1468
  }
1469
 
1470
- .tutor-dashboard-menu-enrolled-courses a::before{
1471
  content: "\e969";
1472
  }
1473
 
1474
- .tutor-dashboard-menu-my-courses a::before{
1475
  content: "\e965";
1476
  }
1477
 
1478
- .tutor-dashboard-menu-wishlist a::before{
1479
  content: "\e908";
1480
  }
1481
 
1482
- .tutor-dashboard-menu-reviews a::before{
1483
  content: "\e917";
1484
  }
1485
 
1486
- .tutor-dashboard-menu-quiz-attempts a::before{
1487
  content: "\e948";
1488
  }
1489
 
1490
- .tutor-dashboard-menu-earning a::before{
1491
  content: "\e96b";
1492
  }
1493
 
1494
- .tutor-dashboard-menu-withdraw a::before{
1495
  content: "\e960";
1496
  }
1497
- .tutor-dashboard-menu-settings a::before{
1498
  content: "\e961";
1499
  }
1500
- .tutor-dashboard-menu-logout a::before{
1501
  content: "\e962";
1502
  }
1503
 
 
 
 
1504
  .tutor-dashboard-content{
1505
  padding-top: 30px;
1506
  }
@@ -1527,6 +1542,8 @@ a.tutor-btn.bordered-btn:hover,
1527
  -webkit-box-flex: 1;
1528
  -ms-flex: 1;
1529
  flex: 1;
 
 
1530
  display: flex;
1531
  }
1532
  .report-top-sub-menu a{
@@ -1540,9 +1557,9 @@ a.tutor-btn.bordered-btn:hover,
1540
  color: #333;
1541
  }
1542
  .report-top-sub-menu a.active {
1543
- background-color: #3057D5;
1544
  color: #ffffff;
1545
- border: 1px solid #3057D5;
1546
  }
1547
 
1548
  .report-top-sub-menu a:not(:last-child){
@@ -1577,7 +1594,7 @@ a.tutor-btn.bordered-btn:hover,
1577
  top: 7px;
1578
  }
1579
  .date-range-input button{
1580
- background-color: #3057D5;
1581
  color: #ffffff;
1582
  border: none;
1583
  line-height: 30px;
@@ -1605,12 +1622,17 @@ Withdraw Method
1605
 
1606
 
1607
  .withdraw-method-select-wrap{
 
 
1608
  display: flex;
 
1609
  flex-wrap: wrap;
1610
  margin: 0 -15px 50px;
1611
  }
1612
 
1613
  .withdraw-method-select-wrap .withdraw-method-select{
 
 
1614
  flex-grow: 1;
1615
  padding: 0 15px;
1616
  }
@@ -1628,7 +1650,7 @@ Withdraw Method
1628
  border-color: var(--tutor-success-button-color);
1629
  box-shadow: 0 0 0 1px var(--tutor-success-button-color);
1630
  }
1631
- .withdraw-method-select-wrap .withdraw-method-select label::after{
1632
  content: '\e90f';
1633
  position: absolute;
1634
  right: -1px;
@@ -1640,7 +1662,7 @@ Withdraw Method
1640
  line-height: 22px;
1641
  color: transparent;
1642
  }
1643
- .withdraw-method-select-wrap .withdraw-method-select input:checked + label::after{
1644
  color: #fff;
1645
  background: var(--tutor-success-button-color);
1646
  border-color: var(--tutor-success-button-color);
@@ -1659,7 +1681,7 @@ Withdraw Method
1659
  .withdraw-method-select-wrap .withdraw-method-select label > p{
1660
  font-size: 20px;
1661
  font-weight: 600;
1662
- color: #4B5981;
1663
  }
1664
  .withdraw-method-select-wrap .withdraw-method-select label span{
1665
  color: #B0B6C8;
@@ -1668,13 +1690,18 @@ Withdraw Method
1668
  }
1669
 
1670
  .withdraw-method-form{
 
 
1671
  display: flex;
 
1672
  flex-wrap: wrap;
1673
  margin: 0 -15px;
1674
  }
1675
 
1676
 
1677
  .withdraw-method-form > div{
 
 
1678
  flex-grow: 1;
1679
  min-width: 50%;
1680
  padding: 0 15px 20px;
@@ -1751,7 +1778,7 @@ DatePicker
1751
  }
1752
  .ui-datepicker a:hover,
1753
  .ui-datepicker td:hover a {
1754
- color: #2A6496;
1755
  -webkit-transition: color 0.1s ease-in-out;
1756
  transition: color 0.1s ease-in-out;
1757
  }
@@ -1813,7 +1840,7 @@ DatePicker
1813
  text-decoration: none;
1814
  }
1815
  .ui-datepicker .ui-datepicker-current-day {
1816
- background-color: #4289cc;
1817
  }
1818
  .ui-datepicker .ui-datepicker-current-day a {
1819
  color: #fff
@@ -2005,6 +2032,7 @@ DatePicker
2005
  min-width: 220px;
2006
  text-align: center;
2007
  text-transform: uppercase;
 
2008
  transition: 300ms;
2009
  }
2010
 
@@ -2058,11 +2086,15 @@ a.tutor-profile-photo-upload-btn {
2058
  top: 10px;
2059
  }
2060
  .tutor-reset-password-form-wrap .tutor-form-group{
 
 
2061
  display: flex;
2062
  max-width: 500px;
2063
  }
2064
 
2065
  .tutor-reset-password-form-wrap .tutor-form-group label{
 
 
2066
  flex: 0 0 200px;
2067
  }
2068
  /**
@@ -2075,18 +2107,36 @@ Instructor
2075
  border-radius: 4px;
2076
  }
2077
  .single-instructor-wrap .single-instructor-top{
2078
- overflow: hidden;
2079
  padding: 20px;
2080
  border-bottom: 1px solid #e8eff1;
 
 
 
 
 
 
 
 
 
 
2081
  }
 
2082
  .single-instructor-wrap .single-instructor-top h3,
2083
  .single-instructor-wrap .single-instructor-top h4 {
2084
  margin: 0;
2085
  padding: 0;
2086
  }
2087
  .single-instructor-wrap .tutor-instructor-left{
2088
- float: left;
2089
- overflow: hidden;
 
 
 
 
 
 
 
 
2090
  }
2091
  .single-instructor-wrap .instructor-avatar{
2092
  float: left;
@@ -2116,9 +2166,10 @@ Instructor
2116
  color: var(--tutor-light-color);
2117
  }
2118
  .single-instructor-wrap .instructor-bio{
2119
- padding-left: 260px;
2120
  font-size: 14px;
2121
  }
 
 
2122
  .single-instructor-wrap .single-instructor-bottom{
2123
  padding: 15px 20px;
2124
  text-align: right;
@@ -2170,8 +2221,8 @@ Instructor
2170
  }
2171
  .tutor-pagination .page-numbers.current,
2172
  a.page-numbers:hover {
2173
- background: #3057D5;
2174
- border: 1px solid #2544D5;
2175
  color: #ffffff;
2176
  }
2177
  .tutor-dashboard-pagination-results-stats{
@@ -2183,7 +2234,7 @@ a.page-numbers:hover {
2183
  color: #555;
2184
  }
2185
  .statement-order-completed {
2186
- background: #0eb91b;
2187
  color: #fff;
2188
  padding: 2px 5px;
2189
  border: none;
@@ -2209,10 +2260,19 @@ a.page-numbers:hover {
2209
  -ms-flex: 0 0 400px;
2210
  flex: 0 0 400px;
2211
  }
 
 
 
 
 
 
 
 
 
2212
  .tutor-single-entry-content {
2213
- -webkit-box-flex: 1;
2214
- -ms-flex: 1;
2215
- flex: 1;
2216
  }
2217
  .tutor-single-lesson-button-group .tutor-single-lesson-button a,
2218
  .tutor-topics-in-single-lesson .tutor-single-lesson-items a{
@@ -2332,12 +2392,15 @@ a.page-numbers:hover {
2332
  -webkit-box-pack: justify;
2333
  -ms-flex-pack: justify;
2334
  justify-content: space-between;
 
2335
  }
2336
 
 
2337
  .tutor-single-page-top-bar .tutor-single-lesson-segment{
2338
  margin-bottom: 0;
2339
  }
2340
 
 
2341
  .tutor-single-page-top-bar a{
2342
  color: #ffffff;
2343
  }
@@ -2349,8 +2412,6 @@ a.page-numbers:hover {
2349
  .tutor-single-page-top-bar .tutor-single-lesson-segment button.course-complete-button{
2350
  background: #fff;
2351
  color: var(--tutor-primary-color);
2352
- margin-right: 15px;
2353
- padding-top: 13px;
2354
  padding-bottom: 13px;
2355
  cursor: pointer;
2356
  }
@@ -2367,11 +2428,34 @@ a.page-numbers:hover {
2367
 
2368
  .tutor-single-page-top-bar .tutor-topbar-content-title-wrap{
2369
  text-align: center;
2370
- max-width: 600px;
2371
  white-space: nowrap;
2372
  overflow: hidden;
2373
  text-overflow: ellipsis;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2374
  }
 
 
2375
  .tutor-single-page-top-bar .tutor-topbar-content-title-wrap i{
2376
  vertical-align: middle;
2377
  line-height: 1;
@@ -2380,6 +2464,12 @@ a.page-numbers:hover {
2380
  .tutor-lesson-content-area, .tutor-quiz-single-wrap {
2381
  margin: 0 100px;
2382
  }
 
 
 
 
 
 
2383
  .tutor-lesson-sidebar-hide-bar{
2384
  background-color: var(--tutor-primary-hover-color);
2385
  color: #ffffff;
@@ -2459,6 +2549,7 @@ a.page-numbers:hover {
2459
  .tutor-lesson-sidebar-emptyqa-wrap i{
2460
  font-size: 150px;
2461
  color: #E8EFF1;
 
2462
  }
2463
 
2464
  /*attachment*/
@@ -3117,12 +3208,12 @@ Course question and answer
3117
  }
3118
 
3119
  .tutor-quiz-attempt-history table span.result-pass{
3120
- background: #4BD863;
3121
  }
3122
  /*.attempt-reviewed-text {*/
3123
- /*color: #777;*/
3124
- /*font-size: 12px;*/
3125
- /*margin-top: 10px;*/
3126
  /*}*/
3127
  .quiz-head-meta-info{
3128
  font-size: 14px;
@@ -3404,7 +3495,7 @@ Course question and answer
3404
  font-size: 14px;
3405
  }
3406
  .tutor-quiz-questions-pagination ul li a:hover, .tutor-quiz-questions-pagination ul li a.active {
3407
- background-color: #05329F;
3408
  }
3409
 
3410
  .quiz-image-answering-wrap {
@@ -3555,8 +3646,8 @@ Course question and answer
3555
  }
3556
  .tutor-login-form-wrap input[type="submit"]:hover{
3557
  color: #fff;
3558
- background-color: #759c1f;
3559
- border-color: #759c1f;
3560
  }
3561
  .tutor-login-form-wrap input[type="checkbox"]{
3562
  margin-right: 4px;
@@ -3797,7 +3888,7 @@ Course question and answer
3797
  }
3798
  }
3799
 
3800
- @media (max-width: 767px) {
3801
  .tutor-single-course-sidebar{
3802
  margin-top: 30px;
3803
  }
@@ -3886,7 +3977,9 @@ Course question and answer
3886
  height: 5px;
3887
  width: 100%;
3888
  background: #E8EFF1;
3889
- margin-top: 6px;
 
 
3890
  }
3891
  .rating-meter-fill-bar {
3892
  background: #F8C51C;
@@ -3966,7 +4059,7 @@ Course question and answer
3966
  margin-bottom: 20px;
3967
  border-radius: 4px;
3968
  font-weight: 500;
3969
- color: #4B5981;
3970
  font-size: 16px;
3971
  }
3972
 
@@ -4038,7 +4131,7 @@ Course question and answer
4038
  margin-right: 3px;
4039
  }
4040
  .prerequisites-course-checkmark.is-complete i{
4041
- background: #86B223;
4042
  color: #fff;
4043
  }
4044
 
@@ -4130,8 +4223,7 @@ social share
4130
  }
4131
 
4132
  .rtl .single-instructor-wrap .instructor-name,
4133
- .rtl .single-instructor-wrap .instructor-avatar,
4134
- .rtl .single-instructor-wrap .tutor-instructor-left{
4135
  float: right;
4136
  }
4137
 
@@ -4188,8 +4280,14 @@ social share
4188
  height: 100%;
4189
  left: 0;
4190
  top: 0;
 
 
4191
  display: flex;
 
 
4192
  align-items: center;
 
 
4193
  justify-content: center;
4194
  z-index: 999999;
4195
  }
 
 
1
  :root{
2
  --tutor-primary-color: #1B52D8;
3
  --tutor-primary-hover-color: #1b52a9;
106
  flex: 0 0 50%;
107
  max-width: 50%;
108
  }
109
+ .tutor-col-md-100{
110
+ -ms-flex: 100%;
111
+ -webkit-box-flex: 0;
112
+ flex: 0 0 100%;
113
+ max-width: 100%;
114
+ }
115
  }
116
  @media (max-width: 767px) {
117
  .tutor-col-auto, .tutor-col, .tutor-col-3, .tutor-col-4, .tutor-col-6, .tutor-col-8, .tutor-col-9{
741
  margin-right: 5px;
742
  }
743
 
 
744
  .tutor-loop-course-footer .tutor-loop-cart-btn-wrap a.added_to_cart:before{
745
  display: none;
746
  }
747
 
 
748
  /* Standard syntax */
749
  @-webkit-keyframes mymove {
750
  from {
814
  }
815
 
816
  .tutor-course-loop-title h2{
817
+ font-size: 16px;
818
  font-size: 16px;
819
  font-size: 16px;
820
  font-size: 1rem;
953
  border-radius: 3px 3px 3px 3px;
954
  }
955
  .tutor-info-msg {
956
+ color: var(--tutor-primary-color);
957
  background-color: #BEF;
958
  }
959
  .tutor-success-msg {
960
+ color: var(--tutor-success-button-color);
961
  background-color: #DFF2BF;
962
  }
963
  .tutor-warning-msg {
1112
  border-collapse: collapse;
1113
  border: 1px solid #DCDFE5;
1114
  border-radius: 4px;
1115
+ width: 100%;
1116
  }
1117
  .tutor-dashboard-info-table thead{
1118
  background: #FAFBFC;
1177
  }
1178
  .tutor-dashboard-review-title a{
1179
  font-weight: 500;
1180
+ color: var(--tutor-primary-color);
1181
  }
1182
 
1183
  .tutor-dashboard-review-links{
1234
  display: block;
1235
  font-weight: 700;
1236
  font-size: 30px;
1237
+ line-height: 1.618;
1238
  }
1239
  .tutor-dashboard-info-cards .tutor-dashboard-info-card p span span{
1240
  display: inline-block;
1253
  padding: 15px 13px !important;
1254
  }
1255
  .tutor-dashboard-content .tutor-quiz-attempt-history tr.pass{
1256
+ border-left: 3px solid var(--tutor-success-button-color);
1257
  }
1258
  .tutor-dashboard-content .tutor-quiz-attempt-history tr.fail{
1259
  border-left: 3px solid #D71830;
1268
  }
1269
 
1270
  .tutor-dashboard-content .tutor-quiz-attempt-history table a{
1271
+ color: var(--tutor-primary-color);
1272
  font-weight: 700;
1273
  font-size: 14px;
1274
  line-height: 24px;
1288
 
1289
  .tutor-dashboard-item-group > h4{
1290
  font-size: 20px;
1291
+ color: var(--tutor-primary-color);
1292
  font-weight: 500;
1293
  }
1294
 
1297
  /* dashboard profile*/
1298
 
1299
  .tutor-dashboard-profile .tutor-dashboard-profile-item{
1300
+ display: -webkit-box;
1301
+ display: -ms-flexbox;
1302
  display: flex;
1303
  }
1304
  .tutor-dashboard-profile .tutor-dashboard-profile-item .heading{
1306
  }
1307
 
1308
  .tutor-dashboard-profile .tutor-dashboard-profile-item .content{
1309
+ -webkit-box-flex: 1;
1310
+ -ms-flex-positive: 1;
1311
  flex-grow: 1;
1312
  }
1313
 
1368
  .tutor-dashboard-inline-links ul li a{
1369
  display: block;
1370
  padding: 5px 10px;
1371
+ color: var(--tutor-primary-color);
1372
  margin-bottom: -1px;
1373
  line-height: 40px;
1374
  }
1375
  .tutor-dashboard-inline-links ul li a:hover, .tutor-dashboard-inline-links ul li.active a {
1376
+ color: var(--tutor-primary-color);
1377
+ border-bottom: 1px solid var(--tutor-primary-color);
1378
  padding-bottom: 4px;
1379
  }
1380
  .tutor-dashboard-student-meta ul li:first-child{
1417
  background-color: #EDF0F9;
1418
  }
1419
  .tutor-dashboard-permalinks li.active a{
1420
+ background-color: var(--tutor-primary-color);
1421
  color: #ffffff;
1422
  }
1423
 
1446
  line-height: 28px;
1447
  }
1448
 
1449
+ .tutor-dashboard-permalinks a:before{
1450
  content: "\e968";
1451
  font-family: 'tutor' !important;
1452
  speak: none;
1461
  vertical-align: middle;
1462
  color: var(--tutor-primary-color);
1463
  opacity: .6;
1464
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
1465
  font-size: 17px;
1466
  }
1467
+ .tutor-dashboard-permalinks a:hover:before{
1468
  opacity: 1;
1469
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
1470
  }
1471
 
1472
+ .tutor-dashboard-permalinks li.active a:before{
1473
  opacity: 1;
1474
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
1475
  color: #fff;
1476
  }
1477
 
1478
+ .tutor-dashboard-menu-my-profile a:before{
1479
  content: "\e963";
1480
  }
1481
 
1482
+ .tutor-dashboard-menu-enrolled-courses a:before{
1483
  content: "\e969";
1484
  }
1485
 
1486
+ .tutor-dashboard-menu-my-courses a:before{
1487
  content: "\e965";
1488
  }
1489
 
1490
+ .tutor-dashboard-menu-wishlist a:before{
1491
  content: "\e908";
1492
  }
1493
 
1494
+ .tutor-dashboard-menu-reviews a:before{
1495
  content: "\e917";
1496
  }
1497
 
1498
+ .tutor-dashboard-menu-quiz-attempts a:before{
1499
  content: "\e948";
1500
  }
1501
 
1502
+ .tutor-dashboard-menu-earning a:before{
1503
  content: "\e96b";
1504
  }
1505
 
1506
+ .tutor-dashboard-menu-withdraw a:before{
1507
  content: "\e960";
1508
  }
1509
+ .tutor-dashboard-menu-settings a:before{
1510
  content: "\e961";
1511
  }
1512
+ .tutor-dashboard-menu-logout a:before{
1513
  content: "\e962";
1514
  }
1515
 
1516
+ .tutor-dashboard-menu-purchase_history a:before{
1517
+ content: "\e964";
1518
+ }
1519
  .tutor-dashboard-content{
1520
  padding-top: 30px;
1521
  }
1542
  -webkit-box-flex: 1;
1543
  -ms-flex: 1;
1544
  flex: 1;
1545
+ display: -webkit-box;
1546
+ display: -ms-flexbox;
1547
  display: flex;
1548
  }
1549
  .report-top-sub-menu a{
1557
  color: #333;
1558
  }
1559
  .report-top-sub-menu a.active {
1560
+ background-color: var(--tutor-primary-color);
1561
  color: #ffffff;
1562
+ border: 1px solid var(--tutor-primary-hover-color);
1563
  }
1564
 
1565
  .report-top-sub-menu a:not(:last-child){
1594
  top: 7px;
1595
  }
1596
  .date-range-input button{
1597
+ background-color: var(--tutor-primary-color);
1598
  color: #ffffff;
1599
  border: none;
1600
  line-height: 30px;
1622
 
1623
 
1624
  .withdraw-method-select-wrap{
1625
+ display: -webkit-box;
1626
+ display: -ms-flexbox;
1627
  display: flex;
1628
+ -ms-flex-wrap: wrap;
1629
  flex-wrap: wrap;
1630
  margin: 0 -15px 50px;
1631
  }
1632
 
1633
  .withdraw-method-select-wrap .withdraw-method-select{
1634
+ -webkit-box-flex: 1;
1635
+ -ms-flex-positive: 1;
1636
  flex-grow: 1;
1637
  padding: 0 15px;
1638
  }
1650
  border-color: var(--tutor-success-button-color);
1651
  box-shadow: 0 0 0 1px var(--tutor-success-button-color);
1652
  }
1653
+ .withdraw-method-select-wrap .withdraw-method-select label:after{
1654
  content: '\e90f';
1655
  position: absolute;
1656
  right: -1px;
1662
  line-height: 22px;
1663
  color: transparent;
1664
  }
1665
+ .withdraw-method-select-wrap .withdraw-method-select input:checked + label:after{
1666
  color: #fff;
1667
  background: var(--tutor-success-button-color);
1668
  border-color: var(--tutor-success-button-color);
1681
  .withdraw-method-select-wrap .withdraw-method-select label > p{
1682
  font-size: 20px;
1683
  font-weight: 600;
1684
+ color: var(--tutor-primary-color);
1685
  }
1686
  .withdraw-method-select-wrap .withdraw-method-select label span{
1687
  color: #B0B6C8;
1690
  }
1691
 
1692
  .withdraw-method-form{
1693
+ display: -webkit-box;
1694
+ display: -ms-flexbox;
1695
  display: flex;
1696
+ -ms-flex-wrap: wrap;
1697
  flex-wrap: wrap;
1698
  margin: 0 -15px;
1699
  }
1700
 
1701
 
1702
  .withdraw-method-form > div{
1703
+ -webkit-box-flex: 1;
1704
+ -ms-flex-positive: 1;
1705
  flex-grow: 1;
1706
  min-width: 50%;
1707
  padding: 0 15px 20px;
1778
  }
1779
  .ui-datepicker a:hover,
1780
  .ui-datepicker td:hover a {
1781
+ color: var(--tutor-primary-hover-color);
1782
  -webkit-transition: color 0.1s ease-in-out;
1783
  transition: color 0.1s ease-in-out;
1784
  }
1840
  text-decoration: none;
1841
  }
1842
  .ui-datepicker .ui-datepicker-current-day {
1843
+ background-color: var( --tutor-primary-hover-color);
1844
  }
1845
  .ui-datepicker .ui-datepicker-current-day a {
1846
  color: #fff
2032
  min-width: 220px;
2033
  text-align: center;
2034
  text-transform: uppercase;
2035
+ -webkit-transition: 300ms;
2036
  transition: 300ms;
2037
  }
2038
 
2086
  top: 10px;
2087
  }
2088
  .tutor-reset-password-form-wrap .tutor-form-group{
2089
+ display: -webkit-box;
2090
+ display: -ms-flexbox;
2091
  display: flex;
2092
  max-width: 500px;
2093
  }
2094
 
2095
  .tutor-reset-password-form-wrap .tutor-form-group label{
2096
+ -webkit-box-flex: 0;
2097
+ -ms-flex: 0 0 200px;
2098
  flex: 0 0 200px;
2099
  }
2100
  /**
2107
  border-radius: 4px;
2108
  }
2109
  .single-instructor-wrap .single-instructor-top{
 
2110
  padding: 20px;
2111
  border-bottom: 1px solid #e8eff1;
2112
+ display: -webkit-box;
2113
+ display: -ms-flexbox;
2114
+ display: flex;
2115
+ }
2116
+
2117
+ @media (max-width: 767px) {
2118
+ .single-instructor-wrap .single-instructor-top{
2119
+ -ms-flex-wrap: wrap;
2120
+ flex-wrap: wrap;
2121
+ }
2122
  }
2123
+
2124
  .single-instructor-wrap .single-instructor-top h3,
2125
  .single-instructor-wrap .single-instructor-top h4 {
2126
  margin: 0;
2127
  padding: 0;
2128
  }
2129
  .single-instructor-wrap .tutor-instructor-left{
2130
+ -webkit-box-flex: 0;
2131
+ -ms-flex: 0 0 auto;
2132
+ flex: 0 0 auto;
2133
+ padding-right: 30px;
2134
+ }
2135
+ @media (max-width: 767px) {
2136
+ .single-instructor-wrap .tutor-instructor-left{
2137
+ width: 100%;
2138
+ margin-bottom: 15px;
2139
+ }
2140
  }
2141
  .single-instructor-wrap .instructor-avatar{
2142
  float: left;
2166
  color: var(--tutor-light-color);
2167
  }
2168
  .single-instructor-wrap .instructor-bio{
 
2169
  font-size: 14px;
2170
  }
2171
+
2172
+
2173
  .single-instructor-wrap .single-instructor-bottom{
2174
  padding: 15px 20px;
2175
  text-align: right;
2221
  }
2222
  .tutor-pagination .page-numbers.current,
2223
  a.page-numbers:hover {
2224
+ background: var( --tutor-primary-hover-color);
2225
+ border: 1px solid var(--tutor-primary-color);
2226
  color: #ffffff;
2227
  }
2228
  .tutor-dashboard-pagination-results-stats{
2234
  color: #555;
2235
  }
2236
  .statement-order-completed {
2237
+ background: var(--tutor-success-button-color);
2238
  color: #fff;
2239
  padding: 2px 5px;
2240
  border: none;
2260
  -ms-flex: 0 0 400px;
2261
  flex: 0 0 400px;
2262
  }
2263
+
2264
+ @media (max-width: 991px) {
2265
+ .tutor-lesson-sidebar{
2266
+ -webkit-box-flex: 0;
2267
+ -ms-flex: 0 0 300px;
2268
+ flex: 0 0 300px;
2269
+ }
2270
+ }
2271
+
2272
  .tutor-single-entry-content {
2273
+ -webkit-box-flex: 999;
2274
+ -ms-flex-positive: 999;
2275
+ flex-grow: 999;
2276
  }
2277
  .tutor-single-lesson-button-group .tutor-single-lesson-button a,
2278
  .tutor-topics-in-single-lesson .tutor-single-lesson-items a{
2392
  -webkit-box-pack: justify;
2393
  -ms-flex-pack: justify;
2394
  justify-content: space-between;
2395
+ padding-right: 15px;
2396
  }
2397
 
2398
+ .tutor-single-page-top-bar .tutor-single-lesson-segment form,
2399
  .tutor-single-page-top-bar .tutor-single-lesson-segment{
2400
  margin-bottom: 0;
2401
  }
2402
 
2403
+
2404
  .tutor-single-page-top-bar a{
2405
  color: #ffffff;
2406
  }
2412
  .tutor-single-page-top-bar .tutor-single-lesson-segment button.course-complete-button{
2413
  background: #fff;
2414
  color: var(--tutor-primary-color);
 
 
2415
  padding-bottom: 13px;
2416
  cursor: pointer;
2417
  }
2428
 
2429
  .tutor-single-page-top-bar .tutor-topbar-content-title-wrap{
2430
  text-align: center;
 
2431
  white-space: nowrap;
2432
  overflow: hidden;
2433
  text-overflow: ellipsis;
2434
+ -webkit-box-flex: 999999;
2435
+ -ms-flex-positive: 999999;
2436
+ flex-grow: 999999;
2437
+ }
2438
+
2439
+ .tutor-single-page-top-bar .tutor-hide-sidebar-bar{
2440
+ -webkit-box-flex: 0;
2441
+ -ms-flex: 0 0 auto;
2442
+ flex: 0 0 auto;
2443
+ }
2444
+ .tutor-single-page-top-bar .tutor-topbar-mark-to-done{
2445
+ -webkit-box-flex: 0;
2446
+ -ms-flex: 0 0 auto;
2447
+ flex: 0 0 auto;
2448
+ }
2449
+
2450
+ @media (max-width: 767px) {
2451
+
2452
+ .tutor-single-page-top-bar .tutor-topbar-content-title-wrap,
2453
+ .tutor-single-page-top-bar .tutor-topbar-mark-to-done{
2454
+ display: none;
2455
+ }
2456
  }
2457
+
2458
+
2459
  .tutor-single-page-top-bar .tutor-topbar-content-title-wrap i{
2460
  vertical-align: middle;
2461
  line-height: 1;
2464
  .tutor-lesson-content-area, .tutor-quiz-single-wrap {
2465
  margin: 0 100px;
2466
  }
2467
+ @media (max-width: 991px) {
2468
+ .tutor-lesson-content-area,
2469
+ .tutor-quiz-single-wrap{
2470
+ margin: 0 40px;
2471
+ }
2472
+ }
2473
  .tutor-lesson-sidebar-hide-bar{
2474
  background-color: var(--tutor-primary-hover-color);
2475
  color: #ffffff;
2549
  .tutor-lesson-sidebar-emptyqa-wrap i{
2550
  font-size: 150px;
2551
  color: #E8EFF1;
2552
+ line-height: 0.8;
2553
  }
2554
 
2555
  /*attachment*/
3208
  }
3209
 
3210
  .tutor-quiz-attempt-history table span.result-pass{
3211
+ background: var(--tutor-success-button-color);
3212
  }
3213
  /*.attempt-reviewed-text {*/
3214
+ /*color: #777;*/
3215
+ /*font-size: 12px;*/
3216
+ /*margin-top: 10px;*/
3217
  /*}*/
3218
  .quiz-head-meta-info{
3219
  font-size: 14px;
3495
  font-size: 14px;
3496
  }
3497
  .tutor-quiz-questions-pagination ul li a:hover, .tutor-quiz-questions-pagination ul li a.active {
3498
+ background-color: var(--tutor-primary-color);
3499
  }
3500
 
3501
  .quiz-image-answering-wrap {
3646
  }
3647
  .tutor-login-form-wrap input[type="submit"]:hover{
3648
  color: #fff;
3649
+ background-color: var(--tutor-success-button-color);
3650
+ border-color: var(--tutor-success-button-color);
3651
  }
3652
  .tutor-login-form-wrap input[type="checkbox"]{
3653
  margin-right: 4px;
3888
  }
3889
  }
3890
 
3891
+ @media (max-width: 991px) {
3892
  .tutor-single-course-sidebar{
3893
  margin-top: 30px;
3894
  }
3977
  height: 5px;
3978
  width: 100%;
3979
  background: #E8EFF1;
3980
+ margin-top: 11px;
3981
+ border-radius: 15px;
3982
+ overflow: hidden;
3983
  }
3984
  .rating-meter-fill-bar {
3985
  background: #F8C51C;
4059
  margin-bottom: 20px;
4060
  border-radius: 4px;
4061
  font-weight: 500;
4062
+ color: var(--tutor-primary-color);
4063
  font-size: 16px;
4064
  }
4065
 
4131
  margin-right: 3px;
4132
  }
4133
  .prerequisites-course-checkmark.is-complete i{
4134
+ background: var(--tutor-success-button-color);
4135
  color: #fff;
4136
  }
4137
 
4223
  }
4224
 
4225
  .rtl .single-instructor-wrap .instructor-name,
4226
+ .rtl .single-instructor-wrap .instructor-avatar,{
 
4227
  float: right;
4228
  }
4229
 
4280
  height: 100%;
4281
  left: 0;
4282
  top: 0;
4283
+ display: -webkit-box;
4284
+ display: -ms-flexbox;
4285
  display: flex;
4286
+ -webkit-box-align: center;
4287
+ -ms-flex-align: center;
4288
  align-items: center;
4289
+ -webkit-box-pack: center;
4290
+ -ms-flex-pack: center;
4291
  justify-content: center;
4292
  z-index: 999999;
4293
  }
assets/js/tutor-admin.js CHANGED
@@ -1,6 +1,14 @@
1
  jQuery(document).ready(function($){
2
  'use strict';
3
 
 
 
 
 
 
 
 
 
4
  if (jQuery().select2){
5
  $('.tutor_select2').select2();
6
  }
1
  jQuery(document).ready(function($){
2
  'use strict';
3
 
4
+ /**
5
+ * Color Picker
6
+ * @since v.1.2.21
7
+ */
8
+ if (jQuery().wpColorPicker) {
9
+ $('.tutor_colorpicker').wpColorPicker();
10
+ }
11
+
12
  if (jQuery().select2){
13
  $('.tutor_select2').select2();
14
  }
classes/Assets.php CHANGED
@@ -23,9 +23,13 @@ class Assets{
23
  * Scripts
24
  */
25
  wp_enqueue_media();
 
 
 
 
26
  wp_enqueue_script('jquery-ui-slider');
27
  wp_enqueue_script('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.js', array('jquery'), tutor()->version, true );
28
- wp_enqueue_script('tutor-admin', tutor()->url.'assets/js/tutor-admin.js', array('jquery'), tutor()->version, true );
29
 
30
  $tutor_localize_data = array();
31
  if ( ! empty($_GET['taxonomy']) && ( $_GET['taxonomy'] === 'course-category' || $_GET['taxonomy'] === 'course-tag') ){
@@ -66,6 +70,11 @@ class Assets{
66
  * Enabling Sorting, draggable, droppable...
67
  */
68
  wp_enqueue_script('jquery-ui-sortable');
 
 
 
 
 
69
 
70
  //Plyr
71
  wp_enqueue_style( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.css', array(), tutor()->version );
@@ -96,7 +105,6 @@ class Assets{
96
  //End: chart data
97
 
98
  $localize_data = apply_filters('tutor_localize_data', $localize_data);
99
-
100
  if (tutor_utils()->get_option('load_tutor_css')){
101
  wp_enqueue_style('tutor-frontend', tutor()->url.'assets/css/tutor-front.css', array(), tutor()->version);
102
  }
@@ -104,6 +112,34 @@ class Assets{
104
  wp_enqueue_script( 'tutor-frontend', tutor()->url . 'assets/js/tutor-front.js', array( 'jquery' ), tutor()->version, true );
105
  wp_localize_script('tutor-frontend', '_tutorobject', $localize_data);
106
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  }
108
 
109
  /**
23
  * Scripts
24
  */
25
  wp_enqueue_media();
26
+
27
+ wp_enqueue_script( 'wp-color-picker' );
28
+ wp_enqueue_style( 'wp-color-picker' );
29
+
30
  wp_enqueue_script('jquery-ui-slider');
31
  wp_enqueue_script('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.js', array('jquery'), tutor()->version, true );
32
+ wp_enqueue_script('tutor-admin', tutor()->url.'assets/js/tutor-admin.js', array('jquery', 'wp-color-picker'), tutor()->version, true );
33
 
34
  $tutor_localize_data = array();
35
  if ( ! empty($_GET['taxonomy']) && ( $_GET['taxonomy'] === 'course-category' || $_GET['taxonomy'] === 'course-tag') ){
70
  * Enabling Sorting, draggable, droppable...
71
  */
72
  wp_enqueue_script('jquery-ui-sortable');
73
+ /**
74
+ * Tutor Icon
75
+ */
76
+ wp_enqueue_style('tutor-icon', tutor()->url.'assets/icons/css/tutor-icon.css', array(), tutor()->version);
77
+
78
 
79
  //Plyr
80
  wp_enqueue_style( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.css', array(), tutor()->version );
105
  //End: chart data
106
 
107
  $localize_data = apply_filters('tutor_localize_data', $localize_data);
 
108
  if (tutor_utils()->get_option('load_tutor_css')){
109
  wp_enqueue_style('tutor-frontend', tutor()->url.'assets/css/tutor-front.css', array(), tutor()->version);
110
  }
112
  wp_enqueue_script( 'tutor-frontend', tutor()->url . 'assets/js/tutor-front.js', array( 'jquery' ), tutor()->version, true );
113
  wp_localize_script('tutor-frontend', '_tutorobject', $localize_data);
114
  }
115
+
116
+
117
+ /**
118
+ * Default Color
119
+ */
120
+ $tutor_css = ":root{";
121
+ $tutor_primary_color = tutor_utils()->get_option('tutor_primary_color');
122
+ $tutor_primary_hover_color = tutor_utils()->get_option('tutor_primary_hover_color');
123
+ $tutor_text_color = tutor_utils()->get_option('tutor_text_color');
124
+ $tutor_light_color = tutor_utils()->get_option('tutor_light_color');
125
+
126
+ if ($tutor_primary_color){
127
+ $tutor_css .= " --tutor-primary-color: {$tutor_primary_color};";
128
+ }
129
+ if ($tutor_primary_hover_color){
130
+ $tutor_css .= " --tutor-primary-hover-color: {$tutor_primary_hover_color};";
131
+ }
132
+ if ($tutor_text_color){
133
+ $tutor_css .= " --tutor-text-color: {$tutor_text_color};";
134
+ }
135
+ if ($tutor_light_color){
136
+ $tutor_css .= " --tutor-light-color: {$tutor_light_color};";
137
+ }
138
+
139
+ $tutor_css .= "}";
140
+ wp_add_inline_style( 'tutor-frontend', $tutor_css );
141
+ //END: Default Color
142
+
143
  }
144
 
145
  /**
classes/Course.php CHANGED
@@ -40,11 +40,15 @@ class Course extends Tutor_Base {
40
  */
41
  public function register_meta_box(){
42
  $coursePostType = tutor()->course_post_type;
 
43
 
44
  add_meta_box( 'tutor-course-topics', __( 'Course Builder', 'tutor' ), array($this, 'course_meta_box'), $coursePostType );
45
  add_meta_box( 'tutor-course-additional-data', __( 'Additional Data', 'tutor' ), array($this, 'course_additional_data_meta_box'), $coursePostType );
46
  add_meta_box( 'tutor-course-videos', __( 'Video', 'tutor' ), array($this, 'video_metabox'), $coursePostType );
47
- add_meta_box( 'tutor-instructors', __( 'Instructors', 'tutor' ), array($this, 'instructors_metabox'), $coursePostType );
 
 
 
48
  add_meta_box( 'tutor-announcements', __( 'Announcements', 'tutor' ), array($this, 'announcements_metabox'), $coursePostType );
49
  }
50
  public function course_meta_box(){
@@ -62,7 +66,7 @@ class Course extends Tutor_Base {
62
  }
63
 
64
  public function instructors_metabox(){
65
- include tutor()->path.'views/metabox/instructors-metabox.php';
66
  }
67
 
68
  /**
40
  */
41
  public function register_meta_box(){
42
  $coursePostType = tutor()->course_post_type;
43
+ $course_marketplace = tutor_utils()->get_option('enable_course_marketplace');
44
 
45
  add_meta_box( 'tutor-course-topics', __( 'Course Builder', 'tutor' ), array($this, 'course_meta_box'), $coursePostType );
46
  add_meta_box( 'tutor-course-additional-data', __( 'Additional Data', 'tutor' ), array($this, 'course_additional_data_meta_box'), $coursePostType );
47
  add_meta_box( 'tutor-course-videos', __( 'Video', 'tutor' ), array($this, 'video_metabox'), $coursePostType );
48
+
49
+ if ($course_marketplace) {
50
+ add_meta_box( 'tutor-instructors', __( 'Instructors', 'tutor' ), array( $this, 'instructors_metabox' ), $coursePostType );
51
+ }
52
  add_meta_box( 'tutor-announcements', __( 'Announcements', 'tutor' ), array($this, 'announcements_metabox'), $coursePostType );
53
  }
54
  public function course_meta_box(){
66
  }
67
 
68
  public function instructors_metabox(){
69
+ include tutor()->path . 'views/metabox/instructors-metabox.php';
70
  }
71
 
72
  /**
classes/Instructor.php CHANGED
@@ -38,7 +38,6 @@ class Instructor {
38
  'last_name' => __('Last name field is required', 'tutor'),
39
  'email' => __('E-Mail field is required', 'tutor'),
40
  'user_login' => __('User Name field is required', 'tutor'),
41
- 'phone_number' => __('Phone Number field is required', 'tutor'),
42
  'password' => __('Password field is required', 'tutor'),
43
  'password_confirmation' => __('Password Confirmation field is required', 'tutor'),
44
  ));
@@ -67,9 +66,7 @@ class Instructor {
67
  $last_name = sanitize_text_field(tutor_utils()->input_old('last_name'));
68
  $email = sanitize_text_field(tutor_utils()->input_old('email'));
69
  $user_login = sanitize_text_field(tutor_utils()->input_old('user_login'));
70
- $phone_number = sanitize_text_field(tutor_utils()->input_old('phone_number'));
71
  $password = sanitize_text_field(tutor_utils()->input_old('password'));
72
- $tutor_profile_bio = wp_kses_post(tutor_utils()->input_old('tutor_profile_bio'));
73
 
74
  $userdata = array(
75
  'user_login' => $user_login,
@@ -82,10 +79,6 @@ class Instructor {
82
 
83
  $user_id = wp_insert_user( $userdata ) ;
84
  if ( ! is_wp_error($user_id)){
85
- update_user_meta($user_id, 'phone_number', $phone_number);
86
- update_user_meta($user_id, 'description', $tutor_profile_bio);
87
- update_user_meta($user_id, '_tutor_profile_bio', $tutor_profile_bio);
88
-
89
  update_user_meta($user_id, '_is_tutor_instructor', time());
90
  update_user_meta($user_id, '_tutor_instructor_status', apply_filters('tutor_initial_instructor_status', 'pending'));
91
 
38
  'last_name' => __('Last name field is required', 'tutor'),
39
  'email' => __('E-Mail field is required', 'tutor'),
40
  'user_login' => __('User Name field is required', 'tutor'),
 
41
  'password' => __('Password field is required', 'tutor'),
42
  'password_confirmation' => __('Password Confirmation field is required', 'tutor'),
43
  ));
66
  $last_name = sanitize_text_field(tutor_utils()->input_old('last_name'));
67
  $email = sanitize_text_field(tutor_utils()->input_old('email'));
68
  $user_login = sanitize_text_field(tutor_utils()->input_old('user_login'));
 
69
  $password = sanitize_text_field(tutor_utils()->input_old('password'));
 
70
 
71
  $userdata = array(
72
  'user_login' => $user_login,
79
 
80
  $user_id = wp_insert_user( $userdata ) ;
81
  if ( ! is_wp_error($user_id)){
 
 
 
 
82
  update_user_meta($user_id, '_is_tutor_instructor', time());
83
  update_user_meta($user_id, '_tutor_instructor_status', apply_filters('tutor_initial_instructor_status', 'pending'));
84
 
classes/Options.php CHANGED
@@ -256,6 +256,12 @@ class Options {
256
  'label' => __('Instructor Profile Settings', 'tutor'),
257
  'desc' => __('Enable Disable Option to on/off notification on various event', 'tutor'),
258
  'fields' => array(
 
 
 
 
 
 
259
  'instructor_register_page' => array(
260
  'type' => 'select',
261
  'label' => __('Instructor Register Page', 'tutor'),
@@ -269,6 +275,12 @@ class Options {
269
  'default' => '0',
270
  'desc' => __('Define if a instructor can publish his courses directly or not, if unchecked, they can still add courses, but it will go to admin for review', 'tutor'),
271
  ),
 
 
 
 
 
 
272
  ),
273
  ),
274
  ),
@@ -394,6 +406,40 @@ class Options {
394
  ),
395
  ),
396
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
397
  );
398
 
399
  return apply_filters('tutor/options/attr', $attr);
256
  'label' => __('Instructor Profile Settings', 'tutor'),
257
  'desc' => __('Enable Disable Option to on/off notification on various event', 'tutor'),
258
  'fields' => array(
259
+ 'enable_course_marketplace' => array(
260
+ 'type' => 'checkbox',
261
+ 'label' => __('Enable Course Marketplace', 'tutor'),
262
+ 'default' => '0',
263
+ 'desc' => __('By enabling this settings will allow multiple instructors can upload their course.', 'tutor'),
264
+ ),
265
  'instructor_register_page' => array(
266
  'type' => 'select',
267
  'label' => __('Instructor Register Page', 'tutor'),
275
  'default' => '0',
276
  'desc' => __('Define if a instructor can publish his courses directly or not, if unchecked, they can still add courses, but it will go to admin for review', 'tutor'),
277
  ),
278
+ 'enable_become_instructor_btn' => array(
279
+ 'type' => 'checkbox',
280
+ 'label' => __('Enable Become Instructor Button', 'tutor'),
281
+ 'default' => '0',
282
+ 'desc' => __('It will show an Button to go Instructor registration form in student dashboard', 'tutor'),
283
+ ),
284
  ),
285
  ),
286
  ),
406
  ),
407
  ),
408
  ),
409
+
410
+ 'tutor_style' => array(
411
+ 'label' => __('Style', 'tutor'),
412
+ 'sections' => array(
413
+ 'general' => array(
414
+ 'label' => __('Color Style', 'tutor'),
415
+ 'fields' => array(
416
+ 'tutor_primary_color' => array(
417
+ 'type' => 'color',
418
+ 'label' => __('Primary Color', 'tutor'),
419
+ 'default' => '',
420
+ ),
421
+ 'tutor_primary_hover_color' => array(
422
+ 'type' => 'color',
423
+ 'label' => __('Primary Hover Color', 'tutor'),
424
+ 'default' => '',
425
+ ),
426
+ 'tutor_text_color' => array(
427
+ 'type' => 'color',
428
+ 'label' => __('Text color', 'tutor'),
429
+ 'default' => '',
430
+ ),
431
+ 'tutor_light_color' => array(
432
+ 'type' => 'color',
433
+ 'label' => __('Light color', 'tutor'),
434
+ 'default' => '',
435
+ ),
436
+ ),
437
+ ),
438
+
439
+ ),
440
+ ),
441
+
442
+
443
  );
444
 
445
  return apply_filters('tutor/options/attr', $attr);
classes/Post_types.php CHANGED
@@ -15,6 +15,7 @@ class Post_types{
15
  add_action( 'init', array($this, 'register_course_post_types') );
16
  add_action( 'init', array($this, 'register_lesson_post_types') );
17
  add_action( 'init', array($this, 'register_quiz_post_types') );
 
18
 
19
 
20
  /**
@@ -237,7 +238,20 @@ class Post_types{
237
  register_post_type( 'tutor_quiz', $args );
238
  }
239
 
240
-
 
 
 
 
 
 
 
 
 
 
 
 
 
241
 
242
  function course_updated_messages( $messages ) {
243
  $post = get_post();
15
  add_action( 'init', array($this, 'register_course_post_types') );
16
  add_action( 'init', array($this, 'register_lesson_post_types') );
17
  add_action( 'init', array($this, 'register_quiz_post_types') );
18
+ add_action( 'init', array($this, 'register_topic_post_types') );
19
 
20
 
21
  /**
238
  register_post_type( 'tutor_quiz', $args );
239
  }
240
 
241
+ public function register_topic_post_types(){
242
+ $args = array(
243
+ 'label' => 'Topics',
244
+ 'description' => __( 'Description.', 'tutor' ),
245
+ 'public' => false,
246
+ 'publicly_queryable' => false,
247
+ 'show_ui' => false,
248
+ 'query_var' => false,
249
+ 'has_archive' => false,
250
+ 'hierarchical' => false,
251
+ 'menu_position' => null,
252
+ );
253
+ register_post_type( 'topics', $args );
254
+ }
255
 
256
  function course_updated_messages( $messages ) {
257
  $post = get_post();
classes/Student.php CHANGED
@@ -39,7 +39,6 @@ class Student {
39
  'last_name' => __('Last name field is required', 'tutor'),
40
  'email' => __('E-Mail field is required', 'tutor'),
41
  'user_login' => __('User Name field is required', 'tutor'),
42
- 'phone_number' => __('Phone Number field is required', 'tutor'),
43
  'password' => __('Password field is required', 'tutor'),
44
  'password_confirmation' => __('Password Confirmation field is required', 'tutor'),
45
  ));
@@ -68,9 +67,7 @@ class Student {
68
  $last_name = sanitize_text_field(tutor_utils()->input_old('last_name'));
69
  $email = sanitize_text_field(tutor_utils()->input_old('email'));
70
  $user_login = sanitize_text_field(tutor_utils()->input_old('user_login'));
71
- $phone_number = sanitize_text_field(tutor_utils()->input_old('phone_number'));
72
  $password = sanitize_text_field(tutor_utils()->input_old('password'));
73
- $tutor_profile_bio = wp_kses_post(tutor_utils()->input_old('tutor_profile_bio'));
74
 
75
  $userdata = array(
76
  'user_login' => $user_login,
@@ -83,10 +80,6 @@ class Student {
83
 
84
  $user_id = wp_insert_user( $userdata ) ;
85
  if ( ! is_wp_error($user_id)){
86
- update_user_meta($user_id, 'phone_number', $phone_number);
87
- update_user_meta($user_id, 'description', $tutor_profile_bio);
88
- update_user_meta($user_id, '_tutor_profile_bio', $tutor_profile_bio);
89
-
90
  $user = get_user_by( 'id', $user_id );
91
  if( $user ) {
92
  wp_set_current_user( $user_id, $user->user_login );
@@ -220,10 +213,12 @@ class Student {
220
 
221
  if ($previous_password_checked && ! empty($new_password) && $new_password === $confirm_new_password){
222
  wp_set_password($new_password, $user->ID);
 
223
  }
224
 
225
  wp_redirect(wp_get_raw_referer());
226
  die();
227
  }
228
 
 
229
  }
39
  'last_name' => __('Last name field is required', 'tutor'),
40
  'email' => __('E-Mail field is required', 'tutor'),
41
  'user_login' => __('User Name field is required', 'tutor'),
 
42
  'password' => __('Password field is required', 'tutor'),
43
  'password_confirmation' => __('Password Confirmation field is required', 'tutor'),
44
  ));
67
  $last_name = sanitize_text_field(tutor_utils()->input_old('last_name'));
68
  $email = sanitize_text_field(tutor_utils()->input_old('email'));
69
  $user_login = sanitize_text_field(tutor_utils()->input_old('user_login'));
 
70
  $password = sanitize_text_field(tutor_utils()->input_old('password'));
 
71
 
72
  $userdata = array(
73
  'user_login' => $user_login,
80
 
81
  $user_id = wp_insert_user( $userdata ) ;
82
  if ( ! is_wp_error($user_id)){
 
 
 
 
83
  $user = get_user_by( 'id', $user_id );
84
  if( $user ) {
85
  wp_set_current_user( $user_id, $user->user_login );
213
 
214
  if ($previous_password_checked && ! empty($new_password) && $new_password === $confirm_new_password){
215
  wp_set_password($new_password, $user->ID);
216
+ tutor_utils()->set_flash_msg('Password set successfully');
217
  }
218
 
219
  wp_redirect(wp_get_raw_referer());
220
  die();
221
  }
222
 
223
+
224
  }
classes/Tools.php CHANGED
@@ -23,4 +23,6 @@ class Tools {
23
  }
24
  }
25
 
 
 
26
  }
23
  }
24
  }
25
 
26
+
27
+
28
  }
classes/Utils.php CHANGED
@@ -1939,17 +1939,18 @@ class Utils {
1939
 
1940
  if (current_user_can(tutor()->instructor_role)) {
1941
  $instructor_items = array(
1942
- 'my-courses' => __('My Courses', 'tutor'),
1943
- 'quiz-attempts' => __('Quiz Attempts', 'tutor'),
1944
- 'earning' => __('Earning', 'tutor'),
1945
- 'withdraw' => __('Withdraw', 'tutor'),
1946
  );
1947
 
1948
  $nav_items = array_merge($nav_items, $instructor_items);
1949
  }
1950
 
1951
- $nav_items['settings'] = __('Settings', 'tutor');
1952
- $nav_items['logout'] = __('Logout', 'tutor');
 
1953
 
1954
  return apply_filters('tutor_dashboard/nav_items', $nav_items);
1955
  }
@@ -4105,6 +4106,11 @@ class Utils {
4105
 
4106
  }
4107
 
 
 
 
 
 
4108
  public function add_instructor_role($instructor_id = 0){
4109
  if ( ! $instructor_id){
4110
  return;
@@ -4120,6 +4126,11 @@ class Utils {
4120
  do_action('tutor_after_approved_instructor', $instructor_id);
4121
  }
4122
 
 
 
 
 
 
4123
  public function remove_instructor_role($instructor_id = 0){
4124
  if ( ! $instructor_id){
4125
  return;
@@ -4133,4 +4144,74 @@ class Utils {
4133
  do_action('tutor_after_blocked_instructor', $instructor_id);
4134
  }
4135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4136
  }
1939
 
1940
  if (current_user_can(tutor()->instructor_role)) {
1941
  $instructor_items = array(
1942
+ 'my-courses' => __('My Courses', 'tutor'),
1943
+ 'quiz-attempts' => __('Quiz Attempts', 'tutor'),
1944
+ 'earning' => __('Earning', 'tutor'),
1945
+ 'withdraw' => __('Withdraw', 'tutor'),
1946
  );
1947
 
1948
  $nav_items = array_merge($nav_items, $instructor_items);
1949
  }
1950
 
1951
+ $nav_items['purchase_history'] = __('Purchase History', 'tutor');
1952
+ $nav_items['settings'] = __('Settings', 'tutor');
1953
+ $nav_items['logout'] = __('Logout', 'tutor');
1954
 
1955
  return apply_filters('tutor_dashboard/nav_items', $nav_items);
1956
  }
4106
 
4107
  }
4108
 
4109
+ /**
4110
+ * @param int $instructor_id
4111
+ *
4112
+ * Add Instructor role to any user by user iD
4113
+ */
4114
  public function add_instructor_role($instructor_id = 0){
4115
  if ( ! $instructor_id){
4116
  return;
4126
  do_action('tutor_after_approved_instructor', $instructor_id);
4127
  }
4128
 
4129
+ /**
4130
+ * @param int $instructor_id
4131
+ *
4132
+ * Remove instructor role by instructor id
4133
+ */
4134
  public function remove_instructor_role($instructor_id = 0){
4135
  if ( ! $instructor_id){
4136
  return;
4144
  do_action('tutor_after_blocked_instructor', $instructor_id);
4145
  }
4146
 
4147
+ /**
4148
+ * @param string $msg
4149
+ * @param string $name
4150
+ *
4151
+ * Set Flash Message to view in next action / route
4152
+ */
4153
+ public function set_flash_msg($msg = '', $name = 'success'){
4154
+ global $wp_filesystem;
4155
+ if ( ! $wp_filesystem ) {
4156
+ require_once( ABSPATH . 'wp-admin/includes/file.php' );
4157
+ }
4158
+
4159
+ $filename = "tutor_flash_msg_{$name}.txt";
4160
+ $upload_dir = wp_upload_dir();
4161
+ $dir = trailingslashit($upload_dir['basedir']) . 'tutor/';
4162
+
4163
+ WP_Filesystem( false, $upload_dir['basedir'], true );
4164
+
4165
+ if( ! $wp_filesystem->is_dir( $dir ) ) {
4166
+ $wp_filesystem->mkdir( $dir );
4167
+ }
4168
+ $wp_filesystem->put_contents( $dir . $filename, $msg );
4169
+ }
4170
+
4171
+ /**
4172
+ * @param null $name
4173
+ *
4174
+ * @return mixed|string|void
4175
+ *
4176
+ * Get Flash Message
4177
+ */
4178
+ public function get_flash_msg($name = null){
4179
+ if ( ! $name){
4180
+ return '';
4181
+ }
4182
+
4183
+ $upload_dir = wp_get_upload_dir();
4184
+ $upload_dir = trailingslashit($upload_dir['basedir']);
4185
+ $msg_name = 'tutor_flash_msg_'.$name;
4186
+
4187
+ $msg = '';
4188
+ $flash_msg_file_name = $upload_dir."tutor/{$msg_name}.txt";
4189
+ if (file_exists($flash_msg_file_name)){
4190
+ $msg = file_get_contents($flash_msg_file_name);
4191
+ unlink($flash_msg_file_name);
4192
+ }
4193
+
4194
+ return apply_filters('tutor_get_flash_msg', $msg, $name);
4195
+ }
4196
+
4197
+ /**
4198
+ * @param int $user_id
4199
+ *
4200
+ * @return array|null|object
4201
+ *
4202
+ * Get purchase history by customer id
4203
+ */
4204
+
4205
+ public function get_orders_by_user_id($user_id = 0){
4206
+ global $wpdb;
4207
+
4208
+ $user_id = $this->get_user_id();
4209
+
4210
+ $query = $wpdb->get_results("SELECT {$wpdb->posts}.* FROM {$wpdb->posts}
4211
+ INNER JOIN {$wpdb->postmeta} customer ON ID = customer.post_id AND customer.meta_key = '_customer_user'
4212
+ INNER JOIN {$wpdb->postmeta} tutor_order ON ID = tutor_order.post_id AND tutor_order.meta_key = '_is_tutor_order_for_course'
4213
+ where post_type = 'shop_order' AND customer.meta_value = {$user_id} ");
4214
+ return $query;
4215
+ }
4216
+
4217
  }
includes/theme-compatibility/storefront/assets/css/style.css CHANGED
@@ -2,6 +2,7 @@ body.single-lesson #content .col-full{
2
  width: 100%;
3
  max-width: 100%;
4
  padding: 0;
 
5
  }
6
  .tutor-container{
7
  max-width: 100%;
2
  width: 100%;
3
  max-width: 100%;
4
  padding: 0;
5
+ margin: 0;
6
  }
7
  .tutor-container{
8
  max-width: 100%;
includes/tutor-template-functions.php CHANGED
@@ -167,12 +167,16 @@ if ( ! function_exists('tutor_course_loop_end_content_wrap')) {
167
  }
168
 
169
  if ( ! function_exists('tutor_course_loop_thumbnail')) {
170
- function tutor_course_loop_thumbnail() {
171
  ob_start();
172
  tutor_load_template( 'loop.thumbnail' );
173
  $output = apply_filters( 'tutor_course_loop_thumbnail', ob_get_clean() );
174
 
175
- echo $output;
 
 
 
 
176
  }
177
  }
178
 
@@ -323,6 +327,10 @@ if ( ! function_exists('tutor_course_loop_author')) {
323
  }
324
  }
325
 
 
 
 
 
326
  if ( ! function_exists('tutor_course_loop_price')) {
327
  function tutor_course_loop_price() {
328
  ob_start();
@@ -339,6 +347,9 @@ if ( ! function_exists('tutor_course_loop_price')) {
339
  }
340
  }
341
 
 
 
 
342
  if ( ! function_exists('tutor_course_loop_rating')) {
343
  function tutor_course_loop_rating() {
344
  ob_start();
@@ -349,6 +360,14 @@ if ( ! function_exists('tutor_course_loop_rating')) {
349
  }
350
  }
351
 
 
 
 
 
 
 
 
 
352
  if ( ! function_exists('tutor_course_loop_add_to_cart')) {
353
  function tutor_course_loop_add_to_cart($echo = true) {
354
  ob_start();
@@ -367,8 +386,6 @@ if ( ! function_exists('tutor_course_loop_add_to_cart')) {
367
  }
368
  }
369
 
370
-
371
-
372
  if ( ! function_exists('tutor_course_price')) {
373
  function tutor_course_price() {
374
  ob_start();
@@ -379,7 +396,6 @@ if ( ! function_exists('tutor_course_price')) {
379
  }
380
  }
381
 
382
-
383
  /**
384
  * @param int $post_id
385
  *
@@ -832,6 +848,14 @@ if ( ! function_exists('tutor_course_enroll_box')) {
832
  }
833
  }
834
 
 
 
 
 
 
 
 
 
835
  function tutor_single_course_add_to_cart($echo = true){
836
  ob_start();
837
 
@@ -1166,6 +1190,15 @@ if ( ! function_exists('get_tutor_course_categories')){
1166
  return $terms;
1167
  }
1168
  }
 
 
 
 
 
 
 
 
 
1169
  if ( ! function_exists('get_tutor_course_tags')){
1170
  function get_tutor_course_tags($course_id = 0){
1171
  if ( ! $course_id ) {
@@ -1177,6 +1210,14 @@ if ( ! function_exists('get_tutor_course_tags')){
1177
  }
1178
  }
1179
 
 
 
 
 
 
 
 
 
1180
  if ( ! function_exists('tutor_course_tags_html')) {
1181
  function tutor_course_tags_html( $echo = true ) {
1182
  ob_start();
@@ -1191,6 +1232,14 @@ if ( ! function_exists('tutor_course_tags_html')) {
1191
  }
1192
  }
1193
 
 
 
 
 
 
 
 
 
1194
  if ( ! function_exists('tutor_lesson_sidebar_question_and_answer')) {
1195
  function tutor_lesson_sidebar_question_and_answer( $echo = true ) {
1196
  ob_start();
@@ -1205,6 +1254,14 @@ if ( ! function_exists('tutor_lesson_sidebar_question_and_answer')) {
1205
  }
1206
  }
1207
 
 
 
 
 
 
 
 
 
1208
  if ( ! function_exists('tutor_social_share')) {
1209
  function tutor_social_share( $echo = true ) {
1210
  ob_start();
167
  }
168
 
169
  if ( ! function_exists('tutor_course_loop_thumbnail')) {
170
+ function tutor_course_loop_thumbnail($echo = true) {
171
  ob_start();
172
  tutor_load_template( 'loop.thumbnail' );
173
  $output = apply_filters( 'tutor_course_loop_thumbnail', ob_get_clean() );
174
 
175
+ if ($echo){
176
+ echo $output;
177
+ }else{
178
+ return $output;
179
+ }
180
  }
181
  }
182
 
327
  }
328
  }
329
 
330
+ /**
331
+ * Get formatted price with cart form
332
+ */
333
+
334
  if ( ! function_exists('tutor_course_loop_price')) {
335
  function tutor_course_loop_price() {
336
  ob_start();
347
  }
348
  }
349
 
350
+ /**
351
+ * Get Course rating
352
+ */
353
  if ( ! function_exists('tutor_course_loop_rating')) {
354
  function tutor_course_loop_rating() {
355
  ob_start();
360
  }
361
  }
362
 
363
+ /**
364
+ * @param bool $echo
365
+ *
366
+ * @return mixed|void
367
+ *
368
+ * Get add to cart form
369
+ */
370
+
371
  if ( ! function_exists('tutor_course_loop_add_to_cart')) {
372
  function tutor_course_loop_add_to_cart($echo = true) {
373
  ob_start();
386
  }
387
  }
388
 
 
 
389
  if ( ! function_exists('tutor_course_price')) {
390
  function tutor_course_price() {
391
  ob_start();
396
  }
397
  }
398
 
 
399
  /**
400
  * @param int $post_id
401
  *
848
  }
849
  }
850
 
851
+ /**
852
+ * @param bool $echo
853
+ *
854
+ * @return string
855
+ *
856
+ * Get Only add to cart form
857
+ */
858
+
859
  function tutor_single_course_add_to_cart($echo = true){
860
  ob_start();
861
 
1190
  return $terms;
1191
  }
1192
  }
1193
+
1194
+ /**
1195
+ * @param int $course_id
1196
+ *
1197
+ * @return array|false|WP_Error
1198
+ *
1199
+ * Get course tags
1200
+ */
1201
+
1202
  if ( ! function_exists('get_tutor_course_tags')){
1203
  function get_tutor_course_tags($course_id = 0){
1204
  if ( ! $course_id ) {
1210
  }
1211
  }
1212
 
1213
+ /**
1214
+ * @param bool $echo
1215
+ *
1216
+ * @return mixed|void
1217
+ *
1218
+ * Template for course tags html
1219
+ */
1220
+
1221
  if ( ! function_exists('tutor_course_tags_html')) {
1222
  function tutor_course_tags_html( $echo = true ) {
1223
  ob_start();
1232
  }
1233
  }
1234
 
1235
+ /**
1236
+ * @param bool $echo
1237
+ *
1238
+ * @return mixed
1239
+ *
1240
+ * Get Q&A in lesson sidebar
1241
+ */
1242
+
1243
  if ( ! function_exists('tutor_lesson_sidebar_question_and_answer')) {
1244
  function tutor_lesson_sidebar_question_and_answer( $echo = true ) {
1245
  ob_start();
1254
  }
1255
  }
1256
 
1257
+ /**
1258
+ * @param bool $echo
1259
+ *
1260
+ * @return mixed|void
1261
+ *
1262
+ * Get Social Share button to share on social media
1263
+ */
1264
+
1265
  if ( ! function_exists('tutor_social_share')) {
1266
  function tutor_social_share( $echo = true ) {
1267
  ob_start();
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: lms, course, elearning, education, quiz, training, sell courses, courses,
5
  Requires at least: 4.5
6
  Tested up to: 5.2
7
  Requires PHP: 5.4.0
8
- Stable tag: 1.2.20
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -206,6 +206,20 @@ Tutor enables you to use any third party plugins without facing any compatibilit
206
 
207
  == Changelog ==
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  = 1.2.20 - 10 May, 2019 =
210
 
211
  * Added: Reset Password from Tutor dashboard
5
  Requires at least: 4.5
6
  Tested up to: 5.2
7
  Requires PHP: 5.4.0
8
+ Stable tag: 1.3.0
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
11
 
206
 
207
  == Changelog ==
208
 
209
+ = 1.3.0 - 17 May, 2019 =
210
+
211
+ * Added: Flash Msg ability to show flash msg in a different view or different action
212
+ * Added: Styling, change default color scheme
213
+ * Added: return at tutor_course_loop_thumbnail() based on $echo condition
214
+ * Added: Purchase history from the dashboard
215
+ * Added: Become Instructor Button on student dashboard based on settings
216
+ * Added: Enable Disable Course Market place, default Tutor LMS will be single instructor format.
217
+ * Fixed: a template div closing/return issue in dashboard > reviews menu
218
+ * Fixed: Tutor course content export-import in WordPress way
219
+ * Fixed: Some responsive issue in course details and lesson page
220
+ * Reduced: Instructor and Student Registration form field. removed phone number and profile bio filed from the registration page.
221
+ * Moved: tutor icon CSS file from tutor-front.css file to individually
222
+
223
  = 1.2.20 - 10 May, 2019 =
224
 
225
  * Added: Reset Password from Tutor dashboard
templates/dashboard.php CHANGED
@@ -77,20 +77,23 @@ do_action('tutor_dashboard/before/wrap'); ?>
77
  <?php
78
 
79
  if(current_user_can(tutor()->instructor_role)){
80
- $button_page_url = add_query_arg(array('post_type'=>'course'),admin_url('post-new.php'));
81
- $buton_text = __('<i class="tutor-icon-video-camera"></i> &nbsp; Upload A Course', 'tutor');
 
 
 
 
82
  }else{
83
- $button_page_url = tutor_utils()->instructor_register_url();
84
- $buton_text = __('<i class="tutor-icon-man-user"></i> &nbsp; Become an instructor', 'tutor');
 
 
 
 
 
85
  }
86
  ?>
87
 
88
- <?php if (! current_user_can(tutor()->instructor_role)){ ?>
89
- <a class="tutor-btn bordered-btn" href="<?php echo esc_url($button_page_url); ?>">
90
- <?php echo $buton_text; ?>
91
- </a>
92
- <?php } ?>
93
-
94
  </div>
95
 
96
  </div>
@@ -107,6 +110,7 @@ do_action('tutor_dashboard/before/wrap'); ?>
107
  if ($dashboard_key === 'index')
108
  $dashboard_key = '';
109
  $active_class = $dashboard_key == $dashboard_page_slug ? 'active' : '';
 
110
  echo "<li class='{$li_class} {$active_class}'><a href='".tutor_utils()->get_tutor_dashboard_page_permalink($dashboard_key)."'> {$dashboard_page} </a> </li>";
111
  }
112
  ?>
@@ -130,9 +134,6 @@ do_action('tutor_dashboard/before/wrap'); ?>
130
  </div>
131
 
132
 
133
-
134
-
135
-
136
  <?php do_action('tutor_dashboard/after/wrap'); ?>
137
 
138
  <?php
77
  <?php
78
 
79
  if(current_user_can(tutor()->instructor_role)){
80
+ ?>
81
+ <a class="tutor-btn bordered-btn" href="<?php echo esc_url(add_query_arg(array('post_type'=>'course'),admin_url('post-new.php'))); ?>">
82
+ <?php _e('<i class="tutor-icon-video-camera"></i> &nbsp; Upload A Course', 'tutor'); ?>
83
+ </a>
84
+ <?php
85
+
86
  }else{
87
+ if (tutor_utils()->get_option('enable_become_instructor_btn')) {
88
+ ?>
89
+ <a class="tutor-btn bordered-btn" href="<?php echo esc_url(tutor_utils()->instructor_register_url()); ?>">
90
+ <?php _e( '<i class="tutor-icon-man-user"></i> &nbsp; Become an instructor', 'tutor' ); ?>
91
+ </a>
92
+ <?php
93
+ }
94
  }
95
  ?>
96
 
 
 
 
 
 
 
97
  </div>
98
 
99
  </div>
110
  if ($dashboard_key === 'index')
111
  $dashboard_key = '';
112
  $active_class = $dashboard_key == $dashboard_page_slug ? 'active' : '';
113
+
114
  echo "<li class='{$li_class} {$active_class}'><a href='".tutor_utils()->get_tutor_dashboard_page_permalink($dashboard_key)."'> {$dashboard_page} </a> </li>";
115
  }
116
  ?>
134
  </div>
135
 
136
 
 
 
 
137
  <?php do_action('tutor_dashboard/after/wrap'); ?>
138
 
139
  <?php
templates/dashboard/instructor/registration.php CHANGED
@@ -14,7 +14,7 @@
14
  ?>
15
 
16
  <div class="tutor-form-row">
17
- <div class="tutor-form-col-4">
18
  <div class="tutor-form-group">
19
  <label>
20
  <?php _e('First Name', 'tutor'); ?>
@@ -24,7 +24,7 @@
24
  </div>
25
  </div>
26
 
27
- <div class="tutor-form-col-4">
28
  <div class="tutor-form-group">
29
  <label>
30
  <?php _e('Last Name', 'tutor'); ?>
@@ -34,36 +34,28 @@
34
  </div>
35
  </div>
36
 
37
- <div class="tutor-form-col-4">
38
- <div class="tutor-form-group">
39
- <label>
40
- <?php _e('User Name', 'tutor'); ?>
41
- </label>
42
 
43
- <input type="text" name="user_login" class="tutor_user_name" value="<?php echo tutor_utils()->input_old('user_login'); ?>" placeholder="<?php _e('User Name', 'tutor'); ?>">
44
- </div>
45
- </div>
46
  </div>
47
 
48
  <div class="tutor-form-row">
 
49
  <div class="tutor-form-col-6">
50
  <div class="tutor-form-group">
51
  <label>
52
- <?php _e('E-Mail', 'tutor'); ?>
53
  </label>
54
 
55
- <input type="text" name="email" value="<?php echo tutor_utils()->input_old('email'); ?>" placeholder="<?php _e('E-Mail', 'tutor'); ?>">
56
  </div>
57
  </div>
58
 
59
-
60
  <div class="tutor-form-col-6">
61
  <div class="tutor-form-group">
62
  <label>
63
- <?php _e('Phone Number', 'tutor'); ?>
64
  </label>
65
 
66
- <input type="text" name="phone_number" value="<?php echo tutor_utils()->input_old('phone_number'); ?>" placeholder="<?php _e('Phone Number', 'tutor'); ?>">
67
  </div>
68
  </div>
69
 
@@ -91,22 +83,10 @@
91
  </div>
92
  </div>
93
 
94
- <div class="tutor-form-row">
95
- <div class="tutor-form-col-12">
96
- <div class="tutor-form-group">
97
- <label>
98
- <?php _e('Bio', 'tutor'); ?>
99
- </label>
100
-
101
- <textarea name="tutor_profile_bio"><?php echo tutor_utils()->input_old('tutor_profile_bio'); ?></textarea>
102
- </div>
103
- </div>
104
- </div>
105
-
106
  <div class="tutor-form-row">
107
  <div class="tutor-form-col-12">
108
  <div class="tutor-form-group tutor-reg-form-btn-wrap">
109
- <button type="submit" name="tutor_register_instructor_btn" value="register" class="tutor-button"><?php _e('Become a instructor', 'tutor'); ?></button>
110
  </div>
111
  </div>
112
  </div>
14
  ?>
15
 
16
  <div class="tutor-form-row">
17
+ <div class="tutor-form-col-6">
18
  <div class="tutor-form-group">
19
  <label>
20
  <?php _e('First Name', 'tutor'); ?>
24
  </div>
25
  </div>
26
 
27
+ <div class="tutor-form-col-6">
28
  <div class="tutor-form-group">
29
  <label>
30
  <?php _e('Last Name', 'tutor'); ?>
34
  </div>
35
  </div>
36
 
 
 
 
 
 
37
 
 
 
 
38
  </div>
39
 
40
  <div class="tutor-form-row">
41
+
42
  <div class="tutor-form-col-6">
43
  <div class="tutor-form-group">
44
  <label>
45
+ <?php _e('User Name', 'tutor'); ?>
46
  </label>
47
 
48
+ <input type="text" name="user_login" class="tutor_user_name" value="<?php echo tutor_utils()->input_old('user_login'); ?>" placeholder="<?php _e('User Name', 'tutor'); ?>">
49
  </div>
50
  </div>
51
 
 
52
  <div class="tutor-form-col-6">
53
  <div class="tutor-form-group">
54
  <label>
55
+ <?php _e('E-Mail', 'tutor'); ?>
56
  </label>
57
 
58
+ <input type="text" name="email" value="<?php echo tutor_utils()->input_old('email'); ?>" placeholder="<?php _e('E-Mail', 'tutor'); ?>">
59
  </div>
60
  </div>
61
 
83
  </div>
84
  </div>
85
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  <div class="tutor-form-row">
87
  <div class="tutor-form-col-12">
88
  <div class="tutor-form-group tutor-reg-form-btn-wrap">
89
+ <button type="submit" name="tutor_register_instructor_btn" value="register" class="tutor-button"><?php _e('Register as instructor', 'tutor'); ?></button>
90
  </div>
91
  </div>
92
  </div>
templates/dashboard/purchase_history.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2>Purchase History</h2>
2
+
3
+ <?php
4
+ $orders = tutor_utils()->get_orders_by_user_id();
5
+
6
+ if (tutor_utils()->count($orders)){
7
+ ?>
8
+ <table>
9
+ <tr>
10
+ <th>ID</th>
11
+ <th>Courses</th>
12
+ <th>Amount</th>
13
+ <th>Date</th>
14
+ </tr>
15
+ <?php
16
+ foreach ($orders as $order){
17
+ $wc_order = wc_get_order($order->ID);
18
+ ?>
19
+ <tr>
20
+ <td>#<?php echo $order->ID; ?></td>
21
+ <td>
22
+ <?php
23
+ $courses = tutor_utils()->get_course_enrolled_ids_by_order_id($order->ID);
24
+ if (tutor_utils()->count($courses)){
25
+ foreach ($courses as $course){
26
+ echo '<p>'.get_the_title($course['course_id']).'</p>';
27
+ }
28
+ }
29
+ ?>
30
+ </td>
31
+ <td><?php echo tutor_utils()->tutor_price($wc_order->get_total()); ?></td>
32
+ <td>
33
+ <?php echo date_i18n(get_option('date_format'), strtotime($order->post_date)) ?>
34
+ </td>
35
+ </tr>
36
+ <?php
37
+ }
38
+ ?>
39
+ </table>
40
+ <?php
41
+ }else{
42
+ echo _e('No purchase history available', 'tutor');
43
+ }
44
+
45
+ ?>
templates/dashboard/registration.php CHANGED
@@ -14,7 +14,7 @@
14
  ?>
15
 
16
  <div class="tutor-form-row">
17
- <div class="tutor-form-col-4">
18
  <div class="tutor-form-group">
19
  <label>
20
  <?php _e('First Name', 'tutor'); ?>
@@ -24,7 +24,7 @@
24
  </div>
25
  </div>
26
 
27
- <div class="tutor-form-col-4">
28
  <div class="tutor-form-group">
29
  <label>
30
  <?php _e('Last Name', 'tutor'); ?>
@@ -34,38 +34,29 @@
34
  </div>
35
  </div>
36
 
37
- <div class="tutor-form-col-4">
38
- <div class="tutor-form-group">
39
- <label>
40
- <?php _e('User Name', 'tutor'); ?>
41
- </label>
42
-
43
- <input type="text" name="user_login" class="tutor_user_name" value="<?php echo tutor_utils()->input_old('user_login'); ?>" placeholder="<?php _e('User Name', 'tutor'); ?>">
44
- </div>
45
- </div>
46
  </div>
47
 
48
  <div class="tutor-form-row">
49
  <div class="tutor-form-col-6">
50
  <div class="tutor-form-group">
51
  <label>
52
- <?php _e('E-Mail', 'tutor'); ?>
53
  </label>
54
 
55
- <input type="text" name="email" value="<?php echo tutor_utils()->input_old('email'); ?>" placeholder="<?php _e('E-Mail', 'tutor'); ?>">
56
  </div>
57
  </div>
58
 
59
-
60
  <div class="tutor-form-col-6">
61
  <div class="tutor-form-group">
62
  <label>
63
- <?php _e('Phone Number', 'tutor'); ?>
64
  </label>
65
 
66
- <input type="text" name="phone_number" value="<?php echo tutor_utils()->input_old('phone_number'); ?>" placeholder="<?php _e('Phone Number', 'tutor'); ?>">
67
  </div>
68
  </div>
 
69
  </div>
70
 
71
  <div class="tutor-form-row">
@@ -90,17 +81,6 @@
90
  </div>
91
  </div>
92
 
93
- <div class="tutor-form-row">
94
- <div class="tutor-form-col-12">
95
- <div class="tutor-form-group">
96
- <label>
97
- <?php _e('Bio', 'tutor'); ?>
98
- </label>
99
-
100
- <textarea name="tutor_profile_bio"><?php echo tutor_utils()->input_old('tutor_profile_bio'); ?></textarea>
101
- </div>
102
- </div>
103
- </div>
104
 
105
  <div class="tutor-form-row">
106
  <div class="tutor-form-col-12">
14
  ?>
15
 
16
  <div class="tutor-form-row">
17
+ <div class="tutor-form-col-6">
18
  <div class="tutor-form-group">
19
  <label>
20
  <?php _e('First Name', 'tutor'); ?>
24
  </div>
25
  </div>
26
 
27
+ <div class="tutor-form-col-6">
28
  <div class="tutor-form-group">
29
  <label>
30
  <?php _e('Last Name', 'tutor'); ?>
34
  </div>
35
  </div>
36
 
 
 
 
 
 
 
 
 
 
37
  </div>
38
 
39
  <div class="tutor-form-row">
40
  <div class="tutor-form-col-6">
41
  <div class="tutor-form-group">
42
  <label>
43
+ <?php _e('User Name', 'tutor'); ?>
44
  </label>
45
 
46
+ <input type="text" name="user_login" class="tutor_user_name" value="<?php echo tutor_utils()->input_old('user_login'); ?>" placeholder="<?php _e('User Name', 'tutor'); ?>">
47
  </div>
48
  </div>
49
 
 
50
  <div class="tutor-form-col-6">
51
  <div class="tutor-form-group">
52
  <label>
53
+ <?php _e('E-Mail', 'tutor'); ?>
54
  </label>
55
 
56
+ <input type="text" name="email" value="<?php echo tutor_utils()->input_old('email'); ?>" placeholder="<?php _e('E-Mail', 'tutor'); ?>">
57
  </div>
58
  </div>
59
+
60
  </div>
61
 
62
  <div class="tutor-form-row">
81
  </div>
82
  </div>
83
 
 
 
 
 
 
 
 
 
 
 
 
84
 
85
  <div class="tutor-form-row">
86
  <div class="tutor-form-col-12">
templates/dashboard/reviews.php CHANGED
@@ -30,7 +30,7 @@ $reviews = tutor_utils()->get_reviews_by_user();
30
  <div class="tutor-dashboard-content-inner">
31
  <p><?php _e("Sorry, but you are looking for something that isn't here." , 'tutor'); ?></p>
32
  </div>
33
- <?php return;
34
  }
35
  ?>
36
 
30
  <div class="tutor-dashboard-content-inner">
31
  <p><?php _e("Sorry, but you are looking for something that isn't here." , 'tutor'); ?></p>
32
  </div>
33
+ <?php
34
  }
35
  ?>
36
 
templates/dashboard/settings/profile.php CHANGED
@@ -1,6 +1,5 @@
1
  <?php
2
  $user = wp_get_current_user();
3
-
4
  ?>
5
 
6
  <div class="tutor-dashboard-content-inner">
@@ -25,7 +24,7 @@ $user = wp_get_current_user();
25
  <?php do_action('tutor_profile_edit_input_before'); ?>
26
 
27
  <div class="tutor-form-row">
28
- <div class="tutor-form-col-6">
29
  <div class="tutor-form-group">
30
  <label>
31
  <?php _e('First Name', 'tutor'); ?>
@@ -35,7 +34,7 @@ $user = wp_get_current_user();
35
  </div>
36
  </div>
37
 
38
- <div class="tutor-form-col-6">
39
  <div class="tutor-form-group">
40
  <label>
41
  <?php _e('Last Name', 'tutor'); ?>
@@ -45,14 +44,10 @@ $user = wp_get_current_user();
45
  </div>
46
  </div>
47
 
48
- </div>
49
-
50
- <div class="tutor-form-row">
51
-
52
- <div class="tutor-form-col-6">
53
  <div class="tutor-form-group">
54
  <label>
55
- <?php _e('Phone Number', 'tutor'); ?>
56
  </label>
57
 
58
  <input type="text" name="phone_number" value="<?php echo get_user_meta($user->ID,'phone_number',true); ?>" placeholder="<?php _e('Phone Number', 'tutor'); ?>">
1
  <?php
2
  $user = wp_get_current_user();
 
3
  ?>
4
 
5
  <div class="tutor-dashboard-content-inner">
24
  <?php do_action('tutor_profile_edit_input_before'); ?>
25
 
26
  <div class="tutor-form-row">
27
+ <div class="tutor-form-col-4">
28
  <div class="tutor-form-group">
29
  <label>
30
  <?php _e('First Name', 'tutor'); ?>
34
  </div>
35
  </div>
36
 
37
+ <div class="tutor-form-col-4">
38
  <div class="tutor-form-group">
39
  <label>
40
  <?php _e('Last Name', 'tutor'); ?>
44
  </div>
45
  </div>
46
 
47
+ <div class="tutor-form-col-4">
 
 
 
 
48
  <div class="tutor-form-group">
49
  <label>
50
+ <?php _e('Phone Number', 'tutor'); ?>
51
  </label>
52
 
53
  <input type="text" name="phone_number" value="<?php echo get_user_meta($user->ID,'phone_number',true); ?>" placeholder="<?php _e('Phone Number', 'tutor'); ?>">
templates/dashboard/settings/reset-password.php CHANGED
@@ -2,38 +2,49 @@
2
 
3
  <div class="tutor-dashboard-content-inner">
4
 
5
- <div class="tutor-dashboard-inline-links">
6
  <?php
7
  $settings_url = tutor_utils()->get_tutor_dashboard_page_permalink('settings');
8
  $withdraw = tutor_utils()->get_tutor_dashboard_page_permalink('settings/withdraw-settings');
9
  $reset_password = tutor_utils()->get_tutor_dashboard_page_permalink('settings/reset-password');
10
  ?>
11
- <ul>
12
- <li>
13
- <a href="<?php echo esc_url($settings_url); ?>"> <?php _e('Profile', 'tutor'); ?></a>
14
- </li>
15
- <li class="active">
16
- <a href="<?php echo esc_url($reset_password); ?>"> <?php _e('Reset Password', 'tutor'); ?></a>
17
- </li>
18
- <li>
19
- <a href="<?php echo esc_url($withdraw); ?>"> <?php _e('Withdraw', 'tutor'); ?></a>
20
- </li>
21
 
22
- </ul>
23
- </div>
24
 
25
 
26
- <h3><?php _e('Reset Password', 'tutor') ?></h3>
27
 
28
 
29
 
30
 
31
- <div class="tutor-reset-password-form-wrap">
 
 
 
 
 
 
 
 
 
 
 
32
 
33
 
34
- <form action="" method="post" enctype="multipart/form-data">
35
  <?php wp_nonce_field( tutor()->nonce_action, tutor()->nonce ); ?>
36
- <input type="hidden" value="tutor_reset_password" name="tutor_action" />
37
 
38
  <?php
39
  $errors = apply_filters('tutor_reset_password_validation_errors', array());
@@ -48,31 +59,31 @@
48
 
49
  <?php do_action('tutor_reset_password_input_before') ?>
50
 
51
- <div class="tutor-form-group">
52
- <label class="tutor-form-col-3"> <?php _e('Previous Password', 'tutor'); ?> </label>
53
- <input type="password" name="previous_password">
54
- </div>
55
 
56
- <div class="tutor-form-group">
57
- <label><?php _e('New Password', 'tutor'); ?></label>
58
- <input type="password" name="new_password">
59
- </div>
60
 
61
- <div class="tutor-form-group">
62
- <label><?php _e('Confirm New Password', 'tutor'); ?></label>
63
- <input type="password" name="confirm_new_password">
64
- </div>
65
 
66
- <div class="tutor-form-group">
67
- <label>&nbsp;</label>
68
- <button type="submit" class="tutor-button" name="tutor_password_reset_btn"><?php _e('Reset Password', 'tutor'); ?></button>
69
- </div>
70
 
71
  <?php do_action('tutor_reset_password_input_after') ?>
72
 
73
- </form>
74
 
75
- </div>
76
 
77
 
78
 
2
 
3
  <div class="tutor-dashboard-content-inner">
4
 
5
+ <div class="tutor-dashboard-inline-links">
6
  <?php
7
  $settings_url = tutor_utils()->get_tutor_dashboard_page_permalink('settings');
8
  $withdraw = tutor_utils()->get_tutor_dashboard_page_permalink('settings/withdraw-settings');
9
  $reset_password = tutor_utils()->get_tutor_dashboard_page_permalink('settings/reset-password');
10
  ?>
11
+ <ul>
12
+ <li>
13
+ <a href="<?php echo esc_url($settings_url); ?>"> <?php _e('Profile', 'tutor'); ?></a>
14
+ </li>
15
+ <li class="active">
16
+ <a href="<?php echo esc_url($reset_password); ?>"> <?php _e('Reset Password', 'tutor'); ?></a>
17
+ </li>
18
+ <li>
19
+ <a href="<?php echo esc_url($withdraw); ?>"> <?php _e('Withdraw', 'tutor'); ?></a>
20
+ </li>
21
 
22
+ </ul>
23
+ </div>
24
 
25
 
26
+ <h3><?php _e('Reset Password', 'tutor') ?></h3>
27
 
28
 
29
 
30
 
31
+ <div class="tutor-reset-password-form-wrap">
32
+
33
+ <?php
34
+ $success_msg = tutor_utils()->get_flash_msg('success');
35
+ if ($success_msg){
36
+ ?>
37
+ <div class="tutor-success-msg">
38
+ <?php echo $success_msg; ?>
39
+ </div>
40
+ <?php
41
+ }
42
+ ?>
43
 
44
 
45
+ <form action="" method="post" enctype="multipart/form-data">
46
  <?php wp_nonce_field( tutor()->nonce_action, tutor()->nonce ); ?>
47
+ <input type="hidden" value="tutor_reset_password" name="tutor_action" />
48
 
49
  <?php
50
  $errors = apply_filters('tutor_reset_password_validation_errors', array());
59
 
60
  <?php do_action('tutor_reset_password_input_before') ?>
61
 
62
+ <div class="tutor-form-group">
63
+ <label class="tutor-form-col-3"> <?php _e('Previous Password', 'tutor'); ?> </label>
64
+ <input type="password" name="previous_password">
65
+ </div>
66
 
67
+ <div class="tutor-form-group">
68
+ <label><?php _e('New Password', 'tutor'); ?></label>
69
+ <input type="password" name="new_password">
70
+ </div>
71
 
72
+ <div class="tutor-form-group">
73
+ <label><?php _e('Confirm New Password', 'tutor'); ?></label>
74
+ <input type="password" name="confirm_new_password">
75
+ </div>
76
 
77
+ <div class="tutor-form-group">
78
+ <label>&nbsp;</label>
79
+ <button type="submit" class="tutor-button" name="tutor_password_reset_btn"><?php _e('Reset Password', 'tutor'); ?></button>
80
+ </div>
81
 
82
  <?php do_action('tutor_reset_password_input_after') ?>
83
 
84
+ </form>
85
 
86
+ </div>
87
 
88
 
89
 
templates/single-course-enrolled.php CHANGED
@@ -17,7 +17,7 @@ do_action('tutor_course/single/enrolled/before/wrap');
17
  <div <?php tutor_post_class('tutor-full-width-course-top tutor-course-top-info tutor-page-wrap'); ?>>
18
  <div class="tutor-container">
19
  <div class="tutor-row">
20
- <div class="tutor-col-8">
21
  <?php do_action('tutor_course/single/enrolled/before/inner-wrap'); ?>
22
  <?php tutor_course_enrolled_lead_info(); ?>
23
  <?php tutor_course_enrolled_nav(); ?>
17
  <div <?php tutor_post_class('tutor-full-width-course-top tutor-course-top-info tutor-page-wrap'); ?>>
18
  <div class="tutor-container">
19
  <div class="tutor-row">
20
+ <div class="tutor-col-8 tutor-col-md-100">
21
  <?php do_action('tutor_course/single/enrolled/before/inner-wrap'); ?>
22
  <?php tutor_course_enrolled_lead_info(); ?>
23
  <?php tutor_course_enrolled_nav(); ?>
templates/single-course.php CHANGED
@@ -18,7 +18,7 @@ get_header();
18
  <div <?php tutor_post_class('tutor-full-width-course-top tutor-course-top-info tutor-page-wrap'); ?>>
19
  <div class="tutor-container">
20
  <div class="tutor-row">
21
- <div class="tutor-col-8">
22
 
23
  <?php do_action('tutor_course/single/before/inner-wrap'); ?>
24
 
18
  <div <?php tutor_post_class('tutor-full-width-course-top tutor-course-top-info tutor-page-wrap'); ?>>
19
  <div class="tutor-container">
20
  <div class="tutor-row">
21
+ <div class="tutor-col-8 tutor-col-md-100">
22
 
23
  <?php do_action('tutor_course/single/before/inner-wrap'); ?>
24
 
tutor.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Tutor LMS
4
  Plugin URI: https://www.themeum.com/product/tutor-lms/
5
  Description: Tutor is a complete solution for creating a Learning Management System in WordPress way. It can help you to create small to large scale online education site very conveniently. Power features like report, certificate, course preview, private file sharing make Tutor a robust plugin for any educational institutes.
6
  Author: Themeum
7
- Version: 1.2.20
8
  Author URI: http://themeum.com
9
  Requires at least: 4.5
10
  Tested up to: 5.2
@@ -17,7 +17,7 @@ if ( ! defined( 'ABSPATH' ) )
17
  /**
18
  * Defined the tutor main file
19
  */
20
- define('TUTOR_VERSION', '1.2.20');
21
  define('TUTOR_FILE', __FILE__);
22
 
23
 
4
  Plugin URI: https://www.themeum.com/product/tutor-lms/
5
  Description: Tutor is a complete solution for creating a Learning Management System in WordPress way. It can help you to create small to large scale online education site very conveniently. Power features like report, certificate, course preview, private file sharing make Tutor a robust plugin for any educational institutes.
6
  Author: Themeum
7
+ Version: 1.3.0
8
  Author URI: http://themeum.com
9
  Requires at least: 4.5
10
  Tested up to: 5.2
17
  /**
18
  * Defined the tutor main file
19
  */
20
+ define('TUTOR_VERSION', '1.3.0');
21
  define('TUTOR_FILE', __FILE__);
22
 
23
 
views/metabox/course-additional-data.php CHANGED
@@ -58,7 +58,9 @@ $material_includes = get_post_meta($course_id, '_tutor_course_material_includes'
58
  <?php
59
  foreach ($levels as $level_key => $level){
60
  ?>
61
- <label> <input type="radio" name="course_level" value="<?php echo $level_key; ?>" <?php checked($level_key, $course_level) ?> > <?php echo
 
 
62
  $level; ?> </label>
63
  <?php
64
  }
58
  <?php
59
  foreach ($levels as $level_key => $level){
60
  ?>
61
+ <label> <input type="radio" name="course_level" value="<?php echo $level_key; ?>" <?php $course_level ? checked($level_key,
62
+ $course_level) : $level_key === 'intermediate' ? checked(1, 1): ''; ?> > <?php
63
+ echo
64
  $level; ?> </label>
65
  <?php
66
  }
views/options/field-types/color.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $value = $this->get($field['field_key']);
3
+ if ( ! $value && isset($field['default'])){
4
+ $value = $field['default'];
5
+ }
6
+ ?>
7
+ <input type="text" class="tutor_colorpicker" name="tutor_option[<?php echo $field['field_key']; ?>]" value="<?php echo $value; ?>" >