Skip to content

Commit bfa14f0

Browse files
committed
Updates to plugins page and script.
1 parent 0b3600e commit bfa14f0

File tree

5 files changed

+100
-57
lines changed

5 files changed

+100
-57
lines changed

BlogEngine/BlogEngine.Core/BlogEngine.Core.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@
239239
<Compile Include="Services\Packaging\InstalledPackage.cs" />
240240
<Compile Include="Services\Packaging\Installer.cs" />
241241
<Compile Include="Services\Packaging\PackageFile.cs" />
242-
<Compile Include="Services\Packaging\PackagingSource.cs" />
243242
<Compile Include="Services\Packaging\Pager.cs" />
244243
<Compile Include="Helpers\Pager.cs" />
245244
<Compile Include="Services\Messaging\Ping\Manager.cs" />

BlogEngine/BlogEngine.Core/Services/Packaging/PackagingSource.cs

Lines changed: 0 additions & 21 deletions
This file was deleted.

BlogEngine/BlogEngine.NET/admin/app/controllers/custom.js

Lines changed: 65 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -65,22 +65,7 @@ angular.module('blogAdmin').controller('CustomController', ["$rootScope", "$scop
6565

6666
$scope.loadCustomFields = function (id) {
6767
$scope.editId = id;
68-
//$scope.extEditSrc = SiteVars.RelativeWebRoot + "admin/Extensions/Settings.aspx?ext=" + id + "&enb=False";
69-
//$scope.customFields = [];
70-
71-
//for (var i = 0, len = $scope.items.length; i < len; i++) {
72-
// if ($scope.items[i].Id === id) {
73-
// angular.copy($scope.items[i], $scope.package);
74-
75-
// if ($scope.package) {
76-
// $scope.removeEmptyReviews();
77-
78-
// if($scope.package.SettingsUrl){
79-
// $scope.extEditSrc = $scope.package.SettingsUrl.replace("~/", SiteVars.RelativeWebRoot);
80-
// }
81-
// }
82-
// }
83-
//}
68+
8469
dataService.getItems('/api/customfields', { filter: 'CustomType == "THEME" && ObjectId == "' + id + '"' })
8570
.success(function (data) {
8671
angular.copy(data, $scope.customFields);
@@ -198,13 +183,52 @@ angular.module('blogAdmin').controller('CustomController', ["$rootScope", "$scop
198183
});
199184
}
200185

186+
$scope.setPriority = function (upDown) {
187+
if (upDown == 'up') {
188+
$scope.package.Priority++;
189+
}
190+
else {
191+
if ($scope.package.Priority > 0) {
192+
$scope.package.Priority--;
193+
}
194+
}
195+
$scope.save();
196+
}
197+
198+
$scope.submitRating = function () {
199+
var author = $("#txtAuthor").val().length > 0 ? $("#txtAuthor").val() : $scope.author;
200+
var review = { "Name": author, "Rating": $scope.selectedRating, "Body": $("#txtReview").val() };
201+
202+
dataService.updateItem("/api/packages/rate/" + $scope.package.Extra.Id, review)
203+
.success(function (data) {
204+
//if (data != null) {
205+
// data = JSON.parse(data);
206+
//}
207+
if (data.length === 0) {
208+
toastr.success($rootScope.lbl.completed);
209+
}
210+
else {
211+
toastr.error(data);
212+
}
213+
$("#modal-info").modal("hide");
214+
})
215+
.error(function () {
216+
toastr.error($rootScope.lbl.failed);
217+
$("#modal-info").modal("hide");
218+
});
219+
}
220+
201221
$scope.checkStar = function (item, rating) {
202222
if (item === rating) {
203223
return true;
204224
}
205225
return false;
206226
}
207227

228+
$scope.setRating = function (rating) {
229+
$scope.selectedRating = rating;
230+
}
231+
208232
$scope.sortBy = function (ord) {
209233
$scope.sortingOrder = ord;
210234
$scope.reverse = true;
@@ -224,8 +248,6 @@ angular.module('blogAdmin').controller('CustomController', ["$rootScope", "$scop
224248
angular.copy($scope.items[i], $scope.package);
225249

226250
if ($scope.package) {
227-
//$scope.removeEmptyReviews();
228-
229251
if($scope.package.SettingsUrl){
230252
$scope.extEditSrc = $scope.package.SettingsUrl.replace("~/", SiteVars.RelativeWebRoot);
231253
}
@@ -241,8 +263,6 @@ angular.module('blogAdmin').controller('CustomController', ["$rootScope", "$scop
241263
angular.copy($scope.items[i], $scope.package);
242264

243265
if ($scope.package) {
244-
//$scope.removeEmptyReviews();
245-
246266
if($scope.package.SettingsUrl){
247267
$scope.extEditSrc = $scope.package.SettingsUrl.replace("~/", SiteVars.RelativeWebRoot);
248268
}
@@ -253,20 +273,36 @@ angular.module('blogAdmin').controller('CustomController', ["$rootScope", "$scop
253273
}
254274

255275
$scope.showPluginInfo = function (id) {
256-
for (var i = 0, len = $scope.items.length; i < len; i++) {
257-
if ($scope.items[i].Id === id) {
258-
angular.copy($scope.items[i], $scope.package);
276+
dataService.getItems('/api/packages/' + id)
277+
.success(function (data) {
278+
angular.copy(data, $scope.package);
279+
$scope.selectedRating = $scope.package.Rating;
259280

260-
if ($scope.package) {
261-
//$scope.removeEmptyReviews();
281+
$scope.extEditSrc = SiteVars.RelativeWebRoot + "admin/Extensions/Settings.aspx?ext=" + $scope.id + "&enb=False";
282+
if ($scope.package.SettingsUrl) {
283+
$scope.extEditSrc = $scope.package.SettingsUrl.replace("~/", SiteVars.RelativeWebRoot);
284+
}
285+
$scope.removeEmptyReviews();
286+
})
287+
.error(function () {
288+
toastr.error($rootScope.lbl.errorLoadingPackages);
289+
$scope.spin = false;
290+
});
262291

263-
if ($scope.package.SettingsUrl) {
264-
$scope.extEditSrc = $scope.package.SettingsUrl.replace("~/", SiteVars.RelativeWebRoot);
265-
}
292+
$("#modal-info").modal();
293+
}
294+
295+
$scope.removeEmptyReviews = function () {
296+
if ($scope.package.Extra != null && $scope.package.Extra.Reviews != null) {
297+
var reviews = [];
298+
for (var i = 0; i < $scope.package.Extra.Reviews.length; i++) {
299+
var review = $scope.package.Extra.Reviews[i];
300+
if (review.Body.length > 0) {
301+
reviews.push(review);
266302
}
267303
}
304+
$scope.package.Extra.Reviews = reviews;
268305
}
269-
$("#modal-info").modal();
270306
}
271307

272308
$scope.load();

BlogEngine/BlogEngine.NET/admin/themes/standard/sidebar.cshtml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
var displayName = "Anonymous";
66

77
var profile = AuthorProfile.GetProfile(name);
8-
if (profile != null && !string.IsNullOrEmpty(profile.PhotoUrl))
8+
if (profile != null)
99
{
10-
src = profile.PhotoUrl;
10+
if (!string.IsNullOrEmpty(profile.PhotoUrl))
11+
{
12+
src = profile.PhotoUrl;
13+
}
1114
displayName = profile.DisplayName;
1215
}
1316
}

BlogEngine/BlogEngine.NET/admin/views/custom/plugins.html

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,35 @@ <h4 class="modal-title">{{package.Title}}</h4>
5252
<img class="pkg-img" ng-src="{{package.IconUrl}}" alt="Package image" title="" />
5353
</a>
5454
</div>
55+
56+
<div ng-if="package.Extra != null">
57+
<div class="panel panel-default">
58+
<div class="panel-heading">
59+
<div class="panel-title">{{lbl.writeReview}}</div>
60+
</div>
61+
<div class="panel-body">
62+
<input class="form-control ltr-dir" style="margin-bottom: 10px" ng-model="author" id="txtAuthor" name="txtAuthor" focus-me="focusInput" type="text" placeholder="author">
63+
<textarea rows="3" maxlength="450" style="width: 100%; height: 68px; margin-bottom: 15px" class="form-control" id="txtReview" placeholder="{{lbl.typeHere}}"></textarea>
64+
<div class="text-right">
65+
<span class="star-rating">
66+
<input type="radio" name="rated" value="1" ng-checked="selectedRating == 1" ng-click="setRating(1)"><i></i>
67+
<input type="radio" name="rated" value="2" ng-checked="selectedRating == 2" ng-click="setRating(2)"><i></i>
68+
<input type="radio" name="rated" value="3" ng-checked="selectedRating == 3" ng-click="setRating(3)"><i></i>
69+
<input type="radio" name="rated" value="4" ng-checked="selectedRating == 4" ng-click="setRating(4)"><i></i>
70+
<input type="radio" name="rated" value="5" ng-checked="selectedRating == 5" ng-click="setRating(5)"><i></i>
71+
</span>
72+
<button data-ng-click="submitRating()" class="btn btn-success "><i class="fa fa-star"></i>Rate</button>
73+
</div>
74+
</div>
75+
<ul ng-if="package.Extra.Reviews != null" class="list-group">
76+
<li ng-repeat="review in package.Extra.Reviews" class="list-group-item">
77+
<span class="badge">{{review.Rating}}</span>
78+
<b>{{review.Name}}:</b> {{review.Body}}
79+
</li>
80+
</ul>
81+
</div>
82+
</div>
83+
5584
</div>
5685
</div>
5786
</div>
@@ -112,10 +141,7 @@ <h2 class="page-title pull-left">
112141
</a>
113142
</td>
114143
<td class="item-desc"><span class="text-ellipsis">{{item.Description}}</span></td>
115-
<td class="item-version">
116-
<span ng-if="item.OnlineVersion.length == 0">{{item.LocalVersion}}</span>
117-
<span ng-if="item.OnlineVersion.length > 0">{{item.OnlineVersion}}</span>
118-
</td>
144+
<td class="item-version"><span>{{item.LocalVersion}}</span></td>
119145
<td class="item-priority">{{item.Priority}}</td>
120146
<td class="item-state"><input type="checkbox" data-ng-model="item.Enabled" data-ng-disabled="true"></td>
121147
<td class="item-edit">

0 commit comments

Comments
 (0)