summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarvin Thomas Rabe <m.rabe@echtzeitraum.de>2011-10-06 22:40:11 +0200
committerMarvin Thomas Rabe <m.rabe@echtzeitraum.de>2011-10-06 22:40:11 +0200
commite345fbd386f3e2c63b6682ae245beb7b24af08fb (patch)
tree1d7d2e6d2acb193252cd158cec2ab54d501825a0
parentbb26fe93008bd6fd5031956d654a5ab9c1950416 (diff)
parent3cc7212c8282d5be2d53ab3b5aa35ec6247cfcbe (diff)
downloadnextcloud-server-e345fbd386f3e2c63b6682ae245beb7b24af08fb.tar.gz
nextcloud-server-e345fbd386f3e2c63b6682ae245beb7b24af08fb.zip
conflicts solved
-rw-r--r--apps/calendar/ajax/getcal.php699
-rw-r--r--apps/calendar/css/style.css2
-rw-r--r--apps/calendar/templates/settings.php2
-rw-r--r--apps/gallery/ajax/cover.php7
-rw-r--r--apps/gallery/ajax/createAlbum.php9
-rw-r--r--apps/gallery/ajax/getAlbums.php9
-rw-r--r--apps/gallery/ajax/getCovers.php7
-rw-r--r--apps/gallery/ajax/scanForAlbums.php11
-rw-r--r--apps/gallery/ajax/thumbnail.php7
-rw-r--r--apps/gallery/index.php1
-rw-r--r--core/img/actions/selected.pngbin0 -> 276 bytes
-rw-r--r--core/img/actions/selected.svg73
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
new file mode 100644
index 00000000000..98c29df9cf5
--- /dev/null
+++ b/core/img/actions/selected.png
Binary files differ
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>