* Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
* Copyright (C) 2011 Alain Peyrat - Alcatel-Lucent
*
- * This file is a part of Codendi.
+ * This file is a part of Fusionforge.
*
- * Codendi is free software; you can redistribute it and/or modify
+ * Fusionforge is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
- * Codendi is distributed in the hope that it will be useful,
+ * Fusionforge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ * along with Fusionforge. If not, see <http://www.gnu.org/licenses/>.
*/
require_once $gfcommon.'widget/WidgetLayout.class.php';
/**
* displayLayout
*
- * Display the default layout for the "owner". It my be the home page, the project summary page or /my/ page.
+ * Display the default layout for the "owner". It may be the home page, the project summary page or /my/ page.
*
* @param int owner_id
* @param char owner_type
$sql = "SELECT * from owner_layouts where owner_id=$1 and owner_type=$2";
$res = db_query_params($sql, array($owner_id, $owner_type));
if($res && db_numrows($res)<1) {
- if($owner_type = self::OWNER_TYPE_USER) {
+ if($owner_type == self::OWNER_TYPE_USER) {
$this->createDefaultLayoutForUser($owner_id);
$this->displayLayout($owner_id,$owner_type);
} else {
$readonly = !$this->_currentUserCanUpdateLayout($owner_id, $owner_type);
// if (!$readonly) {
// echo '<p class="customize"><a href="/widgets/widgets.php?owner='. $owner_type.$owner_id .'&layout_id='. $data['id'] .'">'. _("Customize") .'</a></p>';
-// } else if ($owner_type === self::OWNER_TYPE_GROUP) {
+// } elseif ($owner_type === self::OWNER_TYPE_GROUP) {
// echo '<br />';
// }
$layout = new WidgetLayout($data['id'], $data['name'], $data['description'], $data['scope']);
*/
function createDefaultLayoutForUser($owner_id) {
$owner_type = self::OWNER_TYPE_USER;
+ db_begin();
+ $success = true;
$sql = "INSERT INTO owner_layouts(layout_id, is_default, owner_id, owner_type) VALUES (1, 1, $1, $2)";
if (db_query_params($sql, array($owner_id, $owner_type))) {
$args[] = "($1, $2, 1, 2, 'mymonitoredfp', 1)";
foreach($args as $a) {
- db_query_params($sql.$a,array($owner_id,$owner_type));
+ if (!db_query_params($sql.$a,array($owner_id,$owner_type))) {
+ $success = false;
+ break;
+ }
}
/* $em =& EventManager::instance();
foreach($widgets as $widget) {
$sql .= ",($13, $14, 1, $15, $16, $17)";
}*/
+ } else
+ $success = false;
+ if (!$success) {
+ $success = db_error();
+ db_rollback();
+ exit_error(sprintf(_('DB Error: %s'), $success), 'widgets');
}
- echo db_error();
+ db_commit();
}
/**
echo '<input type="radio" name="layout_id" value="-1" id="layout_custom" '. $checked .'/>';
echo '</td><td>';
echo '<label for="layout_custom">';
- echo html_image('layout/custom.png', array('style' => 'vertical-align:top;float:left;'));
+ echo html_image('layout/custom.png', '', '', array('style' => 'vertical-align:top;float:left;'));
echo '</label>';
echo '</td><td>';
echo '<label for="layout_custom"><strong>'. 'Custom' .'</strong><br />';
VALUES ($1,$2)";
if ($res = db_query_params($sql,array($new_layout_id,$rank++))) {
if ($row_id = db_insertid($res,'layouts_rows', 'id')) {
- foreach($cols as $width) {
- $sql = "INSERT INTO layouts_rows_columns(layout_row_id, width)
- VALUES ($1,$2)";
- db_query_params($sql,array($row_id,$width));
- }
+ foreach($cols as $width) {
+ $sql = "INSERT INTO layouts_rows_columns(layout_row_id, width)
+ VALUES ($1,$2)";
+ db_query_params($sql,array($row_id,$width));
}
}
}
}
+ }
}
}
} else {
$hp = Codendi_HTMLPurifier::instance();
$link = '/projects/'. $hp->purify($project->getUnixName(), CODENDI_PURIFIER_CONVERT_HTML) ;
}
- } else if ($owner_type == self::OWNER_TYPE_USER) {
+ } elseif ($owner_type == self::OWNER_TYPE_USER) {
$link = '/my/';
}
$GLOBALS['feedback'] .= vsprintf(_('Your <a href="%s">dashboard</a> has been updated.'), $link);
$_and .= ' OR ';
} else {
$_and .= ' AND (';
- }
- $_and .= " (name = '".$name[1]."' AND content_id = ". $name[0] .") ";
- }
- $_and .= ')';
- $sql = "UPDATE layouts_contents
- SET column_id = 0
- WHERE owner_type = $1
- AND owner_id = $2
- AND column_id = $3".
- $_and;
- $res = db_query_params($sql,array($owner_type, $owner_id, $column_id));
- echo db_error();
- }
+ }
+ $_and .= " (name = '".$name[1]."' AND content_id = ". $name[0] .") ";
+ }
+ $_and .= ')';
+ $sql = "UPDATE layouts_contents
+ SET column_id = 0
+ WHERE owner_type = $1
+ AND owner_id = $2
+ AND column_id = $3". $_and;
+ $res = db_query_params($sql,array($owner_type, $owner_id, $column_id));
+ echo db_error();
+ }
+
+ //Insert new contents
+ $added_names = $this->_array_diff_names($names, $originals);
+ if (count($added_names)) {
+ $_and = '';
+ foreach($added_names as $name) {
+ if ($_and) {
+ $_and .= ' OR ';
+ } else {
+ $_and .= ' AND (';
+ }
+ $_and .= " (name = '".$name[1]."' AND content_id = ". $name[0] .") ";
+ }
+ $_and .= ')';
+ //old and new column must be part of the same layout
+ $sql = 'UPDATE layouts_contents
+ SET column_id = $1
+ WHERE owner_type = $2
+ AND owner_id = $3' . $_and ."
+ AND layout_id = $4";
+ $res = db_query_params($sql,array($column_id,$owner_type,$owner_id,$layout_id));
+ echo db_error();
+ }
- //Insert new contents
- $added_names = $this->_array_diff_names($names, $originals);
- if (count($added_names)) {
- $_and = '';
- foreach($added_names as $name) {
- if ($_and) {
- $_and .= ' OR ';
- } else {
- $_and .= ' AND (';
- }
- $_and .= " (name = '".$name[1]."' AND content_id = ". $name[0] .") ";
- }
- $_and .= ')';
- //old and new column must be part of the same layout
- $sql = 'UPDATE layouts_contents
- SET column_id = $1
- WHERE owner_type = $2
- AND owner_id = $3' .
- $_and ."
- AND layout_id = $4";
- $res = db_query_params($sql,array($column_id,$owner_type,$owner_id,$layout_id));
- echo db_error();
- }
-
-
- //Update ranks
- $rank = 0;
- $values = array();
- foreach($names as $name) {
- $sql = 'UPDATE layouts_contents SET rank = $1 WHERE owner_type =$2 AND owner_id = $3 AND column_id = $4 AND name = $5 AND content_id = $6';
- db_query_params($sql, array($rank++,$owner_type,$owner_id,$column_id,$name[1],$name[0]));
- echo db_error();
- }
+ //Update ranks
+ $rank = 0;
+ $values = array();
+ foreach($names as $name) {
+ $sql = 'UPDATE layouts_contents SET rank = $1 WHERE owner_type =$2 AND owner_id = $3 AND column_id = $4 AND name = $5 AND content_id = $6';
+ db_query_params($sql, array($rank++,$owner_type,$owner_id,$column_id,$name[1],$name[0]));
+ echo db_error();
+ }
}
}
}
return $diff;
}
}
-?>