mirror of https://git.dotclear.org/dev/dotclear
Add touch capacity for drag'n'drop gestures on screen, addresses #1802
parent
4587e1f12a
commit
5ffbf4cf38
|
@ -30,6 +30,7 @@ dcPage::check('usage,contentadmin');
|
|||
<link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />
|
||||
<script type="text/javascript" src="js/jquery/jquery.js"></script>
|
||||
<script type="text/javascript" src="js/jquery/jquery-ui.custom.js"></script>
|
||||
<script type="text/javascript" src="js/jquery/jquery.ui.touch-punch.js"></script>
|
||||
<script type="text/javascript" src="js/jquery/jquery.pageTabs.js"></script>
|
||||
<script type="text/javascript" src="js/jquery/jquery.biscuit.js"></script>
|
||||
<script type="text/javascript" src="js/jquery/jquery.bgFade.js"></script>
|
||||
|
@ -84,13 +85,13 @@ dcPage::check('usage,contentadmin');
|
|||
<div id="content" class="clearfix">
|
||||
<div class="info">
|
||||
<p>Cette page vise à présenter les règles graphiques et conventions utilisées dans les pages de l'administration
|
||||
d'une installation Dotclear, à l'usage des contributeurs et développeurs d'extensions. Elle en est elle-même
|
||||
d'une installation Dotclear, à l'usage des contributeurs et développeurs d'extensions. Elle en est elle-même
|
||||
une illustration. L'observation de son code source peut donc servir de complément aux descriptions.</p>
|
||||
</div>
|
||||
|
||||
<h2>Typographie</h2>
|
||||
<h3 id="texte">Textes</h3>
|
||||
<p>La font-size de base est à 1.2rem (la valeur <code>1rem</code> correspond à 10px). Si vous utilisez l'unité <code>rem</code> pensez à faire précéder la déclaration par son équivalent
|
||||
<p>La font-size de base est à 1.2rem (la valeur <code>1rem</code> correspond à 10px). Si vous utilisez l'unité <code>rem</code> pensez à faire précéder la déclaration par son équivalent
|
||||
en pixels pour rester compatible avec Internet Explorer. L'interlignage courant est à 1.5.</p>
|
||||
<p>La liste suivante est de class <code>"nice"</code>. Elle est semblable aux listes ordinaires mais avec des puces carrées.</p>
|
||||
<ul class="nice">
|
||||
|
@ -141,7 +142,7 @@ dcPage::check('usage,contentadmin');
|
|||
<p><span class="step">5</span> Si vous souhaitez un autre alignement des boîtes entre elles vous pouvez ajouter les class :</p>
|
||||
<ul class="nice clear">
|
||||
<li><code>"txt-left"</code>,</li>
|
||||
<li><code>"txt-right"</code></li>
|
||||
<li><code>"txt-right"</code></li>
|
||||
<li>ou <code>"txt-center"</code></li>
|
||||
</ul>
|
||||
<p>à la class <code>"one-box"</code>.</p>
|
||||
|
@ -316,7 +317,7 @@ dcPage::check('usage,contentadmin');
|
|||
<h3 id="direct">Selecteur d'accès direct</h3>
|
||||
<p>Sur des pages longues et denses comme les pages about:config ou about:preferences, on peut utiliser un sélecteur pour faciliter l'accès direct aux sections.</p>
|
||||
<p class="anchor-nav">
|
||||
<label class="classic" for="lp_nav">Aller à : </label>
|
||||
<label class="classic" for="lp_nav">Aller à : </label>
|
||||
<select id="lp_nav" name="lp_nav">
|
||||
<option value="#l_accessibility">accessibility</option>
|
||||
<option value="#l_dashboard">dashboard</option>
|
||||
|
@ -336,30 +337,30 @@ dcPage::check('usage,contentadmin');
|
|||
<p class="nav_prevnext"><a title="Titre de l'élément précédente" href="post.php?id=4145">« Élément précédent</a> | <a title="Titre de l'élément suivant" href="#">Élément suivant »</a></p>
|
||||
|
||||
<h2>Tableaux</h2>
|
||||
<p>Il existe deux mises en forme type de tableaux selon que l'on cherche à faire un tableau ordinaire
|
||||
<p>Il existe deux mises en forme type de tableaux selon que l'on cherche à faire un tableau ordinaire
|
||||
ou un tableau dont on peut déplacer les lignes par glisser déposer (voir plus bas). Cependant certaines règles
|
||||
sont communes à tout les tableaux.</p>
|
||||
|
||||
<h3 id="communes">Règles communes</h3>
|
||||
<h4>Largeur du tableau</h4>
|
||||
<p>Sauf pour des tableaux particuliers (absents dans l'admin mais qui pourraient être nécessaires
|
||||
à un plugin,les tableaux occupent toute la largeur de la page. Afin que les tableaux soient consultables
|
||||
sur un mobile en navigant horizontalement, on englobe le tableau dans une <code>div class="table-outer"</code>,
|
||||
<p>Sauf pour des tableaux particuliers (absents dans l'admin mais qui pourraient être nécessaires
|
||||
à un plugin,les tableaux occupent toute la largeur de la page. Afin que les tableaux soient consultables
|
||||
sur un mobile en navigant horizontalement, on englobe le tableau dans une <code>div class="table-outer"</code>,
|
||||
qui servira de « conteneur ».</p>
|
||||
<h4>Accessibilité</h4>
|
||||
<p>Les éléments caption, th, scope sont nécessaires à l'accessibilité. Ne les oubliez pas ! ».
|
||||
On peut utiliser la <code>class="hidden"</code> sur l'élément <code>caption</code> (qui accueille
|
||||
<p>Les éléments caption, th, scope sont nécessaires à l'accessibilité. Ne les oubliez pas ! ».
|
||||
On peut utiliser la <code>class="hidden"</code> sur l'élément <code>caption</code> (qui accueille
|
||||
le titre du tableau) si vous ne souhaitez pas qu'il soit affiché sur la page.</p>
|
||||
<h4>Les classes</h4>
|
||||
<p>Des classes particulières peuvent être attribuées aux lignes :</p>
|
||||
<ul>
|
||||
<li><code>line</code> (systématique) : pour les traits horizontaux et le fond gris léger
|
||||
<li><code>line</code> (systématique) : pour les traits horizontaux et le fond gris léger
|
||||
au survol ;</li>
|
||||
<li><code>offline</code> : pour un noir estompé (gris quoi).</li>
|
||||
</ul>
|
||||
<p>Des classes particulières peuvent être appliquées aux cellules :</p>
|
||||
<ul>
|
||||
<li><code>nowrap</code> : pas de retour à la ligne dans la cellule, quelle que soit la
|
||||
<li><code>nowrap</code> : pas de retour à la ligne dans la cellule, quelle que soit la
|
||||
largeur de la page ;</li>
|
||||
<li><code>maximal</code> : la cellule prendra toute la largeur restante disponible ;</li>
|
||||
<li><code>count</code> : le contenu de la cellule sera aligné à droite avec un petit retrait.</li>
|
||||
|
@ -428,8 +429,8 @@ dcPage::check('usage,contentadmin');
|
|||
<td class="nowrap status"><img alt="Publié" title="Publié" src="images/check-on.png" /> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<h3>Tableau avec ordonnancement</h3>
|
||||
<p>Les tableaux permettant l'ordonnancement doivent offrir la possibilité d'effectuer le classement grâce à
|
||||
des inputs placés en début de ligne pour que le classement soit possible même lorsque cette fonctionnalité est
|
||||
|
@ -577,7 +578,7 @@ dcPage::check('usage,contentadmin');
|
|||
<div id="footer">
|
||||
<a href="http://dotclear.org/" title="Merci de manger des clafoutis."><img src="style/dc_logos/w-dotclear90.png" alt="Merci d'utiliser Dotclear 2.6-dev." /></a>
|
||||
</div><!-- /footer -->
|
||||
<!--
|
||||
<!--
|
||||
.
|
||||
,;:'`'::
|
||||
__||
|
||||
|
@ -587,4 +588,4 @@ dcPage::check('usage,contentadmin');
|
|||
-->
|
||||
</div><!-- /wrapper -->
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -45,7 +45,7 @@ if (!empty($_POST['mov']) && !empty($_POST['mov_cat'])) {
|
|||
$keys = array_keys($_POST['mov']);
|
||||
$cat_id = (int) $keys[0];
|
||||
$mov_cat = (int) $_POST['mov_cat'][$cat_id];
|
||||
|
||||
|
||||
$mov_cat = $mov_cat ? $mov_cat : null;
|
||||
if ($mov_cat !== null) {
|
||||
$c = $core->blog->getCategory($mov_cat);
|
||||
|
@ -106,6 +106,7 @@ if (!$core->auth->user_prefs->accessibility->nodragdrop
|
|||
&& $core->auth->check('categories',$core->blog->id)
|
||||
&& $rs->count()>1) {
|
||||
$starting_script .= dcPage::jsLoad('js/jquery/jquery-ui.custom.js');
|
||||
$starting_script .= dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js');
|
||||
$starting_script .= dcPage::jsLoad('js/jquery/jquery.mjs.nestedSortable.js');
|
||||
}
|
||||
$starting_script .= dcPage::jsLoad('js/_categories.js');
|
||||
|
@ -160,7 +161,7 @@ else
|
|||
echo '</li><li '.$attr.'>';
|
||||
}
|
||||
|
||||
echo
|
||||
echo
|
||||
'<p class="cat-title"><label class="classic" for="cat_'.$rs->cat_id.'"><a href="category.php?id='.$rs->cat_id.'">'.html::escapeHTML($rs->cat_title).'</a></label> </p>'.
|
||||
'<p class="cat-nb-posts">(<a href="posts.php?cat_id='.$rs->cat_id.'">'.
|
||||
sprintf(($rs->nb_post > 1 ? __('%d entries') : __('%d entry') ),$rs->nb_post).'</a>'.
|
||||
|
@ -172,17 +173,17 @@ else
|
|||
if ($rs->nb_total>0) {
|
||||
// remove current category
|
||||
echo
|
||||
'<label>'.__('Move entries to').'</label> '.
|
||||
'<label>'.__('Move entries to').'</label> '.
|
||||
form::combo(array('mov_cat['.$rs->cat_id.']', 'mov_cat_'.$rs->cat_id),array_filter($categories_combo, create_function('$cat', 'return $cat->value!=$GLOBALS[\'rs\']->cat_id;')),'','').
|
||||
' <input type="submit" class="reset" name="mov['.$rs->cat_id.']" value="'.__('OK').'"/>';
|
||||
|
||||
|
||||
$attr_disabled = ' disabled="disabled"';
|
||||
$input_class = 'disabled ';
|
||||
} else {
|
||||
$attr_disabled = '';
|
||||
$input_class = '';
|
||||
}
|
||||
echo
|
||||
echo
|
||||
'<input type="submit"'.$attr_disabled.' class="'.$input_class.'delete" name="delete['.$rs->cat_id.']" value="'.__('Delete category').'"/>'.
|
||||
'</p>';
|
||||
|
||||
|
|
|
@ -0,0 +1,160 @@
|
|||
/*!
|
||||
* jQuery UI Touch Punch 0.2.2
|
||||
*
|
||||
* Copyright 2011, Dave Furfero
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.widget.js
|
||||
* jquery.ui.mouse.js
|
||||
*/
|
||||
(function ($) {
|
||||
|
||||
// Detect touch support
|
||||
$.support.touch = 'ontouchend' in document;
|
||||
|
||||
// Ignore browsers without touch support
|
||||
if (!$.support.touch) {
|
||||
return;
|
||||
}
|
||||
|
||||
var mouseProto = $.ui.mouse.prototype,
|
||||
_mouseInit = mouseProto._mouseInit,
|
||||
touchHandled;
|
||||
|
||||
/**
|
||||
* Simulate a mouse event based on a corresponding touch event
|
||||
* @param {Object} event A touch event
|
||||
* @param {String} simulatedType The corresponding mouse event
|
||||
*/
|
||||
function simulateMouseEvent (event, simulatedType) {
|
||||
|
||||
// Ignore multi-touch events
|
||||
if (event.originalEvent.touches.length > 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var touch = event.originalEvent.changedTouches[0],
|
||||
simulatedEvent = document.createEvent('MouseEvents');
|
||||
|
||||
// Initialize the simulated mouse event using the touch event's coordinates
|
||||
simulatedEvent.initMouseEvent(
|
||||
simulatedType, // type
|
||||
true, // bubbles
|
||||
true, // cancelable
|
||||
window, // view
|
||||
1, // detail
|
||||
touch.screenX, // screenX
|
||||
touch.screenY, // screenY
|
||||
touch.clientX, // clientX
|
||||
touch.clientY, // clientY
|
||||
false, // ctrlKey
|
||||
false, // altKey
|
||||
false, // shiftKey
|
||||
false, // metaKey
|
||||
0, // button
|
||||
null // relatedTarget
|
||||
);
|
||||
|
||||
// Dispatch the simulated event to the target element
|
||||
event.target.dispatchEvent(simulatedEvent);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the jQuery UI widget's touchstart events
|
||||
* @param {Object} event The widget element's touchstart event
|
||||
*/
|
||||
mouseProto._touchStart = function (event) {
|
||||
|
||||
var self = this;
|
||||
|
||||
// Ignore the event if another widget is already being handled
|
||||
if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Set the flag to prevent other widgets from inheriting the touch event
|
||||
touchHandled = true;
|
||||
|
||||
// Track movement to determine if interaction was a click
|
||||
self._touchMoved = false;
|
||||
|
||||
// Simulate the mouseover event
|
||||
simulateMouseEvent(event, 'mouseover');
|
||||
|
||||
// Simulate the mousemove event
|
||||
simulateMouseEvent(event, 'mousemove');
|
||||
|
||||
// Simulate the mousedown event
|
||||
simulateMouseEvent(event, 'mousedown');
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle the jQuery UI widget's touchmove events
|
||||
* @param {Object} event The document's touchmove event
|
||||
*/
|
||||
mouseProto._touchMove = function (event) {
|
||||
|
||||
// Ignore event if not handled
|
||||
if (!touchHandled) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Interaction was not a click
|
||||
this._touchMoved = true;
|
||||
|
||||
// Simulate the mousemove event
|
||||
simulateMouseEvent(event, 'mousemove');
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle the jQuery UI widget's touchend events
|
||||
* @param {Object} event The document's touchend event
|
||||
*/
|
||||
mouseProto._touchEnd = function (event) {
|
||||
|
||||
// Ignore event if not handled
|
||||
if (!touchHandled) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Simulate the mouseup event
|
||||
simulateMouseEvent(event, 'mouseup');
|
||||
|
||||
// Simulate the mouseout event
|
||||
simulateMouseEvent(event, 'mouseout');
|
||||
|
||||
// If the touch interaction did not move, it should trigger a click
|
||||
if (!this._touchMoved) {
|
||||
|
||||
// Simulate the click event
|
||||
simulateMouseEvent(event, 'click');
|
||||
}
|
||||
|
||||
// Unset the flag to allow other widgets to inherit the touch event
|
||||
touchHandled = false;
|
||||
};
|
||||
|
||||
/**
|
||||
* A duck punch of the $.ui.mouse _mouseInit method to support touch events.
|
||||
* This method extends the widget with bound touch event handlers that
|
||||
* translate touch events to mouse events and pass them to the widget's
|
||||
* original mouse event handling methods.
|
||||
*/
|
||||
mouseProto._mouseInit = function () {
|
||||
|
||||
var self = this;
|
||||
|
||||
// Delegate the touch handlers to the widget's element
|
||||
self.element
|
||||
.bind('touchstart', $.proxy(self, '_touchStart'))
|
||||
.bind('touchmove', $.proxy(self, '_touchMove'))
|
||||
.bind('touchend', $.proxy(self, '_touchEnd'));
|
||||
|
||||
// Call the original $.ui.mouse init method
|
||||
_mouseInit.call(self);
|
||||
};
|
||||
|
||||
})(jQuery);
|
|
@ -46,8 +46,8 @@ $user_ui_media_by_page = ($core->auth->user_prefs->interface->media_by_page ? $c
|
|||
|
||||
$default_tab = !empty($_GET['tab']) ? html::escapeHTML($_GET['tab']) : 'user-profile';
|
||||
|
||||
if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) ||
|
||||
!empty($_GET['replaced']) || !empty($_POST['appendaction']) || !empty($_POST['removeaction']) ||
|
||||
if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) ||
|
||||
!empty($_GET['replaced']) || !empty($_POST['appendaction']) || !empty($_POST['removeaction']) ||
|
||||
!empty($_GET['db-updated'])) {
|
||||
$default_tab = 'user-favorites';
|
||||
} elseif (!empty($_GET['updated'])) {
|
||||
|
@ -83,13 +83,13 @@ if (isset($_POST['user_name']))
|
|||
try
|
||||
{
|
||||
$pwd_check = !empty($_POST['cur_pwd']) && $core->auth->checkPassword(crypt::hmac(DC_MASTER_KEY,$_POST['cur_pwd']));
|
||||
|
||||
|
||||
if ($core->auth->allowPassChange() && !$pwd_check && $user_email != $_POST['user_email']) {
|
||||
throw new Exception(__('If you want to change your email or password you must provide your current password.'));
|
||||
}
|
||||
|
||||
|
||||
$cur = $core->con->openCursor($core->prefix.'user');
|
||||
|
||||
|
||||
$cur->user_name = $user_name = $_POST['user_name'];
|
||||
$cur->user_firstname = $user_firstname = $_POST['user_firstname'];
|
||||
$cur->user_displayname = $user_displayname = $_POST['user_displayname'];
|
||||
|
@ -99,29 +99,29 @@ if (isset($_POST['user_name']))
|
|||
$cur->user_tz = $user_tz = $_POST['user_tz'];
|
||||
|
||||
$cur->user_options = new ArrayObject($user_options);
|
||||
|
||||
|
||||
if ($core->auth->allowPassChange() && !empty($_POST['new_pwd']))
|
||||
{
|
||||
if (!$pwd_check) {
|
||||
throw new Exception(__('If you want to change your email or password you must provide your current password.'));
|
||||
}
|
||||
|
||||
|
||||
if ($_POST['new_pwd'] != $_POST['new_pwd_c']) {
|
||||
throw new Exception(__("Passwords don't match"));
|
||||
}
|
||||
|
||||
|
||||
$cur->user_pwd = $_POST['new_pwd'];
|
||||
}
|
||||
|
||||
|
||||
# --BEHAVIOR-- adminBeforeUserUpdate
|
||||
$core->callBehavior('adminBeforeUserProfileUpdate',$cur,$core->auth->userID());
|
||||
|
||||
|
||||
# Udate user
|
||||
$core->updUser($core->auth->userID(),$cur);
|
||||
|
||||
|
||||
# --BEHAVIOR-- adminAfterUserUpdate
|
||||
$core->callBehavior('adminAfterUserProfileUpdate',$cur,$core->auth->userID());
|
||||
|
||||
|
||||
dcPage::addSuccessNotice(__('Personal information has been successfully updated.'));
|
||||
|
||||
http::redirect('preferences.php');
|
||||
|
@ -133,12 +133,12 @@ if (isset($_POST['user_name']))
|
|||
}
|
||||
|
||||
# Update user options
|
||||
if (isset($_POST['user_post_format']))
|
||||
if (isset($_POST['user_post_format']))
|
||||
{
|
||||
try
|
||||
{
|
||||
$cur = $core->con->openCursor($core->prefix.'user');
|
||||
|
||||
|
||||
$cur->user_name = $user_name;
|
||||
$cur->user_firstname = $user_firstname;
|
||||
$cur->user_displayname = $user_displayname;
|
||||
|
@ -148,19 +148,19 @@ if (isset($_POST['user_post_format']))
|
|||
$cur->user_tz = $user_tz;
|
||||
|
||||
$cur->user_post_status = $user_post_status = $_POST['user_post_status'];
|
||||
|
||||
|
||||
$user_options['edit_size'] = (integer) $_POST['user_edit_size'];
|
||||
if ($user_options['edit_size'] < 1) {
|
||||
$user_options['edit_size'] = 10;
|
||||
}
|
||||
$user_options['post_format'] = $_POST['user_post_format'];
|
||||
$user_options['enable_wysiwyg'] = !empty($_POST['user_wysiwyg']);
|
||||
|
||||
|
||||
$cur->user_options = new ArrayObject($user_options);
|
||||
|
||||
|
||||
# --BEHAVIOR-- adminBeforeUserOptionsUpdate
|
||||
$core->callBehavior('adminBeforeUserOptionsUpdate',$cur,$core->auth->userID());
|
||||
|
||||
|
||||
# Update user prefs
|
||||
$core->auth->user_prefs->accessibility->put('nodragdrop',!empty($_POST['user_acc_nodragdrop']),'boolean');
|
||||
$core->auth->user_prefs->interface->put('enhanceduploader',!empty($_POST['user_ui_enhanceduploader']),'boolean');
|
||||
|
@ -169,13 +169,13 @@ if (isset($_POST['user_post_format']))
|
|||
$core->auth->user_prefs->interface->put('hide_std_favicon',!empty($_POST['user_ui_hide_std_favicon']),'boolean',null,true,true);
|
||||
}
|
||||
$core->auth->user_prefs->interface->put('media_by_page',(integer)$_POST['user_ui_media_by_page'],'integer');
|
||||
|
||||
|
||||
# Udate user
|
||||
$core->updUser($core->auth->userID(),$cur);
|
||||
|
||||
|
||||
# --BEHAVIOR-- adminAfterUserOptionsUpdate
|
||||
$core->callBehavior('adminAfterUserOptionsUpdate',$cur,$core->auth->userID());
|
||||
|
||||
|
||||
dcPage::addSuccessNotice(__('Personal options has been successfully updated.'));
|
||||
http::redirect('preferences.php#user-options');
|
||||
}
|
||||
|
@ -191,17 +191,17 @@ if (isset($_POST['db-options'])) {
|
|||
{
|
||||
# --BEHAVIOR-- adminBeforeUserOptionsUpdate
|
||||
$core->callBehavior('adminBeforeDashboardOptionsUpdate',$core->auth->userID());
|
||||
|
||||
|
||||
# Update user prefs
|
||||
$core->auth->user_prefs->dashboard->put('doclinks',!empty($_POST['user_dm_doclinks']),'boolean');
|
||||
$core->auth->user_prefs->dashboard->put('dcnews',!empty($_POST['user_dm_dcnews']),'boolean');
|
||||
$core->auth->user_prefs->dashboard->put('quickentry',!empty($_POST['user_dm_quickentry']),'boolean');
|
||||
$core->auth->user_prefs->interface->put('iconset',(!empty($_POST['user_ui_iconset']) ? $_POST['user_ui_iconset'] : ''));
|
||||
$core->auth->user_prefs->interface->put('nofavmenu',empty($_POST['user_ui_nofavmenu']),'boolean');
|
||||
|
||||
|
||||
# --BEHAVIOR-- adminAfterUserOptionsUpdate
|
||||
$core->callBehavior('adminAfterDashboardOptionsUpdate',$core->auth->userID());
|
||||
|
||||
|
||||
dcPage::addSuccessNotice(__('Dashboard options has been successfully updated.'));
|
||||
http::redirect('preferences.php#user-favorites');
|
||||
}
|
||||
|
@ -212,7 +212,7 @@ if (isset($_POST['db-options'])) {
|
|||
}
|
||||
|
||||
# Add selected favorites
|
||||
if (!empty($_POST['appendaction']))
|
||||
if (!empty($_POST['appendaction']))
|
||||
{
|
||||
try {
|
||||
if (empty($_POST['append'])) {
|
||||
|
@ -279,7 +279,7 @@ if (!empty($_POST['saveorder']) && !empty($order))
|
|||
if (!$core->favs->exists($v)) {
|
||||
unset($order[$k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$core->favs->setFavoriteIDs($order,false);
|
||||
if (!$core->error->flag()) {
|
||||
dcPage::addSuccessNotice(__('Favorites have been successfully updated.'));
|
||||
|
@ -304,6 +304,7 @@ dcPage::open($page_title,
|
|||
dcPage::jsLoad('js/_preferences.js').
|
||||
($user_acc_nodragdrop ? '' : dcPage::jsLoad('js/_preferences-dragdrop.js')).
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.pwstrength.js').
|
||||
'<script type="text/javascript">'."\n".
|
||||
"//<![CDATA[\n".
|
||||
|
@ -319,7 +320,7 @@ dcPage::open($page_title,
|
|||
"</script>\n".
|
||||
dcPage::jsPageTabs($default_tab).
|
||||
dcPage::jsConfirmClose('user-form').
|
||||
|
||||
|
||||
# --BEHAVIOR-- adminPreferencesHeaders
|
||||
$core->callBehavior('adminPreferencesHeaders'),
|
||||
|
||||
|
@ -385,7 +386,7 @@ if ($core->auth->allowPassChange())
|
|||
{
|
||||
echo
|
||||
'<h4 class="vertical-separator pretty-title">'.__('Change my password').'</h4>'.
|
||||
|
||||
|
||||
'<div class="pw-table">'.
|
||||
'<p class="pw-cell"><label for="new_pwd">'.__('New password:').'</label>'.
|
||||
form::password('new_pwd',20,255,'','','',false,' data-indicator="pwindicator" ').'</p>'.
|
||||
|
@ -394,10 +395,10 @@ if ($core->auth->allowPassChange())
|
|||
' <p class="label no-margin"></p>'.
|
||||
'</div>'.
|
||||
'</div>'.
|
||||
|
||||
|
||||
'<p><label for="new_pwd_c">'.__('Confirm new password:').'</label>'.
|
||||
form::password('new_pwd_c',20,255).'</p>'.
|
||||
|
||||
|
||||
'<p><label for="cur_pwd">'.__('Your current password:').'</label>'.
|
||||
form::password('cur_pwd',20,255).'</p>'.
|
||||
'<p class="form-note warn">'.
|
||||
|
@ -588,7 +589,7 @@ form::checkbox('user_ui_nofavmenu',1,!$user_ui_nofavmenu).' '.
|
|||
__('Display favorites at the top of the menu').'</label></p></div>';
|
||||
|
||||
if (count($iconsets_combo) > 1) {
|
||||
echo
|
||||
echo
|
||||
'<div class="fieldset">'.
|
||||
'<h4>'.__('Dashboard icons').'</h4>'.
|
||||
'<p><label for="user_ui_iconset" class="classic">'.__('Iconset:').'</label> '.
|
||||
|
|
|
@ -116,6 +116,7 @@ catch (Exception $e)
|
|||
if (!$core->auth->user_prefs->accessibility->nodragdrop) {
|
||||
echo
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
|
||||
dcPage::jsLoad('index.php?pf=antispam/antispam.js');
|
||||
}
|
||||
?>
|
||||
|
@ -260,4 +261,4 @@ else
|
|||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -26,7 +26,7 @@ $cat_title = '';
|
|||
if (!empty($_POST['import_links']) && !empty($_FILES['links_file']))
|
||||
{
|
||||
$default_tab = 'import-links';
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
files::uploadStatus($_FILES['links_file']);
|
||||
|
@ -34,7 +34,7 @@ if (!empty($_POST['import_links']) && !empty($_FILES['links_file']))
|
|||
if (!move_uploaded_file($_FILES['links_file']['tmp_name'],$ifile)) {
|
||||
throw new Exception(__('Unable to move uploaded file.'));
|
||||
}
|
||||
|
||||
|
||||
require_once dirname(__FILE__).'/class.dc.importblogroll.php';
|
||||
try {
|
||||
$imported = dcImportBlogroll::loadFile($ifile);
|
||||
|
@ -43,8 +43,8 @@ if (!empty($_POST['import_links']) && !empty($_FILES['links_file']))
|
|||
@unlink($ifile);
|
||||
throw $e;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (empty($imported)) {
|
||||
unset($imported);
|
||||
throw new Exception(__('Nothing to import'));
|
||||
|
@ -68,14 +68,14 @@ if (!empty($_POST['import_links_do'])) {
|
|||
$default_tab = 'import-links';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dcPage::addSuccessNotice(__('links have been successfully imported.'));
|
||||
http::redirect($p_url);
|
||||
http::redirect($p_url);
|
||||
}
|
||||
|
||||
if (!empty($_POST['cancel_import'])) {
|
||||
$core->error->add(__('Import operation cancelled.'));
|
||||
$default_tab = 'import-links';
|
||||
$default_tab = 'import-links';
|
||||
}
|
||||
|
||||
# Add link
|
||||
|
@ -85,7 +85,7 @@ if (!empty($_POST['add_link']))
|
|||
$link_href = $_POST['link_href'];
|
||||
$link_desc = $_POST['link_desc'];
|
||||
$link_lang = $_POST['link_lang'];
|
||||
|
||||
|
||||
try {
|
||||
$blogroll->addLink($link_title,$link_href,$link_desc,$link_lang);
|
||||
|
||||
|
@ -101,7 +101,7 @@ if (!empty($_POST['add_link']))
|
|||
if (!empty($_POST['add_cat']))
|
||||
{
|
||||
$cat_title = $_POST['cat_title'];
|
||||
|
||||
|
||||
try {
|
||||
$blogroll->addCategory($cat_title);
|
||||
dcPage::addSuccessNotice(__('category has been successfully created.'));
|
||||
|
@ -123,7 +123,7 @@ if (!empty($_POST['removeaction']) && !empty($_POST['remove'])) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!$core->error->flag()) {
|
||||
dcPage::addSuccessNotice(__('Items have been successfully removed.'));
|
||||
http::redirect($p_url);
|
||||
|
@ -144,14 +144,14 @@ if (!empty($_POST['saveorder']) && !empty($order))
|
|||
{
|
||||
foreach ($order as $pos => $l) {
|
||||
$pos = ((integer) $pos)+1;
|
||||
|
||||
|
||||
try {
|
||||
$blogroll->updateOrder($l,$pos);
|
||||
} catch (Exception $e) {
|
||||
$core->error->add($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!$core->error->flag()) {
|
||||
dcPage::addSuccessNotice(__('Items order has been successfully updated'));
|
||||
http::redirect($p_url);
|
||||
|
@ -171,11 +171,12 @@ try {
|
|||
<head>
|
||||
<title><?php echo __('Blogroll'); ?></title>
|
||||
<?php echo dcPage::jsConfirmClose('links-form','add-link-form','add-category-form'); ?>
|
||||
<?php
|
||||
<?php
|
||||
$core->auth->user_prefs->addWorkspace('accessibility');
|
||||
if (!$core->auth->user_prefs->accessibility->nodragdrop) {
|
||||
echo
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
|
||||
dcPage::jsLoad('index.php?pf=blogroll/blogroll.js');
|
||||
}
|
||||
?>
|
||||
|
@ -212,13 +213,13 @@ try {
|
|||
while ($rs->fetch())
|
||||
{
|
||||
$position = (string) $rs->index()+1;
|
||||
|
||||
|
||||
echo
|
||||
'<tr class="line" id="l_'.$rs->link_id.'">'.
|
||||
'<td class="handle minimal">'.form::field(array('order['.$rs->link_id.']'),2,5,$position,'position','',false,'title="'.__('position').'"').'</td>'.
|
||||
'<td class="minimal">'.form::checkbox(array('remove[]'),$rs->link_id,'','','',false,'title="'.__('select this link').'"').'</td>';
|
||||
|
||||
|
||||
|
||||
|
||||
if ($rs->is_cat)
|
||||
{
|
||||
echo
|
||||
|
@ -234,7 +235,7 @@ while ($rs->fetch())
|
|||
'<td>'.html::escapeHTML($rs->link_href).'</td>'.
|
||||
'<td>'.html::escapeHTML($rs->link_lang).'</td>';
|
||||
}
|
||||
|
||||
|
||||
echo '</tr>';
|
||||
}
|
||||
?>
|
||||
|
@ -244,14 +245,14 @@ while ($rs->fetch())
|
|||
<div class="two-cols">
|
||||
<p class="col">
|
||||
<?php
|
||||
echo
|
||||
echo
|
||||
form::hidden('links_order','').
|
||||
form::hidden(array('p'),'blogroll').
|
||||
$core->formNonce();
|
||||
?>
|
||||
<input type="submit" name="saveorder" value="<?php echo __('Save order'); ?>" /></p>
|
||||
<p class="col right"><input type="submit" class="delete" name="removeaction"
|
||||
value="<?php echo __('Delete selected links'); ?>"
|
||||
value="<?php echo __('Delete selected links'); ?>"
|
||||
onclick="return window.confirm('
|
||||
<?php echo html::escapeJS(__('Are you sure you want to delete selected links?')); ?>');" /></p>
|
||||
</div>
|
||||
|
@ -329,14 +330,14 @@ else {
|
|||
'<th colspan="2">'.__('Title').'</th>'.
|
||||
'<th>'.__('Description').'</th>'.
|
||||
'</tr>';
|
||||
|
||||
|
||||
$i = 0;
|
||||
foreach ($imported as $entry) {
|
||||
$url = html::escapeHTML($entry->link);
|
||||
$title = html::escapeHTML($entry->title);
|
||||
$desc = html::escapeHTML($entry->desc);
|
||||
|
||||
echo
|
||||
|
||||
echo
|
||||
'<tr><td>'.form::checkbox(array('entries[]'),$i,'','','').'</td>'.
|
||||
'<td nowrap><a href="'.$url.'">'.$title.'</a>'.
|
||||
'<input type="hidden" name="url['.$i.']" value="'.$url.'" />'.
|
||||
|
@ -344,14 +345,14 @@ else {
|
|||
'</td>'.
|
||||
'<td>'.$desc.
|
||||
'<input type="hidden" name="desc['.$i.']" value="'.$desc.'" />'.
|
||||
'</td></tr>'."\n";
|
||||
'</td></tr>'."\n";
|
||||
$i++;
|
||||
}
|
||||
echo
|
||||
'</table>'.
|
||||
'<div class="two-cols">'.
|
||||
'<p class="col checkboxes-helpers"></p>'.
|
||||
|
||||
|
||||
'<p class="col right">'.
|
||||
form::hidden(array('p'),'blogroll').
|
||||
$core->formNonce().
|
||||
|
@ -368,4 +369,4 @@ dcPage::helpBlock('blogroll');
|
|||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -54,7 +54,9 @@ $core->callBehavior('adminPagesActionsCombo',array(&$combo_action));
|
|||
<head>
|
||||
<title><?php echo __('Pages'); ?></title>
|
||||
<?php
|
||||
echo dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
echo
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
|
||||
dcPage::jsLoad('index.php?pf=pages/list.js').
|
||||
'<script type="text/javascript">'.
|
||||
"\n".'//<![CDATA['."\n".
|
||||
|
@ -88,12 +90,12 @@ if (!$core->error->flag())
|
|||
# Show pages
|
||||
$post_list->display($page,$nb_per_page,
|
||||
'<form action="plugin.php" method="post" id="form-entries">'.
|
||||
|
||||
|
||||
'%s'.
|
||||
|
||||
|
||||
'<div class="two-cols">'.
|
||||
'<p class="col checkboxes-helpers"></p>'.
|
||||
|
||||
|
||||
'<p class="col right"><label for="action" class="classic">'.__('Selected pages action:').'</label> '.
|
||||
form::combo('action',$pages_actions_page->getCombo()).
|
||||
'<input type="submit" value="'.__('ok').'" /></p>'.
|
||||
|
@ -115,4 +117,4 @@ dcPage::helpBlock('pages');
|
|||
</html>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
|
|
@ -203,7 +203,7 @@ if ($step) {
|
|||
case 4:
|
||||
// Fourth step, menu item to be added
|
||||
try {
|
||||
if (($item_label != '') && ($item_url != ''))
|
||||
if (($item_label != '') && ($item_url != ''))
|
||||
{
|
||||
// Add new item menu in menu array
|
||||
$menu[] = array(
|
||||
|
@ -214,7 +214,7 @@ if ($step) {
|
|||
// Save menu in blog settings
|
||||
$core->blog->settings->system->put('simpleMenu',serialize($menu));
|
||||
$core->blog->triggerBlog();
|
||||
|
||||
|
||||
// All done successfully, return to menu items list
|
||||
dcPage::addSuccessNotice(__('Menu item has been successfully added.'));
|
||||
http::redirect($p_url);
|
||||
|
@ -228,7 +228,7 @@ if ($step) {
|
|||
break;
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
# Remove selected menu items
|
||||
if (!empty($_POST['removeaction']))
|
||||
{
|
||||
|
@ -250,7 +250,7 @@ if ($step) {
|
|||
// Save menu in blog settings
|
||||
$core->blog->settings->system->put('simpleMenu',serialize($menu));
|
||||
$core->blog->triggerBlog();
|
||||
|
||||
|
||||
// All done successfully, return to menu items list
|
||||
dcPage::addSuccessNotice(__('Menu items have been successfully removed.'));
|
||||
http::redirect($p_url);
|
||||
|
@ -294,7 +294,7 @@ if ($step) {
|
|||
$core->error->add($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Order menu items
|
||||
$order = array();
|
||||
if (empty($_POST['im_order']) && !empty($_POST['order'])) {
|
||||
|
@ -327,12 +327,12 @@ if ($step) {
|
|||
// All done successfully, return to menu items list
|
||||
dcPage::addSuccessNotice(__('Menu items have been successfully updated.'));
|
||||
http::redirect($p_url);
|
||||
}
|
||||
}
|
||||
catch (Exception $e) {
|
||||
$core->error->add($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
# Display
|
||||
|
@ -341,11 +341,12 @@ if ($step) {
|
|||
<html>
|
||||
<head>
|
||||
<title><?php echo $page_title; ?></title>
|
||||
<?php
|
||||
<?php
|
||||
$core->auth->user_prefs->addWorkspace('accessibility');
|
||||
if (!$core->auth->user_prefs->accessibility->nodragdrop) {
|
||||
echo
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
|
||||
dcPage::jsLoad('index.php?pf=simpleMenu/simplemenu.js');
|
||||
}
|
||||
?>
|
||||
|
@ -473,7 +474,7 @@ if (count($menu)) {
|
|||
echo '<form id="menuitems" action="'.$p_url.'" method="post">';
|
||||
}
|
||||
// Entête table
|
||||
echo
|
||||
echo
|
||||
'<div class="table-outer">'.
|
||||
'<table class="dragable">'.
|
||||
'<caption>'.__('Menu items list').'</caption>'.
|
||||
|
@ -530,4 +531,4 @@ dcPage::helpBlock('simpleMenu');
|
|||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -52,14 +52,14 @@ if (!empty($_POST['append']) && is_array($_POST['addw']))
|
|||
$addw[$k] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Append 1 widget
|
||||
$wid = false;
|
||||
if( gettype($_POST['append']) == 'array' && count($_POST['append']) == 1 ) {
|
||||
$wid = array_keys($_POST['append']);
|
||||
$wid = $wid[0];
|
||||
}
|
||||
|
||||
|
||||
# Append widgets
|
||||
if (!empty($addw))
|
||||
{
|
||||
|
@ -72,7 +72,7 @@ if (!empty($_POST['append']) && is_array($_POST['addw']))
|
|||
if (!($widgets_custom instanceof dcWidgets)) {
|
||||
$widgets_custom = new dcWidgets();
|
||||
}
|
||||
|
||||
|
||||
foreach ($addw as $k => $v)
|
||||
{
|
||||
if( !$wid || $wid == $k )
|
||||
|
@ -90,7 +90,7 @@ if (!empty($_POST['append']) && is_array($_POST['addw']))
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
$core->blog->settings->addNamespace('widgets');
|
||||
$core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store());
|
||||
|
@ -150,7 +150,7 @@ if (!empty($_POST['wup']) || $removing || $move )
|
|||
if (!isset($_POST['w']) || !is_array($_POST['w'])) {
|
||||
$_POST['w'] = array();
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
# Removing mark as _rem widgets
|
||||
|
@ -162,7 +162,7 @@ if (!empty($_POST['wup']) || $removing || $move )
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!isset($_POST['w']['nav'])) {
|
||||
$_POST['w']['nav'] = array();
|
||||
}
|
||||
|
@ -172,17 +172,17 @@ if (!empty($_POST['wup']) || $removing || $move )
|
|||
if (!isset($_POST['w']['custom'])) {
|
||||
$_POST['w']['custom'] = array();
|
||||
}
|
||||
|
||||
|
||||
$widgets_nav = dcWidgets::loadArray($_POST['w']['nav'],$__widgets);
|
||||
$widgets_extra = dcWidgets::loadArray($_POST['w']['extra'],$__widgets);
|
||||
$widgets_custom = dcWidgets::loadArray($_POST['w']['custom'],$__widgets);
|
||||
|
||||
|
||||
$core->blog->settings->addNamespace('widgets');
|
||||
$core->blog->settings->widgets->put('widgets_nav',$widgets_nav->store());
|
||||
$core->blog->settings->widgets->put('widgets_extra',$widgets_extra->store());
|
||||
$core->blog->settings->widgets->put('widgets_custom',$widgets_custom->store());
|
||||
$core->blog->triggerBlog();
|
||||
|
||||
|
||||
http::redirect($p_url);
|
||||
}
|
||||
catch (Exception $e)
|
||||
|
@ -199,7 +199,7 @@ elseif (!empty($_POST['wreset']))
|
|||
$core->blog->settings->widgets->put('widgets_extra','');
|
||||
$core->blog->settings->widgets->put('widgets_custom','');
|
||||
$core->blog->triggerBlog();
|
||||
|
||||
|
||||
http::redirect($p_url);
|
||||
}
|
||||
catch (Exception $e)
|
||||
|
@ -217,10 +217,11 @@ elseif (!empty($_POST['wreset']))
|
|||
<?php
|
||||
echo
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
|
||||
dcPage::jsLoad('index.php?pf=widgets/widgets.js');
|
||||
?>
|
||||
<?php
|
||||
$core->auth->user_prefs->addWorkspace('accessibility');
|
||||
<?php
|
||||
$core->auth->user_prefs->addWorkspace('accessibility');
|
||||
$user_dm_nodragdrop = $core->auth->user_prefs->accessibility->nodragdrop;
|
||||
?>
|
||||
<?php if (!$user_dm_nodragdrop) : ?>
|
||||
|
@ -324,7 +325,7 @@ foreach ($__widgets->elements() as $w)
|
|||
__('Widget ID:').' <strong>'.html::escapeHTML($w->id()).'</strong>)'.
|
||||
($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : '').'</dt>'.
|
||||
'<dd>';
|
||||
|
||||
|
||||
$w_settings = $w->settings();
|
||||
if (empty($w_settings))
|
||||
{
|
||||
|
@ -349,7 +350,7 @@ foreach ($__widgets->elements() as $w)
|
|||
$s_type = __('string');
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
$widget_elements->content .=
|
||||
'<li>'.
|
||||
__('Setting name:').' <strong>'.html::escapeHTML($n).'</strong>'.
|
||||
|
@ -367,24 +368,24 @@ dcPage::helpBlock($widget_elements);
|
|||
function sidebarWidgets($id,$title,$widgets,$pr,$default_widgets,&$j)
|
||||
{
|
||||
$res = '<h3>'.$title.'</h3>';
|
||||
|
||||
|
||||
if (!($widgets instanceof dcWidgets))
|
||||
{
|
||||
$widgets = $default_widgets;
|
||||
}
|
||||
|
||||
|
||||
$res .= '<ul id="'.$id.'" class="connected">';
|
||||
|
||||
$res .= '<li class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget for now.').'</li>';
|
||||
|
||||
|
||||
$res .= '<li class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget for now.').'</li>';
|
||||
|
||||
$i = 0;
|
||||
foreach ($widgets->elements() as $w)
|
||||
{
|
||||
$upDisabled = $i == 0 ? '" disabled="" src="images/disabled_' : '" src="images/';
|
||||
$downDisabled = $i == count($widgets->elements())-1 ? '" disabled="" src="images/disabled_' : '" src="images/';
|
||||
|
||||
|
||||
$iname = 'w['.$pr.']['.$i.']';
|
||||
|
||||
|
||||
$res .=
|
||||
'<li>'.form::hidden(array($iname.'[id]'),html::escapeHTML($w->id())).
|
||||
'<p class="widget-name">'.form::field(array($iname.'[order]'),2,3,(string) $i,'hidden','',0,'title="'.__('order').'"').
|
||||
|
@ -398,18 +399,18 @@ function sidebarWidgets($id,$title,$widgets,$pr,$default_widgets,&$j)
|
|||
'<br class="clear"/></p>'.
|
||||
'<div class="widgetSettings hidden-if-drag">'.$w->formSettings($iname,$j).'</div>'.
|
||||
'</li>';
|
||||
|
||||
|
||||
$i++;
|
||||
$j++;
|
||||
}
|
||||
|
||||
|
||||
$res .= '</ul>';
|
||||
|
||||
|
||||
$res .= '<ul class="sortable-delete"'.($i > 0 ? '':' style="display: none;"').'><li class="sortable-delete-placeholder">'.
|
||||
__('Drag widgets here to remove.').'</li></ul>';
|
||||
|
||||
|
||||
return $res;
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,8 @@ class tplDuctileThemeAdmin
|
|||
$core->auth->user_prefs->addWorkspace('accessibility');
|
||||
if (!$core->auth->user_prefs->accessibility->nodragdrop) {
|
||||
echo
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js');
|
||||
dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
|
||||
dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js');
|
||||
echo <<<EOT
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
@ -54,4 +55,4 @@ EOT;
|
|||
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue