Merge branch 'devel' of dev.sourcefabric.org:airtime into devel

This commit is contained in:
Martin Konecny 2011-10-24 16:59:16 -04:00
commit 04b88d4344
3 changed files with 50 additions and 29 deletions

View file

@ -2,9 +2,12 @@
class Application_Form_AddShowWhat extends Zend_Form_SubForm
{
public function init()
{
// retrieves the length limit for each char field
// and store to assoc array
$maxLens = Application_Model_Show::GetMaxLengths();
// Hidden element to indicate whether the show is new or
// whether we are updating an existing show.
$this->addElement('hidden', 'add_show_id', array(
@ -18,7 +21,8 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm
'required' => true,
'filters' => array('StringTrim'),
'validators' => array('NotEmpty'),
'value' => 'Untitled Show'
'value' => 'Untitled Show',
'validators' => array(array('StringLength', false, array(0, $maxLens['name'])))
));
// Add URL element
@ -27,7 +31,7 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm
'class' => 'input_text',
'required' => false,
'filters' => array('StringTrim'),
'validators' => array('NotEmpty')
'validators' => array('NotEmpty', array('StringLength', false, array(0, $maxLens['url'])))
));
// Add genre element
@ -35,14 +39,16 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm
'label' => 'Genre:',
'class' => 'input_text',
'required' => false,
'filters' => array('StringTrim')
'filters' => array('StringTrim'),
'validators' => array(array('StringLength', false, array(0, $maxLens['genre'])))
));
// Add the description element
$this->addElement('textarea', 'add_show_description', array(
'label' => 'Description:',
'required' => false,
'class' => 'input_text_area'
'class' => 'input_text_area',
'validators' => array(array('StringLength', false, array(0, $maxLens['description'])))
));
$descText = $this->getElement('add_show_description');
@ -53,7 +59,5 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm
))));
}
}

View file

@ -29,30 +29,32 @@ class Application_Model_Preference
$result = $CC_DBC->GetOne($sql);
if ($result == 1 && is_null($id)){
if($result == 1) {
// result found
if(is_null($id) || !$isUserValue) {
// system pref
$sql = "UPDATE cc_pref"
." SET subjid = NULL, valstr = '$value'"
." WHERE keystr = '$key'";
}
else if ($result == 1 && !is_null($id)){
if($isUserValue) {
$sql = "UPDATE cc_pref"
." SET valstr = '$value'"
." WHERE keystr = '$key' AND subjid = $id";
} else {
// user pref
$sql = "UPDATE cc_pref"
." SET subjid = $id, valstr = '$value'"
." WHERE keystr = '$key'";
. " SET valstr = '$value'"
. " WHERE keystr = '$key' AND subjid = $id";
}
}
else if(is_null($id)) {
} else {
// result not found
if(is_null($id) || !$isUserValue) {
// system pref
$sql = "INSERT INTO cc_pref (keystr, valstr)"
." VALUES ('$key', '$value')";
}
else {
} else {
// user pref
$sql = "INSERT INTO cc_pref (subjid, keystr, valstr)"
." VALUES ($id, '$key', '$value')";
}
}
return $CC_DBC->query($sql);
}

View file

@ -1358,4 +1358,19 @@ class Application_Model_Show {
return $CC_DBC->GetAll($sql);
}
public static function GetMaxLengths() {
global $CC_CONFIG, $CC_DBC;
$sql = "SELECT column_name, character_maximum_length FROM information_schema.columns"
." WHERE table_name = 'cc_show' AND character_maximum_length > 0";
$result = $CC_DBC->GetAll($sql);
// store result into assoc array
$assocArray = array();
foreach($result as $row) {
$assocArray[$row['column_name']] = $row['character_maximum_length'];
}
return $assocArray;
}
}