diff options
author | Marvin Thomas Rabe <m.rabe@echtzeitraum.de> | 2011-10-06 22:40:11 +0200 |
---|---|---|
committer | Marvin Thomas Rabe <m.rabe@echtzeitraum.de> | 2011-10-06 22:40:11 +0200 |
commit | e345fbd386f3e2c63b6682ae245beb7b24af08fb (patch) | |
tree | 1d7d2e6d2acb193252cd158cec2ab54d501825a0 | |
parent | bb26fe93008bd6fd5031956d654a5ab9c1950416 (diff) | |
parent | 3cc7212c8282d5be2d53ab3b5aa35ec6247cfcbe (diff) | |
download | nextcloud-server-e345fbd386f3e2c63b6682ae245beb7b24af08fb.tar.gz nextcloud-server-e345fbd386f3e2c63b6682ae245beb7b24af08fb.zip |
conflicts solved
-rw-r--r-- | apps/calendar/ajax/getcal.php | 699 | ||||
-rw-r--r-- | apps/calendar/css/style.css | 2 | ||||
-rw-r--r-- | apps/calendar/templates/settings.php | 2 | ||||
-rw-r--r-- | apps/gallery/ajax/cover.php | 7 | ||||
-rw-r--r-- | apps/gallery/ajax/createAlbum.php | 9 | ||||
-rw-r--r-- | apps/gallery/ajax/getAlbums.php | 9 | ||||
-rw-r--r-- | apps/gallery/ajax/getCovers.php | 7 | ||||
-rw-r--r-- | apps/gallery/ajax/scanForAlbums.php | 11 | ||||
-rw-r--r-- | apps/gallery/ajax/thumbnail.php | 7 | ||||
-rw-r--r-- | apps/gallery/index.php | 1 | ||||
-rw-r--r-- | core/img/actions/selected.png | bin | 0 -> 276 bytes | |||
-rw-r--r-- | core/img/actions/selected.svg | 73 |
12 files changed, 757 insertions, 70 deletions
diff --git a/apps/calendar/ajax/getcal.php b/apps/calendar/ajax/getcal.php index a65c6cf2602..3d43677075f 100644 --- a/apps/calendar/ajax/getcal.php +++ b/apps/calendar/ajax/getcal.php @@ -28,43 +28,674 @@ $select_year = $_GET["year"]; $user_timezone = OC_Preferences::getValue(OC_USER::getUser(), "calendar", "timezone", "Europe/London"); foreach($events as $event) { - if ($select_year != substr($event['startdate'], 0, 4)) + if($select_year != substr($event['startdate'], 0, 4) && $event["repeating"] == false) continue; - $object = Sabre_VObject_Reader::read($event['calendardata']); - $vevent = $object->VEVENT; - $dtstart = $vevent->DTSTART; - $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent); - $start_dt = $dtstart->getDateTime(); - $start_dt->setTimezone(new DateTimeZone($user_timezone)); - $end_dt = $dtend->getDateTime(); - $end_dt->setTimezone(new DateTimeZone($user_timezone)); - $year = $start_dt->format('Y'); - $month = $start_dt->format('n') - 1; // return is 0 based - $day = $start_dt->format('j'); - $hour = $start_dt->format('G'); - if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { - $hour = 'allday'; - } + if($select_year == substr($event['startdate'], 0, 4) && $event["repeating"] == false){ + $object = Sabre_VObject_Reader::read($event['calendardata']); + $vevent = $object->VEVENT; + $dtstart = $vevent->DTSTART; + $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent); + $start_dt = $dtstart->getDateTime(); + $start_dt->setTimezone(new DateTimeZone($user_timezone)); + $end_dt = $dtend->getDateTime(); + $end_dt->setTimezone(new DateTimeZone($user_timezone)); + $year = $start_dt->format('Y'); + $month = $start_dt->format('n') - 1; // return is 0 based + $day = $start_dt->format('j'); + $hour = $start_dt->format('G'); + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } - $return_event = array(); - foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop) - { - $return_event[$prop] = $event[$prop]; - } - $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); - $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); - $return_event['description'] = $event['summary']; - if ($hour == 'allday') - { - $return_event['allday'] = true; - } - if (isset($return[$year][$month][$day][$hour])) - { - $return[$year][$month][$day][$hour][] = $return_event; + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop) + { + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + if ($hour == 'allday') + { + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])) + { + $return[$year][$month][$day][$hour][] = $return_event; + } + else + { + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } } - else - { - $return[$year][$month][$day][$hour] = array(1 => $return_event); + if($event["repeating"] == 1){ + $object = Sabre_VObject_Reader::read($event['calendardata']); + $vevent = $object->VEVENT; + //echo substr_count($event["calendardata"], "EXDATE"); + $numofelements = substr_count($vevent->RRULE, ";"); + $properties = array("FREQ"=>"false", "UNTIL"=>"false", "COUNT"=>"false", "INTERVAL"=>"false", "BYDAY"=>"false", "BYMONTHDAY"=>"false", "BYWEEKNO"=>"false", "BYMONTH"=>"false", "BYYEARDAY"=>"false", "BYSETPOS"=>"false"); + $exruleproperties = array("FREQ"=>"false", "UNTIL"=>"false", "COUNT"=>"false", "INTERVAL"=>"false", "BYDAY"=>"false", "BYMONTHDAY"=>"false", "BYWEEKNO"=>"false", "BYMONTH"=>"false", "BYYEARDAY"=>"false", "BYSETPOS"=>"false"); + $byday = array("MO"=>"false", "TU"=>"false", "WE"=>"false", "TH"=>"false", "FR"=>"false", "SA"=>"false", "SU"=>"false"); + if($numofelements != 0){ + $rrule = explode(";", $vevent->RRULE); + for($i = 0;$i <= $numofelements;$i++){ + $rule = explode("=", $rrule[$i]); + $property = $rule[0]; + $value = $rule[1]; + $properties[$property] = $value; + } + if($properties["BYDAY"] != "false"){ + $numofdays = substr_count($properties["BYDAY"], ","); + if($numofdays == 0){ + if(strlen($properties["BYDAY"]) != 2){ + $lenght = strlen($properties["BYDAY"]); + switch($lenght){ + case "3": + $properties["BYSETPOS"] = substr($properties["BYDAY"],0,1); + $properties["BYDAY"] = substr($properties["BYDAY"],1,2); + break; + case "4": + $properties["BYSETPOS"] = substr($properties["BYDAY"],0,2); + $properties["BYDAY"] = substr($properties["BYDAY"],2,2); + break; + case "5": + $properties["BYSETPOS"] = substr($properties["BYDAY"],0,3); + $properties["BYDAY"] = substr($properties["BYDAY"],3,2); + break; + case "6": + $properties["BYSETPOS"] = substr($properties["BYDAY"],0,4); + $properties["BYDAY"] = substr($properties["BYDAY"],4,2); + break; + } + } + $byday[$properties["BYDAY"]] = true; + + }else{ + $days = explode(",", $properties["BYDAY"]); + for($i = 0;$i <= $numofdays;$i++){ + $day = $days[$i]; + $byday[$day] = true; + } + } + } + }else{ + $rule = explode("=", $vevent->RRULE); + $properties[$rule[0]] = $rule[1]; + } + if($properties["INTERVAL"] == "false"){ + $properties["INTERVAL"] = 1; + } + $count = 0; //counts all loops + $countedoutputs = 0; //counts only the outputs + $countchecker = true; + $dtstart = $vevent->DTSTART; + $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent); + $start_dt = $dtstart->getDateTime(); + $start_dt->setTimezone(new DateTimeZone($user_timezone)); + $end_dt = $dtend->getDateTime(); + $end_dt->setTimezone(new DateTimeZone($user_timezone)); + $firststart_year = $start_dt->format('Y'); + $firststart_month = $start_dt->format('n'); + $firststart_day = $start_dt->format('j'); + $hour = $start_dt->format('G'); + $interval = 0; + if($properties["UNTIL"] != "false"){ + $until = $properties["UNTIL"]; + $until_year = substr($until, 0, 4); + $until_month = substr($until, 4, 2); + $until_day = substr($until, 6, 2); + } + //print_r($properties); + //print_r($byday); + if($properties["FREQ"] == "DAILY"){ + if($properties["BYDAY"] == "false"){ + $byday = array("MO"=>"1", "TU"=>"1", "WE"=>"1", "TH"=>"1", "FR"=>"1", "SA"=>"1", "SU"=>"1"); + } + while(date("Y", mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year) + ($count * 1 * 86400 * $interval)) <= $select_year && $countchecker == true){ + if($byday[strtoupper(substr(date("D", mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year) + ($count * 1 * 86400 * $interval)), 0, 2))] == "1"){ + $newunixtime = mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year) + ($count * 1 * 86400 * $interval); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + } + $count++; + } + } + if($properties["FREQ"] == "WEEKLY"){ + if($properties["BYDAY"] == "false"){ + $byday[strtoupper(substr(date("D", mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year)), 0, 2))] = "1"; + } + while(date("Y", mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year) + ($count * 1 * 86400 * $interval)) <= $select_year && $countchecker == true){ + if($byday[strtoupper(substr(date("D", mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year) + ($count * 1 * 86400 * $interval)), 0, 2))] == "1"){ + $newunixtime = mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year) + ($count * 1 * 86400 * $interval); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + } + $count++; + } + } + if($properties["FREQ"] == "MONTHLY"){ + if(substr_count($properties["BYMONTHDAY"], ",") != 0){ + $numofBYMONTHDAY = substr_count($properties["BYMONTHDAY"], ","); + if($numofBYMONTHDAY == 0){ + $BYMONTHDAY = array(); + $BYMONTHDAY[0] = $properties["BYMONTHDAY"]; + }else{ + $BYMONTHDAY = explode(",", $properties["BYMONTHDAY"]); + } + while(date("Y", mktime(0,0,0, $firststart_month + ($count * $interval), $properties["BYMONTHDAY"], $firststart_year)) <= $select_year && $countchecker == true){ + for($i = 0;$i <= $numofBYMONTHDAY;$i++){ + $newunixtime = mktime(0,0,0, $firststart_month + ($count * $interval), $BYMONTHDAY[$i], $firststart_year); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + } + $count++; + } + } + //if($properties["BYMONTHDAY"] != "false"){ + if($properties["BYSETPOS"] == "false"){ + while(date("Y", mktime(0,0,0, $firststart_month + ($count * $interval), $properties["BYMONTHDAY"], $firststart_year)) <= $select_year && $countchecker == true){ + $newunixtime = mktime(0,0,0, $firststart_month + ($count * $interval), $properties["BYMONTHDAY"], $firststart_year); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + $count++; + } + }else{ + if(!is_nan($properties["BYSETPOS"]) && $properties["BYSETPOS"] >= 1){ + while(date("Y", mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year)) <= $select_year && $countchecker == true){ + $lastdayofmonth = date("t", mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year)); + $matches = 0; + $matchedday = ""; + for($i = 1;$i <= $lastdayofmonth;$i++){ + $thisday = date("j", mktime(0,0,0, $firststart_month + ($count * $interval), $i, $firststart_year)); + $thisdayname = strtoupper(substr(date("D", mktime(0,0,0, $firststart_month + ($count * $interval), $i, $firststart_year)),0,2)); + //echo $thisdayname . " " . $thisday . "\n"; + if($byday[$thisdayname] == 1){ + $matches++; + } + if($matches == $properties["BYSETPOS"]){ + $matchedday = $thisday; + $i = 32; + } + } + $newunixtime = mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = $matchedday; + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + $count++; + } + }elseif(!is_nan($properties["BYSETPOS"]) && $properties["BYSETPOS"] <= -1){ + while(date("Y", mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year)) <= $select_year && $countchecker == true){ + $lastdayofmonth = date("t", mktime(0,0,0, $firststart_month + ($count * $interval), 1, $firststart_year)); + $matches = 0; + $matchedday = ""; + for($i = $lastdayofmonth;$i >= 1;$i--){ + $thisday = date("j", mktime(0,0,0, $firststart_month + ($count * $interval), $i, $firststart_year)); + $thisdayname = strtoupper(substr(date("D", mktime(0,0,0, $firststart_month + ($count * $interval), $i, $firststart_year)),0,2)); + //echo $thisdayname . " " . $thisday . "\n"; + if($byday[$thisdayname] == 1){ + $matches++; + } + if($matches == $properties["BYSETPOS"]){ + $matchedday = $thisday; + $i = 0; + } + } + $newunixtime = mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = $matchedday; + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + $count++; + } + //} + } + } + if(strlen($properties["BYDAY"]) == 2){ + while(date("Y", mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year)) <= $select_year && $countchecker == true){ + if($byday[strtoupper(substr(date("D", mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year)), 0, 2))] == "1"){ + $newunixtime = mktime(0,0,0, $firststart_month + ($count * $interval), $firststart_day, $firststart_year); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + } + $count++; + } + }else{ + while(date("Y", mktime(0,0,0, 0, 0, $firststart_year + ($count * $interval))) <= $select_year && $countchecker == true){ + $newunixtime = mktime(0,0,0, $properties["BYMONTH"], $properties["BYMONTHDAY"], $firststart_year + ($count * $interval)); + $year = date("Y", $newunixtime); + $month = $month - 1; // return is 0 based + $day = $dateofweekone; + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + $count++; + } + } + } + if($properties["FREQ"] == "YEARLY"){ + if($properties["BYMONTH"] != "false"){ + if($properties["BYMONTHDAY"] == false){ + $properties["BYMONTHDAY"] = date("j", mktime(0,0,0, $firststart_month, $firststart_day, $firststart_year)); + } + if($properties["BYDAY"] == "false"){ + while(date("Y", mktime(0,0,0, $properties["BYMONTH"], $properties["BYMONTHDAY"], $firststart_year + ($count * $interval))) <= $select_year && $countchecker == true){ + $newunixtime = mktime(0,0,0, $properties["BYMONTH"], $properties["BYMONTHDAY"], $firststart_year + ($count * $interval)); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + $count++; + } + } + if(strlen($properties["BYDAY"]) == 2){ + while(date("Y", mktime(0,0,0, $properties["BYMONTH"], $properties["BYMONTHDAY"], $firststart_year + ($count * $interval))) <= $select_year && $countchecker == true){ + $newunixtime = mktime(0,0,0, $properties["BYMONTH"], $properties["BYMONTHDAY"], $firststart_year + ($count * $interval)); + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + $count++; + } + }else{ + $number = substr($properties["BYDAY"],0,1); + $weekday = substr($properties["BYDAY"],1,2); + $month = $properties["BYMONTH"]; + $dateofweekone = ""; + for($i = 0; $i <= 7;$i++){ + if(strtoupper(substr(date("D", mktime(0,0,0, $properties["BYMONTH"], $i, $select_year)), 0, 2)) == $weekday){ + $dateofweekone = date("j", mktime(0,0,0, $properties["BYMONTH"], $i, $select_year)); + $i = 8; + } + } + if($number != 1){ + $dateofweekone = $dateofweekone + (7 * ($number - 1)); + } + while(date("Y", mktime(0,0,0, 0, 0, $firststart_year + ($count * $interval))) <= $select_year && $countchecker == true){ + $newunixtime = mktime(0,0,0, $properties["BYMONTH"], $properties["BYMONTHDAY"], $firststart_year + ($count * $interval)); + $year = date("Y", $newunixtime); + $month = $month - 1; // return is 0 based + $day = $dateofweekone; + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + $count++; + } + } + }elseif($properties["BYYEARDAY"] != false){ + $numofyeardays = substr_count($properties["BYYEARDAY"], ","); + if($numofyeardays == 0){ + $yeardays = array(); + $yeardays[0] = $properties["BYYEARDAY"]; + }else{ + $yeardays = explode(",", $properties["BYYEARDAY"]); + } + while(date("Y", mktime(0,0,0, 0, 0, $firststart_year + ($count * $interval)) + ($yeardays[$numofyeardays]-1) * 86400) <= $select_year && $countchecker == true){ + for($i = 0;$i <= $numofyeardays;$i++){ + $newunixtime = mktime(0,0,0, 1, 1, $firststart_year + ($count * $interval)) + ($yeardays[$i] -1) * 86400; + $year = date("Y", $newunixtime); + $month = date("n", $newunixtime) - 1; // return is 0 based + $day = date("j", $newunixtime); + if($properties["UNTIL"] != "false"){ + if($year >= $until_year && $month + 1 >= $until_month && $day > $until_day){ + break; + } + } + if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE) { + $hour = 'allday'; + } + $return_event = array(); + foreach(array('id', 'calendarid', 'objecttype', 'repeating') as $prop){ + $return_event[$prop] = $event[$prop]; + } + $return_event['startdate'] = explode('|', $start_dt->format('Y|m|d|H|i')); + $return_event['enddate'] = explode('|', $end_dt->format('Y|m|d|H|i')); + $return_event['description'] = $event['summary']; + $interval = $properties["INTERVAL"]; + $countedoutputs++; + if($properties["COUNT"] != "false"){ + if($countedoutputs == $properties["COUNT"]){ + $countchecker = false; + } + } + if ($hour == 'allday'){ + $return_event['allday'] = true; + } + if (isset($return[$year][$month][$day][$hour])){ + $return[$year][$month][$day][$hour][] = $return_event; + }else{ + $return[$year][$month][$day][$hour] = array(1 => $return_event); + } + } + $count++; + } + } + } } } OC_JSON::encodedPrint($return); diff --git a/apps/calendar/css/style.css b/apps/calendar/css/style.css index ca9f3274e3c..14b7d45523e 100644 --- a/apps/calendar/css/style.css +++ b/apps/calendar/css/style.css @@ -59,4 +59,4 @@ select#category{width:140px;} button.category{margin:0 3px;} .calendar-colorpicker-color{display:inline-block;width:20px;height:20px;margin-right:2px;cursor:pointer;} -.calendar-colorpicker-color.active{background-image:url("../../../core/img/jquery-ui/ui-icons_222222_256x240.png");background-position:-62px -143px;} +.calendar-colorpicker-color.active{background-image:url("../../../core/img/actions/selected.svg");background-position:2px 2px;} diff --git a/apps/calendar/templates/settings.php b/apps/calendar/templates/settings.php index afc35bf7f37..4f509283939 100644 --- a/apps/calendar/templates/settings.php +++ b/apps/calendar/templates/settings.php @@ -25,7 +25,7 @@ OC_UTIL::addStyle('', 'jquery.multiselect'); if ($continent!="") echo '</optgroup>'; echo '<optgroup label="'.$ex[0].'">'; endif; - $city=$ex[1]; + $city=strtr($ex[1], '_', ' '); $continent=$ex[0]; echo '<option value="'.$timezone.'"'.($_['timezone'] == $timezone?' selected="selected"':'').'>'.$city.'</option>'; endforeach;?> diff --git a/apps/gallery/ajax/cover.php b/apps/gallery/ajax/cover.php index 44d73028510..d83f4daaa52 100644 --- a/apps/gallery/ajax/cover.php +++ b/apps/gallery/ajax/cover.php @@ -1,5 +1,7 @@ <?php require_once('../../../lib/base.php'); +OC_JSON::checkLoggedIn(); +OC_JSON::checkAppEnabled('gallery'); function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height) { //$imgSrc is a FILE - Returns an image resource. //getting the image dimensions @@ -36,11 +38,6 @@ function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height) { //$imgSr return $thumb; } -// Check if we are a user -if( !OC_User::isLoggedIn()){ - echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'You need to log in.'))); - exit(); -} $box_size = 200; $album_name = $_GET['album']; $x = $_GET['x']; diff --git a/apps/gallery/ajax/createAlbum.php b/apps/gallery/ajax/createAlbum.php index 3a490bdc3bd..610f761b72a 100644 --- a/apps/gallery/ajax/createAlbum.php +++ b/apps/gallery/ajax/createAlbum.php @@ -1,14 +1,11 @@ <?php require_once('../../../lib/base.php'); - -if( !OC_User::isLoggedIn()){ - echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'You need to log in.'))); - exit(); -} +OC_JSON::checkLoggedIn(); +OC_JSON::checkAppEnabled('gallery'); $stmt = OC_DB::prepare('INSERT INTO *PREFIX*gallery_albums ("uid_owner", "album_name") VALUES ("'.OC_User::getUser().'", "'.$_GET['album_name'].'")'); $stmt->execute(array()); -echo json_encode(array( 'status' => 'success', 'name' => $_GET['album_name'])); +OC_JSON::success(array('name' => $_GET['album_name'])); ?> diff --git a/apps/gallery/ajax/getAlbums.php b/apps/gallery/ajax/getAlbums.php index 2829dae81f3..38bea74636f 100644 --- a/apps/gallery/ajax/getAlbums.php +++ b/apps/gallery/ajax/getAlbums.php @@ -1,10 +1,7 @@ <?php require_once('../../../lib/base.php'); - -if (!OC_User::IsLoggedIn()) { - echo json_encode(array('status' => 'error', 'message' => 'You need to log in')); - exit(); -} +OC_JSON::checkLoggedIn(); +OC_JSON::checkAppEnabled('gallery'); $a = array(); $stmt = OC_DB::prepare('SELECT * FROM *PREFIX*gallery_albums WHERE `uid_owner` = ?'); @@ -17,6 +14,6 @@ while ($r = $result->fetchRow()) { $a[] = array('name' => $album_name, 'numOfItems' => min($tmp_res->numRows(), 10)); } -echo json_encode(array('status'=>'success', 'albums'=>$a)); +OC_JSON::success(array('albums'=>$a)); ?> diff --git a/apps/gallery/ajax/getCovers.php b/apps/gallery/ajax/getCovers.php index 57737f2fdd6..6b2224b5f01 100644 --- a/apps/gallery/ajax/getCovers.php +++ b/apps/gallery/ajax/getCovers.php @@ -1,5 +1,7 @@ <?php require_once('../../../lib/base.php'); +OC_JSON::checkLoggedIn(); +OC_JSON::checkAppEnabled('gallery'); function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height, $tgtImg, $shift) { //getting the image dimensions @@ -38,11 +40,6 @@ function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height, $tgtImg, $ imagedestroy($myImage); } -// Check if we are a user -if( !OC_User::isLoggedIn()){ - echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'You need to log in.'))); - exit(); -} $box_size = 200; $album_name= $_GET['album_name']; diff --git a/apps/gallery/ajax/scanForAlbums.php b/apps/gallery/ajax/scanForAlbums.php index a04ad62b1bf..de0b141a367 100644 --- a/apps/gallery/ajax/scanForAlbums.php +++ b/apps/gallery/ajax/scanForAlbums.php @@ -1,14 +1,11 @@ <?php require_once('../../../lib/base.php'); +OC_JSON::checkLoggedIn(); +OC_JSON::checkAppEnabled('gallery'); require_once('../lib_scanner.php'); -if (!OC_User::IsLoggedIn()) { - echo json_encode(array('status' => 'error', 'message' => 'You need to log in')); - exit(); -} - -echo json_encode(array( 'status' => 'success', 'albums' => OC_GALLERY_SCANNER::scan(''))); -//echo json_encode(array('status' => 'success', 'albums' => array(array('name' => 'test', 'imagesCount' => 1, 'images' => array('dupa'))))); +OC_JSON::success(array('albums' => OC_GALLERY_SCANNER::scan(''))); +//OC_JSON::success(array('albums' => array(array('name' => 'test', 'imagesCount' => 1, 'images' => array('dupa'))))); ?> diff --git a/apps/gallery/ajax/thumbnail.php b/apps/gallery/ajax/thumbnail.php index db428eeff34..f24782390f6 100644 --- a/apps/gallery/ajax/thumbnail.php +++ b/apps/gallery/ajax/thumbnail.php @@ -1,5 +1,7 @@ <?php require_once('../../../lib/base.php'); +OC_JSON::checkLoggedIn(); +OC_JSON::checkAppEnabled('gallery'); function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height) { //$imgSrc is a FILE - Returns an image resource. //getting the image dimensions @@ -40,11 +42,6 @@ function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height) { //$imgSr return $thumb; } -// Check if we are a user -if( !OC_User::isLoggedIn()){ - echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'You need to log in.'))); - exit(); -} $box_size = 200; $img = $_GET['img']; diff --git a/apps/gallery/index.php b/apps/gallery/index.php index c8d5892e555..87fdafcf13c 100644 --- a/apps/gallery/index.php +++ b/apps/gallery/index.php @@ -2,6 +2,7 @@ require_once('../../lib/base.php'); OC_Util::checkLoggedIn(); +OC_Util::checkAppEnabled('gallery'); OC_App::setActiveNavigationEntry( 'gallery_index' ); diff --git a/core/img/actions/selected.png b/core/img/actions/selected.png Binary files differnew file mode 100644 index 00000000000..98c29df9cf5 --- /dev/null +++ b/core/img/actions/selected.png diff --git a/core/img/actions/selected.svg b/core/img/actions/selected.svg new file mode 100644 index 00000000000..3294f68c68d --- /dev/null +++ b/core/img/actions/selected.svg @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + id="svg3875" + version="1.1" + inkscape:version="0.48.1 r9760" + sodipodi:docname="play.svg" + inkscape:export-filename="/home/jancborchardt/owncloud/core/img/actions/play-add.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3877" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="25.345359" + inkscape:cx="10.565719" + inkscape:cy="5.327912" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:window-width="1280" + inkscape:window-height="969" + inkscape:window-x="-2" + inkscape:window-y="-3" + inkscape:window-maximized="1"> + <inkscape:grid + type="xygrid" + id="grid3883" + empspacing="5" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" /> + </sodipodi:namedview> + <metadata + id="metadata3880"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0, -1036.36)"> + <path + style="fill:#000000;fill-opacity:1;stroke:none" + d="m 14,1038.3622 -6,12 -6,-12 6,6.9978 z" + id="path3086" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + </g> +</svg> |